Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stephen Linkin Houston Community College 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM 1 Using JCL and JES To Manage Program Execution Chapter.

Similar presentations


Presentation on theme: "Stephen Linkin Houston Community College 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM 1 Using JCL and JES To Manage Program Execution Chapter."— Presentation transcript:

1

2 Stephen Linkin Houston Community College 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM 1 Using JCL and JES To Manage Program Execution Chapter 5

3 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM2 Objectives Applied objectives Code JOB parameters to influence job scheduling in the following ways: a.specify the job’s class b.specify the job’s scheduling priority c.hold the job d.scan the job for syntax errors Code JOB and EXEC parameters to: a.limit the amount of storage available during a job step b.specify a job’s real storage requirements Code JCL parameters to set the following processing limits: a.execution time b.SYSOUT print data Code DD statements to allocate the following execution-related data sets: a.job library b.step library c.dump data set

4 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM3 Objectives Knowledge objectives Describe the rules for coding JES2 or JES3 control statements. Name the JES2 statements you used (1) to specify a job’s scheduling priority (2) to limit the amount of SYSOUT output. Name the JES3 statement used to control job processing options. Describe the search sequence for a program named in an EXEC statement when private libraries are included in the job stream.

5 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM4 More Syntax of JOB Statement The syntax of a JOB statement //jobname JOB [ accounting-information ] [,programmer-name ] [,MSGCLASS=class ] [,MSGLEVEL=(stmt,msg) ] [,NOTIFY=user-id ] [,ADDRSPC= {VIRT} ] {REAL} [,BYTES=(value[,action])] [,CARDS=(value[,action])] [,CLASS=jobclass ] [,LINES=(value[,action])] [,PAGES=(value[,action])] [,PRTY=priority ] [,REGION= {valueK} ] {valueM} [,TIME= {([minutes][,seconds])} ] {1440} {NOLIMIT} {MAXIMUM} [,TYPRUN= {COPY} ] {HOLD} {JCLHOLD} {SCAN}

6 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM5 More Syntax of EXEC Statement //stepname EXEC PGM=program-name [,PARM=information ] [,ADDRSPC= {VIRT} ] {REAL} [,REGION= {valueK} ] {valueM} [,TIME= {([minutes][,seconds])} ] {1440} {NOLIMIT} {MAXIMUM} {0}

7 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM6 The Syntax for JES2/JES3 The syntax for JES2/JES3 control statements identifier operation [parameters] Four differences between JES2/JES3 statements and JCL statements JES2/JES3 statements use a different identifier. JES2/JES3 statements have no name field. JES2/JES3 statements have different continuation rules. The system ignores JES2/JES3 statements in cataloged or instream procedures

