` JCL DOCUMENTATION STANDARDS 1. Outline all documentation with a box of asterisks. 2. Include documentation immediately following the JOB statement that states the job's task(s). Comment on any JCL that appears before the first EXEC statement. 3. Immediately after each EXEC statement explain the function of the step. List each DD name identified with the step and state whether it labels input or output. Describe the file associated with each DD name. 4. Document temporary work data sets in a separate box. 5. Place any other explanatory comments in the JCL stream as needed. The following JCL example makes provisions for: 1. the COBOL COPY verb --- by including the 'LIB' compiler option on the EXEC statement in 'STEP1', the compile step, and --- by specifying the copy library on the SYSLIB DD statement, also in 'STEP1'. --- the compiler also requires a SYSUT5 dataset DD card 2. passing a parameter to the COBOL source program --- by adding the parameter on the EXEC statement for 'STEP2' after the LOADER options 'MAP' and 'LET'. (The parameter is '06' for the month of June.) //EXAMPLE JOB ,'A STUDENT',TIME=(,5) //* //*************************************************************** //* * //* THE PURPOSE OF THIS JOB IS TO COMPILE AND EXECUTE A * //* COBOL PROGRAM TO PRODUCE CHECKING ACCOUNT STATEMENTS. * //* * //*************************************************************** //* //STEP1 EXEC PGM=IGYCRCTL,PARM='LIB',REGION=2048K //* //*************************************************************** //* * //* STEP1 COMPILES THE COBOL SOURCE CODE. * //* * //* DDNAME FILE DESCRIPTION * //* * //* STEPLIB INPUT: LOCATION OF THE COMPILER * //* SYSIN INPUT: SOURCE CODE TO BE COMPILED * //* SYSLIB INPUT: LIBRARY CONTAINING COBOL COPY BOOK * //* * //* SYSLIN OUTPUT: THE RESULTING OBJECT MODULE * //* SYSPRINT OUTPUT: SOURCE LISTING AND DIAGNOSTIC * //* MESSAGES * //* * //*************************************************************** //* //STEPLIB DD DSN=IGY340.SIGYCOMP,DISP=SHR //SYSLIB DD DSN=KC0nnnn.COPYLIB,UNIT=DISK, // DISP=SHR //SYSLIN DD DSN=&&OBJMOD,UNIT=PUB,SPACE=(TRK,(3,3)), // DISP=(NEW,PASS,DELETE),DCB=(BLKSIZE=3200) //SYSPRINT DD SYSOUT=* //* //*************************************************************** //* * //* THE FOLLOWING DATA SETS ARE REQUIRED BY THE COMPILER. * //* * //*************************************************************** //* //SYSUT1 DD DSN=&&SYSUT1,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //SYSUT2 DD DSN=&&SYSUT2,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //SYSUT3 DD DSN=&&SYSUT3,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //SYSUT4 DD DSN=&&SYSUT4,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //SYSUT5 DD DSN=&&SYSUT5,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //SYSUT6 DD DSN=&&SYSUT6,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //SYSUT7 DD DSN=&&SYSUT7,UNIT=PUB,SPACE=(CYL,(1,1)), // DISP=(NEW,DELETE,DELETE) //* //SYSIN DD * ( the COBOL source code ) /* //* //STEP2 EXEC PGM=LOADER,PARM='MAP,LET/06',COND=(0,NE),REGION=2048K //* //*************************************************************** //* * //* STEP2 CREATES A LOAD MODULE FROM THE INPUT OBJECT * //* MODULE, EXECUTES THE LOAD MODULE, AND THEN DELETES IT. * //* * //* SYSLIN INPUT: THE OBJECT MODULE * //* SYSLIB INPUT: LOAD MODULE LIBRARIES NEEDED BY * //* THE LOADER * //* * //* SYSLOUT OUTPUT: LOADER DIAGNOSTIC MESSAGES * //* CEEDUMP OUTPUT: FORMATTED DUMP * //* SYSOUT OUTPUT: FOR 'DISPLAY' COBOL STATEMENT OUTPUT * //* SYSPRINT OUTPUT: SYSTEM MESSAGES * //* * //*************************************************************** //* //STEPLIB DD DSN=CEE.SCEERUN,DISP=SHR //SYSLIN DD DSN=&&OBJMOD,DISP=(OLD,DELETE,DELETE) //SYSLIB DD DSN=CEE.SCEEKLED,DISP=SHR //SYSLOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //CEEDUMP DD SYSOUT=* //SYSOUT DD SYSOUT=* /* //*************************************************************** //* * //* THE FOLLOWING DATA SETS ARE REQUIRED BY THE COBOL * //* PROGRAM. * //* * //* CUSTOMER INPUT: CUSTOMER TRANSACTION DATA * //* * //* STATEMNT OUTPUT: CHECKING ACCOUNT STATEMENTS * //* * //*************************************************************** //* //CUSTOMER DD DSN=KC0nnnn.CUSTOMER.TRANS.DATA,UNIT=DISK, // ,DISP=SHR //STATEMNT DD SYSOUT=* //* //