hab ich mal im Netz abgeschrieben
weiß leider nicht mehr von wem
ist noch nicht so lange her, ging bis v5r3 über trace



Code:
 /*    CMD WRKFRGNJOB     */                                               
            CMD        PROMPT('WRKFRGNJOB')                                
            PARM       KWD(JOBNAME) TYPE(*CHAR) LEN(10) MIN(1) +           
                         CHOICE('NAME') PROMPT('JOB NAME')                 
            PARM       KWD(JOBUSER) TYPE(*CHAR) LEN(10) MIN(1) +           
                         CHOICE('NAME') PROMPT('JOB USER')                 
            PARM       KWD(JOBNUMBER) TYPE(*CHAR) LEN(6) +                 
                         RANGE('00000' '999999') MIN(1) +                  
                         CHOICE('000000 - 999999') PROMPT('JOBNUMBER')     
            PARM       KWD(COMMAND) TYPE(*CHAR) LEN(512) MIN(1) +          
                         CHOICE('NAME') PROMPT('COMMAND TO RUN')

Code:
/*    CL 1    WRKFRGNPR */                                               
           PGM        PARM(&JOBNAME &USER &JOBNO &CMD)                   
           DCL        VAR(&JOBNAME) TYPE(*CHAR) LEN(10)                  
           DCL        VAR(&USER) TYPE(*CHAR) LEN(10)                     
           DCL        VAR(&JOBNO) TYPE(*CHAR) LEN(06)                    
           DCL        VAR(&CMD) TYPE(*CHAR) LEN(300)                     
           DCL        VAR(&INPUT) TYPE(*CHAR) LEN(2056)                  
           DCL        VAR(&DTAOFFSET) TYPE(*CHAR) LEN(4)                 
           DCL        VAR(&DTALENGTH) TYPE(*CHAR) LEN(4)                 
           DCL        VAR(&HEX_0000)  TYPE(*CHAR) LEN(2) VALUE(X'0000')  
           DCL        VAR(&C_56)      TYPE(*DEC)  LEN(5 0) VALUE(56)     
           DCL        VAR(&C_300)     TYPE(*DEC)  LEN(5 0) VALUE(300)    
           DCL        VAR(&MSG) TYPE(*CHAR) LEN(132)                     
           MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))            
           CHGVAR     %BIN(&DTAOFFSET)  &C_56                            
           CHGVAR     %BIN(&DTALENGTH)  &C_300                           
           CHGVAR     VAR(&INPUT) VALUE('RUNJBCMDPR' *CAT +              
                        'MISYS     ' *CAT &JOBNAME *CAT &USER +          
                        *CAT &JOBNO *CAT &HEX_0000 *CAT &DTAOFFSET +                                *CAT &DTALENGTH *CAT &CMD)             
              CALL       PGM(QWCJBITP) PARM(&INPUT 'JITP0100' +   
                           X'0000000000000000')                   
  ERROR:      RCVMSG     MSGTYPE(*EXCP) RMV(*NO) MSG(&MSG)        
              SNDPGMMSG  MSG(&MSG)                                
  ENDIT:      ENDPGM

Code:
 /*    CL 2    WRKFRGN2PR */                                            
           PGM        PARM(&DUMMY)                                      
            DCL        VAR(&DUMMY) TYPE(*CHAR) LEN(100)                 
            DCL        VAR(&JOBNO) TYPE(*CHAR) LEN(06)                  
            DCL        VAR(&CMD) TYPE(*CHAR) LEN(512)                   
            DCL        VAR(&MSG) TYPE(*CHAR) LEN(132)                   
            DCL        VAR(&CLEN) TYPE(*DEC) LEN(15 5)                  
                                                                        
            DCL        VAR(&SNDDTAQ) TYPE(*CHAR) LEN(10)                
            DCL        VAR(&RCVDTAQ) TYPE(*CHAR) LEN(10)                
            DCL        VAR(&LEN) TYPE(*DEC) LEN(5 0)                    
            DCL        VAR(&WAIT) TYPE(*DEC) LEN(5 0) VALUE(0)          
            MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDIT))          
                                                                        
            RTVJOBA    NBR(&JOBNO)                                      
            CHGVAR     VAR(&RCVDTAQ) VALUE('SND' *CAT &JOBNO)           
            CHGVAR     VAR(&SNDDTAQ) VALUE('RCV' *CAT &JOBNO)           
                                                                        
            CALL       PGM(QRCVDTAQ) PARM(&RCVDTAQ 'QGPL' &LEN &CMD +   
                         &WAIT)                                                      IF         COND(&LEN *EQ 0) THEN(GOTO CMDLBL(ENDIT))       
             CHGVAR     VAR(&CLEN) VALUE(&LEN)                          
             CALL       PGM(QCMDEXC) PARM(&CMD &CLEN)                   
             MONMSG     MSGID(CPF0000)                                  
                                                                        
             CHGVAR     VAR(&LEN) VALUE(1)                              
 SENDMSG:    CALL       PGM(QSNDDTAQ) PARM(&SNDDTAQ 'QGPL' &LEN &MSG)   
             RCVMSG     RMV(*NO) MSG(&MSG) MSGLEN(&LEN)                 
             IF         COND(&MSG *NE ' ') THEN(GOTO CMDLBL(SENDMSG))   
 ENDIT:      ENDPGM

viel erfolg
Robi