I have successfully coded the acquiring of the jobname from within my program using the control blocks. However, now I need to get the USERID within the program as well.
How would I do this? I have seen some references using the JSAB but I must be doing something wrong.
This works well for JOBNAME:
SET ADDRESS OF PSA TO NULL
SET ADDRESS OF TCB TO TCB-POINTER IN PSA
SET ADDRESS OF TIOT TO TIOT-POINTER IN TCB
MOVE JOBNAME IN TIOT TO HOLD-JOBNAME
DISPLAY 'JOBNAME = ' HOLD-JOBNAME.
But I get a S0C4 when getting the USERID using the below:
SET WS-JSAB-ADDR-POINTER TO NULL.
SET ADDRESS OF TCB TO TCB-POINTER IN PSA.
SET ADDRESS OF STCB TO STCB-POINTER IN TCB.
IF JSAB-POINTER OF STCB IS NOT = NULL
SET ADDRESS OF JSAB TO JSAB-POINTER OF STCB
SET WS-JSAB-ADDR-POINTER TO JSAB-POINTER OF STCB
END-IF.
MOVE USERID IN JSAB TO HOLD-USERID.
DISPLAY 'USERID = ' HOLD-USERID.