project BLF > class BFcSession > method UpdateFcSessionRecord

Description

Method to update an existing fcSession record.


Parameters


iiSessionInstanceIdinputinteger
ilGlobalSessionNeedsUpdateinputlogical
itSessionLastCheckDateinputdate
iiSessionLastCheckTimeinputinteger
itGlobalSessionLastCheckDateinputdate
iiGlobalSessionLastCheckTimeinputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program1/bfcsession.p)

If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.

If iiSessionInstanceId          = 0 Or
   iiSessionInstanceId          = ? 
Then Do:
    Assign vcMsg = Trim(#T-1'Not all parameters have valid values.':100(5045)T-1#)
           oiReturnStatus = -1.
    <M-3 run SetMessage
       (input  vcMsg (icMessage), 
        input  '' (icArguments), 
        input  '' (icFieldName), 
        input  '' (icFieldValue), 
        input  'S':U (icType), 
        input  1 (iiSeverity), 
        input  '' (icRowid), 
        input  'BLF-96':U (icFcMsgNumber), 
        input  '' (icFcExplanation), 
        input  '' (icFcIdentification), 
        input  '' (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in BFcSession>    
    Return.
End.

<Q-4 run FcSessionByAll (all) (Read) (NoCache)
   (input iiSessionInstanceId, (SessionInstanceId)
    input ?, (GlobalSessionNeedsUpdate)
    output dataset tqFcSessionByAll) in BFcSession >
Find tqFcSessionByAll No-error.
If Not Available tqFcSessionByAll
Then Do:
    Assign vcMsg = Trim(#T-2'There are no or to many fcSession records found for the session instance with id $1.':100(5046)T-2#)
           oiReturnStatus = -1.
    <M-5 run SetMessage
       (input  vcMsg (icMessage), 
        input  '' (icArguments), 
        input  '' (icFieldName), 
        input  '' (icFieldValue), 
        input  'S':U (icType), 
        input  1 (iiSeverity), 
        input  '' (icRowid), 
        input  'BLF-97':U (icFcMsgNumber), 
        input  '' (icFcExplanation), 
        input  '' (icFcIdentification), 
        input  '' (icFcContext), 
        output viFcReturnSuper (oiReturnStatus)) in BFcSession> 
    Return.
End.

<M-6 run ClearData
   (output viFcReturnSuper (oiReturnStatus)) in BFcSession>
If viFcReturnSuper <> 0 
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

<M-7 run DataLoad
   (input  tqFcSessionByAll.tc_rowid (icRowids), 
    input  '' (icPkeys), 
    input  '' (icObjectIds), 
    input  '' (icFreeform), 
    input  False (ilKeepPrevious), 
    output viFcReturnSuper (oiReturnStatus)) in BFcSession>
If viFcReturnSuper <> 0 
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

If ilGlobalSessionNeedsUpdate <> ?
Then Assign tfcSession.GlobalSessionNeedsUpdate = ilGlobalSessionNeedsUpdate. 
If itSessionLastCheckDate <> ?
Then Assign tfcSession.SessionLastCheckDate = itSessionLastCheckDate.
If iiSessionLastCheckTime <> ?
Then Assign tfcSession.SessionLastCheckTime = iiSessionLastCheckTime.
If itGlobalSessionLastCheckDate <> ?
Then Assign tfcSession.GlobalSessionLastCheckDate = itGlobalSessionLastCheckDate.
If iiGlobalSessionLastCheckTime <> ?
Then Assign tfcSession.GlobalSessionLastCheckTime = iiGlobalSessionLastCheckTime.

<M-8 run ValidateBC
   (output viFcReturnSuper (oiReturnStatus)) in BFcSession>
If viFcReturnSuper <> 0 
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
<M-9 run AdditionalUpdates
   (output viFcReturnSuper (oiReturnStatus)) in BFcSession>
If viFcReturnSuper <> 0 
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
<M-10 run DataSave
   (output viFcReturnSuper (oiReturnStatus)) in BFcSession>
If viFcReturnSuper <> 0 
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.

If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.