8 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM7 Additional JES Statements JES2 /*PRIORITY statement /*PRIORITY priority JES2 /*JOBPARM statement /*JOBPARM [,BYTES=value ] [,CARDS=value ] [,LINES=value ] [,PAGES=value ] [,RESTART= {Y} {N} ] [,SYSAFF=(system[,IND]) ] //MM01RN JOB (36512),'CS MOORE',MSGCLASS=X,MSGLEVEL=(1,1) /*JOBPARM SYSAFF=MVSA //STEP1 EXEC PGM=SORT.

9 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM8 Figure 5-04b Other JES2 control statements StatementFunction /*$command-verbSpecifies JES2 operator commands. Must be placed | before the JOB statement. /*MESSAGESends a message to the operator. /*NETACCTSpecifies the job account number. /*NOTIFYNotifies the specified user when the job is completed (same as the NOTIFY parameter on the JOB statement). /*OUTPUTSpecifies SYSOUT processing options. /*ROUTERoutes the job for execution or printing to a specific JES2 node. /*SETUPInstructs the operator to mount specified tape volumes prior to job execution. /*SIGNOFFEnds a remote job session. May be placed anywhere in the job stream. /*SIGNONBegins a remote job entry session. Must be the first statement in the job stream. /*XEQRoutes the job to a specific JES2 node for execution. /*XMITTransmits data to another JES2 node.

10 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM9 Other JES3 control statements StatementFunction //*DATASETSupplies data for an instream data set. Must be placed immediately before the first record of the instream data. //*ENDDATASETIndicates the end of an instream data set. Must be placed immediately after the last record of the instream data. //*ENDPROCESSIndicates the end of a series of //*PROCESS statements. //*FORMATSpecifies options for SYSOUT data sets. //*NETSpecifies dependencies between jobs. //*NETACCTSpecifies job accounting information that will transmit with a job to another node. //*OPERATORSends a message to the operator. //**PAUSEPauses the input reader until the operator issues a *START operator command. Must be placed before the JOB statement. //*PROCESSControls JES3 job processing. An //*ENDPROCESS statement must follow any //*PROCESS statements. //*ROUTERoutes the job to another node in the network. /*SIGNOFFEnds a remote job session. May be placed anywhere in the job stream. /*SIGNONBegins a remote job entry session. Must be the first statement in the job stream.

11 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM10 Assign A Job Class Two ways to assign a job class Assigning a job class on a JOB statement //MM01A JOB (36512),'B SYVERSON',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=F,NOTIFY=&SYSUID Assigning a job class with the CLASS parameter on a JES3 //*MAIN statement //MM01A JOB (36512),'B SYVERSON',NOTIFY=&SYSUID //*MAIN CLASS=F

12 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM11 Scheduling Priority Two ways to assign a scheduling priority Assigning a priority on a JOB statement //MM01A JOB (36512),'A STEELMAN‘ //,MSGCLASS=X, MSGLEVEL=(1,1), // CLASS=F,PRTY=12,NOTIFY=&SYSUID Assigning a priority with the JES2 /*PRIORITY statement /*PRIORITY 12 //MM01A JOB (36512),'A STEELMAN',NOTIFY=&SYSUID

13 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM12 The syntax for the TYPRUN parameter of the JOB statement TYPRUN= {COPY} {HOLD} {JCLHOLD} {SCAN} HOLDING JOBS

14 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM13 Four Ways To Hold A Job Example 1 //MM01A JOB (36512),'M MURACH',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,TYPRUN=HOLD,NOTIFY=&SYSUID Example 2 (JES2 only) //MM01A JOB (36512),'M MURACH',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,TYPRUN=JCLHOLD,NOTIFY=&SYSUID Example 3 //MM01A JOB (36512),'M MURACH',NOTIFY=&SYSUID,CLASS=H Example 4 (JES3 only) //MM01A JOB (36512),'M MURACH',NOTIFY=&SYSUID //*MAIN HOLD=YES How to scan a job for syntax errors //MM01A JOB (36512),'M MURACH',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,TYPRUN=SCAN,NOTIFY=&SYSUID

15 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM14 Regions The syntax for REGION parameter of JOB and EXEC statements REGION= {valueK} {valueM} A JOB specifying 4 meg of storage for each job step //MM03A JOB (36512),'A PRINCE',REGION=4M An EXEC statement specifying 256 k storage for job steps //STEP3 EXEC PGM=INV1000,REGION=256K The syntax for LREGION parameter in the JES3 //*MAIN statement LREGION=valueK //MM01A JOB (36512),'B MURACH',NOTIFY=MM01 //*MAIN LREGION=120K ADDRSPC parameter requesting real storage for the job //MMO3A JOB (36512),'A PRINCE',REGION=4M,ADDRSPC=REAL ADDRSPC parameter that requests real storage for a job step //STEP3 EXEC PGM=INV1000,ADDRSPC=REAL

16 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM15 Processing Limits TIME parameter of JOB and EXEC statements TIME= {([minutes][,seconds])} {1440} {NOLIMIT} {MAXIMUM} {0}(EXEC statement only) Uses the TIME parameter on JOB and EXEC statements //MM03A JOB (36512),'LE MENENDEZ',TIME=5 //STEP1 EXEC PGM=VIDUPD1,TIME=3. //STEP2 EXEC PGM=VIDRPT1,TIME=3.

17 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM16 SYSOUT Limits SYSOUT parameters of JOB and JES3 //*MAIN statements BYTES=(value[,action]) CARDS=(value[,action]) LINES=(value[,action]) PAGES=(value[,action]) SYSOUT parameters of the JES2 /*JOBPARM statement BYTES=value CARDS=value LINES=value PAGES=value //MM01A JOB (36512),'R MENENDEZ', // LINES=(200,WARNING)

18 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM17 Figure 5-13a Allocating a JOB library //MM01E JOB (36512),'LE MENENDEZ',NOTIFY=MM01 //JOBLIB DD DSNAME=MM.TEST.LOADLIB,DISP=SHR //STEP1 EXEC PGM=IEBGENER.. //STEP2 EXEC PGM=ORD2200A. Allocating a STEP library //MM01F JOB (36512),'LE MENENDEZ',NOTIFY=MM01 //STEP1 EXEC PGM=IEBGENER.. //STEP2 EXEC PGM=ORD2200A //STEPLIB DD DSNAME=MM01.TEST.LOADLIB,DISP=SHR. Searching Sequence for Private Libraries

19 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM18 ABENDS This produces a formatted dump if STEP1 abends //MM01RN JOB (36512),'J TAYLOR',MSGCLASS=X,MSGLEVEL=(1,1), // CLASS=A,NOTIFY=&SYSUID //STEP1 EXEC PGM=INV2300 //STEPLIB DD DSN=MM01.TEST.LOADLIB,DISP=SHR //INVMSTS DD DSN=MM01.INVMSTS.DATA,DISP=SHR //RCTTRAN DD DSN=MM01.RCTTRAN.DATA,DISP=SHR //RCTERR DD DSN=MM01.DCMERR.DATA,DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA,VOL=SER=LIB788, // SPACE=(TRK,(1,1)), // DCB=(DSORG=PS,RECFM=FB,LRECL=23) //SYSOUT DD SYSOUT=* //SYSUDUMP DD SYSOUT=*

20 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM19 End Presentation


Download ppt "Stephen Linkin Houston Community College 1/31/07 © 2002 - Mike Murach & Associates, 2006 - HCC, IBM 1 Using JCL and JES To Manage Program Execution Chapter."

Similar presentations


Ads by Google