project BLF > class Session > method SetIntegerValue

Description

Change the value of any integer data item in the session component.


Parameters


icNameinputcharacterName of the data item.
iiValueinputintegervalue of the data item
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method Session.ApplicationLogin
method Session.SetDebug
method Session.SetDebugLevel
method Session.SwitchCompany

QadFinancials
method BQBudgetActual.ApiDeleteQBudgetLinkActual
method BQBudgetCommitment.ApiDeleteQBudgetLinkCommit
method BQCInvoiceMovement.ApiProcessQCInvoiceMovement
method BQCrossCyPosting.ApiProcessQCrossCyPostingLogging
method BQDInvoiceMovement.ApiProcessQDInvoiceMovement
method BQPosting.ApiProcessQPostingLineSaf
method Session.SwitchCompany
method Session.ApplicationLogin
method Session.GetMfgProVersion


program code (program1/session.p)

find tDataItems where
     tDataItems.tcName     = icName and
     tDataItems.tcDataType = "i":U  no-error.
if available tDataItems
then do:
    /* do not allow external clients to overwrite business session values */
    if  program-name (3) = ?
    and tDataItems.tlBusinessValue
    then do:
        <M-3 run SetMessage
          (input  '[$1] is a read-only session value.':U (icMessage), 
           input  icName (icArguments), 
           input  '' (icFieldName), 
           input  '' (icFieldValue), 
           input  'S':U (icType), 
           input  3 (iiSeverity), 
           input  '' (icRowid), 
           input  'BLF-410':U (icFcMsgNumber), 
           input  '' (icFcExplanation), 
           input  '' (icFcIdentification), 
           input  '' (icFcContext), 
           output viFcReturnSuper (oiReturnStatus)) in Session>
        assign oiReturnStatus = -3.
        return.
    end.
end.
else do:
    create tDataItems.
    assign tDataItems.tcName     = icName
           tDataItems.tcDataType = "i":U.
end.

assign tDataItems.tiIntValue = iiValue
       tDataItems.tlBusinessValue = (program-name(3) <> ?).

/* ======================================================================= */
/* Always update the cache with the current values                         */
/* ======================================================================= */
<M-1 run StartCacher (output vhFcComponent (ohCacher), 
                      output viFcReturnSuper (oiReturnStatus)) in Session>
<M-2 run SetIntegerValue
   (input  icName (icName), 
    input  iiValue (iiValue), 
    input  viFcCurrentInstanceId (iiSessionID), 
    output viFcReturnSuper (oiReturnStatus)) in Cacher>