PGM PARM(&OPTION &NOM)
DCL &OPTION *CHAR 1
DCL &NOM *CHAR 10
/* 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)
IF COND(&OPTION = '3') THEN(HLDJOBQ JOBQ(&NOM))
IF COND(&OPTION = '5') THEN(WRKJOBQ JOBQ(&NOM))
IF COND(&OPTION = '6') THEN(RLSJOBQ JOBQ(&NOM))
IF COND(&OPTION = '4') THEN(DO)
ENDSBS ?*SBS(&NOM) ??OPTION(*N)
ENDDO
IF COND(&OPTION = '8') THEN(DO)
? SBMJOB ?*JOBQ(*LIBL/&NOM)
ENDDO
IF COND(&OPTION = '9') THEN(WRKSBSJOB (&NOM))
/* RENVOI DES MESSAGES DE TYPE *COMP SI FIN NORMALE */
COMPMSG: RCVMSG MSGTYPE(*COMP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
MSGF(&MSGF) MSGFLIB(&MSGFLIB)
IF (&MSGID *EQ ' ') RETURN /* FIN DU PGM */
SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) MSGTYPE(*COMP)
GOTO COMPMSG /* BOUCLE SUR MESSAGES *COMP */
 
/*----------------------------------------*/
ERREUR: /* GESTION DES ERREURS */
/*----------------------------------------*/
IF &ERRORSW SNDPGMMSG MSGID(CPF9999) +
MSGF(QCPFMSG) MSGTYPE(*DIAG) /* 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 */
 
|