JOB Card Keyword Parameters
All other parameters except positional parameters in the JOB statement are called keyword parameters. Information passed in keyword parameters used by the JES (Job Entry System).
Each keyword parameter is independent and not dependent on other parameters except some (USER, PASSWORD, GROUP, PRTY).
Some of the keyword parameters can code at the JOB, and EXEC statements.
Notes -
- All Keyword parameters are optional and can code in any order.
- Keyword parameters follow the positional parameter programmer name.
- A comma separates each keyword parameter (,).
- Keyword parameter information applies to all steps.
- The total keyword parameters are more than 20.
Frequently used Parameters -
CLASS
The CLASS parameter is used to classify the jobs. The classification is based on how much time they are running. i.e., SHORT RUN or LONG RUN jobs.
Syntax -
CLASS=class-character
- class-character - represents a single character value (A to Z, 0 to 9).
//MTHUSERC JOB (MTH1234),
// 'PAWAN Y',
// CLASS=B,
// NOTIFY=&SYSUID
//MTHUSERC JOB (MTH1234),
// 'PAWAN Y',
// CLASS=Z,
// NOTIFY=&SYSUID
What will happen if both jobs are submitted at the same time?
JOB1 starts executing first, and JOB2 will be on hold. Once JOB1 execution is completed, JOB2 starts execution.
MSGCLASS
MSGCLASS parameter is used to specify the output device to where the system and JCL messages are routed (written and printed).
Syntax -
MSGCLASS=msg-class-value
- msg-class-value - represents a single character, and it allows alphabets (A to Z) and numbers (0 to 9).
//MTHEXMP1 JOB (MTH007),
// 'PAWAN Y',
// MSGCLASS=C,
// NOTIFY=&SYSUID
MSGLEVEL
MSGLEVEL parameter controls the printing of job messages in the output listing or job log (i.e., in the SPOOL by default).
Syntax -
MSGLEVEL=([statements][,execution-status])
- statements - Specifies what JCL statements/messages to print in the output listing. It is optional and valid values from 0 to 2.
- 0 - Only JOB Statements.
- 1 - All Statements.
- 2 - Only JCL statements.
- execution-status - Specifies when to print the job related messages in the spool. It is optional and valid values are 0-1.
- 0 - Print allocation and termination messages only when JOB ended abnormally.
- 1 - Print allocation and termination when JOB ended either normally or abnormally
//MTHEXMP1 JOB (MTH123),
// 'PAWAN Y',
// MSGLEVEL=(1,1)
PRIORITY
PRTY parameter is used to assign a selection priority to jobs within the same class. JES system uses the PRTY value to decide the execution sequence of the jobs when they have same CLASS value.
Syntax -
PRTY=priority-number
- priority-number - Specifies the priority number value ranges from 0-15 in JES2 and 0-14 in JES3. Higher number will have the higher priority during the execution.
//MTHEXMP1 JOB (META007),
// 'PAWAN Y',
// CLASS=A,
// PRTY=9
//MTHEXMP2 JOB (META007),
// 'PAWAN Y',
// CLASS=A,
// PRTY=11
What will happen if both jobs are submitted at the same time?
JOB-B has the highest priority (11) within CLASS 'A'. JOB-B starts executing before JOB-A even though JOB-A and B are submitted at the same time.
TIME
TIME parameter is used to specify the maximum CPU utilization time allowed for the job to execute. The system will automatically cancel the job execution if the execution time exceeds the specified time.
Syntax -
TIME={([minutes][,seconds])}
{1440 }
{NOLIMIT }
{MAXIMUM }
- minutes - value should be from 0 through 357912 (248.55 days).
- Seconds - value should be between 0 to 59 seconds.
- NOLIMIT - Specifies that the job can use the processor for an unlimited time.
- 1440 - Specifies that the job can use the processor for 24 hours.
- MAXIMUM - JOB can use the processor for 248.55 days (357912 minutes).
//MTHEXMP2 JOB (META007),
// 'PAWAN Y',
// TIME=(9,30)
REGION
REGION parameter is used to specify the amount of central or virtual memory required to execute the job. The system applies the REGION parameter value to each step of the job.
Syntax -
REGION={ValueK/ValueM}
- ValueK - ValueK is used to specify the storage in Kilobytes. The value is the 7-digit value from 1 through 2096128KB (2047 MB or 2 GB).
- ValueM - ValueM is used to specify the storage in Megabytes. The value is the 4-digit value from 1 through 2047 MB (2 GB).
//MTHEXMP1 JOB (META007),
// 'PAWAN Y',
// REGION=100K
NOTIFY
NOTIFY is used to notify the user about the job status (either successful or unsuccessful).
Syntax -
NOTIFY=&SYSUID|USERID
- &SYSUID - The system identifies the userid who submits the job and sends the notification.
- USERID - Specifies the TSO userid to notify.
//MTHEXMP2 JOB (MTH007),
// 'PAWAN Y',
// NOTIFY=&SYSUID
RESTART
RESTART is used to restart the job execution from a specific step (at which step the job failed). The step can be a job step, a procedure step, or a checkpoint.
Syntax -
RESTART=stepname[.procname]
- Stepname - Specifies the step name where the execution should start.
- Procname - Specifies the PROC name in which procedure the RESTART step is coded.
//MTHEXMP1 JOB (MTH123),
// 'PAWAN Y',
// RESTART=STEP02
//STEP01 EXEC PGM=PROGA
//STEP02 EXEC PGM=PROGB
//STEP03 EXEC PGM=PROGC
//STEP04 EXEC PGM=PROGD
COND
The COND parameter is used to specify conditional processing within a JCL. It helps to validate the return code to determine whether a job will continue processing or not. The job processing will continue when the condition is false and terminates when the condition is true.
Syntax -
COND=(return-code/RC,operator/RO)
- RC/Return-code - RC is the Return Code of the precious step. The valid RC values are from 0 to 4095.
- RO/Operator - RO is the Relational Operator used to validate the return code. The valid Relational Operator are - GT, GE, EQ, LT, LE, NE.
//MTHEXMP1 JOB (META007),
// 'PAWAN Y',
// COND=(4,GE),
// NOTIFY=&SYSUID
//S1 EXEC PGM=P1
//S2 EXEC PGM=P2
//S3 EXEC PGM=P3
//S4 EXEC PGM=P4
Each step should complete its execution with the return code 0 to complete the job successfully. If any step return code is greater than 0, then the job execution terminates from there.
Rarely used Parameters -
ADDRSPC | ADDRSPC parameter is used to specify the type of storage (virtual or central) needed by the system to process the job. |
SCHENV | SCHENV parameter specifies the WLM (Work Load Manager) scheduling environment that is associated with the current job when submitted. |
TYPERUN | TYPRUN is used to request special job processing like scanning jobs for syntax errors, library errors, etc. |
BYTES | BYTES parameter is used to specify the maximum amount of output to be printed on SYSOUT datasets in terms of bytes. |
JESLOG | The JESLOG parameter is used to specify whether the JESLOG (JESMSGLG and JESYSMSG) files are spin-eligible or not. |
JOBRC | JOBRC means the JOB Return Code. The JOBRC parameter is used to control how the job return code is set. |
LINES | LINES parameter is used to specify the maximum output lines to be printed on SYSOUT datasets. |
PAGES | The PAGES parameter is used to specify the maximum output pages to be printed on SYSOUT datasets. |
RD | RD stands for restart definition. RD parameter used to -
|
SECLABEL | SECLABLE represents the security level and security categories defined by RACF. |
MEMLIMIT | The MEMLIMIT parameter is used to specify the virtual memory limit (above the default limit) that a job can use from the total virtual memory space. |
SYSTEM | SYSTEM is used to specify the eligible systems to process the job. |
USER | The USER parameter is used to identify who submits (userid) the job. |
PASSWORD | The PASSWORD parameter is used to identify the current RACF password. |
GROUP | The GROUP parameter is used to specify the userID connecting the RACF-defined group. |
SYSAFF | SYSAFF is used to specify the JES2 members and JES3 systems that are eligible to process the job. |
UJOBCORR | UJOBCORR is used to specify the user portion of the job correlator. |
DSENQSHR | DSENQSHR parameter specifies how the system treats the file disposition changes between the job steps. |
Outdated Parameters -
Cards or Tapes are not used nowadays, and we can ignore the parameters related to them. Below are the list of those parameters with brief information -
CARDS | Used to specify the maximum amount of output (in thousands of bytes) to be printed on cards, almost having the same functionality as BYTES. |
CCSID | Supports data conversion on access to ISO/ANSI Version 4 tapes using access methods BSAM or QSAM. |
Example -
Scenario - Simple JCL to explain different JCL statements.