Well, if you're anxious to see the code, here it is -
COB#SYNC ATENTRY 'Run ASYNC task from COBOL',TRACE=NO
*
ST R1,R1_ON_ENTRY
*
LA R4,DYN_PCT
USING MTCT_TASK,R4
L R5,0(,R1) <-- FIRST PARM = PROGRAM NAME
MVC MTCT_TASK_PROG,0(R5)
- - - - - - - - - - - - - - - - 10 Line(s) not Displayed
MVC DYN_ATCH(L_ATCH_LST),ATCH_LST
XC MTCT_TASK_TECB,MTCT_TASK_TECB
LA R2,MTCT_TASK_TECB
LA R15,DYN_ATCH
LA R1,4(0,R1) PASS THE REST OF PARMS
*
ATTACH EPLOC=MTCT_TASK_PROG, X
ECB=(R2), X
SZERO=NO, X
SF=(E,(R15))
*
LTR R15,R15 DID ATTACH WORK?
BZ ATTACHED YES -
LOG$MSG 'Unable to Attach %%%%%%%%. Abending...',MTCT_TASK_PROG
DC H'0'
*
ATTACHED DC 0H
ST R1,MTCT_TASK_TCB SAVE TCB
UNPK DWORK(9),MTCT_TASK_TCB(5)
MVZ DWORK,ZONE_ZERO
TR DWORK,HEXTAB
LOG$MSG 'Prog %%%%%%%% Attached. TCB=%%%%%%%%', X
MTCT_TASK_PROG,DWORK
*
LA R2,MTCT_TASK_TECB
WAIT 1,ECB=(R2)
*
LOG$MSG 'Prog %%%%%%%% terminated',MTCT_TASK_PROG
*
DETACH MTCT_TASK_TCB
*
B COB#SYNC_EXIT
The call in COBOL caller follows. Notice that the commarea gets displayed
before and after the call [this is how we know that the response is NOT passed
back]
CALL-TPTAPI.
DISPLAY WS-TPTAPI-COMMAREA
CALL "COB#SYNC" USING WS-TPTAPI
WS-TPTAPI-COMMAREA.
- - - - - - - - - - - - - 2 Line(s) no
DISPLAY WS-TPTAPI-COMMAREA.
The subroutine's PROCEDURE USING:
PROCEDURE DIVISION USING TPTAPI-COMMAREA.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
