Sequence of 3 steps (output DSN = input DSN of the next step).
JCL code
//JOBTST03 JOB (COMPTA),'PROGRAMMEUR',CLASS=A,MSGCLASS=B,
// COND=(8,GE),USER=USERTST,PASSWORD=PASSTST,
// PRTY=8,REGION=2048K,TIME=1,NOTIFY=USERTST,
// RESTART=*
//JOBLIB DD DSN=TST.JOBLIB.LOAD1,DISP=SHR *commentaire LOAD1
// DD DSN=TST.JOBLIB.LOAD2,DISP=SHR *commentaire LOAD2
//*
// JCLLIB ORDER=('TST.JCLLIB.LOAD1','TST.JCLLIB.LOAD2',
// 'TST.JCLLIB.LOAD3','TST.JCLLIB.LOAD4') commmmentaire JCLLIB
//************************************************************
//* JOBTST03 : enchainement 2 proc et 1 tri *
//* commentaire du job après la joblib (erreur...) *
//* les programmes des PROC sont dans le paramètre PROG= *
//* JCL mis en commentaire sur le DD OUT3 *
//************************************************************
//*
//DESALL01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE TST.JOBTST03.STEP03.SORTIE1
DELETE TST.JOBTST03.TRI04.SORTOUT
DELETE TST.JOBTST03.STEP05.SORTIE1
//*
//ALLOC02 EXEC PGM=IEFBR14
//OUT1 DD DSN=TST.JOBTST03.STEP03.SORTIE1,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=TST001,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),
// SPACE=(TRKS,(1,10))
//OUT2 DD DSN=TST.JOBTST03.TRI04.SORTOUT,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=TST001,
// RECFM=FB,BLKSIZE=3120,LRECL=80
//OUT3 DD DSN=TST.JOBTST03.STEP05.SORTIE1,
// DISP=(NEW,CATLG,DELETE),
// RECFM=FB,
// LRECL=100,
// UNIT=3390,VOL=SER=TST001,
// BLKSIZE=10000,
// SPACE=(TRKS,(1,10))
//* SPACE=(CYLS,(1,10)) carte de JCL en commentaire associée à OUT3
//OUT4 DD DSN=TST.JOBTST03.STEP05.ENTBIDON,
// DISP=(NEW,CATLG,DELETE),
// UNIT=3390,VOL=SER=TST001,
// RECFM=FB,BLKSIZE=3120,LRECL=80
//*
//STEP03 EXEC PROC=PROCT03A,PROG=PGM0303 commentaires
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST03.STEP03.SYSIN,DISP=SHR
//ENTREE1 DD DSN=TST.JOBTST03.STEP03.ENTREE1,DISP=SHR <== JOB PRECEDENT
//SORTIE1 DD DSN=TST.JOBTST03.STEP03.SORTIE1,DISP=SHR ==> TRI04
//*
//* -------------------------------*
//* TRI04 : clause de TRI dans un INCLUDE MEMBER
//* -------------------------------*
//TRI04 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=TST.JOBTST03.STEP03.SORTIE1,DISP=SHR <== STEP03
//SORTOUT DD DSN=TST.JOBTST03.TRI04.SORTOUT,DISP=SHR ==> STEP04
//SYSIN DD *
// SORTIN03 INCLUDE MEMBER=STINTS03
SUM FIELDS=NONE
//* 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)
//*
//STEP05 EXEC PROCT02B,PARAM1=128,PARAM2=(TOTO,,,BONJOUR,2),
// REGION=2048K,TIME=10,PARAM3=(P1='N ',P2='0)',P3='B''B'),
// PROG=PGM0305
//STEPLIB DD DSN=TST.STPLIB.LOAD1,DISP=SHR
//SYSIN DD DSN=TST.JOBTST03.STEP05.SYSIN,DISP=SHR
//PARAM1 DD *
20050101
//PARAM2 DD *
9999
//ADEVINER DD DSN=TST.JOBTST03.TRI04.SORTOUT,DISP=SHR <== TRI04
// DD DSN=TST.JOBTST03.STEP05.ENTBIDON,DISP=SHR juste alloué, mais associé à DSN
//SORTIE1 DD DSN=TST.JOBTST03.STEP05.SORTIE1,DISP=SHR ==> JOB SUIVANT
//