CPP de la commande REINZJOB

BoTTom |
             PGM        PARM(&JOBDQ)
             DCL        VAR(&JOBDQ) TYPE(*CHAR) LEN(20)
             DCL        VAR(&APIRETOUR) TYPE(*CHAR) LEN(5000)
             DCL        VAR(&DEB) TYPE(*DEC) LEN(4 0)
             DCL        VAR(&JDLG) TYPE(*DEC) LEN(5 0)
 
             DCL        VAR(&USRLIBLS) TYPE(*CHAR) LEN(2750)
             DCL        VAR(&USRLIBL2) TYPE(*CHAR) LEN(250)
             DCL        VAR(&CMD) TYPE(*CHAR) LEN(300)
             DCL        VAR(&LG) TYPE(*DEC) LEN(15 5) VALUE(300)
 
             DCL &OUTPTY *CHAR 1
             DCL &OUTQ *CHAR 10
             DCL &OUTQL *CHAR 10
             DCL &DEV *CHAR 10
             DCL &LOG *CHAR 1
             DCL &SEV *DEC (2 0)
             DCL &LOGTXT *CHAR 10
             DCL &INQMSG *CHAR 10
 /* VARIABLES UTILISEES PAR LA GESTION DE MESSAGES */
             DCL        &ERRORSW *LGL                     /* SWITCH  */
             DCL        &MSGID *CHAR LEN(7)               /* ID MSG  */
             DCL        &MSGDTA *CHAR LEN(100)            /* DATA    */
             DCL        &MSGF *CHAR LEN(10)               /* FICHIER */
             DCL        &MSGFLIB *CHAR LEN(10)            /* BIBLI   */
 /* GESTION DES ERREURS                            */
             MONMSG     MSGID(CPF0000) EXEC(GOTO ERREUR)
 
      CALL QWDRJOBD PARM(&APIRETOUR X'000007D0'  'JOBD0100' &JOBDQ +
                         X'00000000')
 /*                     VAR EN RETOUR   2000      FORMAT    JOBD QUALIF */
 /*                        CODE RETOUR */
   /* DÉBUT DE LA LISTE */
      CHGVAR &DEB %BIN(&APIRETOUR 361 4)   /* = DÉPLACEMENT */
      CHGVAR &DEB (&DEB + 1)               /* POS DE DÉBUT */
   /* NBR DE POSTES     */
      CHGVAR &JDLG %BIN(&APIRETOUR 365 4)
   /* CALCUL DE LA LONGEUR */
      CHGVAR &JDLG (&JDLG * 11)
 
             CHGVAR &USRLIBLS %SST(&APIRETOUR &DEB &JDLG)
 
             IF (&USRLIBLS *EQ '*SYSVAL') THEN(DO)
              RTVSYSVAL  SYSVAL(QUSRLIBL) RTNVAR(&USRLIBL2)


|
              /* AU CAS OU UN NOM DE BIBLIOTHÈQUE FAIT 10C. */
              CHGVAR     VAR(&USRLIBLS) VALUE(                 +
                         %sst(&usrlibl2   1 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  11 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  21 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  31 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  41 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  51 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  61 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  71 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  81 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2  91 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 101 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 111 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 121 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 131 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 141 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 151 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 161 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 171 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 181 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 191 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 201 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 211 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 221 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 231 10) *CAT ' '  *CAT +
                         %sst(&usrlibl2 241 10) )
             ENDDO
 
             CHGVAR &CMD ('CHGLIBL LIBL(' *TCAT &USRLIBLS *TCAT ')')
             CALL QCMDEXC PARM(&CMD &LG)
 
             CHGVAR &OUTQ %SST(&APIRETOUR 87 10)
             IF (&OUTQ *EQ '*USRPRF') +
               RTVUSRPRF  OUTQ(&OUTQ) OUTQLIB(&OUTQL)
             ELSE +
               CHGVAR &OUTQL %SST(&APIRETOUR 97 10)
 
             IF         COND(&OUTQ *NE '*DEV') THEN(DO)
              IF         COND(&OUTQ *EQ '*WRKSTN') THEN(CHGJOB +
                           OUTQ(*WRKSTN))
               ELSE CHGJOB     OUTQ(&OUTQL/&OUTQ)
             ENDDO
 


|
             CHGVAR &OUTPTY %SST(&APIRETOUR 108 1)
             CHGVAR &DEV    %SST(&APIRETOUR 109 10)
             IF (&DEV *EQ '*USRPRF') +
               RTVUSRPRF  PRTDEV(&DEV)
             CHGVAR &SEV %BIN(&APIRETOUR 157 4)
             CHGVAR &LOG %SST(&APIRETOUR 161 1)
             CHGVAR &LOGTXT %SST(&APIRETOUR 162 10)
             CHGVAR &INQMSG %SST(&APIRETOUR 182 10)
 
             CHGJOB     OUTPTY(&OUTPTY) PRTDEV(&DEV) LOG(&LOG &SEV +
                          &LOGTXT) INQMSGRPY(&INQMSG)
             RETURN
 
              /*----------------------------------------*/
 ERREUR:      /*        GESTION DES ERREURS             */
              /*----------------------------------------*/
             IF         &ERRORSW SNDPGMMSG MSGID(CPF9999) +
                          MSGF(QCPFMSG) MSGTYPE(*ESCAPE) /* 2EME FOIS*/
                                                         /* ARRET PGM*/
             CHGVAR     &ERRORSW '1' /* MISE EN PLACE DU SWTICH     */
 
 /* RENVOI DES MESSAGES DE TYPE *DIAG SI FIN ANORMALE */
 DIAGMSG:    RCVMSG     MSGTYPE(*DIAG) MSGDTA(&MSGDTA) MSGID(&MSGID) +
                          MSGF(&MSGF) MSGFLIB(&MSGFLIB)
             IF         (&MSGID *EQ '       ') GOTO EXCPMSG
             SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
                          MSGDTA(&MSGDTA) MSGTYPE(*DIAG)
             GOTO       DIAGMSG /* BOUCLE SUR MESSAGES *DIAG      */
 
 /* RENVOI DU MESSAGE D'ERREUR                        */
 EXCPMSG:    RCVMSG     MSGTYPE(*EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
                          MSGF(&MSGF) MSGFLIB(&MSGFLIB)
             SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
                          MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE)
             ENDPGM




©AF400