
|
PGM PARM(&JOB &STATUS &JOBTYP &JOBSUBT &SBS + &POOLID &NBIO &NBTRANS &RESPTIM &FONCTYP + &FONCNAM &ACTSTS) DCL &JOB *CHAR 26 DCL &STATUS *CHAR 10 DCL &JOBTYP *CHAR 1 DCL &JOBSUBT *CHAR 1 DCL &SBS *CHAR 10 DCL &POOLID *DEC 2 0 DCL &NBIO *DEC 5 0 DCL &NBTRANS *DEC 5 0 DCL &RESPTIM *DEC 5 0 DCL &FONCTYP *CHAR 1 DCL &FONCNAM *CHAR 10 DCL &ACTSTS *CHAR 4 DCL &RETOUR *CHAR 111 DCL &RETOURLG *CHAR 4 /* VARIABLES UTILISEES PAR LA GESTION DE MESSGAES */ 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 */   MONMSG MSGID(CPF0000) EXEC(GOTO ERREUR)   /* CORPS DU PROGRAMME */ CHGVAR %BIN(&RETOURLG) 111   CALL QUSRJOBI PARM( + &RETOUR + &RETOURLG + 'JOBI0200' + &JOB + ' ' + X'00000000') CHGVAR &STATUS %SST(&RETOUR 51 10) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &JOBTYP %SST(&RETOUR 61 1) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &JOBSUBT %SST(&RETOUR 62 1) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &SBS %SST(&RETOUR 63 10) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) |
CHGVAR &POOLID %BIN(&RETOUR 77 4) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &NBIO %BIN(&RETOUR 85 4) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &NBTRANS %BIN(&RETOUR 89 4) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &RESPTIM %BIN(&RETOUR 93 4) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &FONCTYP %SST(&RETOUR 97 1) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &FONCNAM %SST(&RETOUR 98 10) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) ) CHGVAR &ACTSTS %SST(&RETOUR 108 4) MONMSG MSGID(MCH0000) EXEC(RCVMSG MSGTYPE(*EXCP) )   RETURN   /*----------------------------------------*/ ERREUR: /* GESTION DES ERREURS */ /*----------------------------------------*/ IF &ERRORSW SNDPGMMSG MSGID(CPF9899) + 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) SNDMSGFLIB(&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) SNDMSGFLIB(&MSGFLIB) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) + MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE) ENDPGM |