Accueil du site > Les articles > Messages en Break
Version à imprimer Enregistrer au format PDF

Messages en Break

mercredi 11 août 2004, par Grégory Jarrige Visites  1130 Première mise en ligne le vendredi 7 novembre 2003.

Pour envoyer un message d’avertissement en "break" lors du lancement d’un traitement, on peut utiliser un CL tel que celui ci-dessous. L’avantage d’un tel CL tient au fait qu’il est suffisamment standardisé pour pouvoir être exploité par tous les CL d’une application.


Source du CL : CMSGWRK :

/*=======================================================*/
/* &JOBN CONTIENT LE NOM DU TRAVAIL SOUMIS               */
/* &JOBD CONTIENT LE NOM DE LA JOBD                      */
/* &FILE CONTIENT LA DESCRIPTION DE LA FILE DE TRAVAUX   */
/* &DEVN CONTIENT LE NOM DU TRAVAIL ECRAN                */
/*=======================================================*/
PGM PARM(&JOBN &JOBD)

DCL        VAR(&JOBN) TYPE(*CHAR) LEN(10)
DCL        VAR(&JOBD) TYPE(*CHAR) LEN(10)
DCL        VAR(&FILE) TYPE(*CHAR) LEN(20)
DCL        VAR(&DEVN) TYPE(*CHAR) LEN(10)
RTVJOBA        JOB(&DEVN)

IF  COND(&JOBD *EQ 'JOBDESJ') THEN(DO)
CHGVAR  VAR(&FILE) VALUE('de jour.            ')
GOTO    CMDLBL(MESSAGE)
ENDDO

IF  COND(&JOBD *EQ 'JOBDESN') THEN(DO)
CHGVAR  VAR(&FILE) VALUE('de nuit.            ')
GOTO    CMDLBL(MESSAGE)
ENDDO

CHGVAR        VAR(&FILE) VALUE('de travaux.         ')

MESSAGE: SNDMSG        MSG('Le travail ' *CAT &JOBN *CAT ' est +
  soumis à la file d''attente ' *CAT &FILE) TOMSGQ(&DEVN)

FIN:   ENDPGM

Exemple de CL utilisant le CL CMSGWRK.

PGM
DCL        VAR(&JOBN) TYPE(*CHAR) LEN(10) VALUE('LST_CLI')
DCL        VAR(&JOBD) TYPE(*CHAR) LEN(10) VALUE('JOBDESJ')
/*  LANCEMENT DU TRAITEMENT   */
SBMJOB  CMD(CALL PGM(Pxxx)) JOB(&JOBN) JOBD(&JOBD)
/*  ENVOI DU MESSAGE A L'UTILISATEUR   */
CALL    PGM(CMSGWRK) PARM(&JOBN &JOBD)
FIN:    ENDPGM

Suggestion

il serait intéressant de récupérer dans un fichier la JOBD correspondant au CL qui lance le traitement de manière à pouvoir personnaliser le traitement en fonction des clients sans avoir à modifier le source des CL.