PGM
/******************************************************************************/
/* CE PGM GERE UN PSEUDO SYSTEME BATCH */
/* */
/* INTERET : LIMITE LE NOMBRE DE JOBS AUX YEUX DU SYSTÈME, A UTILISER */
/* POUR LES PETITS TRAITEMENTS UTILISATEURS (LISTES,...) */
/* */
/* LA DTAQ SERT DE FILE D'ATTENTE */
/* */
/* PLACER CE PGM EN TRAVAIL À DÉMARRAGE AUTOMATIQUE (ADDAJE) */
/* AVEC UNE JOBD AYANT >>> ENDSEV(90) */
/* */
/* CE PEUT PGM PEUT S'EXECUTER EN PLUSIEURS EXEMPLAIRES */
/* (IL N'Y A PAS DE VERROUILLAGE SUR LES DTAQ) */
/* ==> LANCER PLUSIEURS FOIS LE PGM STREXEC */
/* ==> IL FAUDRA APPELLER AUTANT DE FOIS LE PGM ENDEXEC */
/******************************************************************************/
DCL &DTALEN *DEC (5 0)
DCL &DTA *CHAR 522
DCL &CMD *CHAR 512
DCL &WAIT *DEC (5 0)
DCL &POS *CHAR 2 VALUE('EQ')
DCL &KEYLEN *DEC (3 0) VALUE(4)
DCL &KEY *CHAR 4
DCL &IDLEN *DEC (3 0) VALUE(44)
DCL &ID *CHAR 44
DCL &PRF *CHAR 10
 
CHKOBJ OBJ(AF4TOOL/EXECDQ) OBJTYPE(*DTAQ)
MONMSG CPF0000 EXEC(DO)
CRTDTAQ DTAQ(AF4TOOL/EXECDQ) MAXLEN(522) SEQ(*KEYED) +
KEYLEN(4) SENDERID(*YES)
ENDDO
/* RETROUVE LA DERNIERE COMMANDE */
CHGVAR &KEY VALUE('*MSG')
CHGVAR &WAIT 1
CHGVAR &DTALEN 522
CALL QRCVDTAQ PARM('EXECDQ' 'AF4TOOL' +
&DTALEN &DTA &WAIT +
&POS &KEYLEN &KEY +
&IDLEN &ID)
/* ENVOI MESSAGE D'INFO AU PROFIL */
IF (&DTA *NE ' ') THEN(DO)
CHGVAR &PRF %SST(&DTA 1 10)
|