Jcl Slides Day1
-
Upload
api-3838727 -
Category
Documents
-
view
150 -
download
17
Transcript of Jcl Slides Day1
Introduction
JOB CONTROL LANGUAGE
AGENDA FOR DAY 1
JCL Introduction
JOB Statement
JOB Parameters ( Positional and Keyword )
What is JCL ?.
Question
What is JCL ?.
JCL stands for JOB CONTROL LANGUAGE
Provides a Mechanism to communicate the requirements to execute a program, to the MVS operating system.
JCL consists of statements that provide specifications to execute a JOB
JOB CONTROL LANGUAGE (JCL)
JCL is a language which allows users to communicate with the operating system
JCL step tells the operating system
– Name, location of the application program to be processed
– Name and location of the data files needed by the application program
– Hardware devices needed by the application program
to achieve its function
Why we need JCL ?.
Question
Why we Need JCL ?.
Job control language will identify all the resources needed by the program to the MVS Operating system.
You need to have JCL , If you want to run your program in batch mode in a mainframe environment.
Control serious of JOB executed in Mainframe Environment
How JCL Works ?.
Question
HOW JCL WORKS ?.
Every JCL coded has to be run; In Mainframe terminology, it is
called submitting the JCL; henceforth known as submitting the JOB
There is a subsystem in MVS called JES (short for Job Entry
Subsystem) that manages JOBS submitted to the system by users
JES
Receives JOBS
Schedules JOBS based on their priority
Allocates resources to JOBS as they execute
Processes output generated by JOBS
JES RESP
Structure of JCL
Overview
JOB CONTROL LANGUAGE
JOB STMNT
EXEC STMT
DD STATEMENT
STRUCTURE OF JCL
oVERVIEW
General Format of JCL Statement
JCL Statements are coded as 80 bytes records and are categorized into following fields:
IDENTIFIER Field
NAME Field
OPERATION Field
PARAMETER Field
COMMENT Field
Basic Format for JCL Statement
//P390B21R JOB 3612,’RAJESH’,NOTIFY=P390B21//POST EXEC PGM=CM3000//CUSTRAN DD DSN=P390B21.CUSTOMER.TRANS,DSP=SHR//CUSTRAN DD DSN=P390B21.CUSTOMER.TRANS,DSP=SHR//ERRLST DD SYSOUT=*
Identifier
Name Field
Operation Field
Parameter Field
Question and Answers
Overview
JOB STATEMENT
Overview
What is JOB STATEMENT ?.
Question
CODING RULES FOR JOB STATEMENT
Overview
Coding Rules for of Job Statement
Example: Coding Rules for of Job Statement
Coding Rules for of Job Statement for Operation Field
Coding Rules for of Job Statement
JCL Field Definition Rules
PARAMETER fields follow OPERATION field and separated by commas
COMMENT field
Follows parameter field and can contain any details
Must be preceded by one blank
Can be entered in all lines
Coding Rule for Parameter Field
Coding Rules for Parameter Field
Parameter Fields
Parameter fields are of two types – Positional and Keyword Parameters
Positional Parameters
Should be coded in a specific sequence
Separated by commas
Omitted parameters indicated by a comma to indicate the positional nature
Keyword Parameters
No specific sequence and can be coded in any order
Format is parm=<value>
Separated by commas
Follow positional parameters
Can be omitted altogether if required
Position and Keyword Parameters
Coding Rules for Positional Parameter
Coding Rules for Keyword Parameter(1)
Coding Rules for Comment field
Coding Rules for Comment Field
JOB statement identifies the JOB to the system
JOB Statement consists of
JOBNAME
JOB operator
Positional Parameters
Accounting Info
Programmer NAME
Keyword Parameters
MSGCLASS
CLASS
MSGLEVEL
NOTIFY
REGION
TIME
PRTY
COND
RESTART
TYPRUN
JOB STATEMENT
JOB NAME
Starts in column 3
following the identifier
field
Should be between 1 to
8 characters
First character should be
Alphabetic and not a
Number
Should be followed by a
space
JOB Operator
Preceded and succeeded by a blank space
Positional Parameters
JOB statement consists of two positional parameters
Job Accounting Information
Programmer name
Accounting Information
Identifies the Account number to the system to track the CPU time used by the JOB
Has two positional sub parameters – Account number and Additional Accounting info
Format is (<account-number>, <additional-accounting-info>)
Format is installation dependent
Within accounting info, If only <account-number> is
specified, then parantheses can be omitted
If only <additional-accounting-info> is specified, then the absence of <account-number> is specified by a comma to indicate the positional nature of the sub parameters
JCL
MVS
JES
CPU
ACCOUNT
ACCT#, CPU Time
BILL
Account 1
Account 2
Accounting Information - Examples
KEYWORD PARAMETERS
Overview
Keyword Parameters
Keyword parameters follow positional parameters and can be in any order
Some of the keyword parameters used in the JOB statement are
CLASS
NOTIFY
PRTY
REGION
TIME
TYPRUN
MSGCLASS
MSGLEVEL
COND
RESTART
CLASS PARAMETER
Is an optional keyword parameter
Specifies the type of JOB submitted to the system
Some JOBS are CPU intensive, while others are more Input-Output oriented; JOB characteristics like these are identified to the system by the CLASS parameter
Format is CLASS=<class> where <class> is a character between A to Z or 0 to 9
Installations will have a default class assigned to the CLASS parameter
Programmers to check with system administrator about list of classes defined in the system
CLASS A
CLASS B
CLASS Q
OS
JESCPU1
CPU 2
CPU 3
J1
J2
J3
SPOOL
J1 & J2 Processed
CLASS A & B
J3 Processed
CLASS Q
CLASS Parameter in JOB Statement
NOTIFY PARAMETER
Specifies the user to whom JOB is to be submitted after completion
Can specify the user ID or the parameter (&SYSUID)
PRTY PARAMETER
PRTY
Specifies priority for scheduling JOBS within a CLASS
Permitted value ranges from 0 to 14 or 0 to 15 depending on JES2
PRTY PARAMETER
MSGCLASS PARAMETER
Is an optional keyword parameter
Specifies the specific output device to which the messages are to be routed after completion of the JOB
Format is MSGCLASS=<classname> where <classname> is a character between A to Z or 0 to 9
Assigns JOB log to a particular sysout CLASS
Installations will have a default class assigned to the MSGCLASS parameter
Programmers to check with system administrator about list of message classes defined in the system
MSGLEVEL PARAMETER
Is an optional Keyword parameter
Controls the level of listing of the JCL output of the JOB
Formats available are
MSGLEVEL=(<statements>, <messages>)
MSGLEVEL=statements
MSGLEVEL=(, <messages>)
Permitted values for statements are
0 for listing only JOB statement
1 for listing all JCL statements including procedures
2 for listing only input statements
Permitted values for messages are
0 for not listing any allocation messages
1 for listing all allocation messages
Preferred option is MSGLEVEL=(1,1)
MSGLEVEL=(0,0)
MSGLEVEL=(0,0)
JESJCL: Shows only JOB
statement details
JESYSMSG: Shows no
allocation message
details; Shows only
Start and Stop times
JESJCL: Shows only JOB
statement details
JESYSMSG: Shows all allocation messages
MSGLEVEL=(0,1)
JESJCL: Shows all JCL
statements
JESYSMSG: Shows no
allocation message
details; Shows only
Start and Stop times
MSGLEVEL=(1,0)
MSGLEVEL=(1,1)
JESJCL: Shows all JCL statements
JESYSMSG: Shows all allocation message
MSGLEVEL=(2,0)
JESJCL: Shows all JCL statements without substitutions
JESYSMSG: Shows no allocation message details; Shows only Start and Stop times
MSGLEVEL=(2,1)
JESJCL: Shows all JCL statements without substitutions
JESYSMSG: Shows all allocation message
COND Parameter
Overview
COND PARAMETER
Specifies whether the JOB should continue or terminate depending on the outcome of any step in the JOB
Before each step is executed, the system checks the COND parameter against the return code from completed JOB step
If satisfied, the system terminates the JOB, else it executes the JOB
Format is COND=((code, operator), (code, operator)…)
Interpretation of Condition Codes
COND parameter check Return code from completed step
Terminate JOB Execute JOB
COND=(code,GT) RC < code RC > = code
COND=(code,GE) RC <= code RC > code
COND=(code,EQ) RC = code RC not = code
COND=(code,LT) RC > code RC < = code
COND=(code,LE) RC >= code RC < code
COND=(code,NE) RC not = code RC = code
In this visual, condition code set at JOB level is COND=(4,LT) which interprets that if the Return Code from any step is greater than 4, bypass the remaining steps in the JOB
Program
RTCODE04 if executed returns a RC of 4
RTCODE08 if executed returns a RC of 8
RTCODE16 if executed returns a RC of 16
In the executed JOB STEP3 is bypassed as the Return Code from STEP2 is 8 which is greater than 4
COND PARAMETER
Visual shows part of the
JOBLOG of JOB executed
with COND=(4,LT)
JOBLOB shows the JOB
terminated with STEP2
COND PARAMETER
In the visual, condition code set at JOB level is COND=(8,GE) which interprets that if the RC from any step is less than or equal to 8, bypass the remaining steps in the JOB
Program RTCODE16 in STEP1 if
executed, returns a RC of 16
RTCODE00 in STEP2 if executed, returns a RC of 0
RTCODE04 if executed returns a RC of 4
Result is STEP3 is bypassed as the RC from STEP2 is 0 which is less than 8
COND PARAMETER
Visual shows part of the
JOBLOG of JOB executed
with COND=(8,GE)
JOBLOG shows the JOB
terminated with STEP2
COND PARAMETER
REGION PARAMETER
Specifies the amount the workspace required by the operating system to execute the JOB
Value specified will apply to each step
Formats are:
REGION=<value>K
REGION=<value>M
REGION parameter should only be in units of “K” or “M” indicating Kilobytes or Megabytes of workspace requested; Results in JCL error if unit is not specified
If omitted, a default value is assigned by the system
If REGION=0M is specified, the system takes the most optimum space
Region
Region
Region
ADDRSPC PARAMETER
ADDRSPC Parameter
ADDRSPC SDSF Output
ADDRSPC SDSF Output
PAGES Parameter
TIME PARAMETER
Specifies the maximum CPU execution time permitted for the JOB
If actual CPU execution time exceeds value specified in the TIME parameter, JOB will fail with S322 abend
Formats are
TIME=(minutes, seconds)
TIME=minutes
TIME=(,seconds)
TIME=1440
TIME=NOLIMIT
Seconds can be in the range from 0 to fifty nine
TIME Parameter
TYPRUN PARAMETER
TYPRUN is used for special JOB processing
Formats are
TYPRUN=HOLD
TYPRUN=SCAN
TYPRUN=HOLD causes the JOB to be held in the input queue till released by an operator
TYPRUN=SCAN causes the JCL to be scanned for syntax errors and reports the errors. The JOB is not executed when this option is used
RESTART PARAMETER
Is an optional keyword parameter
Instructs the JOB to restart execution from a specific step, instead of from beginning of the JOB
Formats are
RESTART=<stepname>
RESTART=<stepname.procstepname>
END