project BLF > class PTimeZone > method getCurrentTimeZoneOffset


Parameters


icUsrLogininputcharacter
icDomainCodeinputcharacter
icTimeZoneCodeinputcharacter
oiTimeOffsetoutputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method Session.SwitchCompany


program code (program1/ptimezone.p)

empty temp-table ttTimeZoneOffsetRequest.
empty temp-table ttResponseTimeZoneOffset.

<M-40 run StartCacher
   (output vhFcComponent (ohCacher), 
    output viFcReturnSuper (oiReturnStatus)) in PTimeZone>

<M-63 run GetCharacterValueFromSession
   (input  viSessionID (iiSessionId), 
    input  'GlobalSessionId' (icDataItemName), 
    output vcGlobalSessionTZ (ocValue), 
    output viFcReturnSuper (oiReturnStatus)) in Cacher>

<M-37 run SetQadContextProperty
   (input  'sessionId' (icPropertyName), 
    input  vcGlobalSessionTZ (icPropertyValue), 
    output viFcReturnSuper (oiReturnStatus)) in PTimeZone>

vhIn = dataset dsASTimeZoneOffsetRequest:handle.
create dataset vhInOut in widget-pool "non-persistent".
vhOut = dataset dsASTimeZoneOffsetResponse:handle.

create ttTimeZoneOffsetRequest.
assign ttTimeZoneOffsetRequest.tt_userid      = icUsrLogin
       ttTimeZoneOffsetRequest.tt_domain_code = icDomainCode
       ttTimeZoneOffsetRequest.tt_timezone    = icTimeZoneCode.
release ttTimeZoneOffsetRequest.

<M-60 run CallService
   (input  '' (icProgramName), 
    input  'getCurrentTimeZoneOffsetRemote' (icMethodName), 
    input  vhIn by-reference (izInput), 
    input-output vhInOut by-reference (bzInputOutput), 
    input-output vhOut by-reference (bzOutput), 
    input  ? (icAsyncHandler), 
    output oiReturnStatus (oiReturnStatus)) in PTimeZone>
    
delete object vhInOut.

find first ttResponseTimeZoneOffset no-error.
if available ttResponseTimeZoneOffset
then oiTimeOffset = ttResponseTimeZoneOffset.tt_timezone_offset.
else oiTimeOffset = ?.