project BLF > class Persistence Layer > method ErrorMessage

Description

Create an error message (like SetMessage on business)


Parameters


icMessageinputcharacter
icArgumentsinputcharacterArguments
icFieldNameinputcharacter
icFieldValueinputcharacter
icRowidinputcharacter
ihClassinputhandleHandle to the class that is using the persistence layer. In most of the cases, this handle will be available in the preprocessor {&TARGETPROCEDURE}.


Internal usage


BLF
method Progress.MainBlock
method Progress.AuditEnable
method Progress.CheckExistence
method Progress.WriteDirect
method Progress.ReadDirect
method Progress.ConnectDB
method Progress.LoadDraftInstance
method Progress.LoadInstance
method Progress.QueryPrepare
method Progress.ReadDataRecursive
method Progress.ReadQuery
method Progress.ReadQueryBackward
method Progress.ReleaseInstance
method Progress.SaveInstance
method Progress.UpdateBufferInfo
method Progress.WriteCopy
method Progress.WriteData

QadFinancials
method Progress.CheckAliases


program code (program2/persistence.p)

/* replace the non-translatable arguments */
do viCnt = 1 to 9:
    if num-entries(icArguments,chr(2)) < viCnt
    or entry(viCnt,icArguments,chr(2)) = ?
    then assign icMessage = replace (icMessage,
                                      "$":U + string(viCnt),
                                      "").
    else assign icMessage = replace (icMessage,
                                      "$":U + string(viCnt),
                                      entry(viCnt,icArguments,chr(2))).
end.

if valid-handle(ihClass)
and ihClass:type = "PROCEDURE"
and lookup("GetOriginalRowid", ihClass:internal-entries) > 0 then
    assign vhPdatabaseInst = ihClass
           icRowid       = <M-1 GetOriginalRowid  (input  icRowid (icNewRowid)) in database>.

create tFcMessages.
assign tFcMessages.tcFcMessage        = trim(icMessage)
       tFcMessages.tcFcFieldName      = icFieldName
       tFcMessages.tcFcFieldValue     = icFieldValue
       tFcMessages.tcFcType           = "D"
       tFcMessages.tcFcRowid          = (if icRowid = ""
                                         or icRowid = ?
                                         then " ":U
                                         else icRowid) /* No empty prime key allowed in a DataSet */
       tFcMessages.tiFcSeverity       = 1
       tFcMessages.tcFcBusMethod      = "PersistenceLayer".
release tFcMessages.