Détection du nom du programme passé à une PROC ou éxécuté par IKJEFT1B.
Code JCL
//JOBTST06 JOB (COMPTA),'PROGRAMMEUR',CLASS=A,MSGCLASS=B,
// COND=(8,GE),USER=USERTST,PASSWORD=PASSTST,
// PRTY=8,REGION=2048K,TIME=1,NOTIFY=USERTST,
// RESTART=*
//*****************************************************************
//* JOBTST06 : conditions en cascades *
//* PROCs dont 1 PROC appelant un prog DB2 *
//* affectation variable avec SET *
//* variables dans nom de fichiers *
//*****************************************************************
//*
//JOBLIB DD DSN=TST.JOBLIB.LOAD1,DISP=SHR commentaire de la carte JOBLIB
// DD DSN=TST.JOBLIB.LOAD2,DISP=SHR suite du commentaire
//*
//* Affectation variable QUALF utilisée dans les noms de fichiers
//VARQUALF SET QUALF=JOBTST06 commentaire
//*
//STEP01 EXEC PROCTST1,PROG=IKJEFT1B
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.&QUALF..STEP01.SYSIN,DISP=SHR
//ENTREE01 DD DSN=TST.&QUALF..STEP01.ENTREE1,DISP=SHR
//SORTIE01 DD DSN=TST.&QUALF..STEP01.SORTIE01,RECFM=FB,
// DISP=(NEW,CATLG),LRECL=80,BLKSIZE=8000,
// SPACE=(TRKS,(1,10)) commentai01 SORTIE01
//SYSTSIN DD *
DSN SYSTEM(DB2T)
RUN PROGRAM(PRGDB202) PLAN(PLADB202)
END
/*
// SET VAR1=TOTO,VAR2='TATA',
// VAR3='TU TU',VAR4='T I T I ' commentaire SET
//*
//* 1er TEST sur le RC du step precedent
// IF (STEP01.RC = 1) THEN commentaire THEN
// ELSE commentaire ELSE
//*
//STEP02 EXEC PROCTST2,PROG=PRGTST02,MYPARAM=JUSTAFTER
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST06.STEP02.SYSIN,DISP=SHR
//*SYSIN DD *
//* sysin (en commentaire)
//*SYSIN DD DSN=TST.JOBTST06.STEP02.TEST,DISP=SHR ANCIENNE SYSIN
//ENTREE01 DD DSN=TST.JOBTST06.STEP01.SORTIE01,DISP=SHR
//SORTIE01 DD DSN=TST.JOBTST06.STEPZZ.SORTIE01,RECFM=FB,
// DISP=(NEW,CATLG),LRECL=80,BLKSIZE=8000,
// SPACE=(TRKS,(1,10)) commentai02 SORTIE01
//*
//* 2eme TEST sur le RC du 1er step
//TESTRC2 IF (STEP01.RC = 2) THEN
// ELSE
//*
//STEP03 EXEC PROCTST2,MYPARAM=JUSTBEFORE,PROG=PRGTST02
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST06.STEP03.SYSIN,DISP=SHR
//ENTREE01 DD DSN=TST.JOBTST06.STEP01.SORTIE01,DISP=SHR
//SORTIE01 DD DSN=TST.JOBTST06.STEPZZ.SORTIE01,RECFM=FB,
// DISP=(NEW,CATLG),LRECL=80,BLKSIZE=8000,
// SPACE=(TRKS,(1,10)) commentai03 SORTIE01
//*
//* 3eme TEST sur le RC du 1er step
// IF (STEP01.RC = 3) THEN
// ELSE
//*
//STEP04 EXEC PROCTST2,MYPARAM=THESAME,PROG=PRGTST02
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST06.STEP04.SYSIN,DISP=SHR
//ENTREE01 DD DSN=TST.JOBTST06.STEP01.SORTIE01,DISP=SHR
//SORTIE01 DD DSN=TST.JOBTST06.STEPZZ.SORTIE01,RECFM=FB,
// DISP=(NEW,CATLG),LRECL=80,BLKSIZE=8000,
// SPACE=(TRKS,(1,10)) commentai04 SORTIE01
//* fin des 3 conditions imbriquées
// ENDIF fin IF 3ème niveau
// ENDIF fin IF 2nd niveau
// ENDIF fin IF 1er niveau
//