Message Queue Break Programs - Application II

Message Queue Break Programs give us an ability to asynchronously execute commands. A Message Queue Break Program Request Processor can:

Someplace in the job's initial program, the following code needs to execute:

CHGMSGQ MSGQ(JRANDOMMSGQ) DLVRY(*BREAK) PGM(DEVCPANDO/CP0004)

The program CP0004 looks like:


 PGM        PARM(&MSGQ &MSGQLIB &MSGKEY)                            
                                                                    
    DCL        VAR(&MSGQ    ) TYPE(*CHAR) LEN(  10)                 
    DCL        VAR(&MSGQLIB ) TYPE(*CHAR) LEN(  10)                 
    DCL        VAR(&MSGKEY  ) TYPE(*CHAR) LEN(   4)                 
    DCL        VAR(&MSG     ) TYPE(*CHAR) LEN(  78)                 
    DCL        VAR(&MSGLEN  ) TYPE(*DEC ) LEN(15 5) VALUE(78)       
                                                                    
       MONMSG     MSGID(CPF0000)                                    
                                                                    
       RCVMSG     MSGQ(&MSGQLIB/&MSGQ) MSGKEY(&MSGKEY) +            
                  RMV(*YES) MSG(&MSG)                               
       SNDPGMMSG  MSG(&MSG) TOPGMQ(*EXT) MSGTYPE(*RQS)              
       RCVMSG     PGMQ(*EXT) MSGTYPE(*RQS) RMV(*NO)                 
       CALL       PGM(QCMDEXC) PARM(&MSG &MSGLEN)                   
                                                                    
 ENDPGM                                                                    


Valid HTML 3.2! Creative Commons License

BrilligWare/ chris@pando.org / revised February 2009