Description
getUser API, get user based on session id
Parameters
icGlobalSessionId | input | character | |
ocUserId | output | character | |
ocClientPrincipalObject | output | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/pauthentication.p)
/*
1. Create input dataset content, based on input GlobalSessionId.
2. Run GetUserRemote in this component.
3. Interpret content of output dataset to fill in ocUserId
*/
If oiReturnStatus = 0
Then Assign oiReturnStatus = -98.
Empty Temp-table tGetUserSessionTokenCall.
Empty Temp-table tResponseUserCall.
Create tGetUserSessionTokenCall.
Assign tGetUserSessionTokenCall.tcSession_id = icGlobalSessionId.
<M-1 run GetUserRemote
(input tGetUserSessionTokenCall (tGetUserSessionToken),
output tResponseUserCall (tResponseUser),
output viFcReturnSuper (oiReturnStatus)) in PAuthentication>
If viFcReturnSuper <> 0
Then Assign oiReturnStatus = viFcReturnSuper.
If viFcReturnSuper < 0
Then Return.
Find First tResponseUserCall No-error.
If not Available tResponseUserCall
Then Do:
Assign vcMsg = Trim(#T-3'There is no tResponseUserCall record returned from the GetUserRemote procedure.':255(8907)T-3#)
oiReturnStatus = -1.
<M-2 run SetMessage
(input vcMsg (icMessage),
input '' (icArguments),
input '' (icFieldName),
input '' (icFieldValue),
input 'S':U (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'BLF-352':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in PAuthentication>
Return.
End. /*If Not Available tResponseUserCall */
If tResponseUserCall.tcUserid = ''
Then Do:
Assign vcMsg = Trim(#T-5'The User Login, returned by GetUserRemote procedure, is empty.':255(8909)T-5#)
oiReturnStatus = -1.
<M-4 run SetMessage
(input vcMsg (icMessage),
input '' (icArguments),
input 'tResponseUserCall.tcUserid' (icFieldName),
input tResponseUserCall.tcUserid (icFieldValue),
input 'S':U (icType),
input 3 (iiSeverity),
input '' (icRowid),
input 'BLF-353':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in PAuthentication>
Return.
End. /* tResponseUserCall.tcUserid = ''*/
Assign ocUserId = tResponseUserCall.tcUserid
ocClientPrincipalObject = tResponseUserCall.tcMfgClientPrincipal.
If oiReturnStatus = -98
Then Assign oiReturnStatus = 0.