JCL Procedures (PROC)
Problem Description
Create and call a JCL procedure.
Expected Output
Reusable JCL with PROCs
Hints
PROC defines reusable JCL, EXEC calls it.
Solution
//PROCDEMO JOB (ACCT),CLASS=A
//*
//* INSTREAM PROCEDURE DEFINITION
//*
//MYPROC PROC HLQ=MY,ENV=PROD
//*
//STEP1 EXEC PGM=SORT
//SORTIN DD DSN=&HLQ..&ENV..INPUT,DISP=SHR
//SORTOUT DD DSN=&HLQ..&ENV..OUTPUT,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(10,5))
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,10,CH,A)
/*
// PEND
//*
//* CALLING THE PROCEDURE
//*
//RUN1 EXEC MYPROC,HLQ=TEST,ENV=DEV
//*
//* Override DD in PROC
//RUN1.SORTOUT DD DSN=TEST.DEV.SORTED,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(50,10))
//*
//RUN2 EXEC MYPROC
//* Uses default values HLQ=MY, ENV=PROD
//
Explanation:
PROC...PEND defines procedure. & for symbolic params. Override with stepname.ddname.