Transcript JCL - Free
JCL Day 1 Course Plan Day 1 : Introduction to JCL, JOB & EXEC statement , JES commands Day 2 : DD statements, JCL Procedures & IBM Utilities Day 3 : Introduction to VSAM, GDG & SMS Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Pre-requisites • MVS Operating system and its subsystem TSO • Navigating through ISPF Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Topics beyond the scope • VSAM file-handling • User coded COBOL program execution Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Evaluation Mechanism Component Marks Schedule Test 100 After Day 3 Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 References Title Author Publisher OS/390 and z/OS JCL Raul Menendez Murach MVS JCL Doug Lowe Mike Murach & Associates, Inc MVS/VSAM Gary D Brown & S.A.M. Smith SPD IBM Online manuals Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Agenda for Day 1 Introduction to JCL What is JCL Why we need JCL How we can use it Sequence & priority of execution Job statement Syntax Parameters Exec statement Syntax Parameters COND parameter JES commands, JCL errors & Abends Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 What does JCL stand for ? J JOB C CONTROL Copyright © 2005, ‹#› Infosys Technologies Ltd L LANGUAGE ER/CORP/CRS/OS02/003 Version No: 1.0 What is JCL then? • Not a Procedural or OO Language • JOB CONTROL LANGUAGE • Interface between Programs & MVS OS. • Why JCL? • Sample JCL code Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Sample JCL //UseridJ JOB ,,NOTIFY=&SYSUID,CLASS=D, // MSGLEVEL=(1,1),MSGCLASS=X //* SAMPLE JCL //STEP1 EXEC PGM=SEQPROC //STEPLIB DD DSN=OPERN.CICS3.LOADLIB,DISP=SHR //SYSPRINT DD SYSOUT=* //INFILE DD DSN=YourMainframeId.JCL.DAY2.FILE1,DISP=SHR //OUTFILE DD DSN=YourMainframeId.JCL.DAY2.FILE2, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA,SPACE=(TRK,(10,5),RLSE), // DCB=(LRECL=80,BLKSIZE=8000,RECFM=FB) Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Various stages of JCL execution Determine the job Create the JCL JES interprets JCL and passes it to MVS Submit the JOB System Messages User Views and Copyright © 2005, ‹#› Interprets Infosys Technologies Ltd output MVS does the work JES collects the output and information about ER/CORP/CRS/OS02/003 the JOB Version No: 1.0 Various stages of JCL execution • Input • Conversion • Execution • Output • Hard copy • Purge Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 INPUT MVS INPUT SPOOL JES JCL SYSIN Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 CONVERSION MVS JES SPOOL JCL SYSIN PROCLIB PROC Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 CONVERSION JOB INTERPRETER - JES2 PAY JCL INTERPRETER PAY CONTROL BLOCKS JES2 ADDRESS SPACE INITIATOR ADDRESS SPACE Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 CONVERSION JOB INTERPRETER - JES3 PAY JCL INTERPRETER PAY CONTROL BLOCKS JES3 ADDRESS SPACE INITIATOR ADDRESS SPACE Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 EXECUTION, OUTPUT, HARDCOPY and PURGE • Execution: – JES selects a job for execution , based upon job CLASS and job selection PRTY Ex: //ER5077 JOB ,,PRTY=8,CLASS=A – Allocation of datasets – SYSIN and SYSOUT • OUTPUT, HARDCOPY and PURGE Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 JCL PROCESSING INPUT STREAM JES2 / SPOOL JES3 JCL SYSIN SYSOUT PRINTER JES2 / JES3 INITIATOR1 Copyright © 2005, ‹#› Infosys Technologies Ltd INITIATOR3 INITIATOR2 ER/CORP/CRS/OS02/003 Version No: 1.0 JCL execution JCL INITIATION STEP INITIATION JCL SYSIN SYSOUT ALLOCATION PROGRAM EXECUTION STEP TERMINATION JOB TERMINATION Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 QUESTIONS ??? • JCL is used to write an application program ? Yes/No •What are the different stages of JCL processing ? Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 JCL statements • JOB - Job Identification • EXEC - Instruction for Execution • DD - Source of data to operate Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 JOB STATEMENT ACCT NAME TYPRUN PRTY RESTART REGION PERFORM CLASS NOTIFY MSGLEVEL MSGCLASS COND USER PASSWORD TIME Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT JOB PARAMETERS Positional Parameters a) Account Information b) Name EX: //ER5077J JOB A123,NAME1 All these parameters are optional as far as JCL is concerned, they are probably required by your installation. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT JOB PARAMETERS Keyword Parameters CLASS EX: //ER5077J JOB ,,CLASS=A • CLASS specifies the job class that is the nature of the job. Installation will specify which of the 36 possible classes to use which is from A to Z and 0 to 9 . • Installation establishes a default class that is in effect if CLASS is omitted. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 A typical JOB Class assignment Class Characteristics A Execute within 15 min of submission B Execute within 30 min of submission C Execute within 60 min of submission D Execute Overnight H Will be held until released by operator L Execute within 15 min of submission T Requires Tape Processing Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT JOB PARAMETERS Keyword Parameters MSGCLASS EX: //ER5077J JOB ,,MSGCLASS=A • MSGCLASS specifies the job scheduler message output class. • Job scheduler messages include all messages not printed by the job steps being executed but the JCL messages and system messages • Installation establishes a default class that is in effect if MSGCLASS is omitted. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT JOB PARAMETERS Keyword Parameters MSGLEVEL EX: //ER5077J JOB ,,MSGLEVEL=(1,1) • MSGLEVEL(statements,messages) specifies the printing of JCL statements and allocation messages. • EX: MSGLEVEL(0,1) will print only JOB statement, and all the allocation, JES, SMS and operator messages • By default it is MSGLEVEL(1,1) Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT JOB PARAMETERS Keyword Parameters NOTIFY //ER5077J JOB ,,NOTIFY=&SYSUID //ER5077J JOB ,,NOTIFY=ER5077 • Requests the system sends a message to the TSO user id specified when the job completes processing Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT JOB PARAMETERS Keyword Parameters TYPRUN EX: //ER5077J JOB ,,TYPRUN=SCAN • TYPRUN checks the JCL and holds the job in the input queue. • TYPRUN = SCAN checks the JCL for syntax errors and suppresses execution of the job • TYPRUN = HOLD holds the JCL in the input queue for later execution.It is held until the operator releases it. • TYPRUN = JCLHOLD(JES2 only) similar to HOLD but the difference is it is checked while it is not with the HOLD option. • TYPRUN = COPY(JES2 only) lists or duplicates the lines placed in the JOB statement to the class assigned in the MSGCLASS parameter and suppresses execution. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 SOME OTHER Keyword JOB PARAMETERS PRTY=Priority : is related to the CLASS parameter. It assigns priority to jobs which belong to the same class.priority numbers range from (0-14) or (0-15) depending on installations. TIME=(min,sec) : signifies how much CPU time the JOB can take to run. RESTART=STEPNAME :Forces the JOB execution to start from a particular STEP. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 SOME OTHER keyword JOB PARAMETERS • ADDRSPC=REAL : It is used to specify whether the program is to use REAL or VIRTual ADDRess SPaCe. Default is Virtual. If Real is coded then the REGION parameter is also to be coded. • REGION=96K :To override the default amount of workspace assigned for the job. • COND=(4,LT) :Permits the execution of a steps to depend on the return code from the previous steps. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 EXEC STATEMENTS PGM COND PROC PARM ACCT REGION ADDRSPC TIME PERFORM Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT EXEC PARAMETERS positional parameters PGM & PROC EX: //STEP1 EXEC PGM=IEFBR14 EX: //STEP1 EXEC PROC=MYPROC The PGM parameter identifies the name of the program that is to be executed. The PROC parameter identifies the name of the procedure that is to be called. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT EXEC PARAMETERS keyword parameters PARM EX: //STEP1 EXEC PGM=IEBUPDT,PARM=‘LET,MAP,XREF’ The PARM parameter is used to supply information to a program as it executes. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT EXEC PARAMETERS keyword parameters ADDRSPC EX: //STEP1 EXEC PGM=IEBUPDT,ADDRSPC=VIRT The ADDRSPC parameter is to indicate to the system that the job step is to use either VIRT (virtual) or REAL (real) storage. By default it is virtual. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANT EXEC PARAMETERS keyword parameters COND EX: //STEP3 EXEC PGM=IEBUPDT,COND=(8,LE,STEP1) • The COND Permits the execution of steps to depend on the return code from the previous steps. • The question should be is 8 less than the RC code of STEP1. If Yes then Bypass STEP3 If No Execute STEP3 • The COND parameter is also a JOB parameter. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 COND parameter in detail Format : Only code in the exec statement not in job statement COND=( 0/4/6/8/12/16 , GT/GE/LT/LE/EQ/NE , step name , EVEN/ONLY ) RC comparison Condition code (0 - 4095) EVEN : step will be executed even if previous steps terminate abnormally ONLY : step will be executed only if previous steps terminate abnormally. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 COND parameter examples (in JOB statement) //ER5077J JOB ,,COND=(4,LT) //STEP1 EXEC PGM=IEFBR14 //STEP2 EXEC PGM=IFBR14 //STEP3 EXEC PGM=IEFBR14 • STEP1 executes with RC = 0 • STEP2 executes with RC *S806 that is it is greater than 4 • Job terminates Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 COND parameter examples (in EXEC statement) //ER5077J JOB ,,CLASS=A //STEP1 EXEC PGM=IEFBR14 //STEP2 EXEC PGM=IEFBR14,COND=(0,EQ,STEP1) • STEP1 executes with RC = 0 • STEP2 does not execute Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 COND parameter examples (in EXEC statement) // ER5077J JOB ,,CLASS=A //STEP1 EXEC PGM=IEFBR14 //STEP2 EXEC PGM=IEFBR14,COND=ONLY • STEP1 executes with RC = 0 • STEP2 does not execute //ER5077J JOB ,,CLASS=A //STEP1 EXEC PGM=IFBR14 //STEP2 EXEC PGM=IEFBR14 //STEP3 EXEC PGM=IEFBR14,COND=ONLY • STEP1 abends with RC = *S806 • STEP2 does not execute ( if a single step abends all other steps are bypassed if no COND statement is there ) • STEP3 executes with RC = 0 Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 COND parameter examples (in EXEC statement) //ER5077J JOB ,,CLASS=A //STEP1 EXEC PGM=IEFBR14 //STEP2 EXEC PGM=IEFBR14,COND=EVEN • STEP1 executes with RC = 0 • STEP2 executes with RC = 0 //ER5077J JOB ,,CLASS=A //STEP1 EXEC PGM=IFBR14 //STEP2 EXEC PGM=IEFBR14 //STEP3 EXEC PGM=IEFBR14,COND=EVEN • STEP1 abends with RC = *S806 • STEP2 does not execute ( if a single step abends all other steps are bypassed if no COND statement is there ) • STEP3 executes with RC = 0 Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IMPORTANTEXECPARAMETERS keyword parameters (IF/THEN/ELSE/ENDIF) EX: // IF STEPA.RC GE 4 THEN //jcl statements // ELSE //jcl statements // ENDIF • The IF/THEN/ELSE/ENDIF statement construct provides a simple means of selectively executing job steps. • It is available in Release 4 or later , of MVS/ESA and eliminates the need to struggle with the COND parameter. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 IF/THEN/ELSE/ENDIF parameter examples //ER5077A JOB 2933100P,ABC,MSGCLASS=A,CLASS=A //STEP1 EXEC PGM=IEFBR14 // IF STEP1.RC GT 0 THEN //STEP3 EXEC PGM=IEFBR14 //DD1 DD DSN=ER5077.TRUE.PS,DISP=(NEW,CATLG), // VOL=SER=INUSR2, // SPACE=(TRK,(1,1)), // DCB=(LRECL=80,BLKSIZE=800,RECFM=FB) // ELSE //STEP4 EXEC PGM=IEFBR14 //DD2 DD DSN=ER5077.FALSE.PS,DISP=(NEW,CATLG), // VOL=SER=INUSR2, // SPACE=(TRK,(1,1)), // DCB=(LRECL=80,BLKSIZE=800,RECFM=FB) STEPNAME PROCSTEP RC // ENDIF STEP1 00 /* STEP3 FLUSH STEP4 00 Copyright © 2005, ER/CORP/CRS/OS02/003 ‹#› Infosys Technologies Ltd Version No: 1.0 COMMON keyword PARAMETERS in JOB & EXEC TIME REGION PERFORM COND ADDRSPC ACCT Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 JOB ENTRY SUBSYSTEM JES2 / JES3 JES2 or JES3 statements can be included to communicate with JES concerning... • INPUT • OUTPUT • PROCESSING Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 JES2 Control Statements $COMMAND JOBPARAM MESSAGE NETACCT NOTIFY OUTPUT PRIORITY ROUTE SETUP SIGNOFF SIGNON XEQ XMIT Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 JES2 Control Statements NOTIFY - direct job’s notification messages to a user. PRIORITY or PRTY -Assign a selection priority for your job. Within a job class, a job with a higher priority is selected for execution sooner. • JES2 Control statements are preceded with /* in col1 & col2. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Errors •JCL syntax errors. JOB will not be submitted • JCL allocation errors. JES2-subsequent steps will not get executed. JES3-detects errors in the beginning. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Abend Failures An ABEND failure occurs under the following conditions: A program while executing, attempts to perform an instruction or operation which the system recognizes as being impossible or unacceptable. Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Causes of Abend Failures Logic error Resource unavailability Exceeding limits (Time or Space on DASD) Hardware Malfunction User ABENDS Operator intervention Operating System failure Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0 Thank You! Copyright © 2005, ‹#› Infosys Technologies Ltd ER/CORP/CRS/OS02/003 Version No: 1.0