Gestion des conditions IF/THEN/ELSE.
Code JCL
//JOBTST05 JOB (COMPTA),'PROGRAMMEUR',CLASS=A,MSGCLASS=B,
// COND=(8,GE),USER=USERTST,PASSWORD=PASSTST,
// PRTY=8,REGION=2048K,TIME=1,NOTIFY=USERTST,
// RESTART=*
//************************************************************
//* JOBTST05 : steps conditionnés, prog DB2 à substituer *
//* et test SYSIN vide *
//************************************************************
//* commentaire de début du job JOBTST05
//JOBLIB DD DSN=TST.JOBLIB.LOAD1,DISP=SHR
// DD DSN=TST.JOBLIB.LOAD2,DISP=SHR
//*
//* désallocation des fichiers
//* suite du commentaire
//DESALL01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE TST.JOBTST05.STEP03.SORTIE1
DELETE TST.JOBTST05.TRI04.SORTOUT
DELETE TST.JOBTST05.STEP05.SORTIE1
//*
//* allocation
//* des
//* fichiers
//ALLOC02 EXEC PGM=IEFBR14
//OUT1 DD DSN=TST.JOBTST05.STEP03.SORTIE1,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=TST001, un petit commentaire au milieu OUT1
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),
// SPACE=(TRKS,(1,10))
//OUT2 DD DSN=TST.JOBTST05.TRI04.SORTOUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=TST001,
// RECFM=FB,BLKSIZE=3120,LRECL=80
//OUT3 DD DSN=TST.JOBTST05.STEP05.SORTIE1,
// DISP=(NEW,CATLG,DELETE),
// RECFM=FB,
// LRECL=100,
// UNIT=3390,VOL=SER=TST001,
// BLKSIZE=10000,
// SPACE=(TRKS,(1,10))
//*
//STEP03 EXEC PGM=PRGTST01
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST05.STEP03.SYSIN,DISP=SHR
//ENTREE1 DD DSN=TST.JOBTST05.STEP03.ENTREE1,DISP=SHR
//SORTIE1 DD DSN=TST.JOBTST05.STEP03.SORTIE1,DISP=SHR
//*
//* commentaire de la condition
//* sur 6 lignes
//TESTRC IF ((STEP03.RC = 1) OR
// ((STEP03.RC = 2) OR
// ((STEP03.RC = 3) OR
// ((STEP03.RC = 4) OR
// ((STEP03.RC = 5) OR
// (STEP03.RC = 6)) THEN commentaire fin de ligne TESTRC
//* commentaire du TRI04
//TRI04 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=TST.JOBTST05.STEP03.SORTIE1,DISP=SHR
//SORTOUT DD DSN=TST.JOBTST05.TRI04.SORTOUT,DISP=SHR
//SYSIN DD *
SORT FIELDS=(1,8,PD,A)
INCLUDE COND=(21,8,CH,EQ,C'SELECTED',&,29,3,EQ,C'OUI')
OUTREC FIELDS=(21,60,1,20)
SUM FIELDS=NONE
//*
//* commentaire de la carte ELSE
//* de la condition TESTRC
// ELSE
//TRI04B EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=TST.JOBTST05.STEP03.SORTIE1,DISP=SHR
//SORTOUT DD DSN=TST.JOBTST05.TRI04.SORTOUT,DISP=SHR
//SYSIN DD *
SORT FIELDS=(1,8,PD,A)
//*
//* commentaire de la carte ENDIF
// ENDIF
//* commentaire de la carte STEP05
//* suite du commentaire
//STEP05 EXEC PGM=IKJEFT1B
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST05.STEP05.SYSIN,DISP=SHR
//SYSTSIN DD *
DSN SYSTEM(DB2T)
RUN PROGRAM(PRGDB201) PLAN(PLADB201)
END
/*
//ENTREE1 DD DSN=TST.JOBTST05.TRI04.SORTOUT,DISP=SHR
//SORTIE1 DD DSN=TST.JOBTST05.STEP05.SORTIE1,DISP=SHR
//TSTIN DD *
/*
//