
|
PGM
/************************************************************** */
/* */
/* VOUS DEVEZ CREER UNE OUTQ PAR SITE DISTANT PORTANT LE NOM */
/* DU SITE, ET ASSOCIER A CETTE FILE D'ATTENTE UNE DTAQ : */
/* CHGOUTQ OUTQ(AUTREAS) DTAQ(AF4TOOL/AUTOSND) */
/* */
/* CE PGM CONSIDERE QUE LE PARAMETRE "USRDTA" CONTIENT LE NOM */
/* DU DESTINATAIRE. RENSEIGNABLE PAR : */
/* OVRPRTF FILE(*PRTF) USRDTA(PROFIL) */
/* OU CHGSPLFA FILE(SPLF) USRDTA(PROFIL) */
/************************************************************** */
DCL &DTAQ *CHAR 10 VALUE('AUTOSND ') /* <-- MODIFIEZ */
DCL &DTAQB *CHAR 10 VALUE('AF4TOOL ') /* <-- MODIFIEZ */
DCL &MSG *CHAR 72
DCL &JOB26 *CHAR 26
DCL &SPLNAME *CHAR 10
DCL &SPLNBR *CHAR 4
DCL &LEN TYPE(*DEC) LEN(5 0) VALUE(72)
DCL &WAIT TYPE(*DEC) LEN(5 0) VALUE(-1)
DCL &SPLNBRD *DEC (4 0)
DCL &USRDTA *CHAR 10
DCL &OUTQ *CHAR 10
DCL &INFOS *CHAR 100
DCL &INFOLEN *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(&INFOLEN) 100
 
DEBUT:
CALL QRCVDTAQ PARM(&DTAQ &DTAQB &LEN &MSG &WAIT)
IF (%SST(&MSG 1 4) = '*FIN') RETURN
IF (%SST(&MSG 1 10) *NE '*SPOOL') GOTO DEBUT
 
CHGVAR &JOB26 %SST(&MSG 13 26)
|
CHGVAR &SPLNAME %SST(&MSG 39 10) CHGVAR &SPLNBR %SST(&MSG 49 4) CALL QUSRSPLA PARM( &INFOS + &INFOLEN + 'SPLA0100' + &JOB26 + ' ' + ' ' + &SPLNAME + &SPLNBR )   CHGVAR &USRDTA %SST(&INFOS 91 10) CHGVAR &OUTQ %SST(&MSG 53 10) CHGVAR &SPLNBRD %BIN(&SPLNBR) SNDNETSPLF FILE(&SPLNAME) TOUSRID((%SST(&USRDTA 1 8) + &OUTQ)) JOB(%SST(&JOB26 21 6)/%SST(&JOB26 + 11 10)/%SST(&JOB26 1 10)) SPLNBR(&SPLNBRD)   GOTO DEBUT   /*----------------------------------------*/ 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) TOMSGQ(*SYSOPR) SNDPGMMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) + MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE) ENDPGM |