|
Vous avez déjà eu besoin de vérifier la disponibilité d'un host avant de lancer un FTP, un rexec, etc. En interactif c'est simple, mais en batch ? Voici une solution simple à mettre en oeuvre :
PGM DCL &HOST *CHAR 16 DCL &DTA *CHAR 12 DCL &DTA1 *CHAR 4 DCL &DTA2 *CHAR 4 /* TEST AVEC 3 PAQUETS SEULEMENT (5 PAR DÉFAUT) */ /* &HOST PEUT ÊTRE UNE ADRESSE IP OU UN NOM DE HOST (SI CONNU) */ PING RMTSYS(&HOST) NBRPKT(3) /* TEST SI ERREUR DE SYNTAXE */ MONMSG MSGID(TCP0000 CPF0000) EXEC(DO) CHGVAR &DTA1 ('0000') CHGVAR &DTA2 ('0003') GOTO SUITE ENDDO /* LECTURE DU RESULTAT */ RCVMSG PGMQ(*SAME) MSGTYPE(*LAST) RMV(*NO) + MSGDTA(&DTA) CHGVAR &DTA1 (%BIN(&DTA 1 4)) CHGVAR &DTA2 (%BIN(&DTA 5 4)) SUITE: /* SUR DTA1 PAQUETS RECUS OU DTA2 PAQUETS EN ERREUR */ IF COND(&DTA1 *EQ '0003') THEN(DO) /* TRAITEMENT SI OK */ ENDDO ENDPGM
PLB
|