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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to