JOB Card Keyword Parameters
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).
Example - Let us assume CLASS=A represents shortest job and CLASS=Z represents longest job. And also assume that the below jobs are using same files for processing.
JOB1 -
JOB2 -
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).
Example - MSGCLASS parameter with value "C"(assigned to a printer in london).
The JOB statement sends to the Printer in London for printing the job log.
|
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.
execution-status - Specifies when to print the job related messages in the spool. It is optional and valid values are 0-1.
Example -
System prints all statements, its allocation and termination messages when JOB completed either normally or abnormally.
|
PRIORITY | PRTY parameter is used to assign a selection priority to jobs. 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.
Example -
JOB1 -
JOB2 -
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 | The 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 }
Example - The job can use the processor for 9 minutes and 30 seconds.
|
REGION | The 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}
Example - Allocate virtual memory for job processing.
|
NOTIFY | NOTIFY is used to notify the user about the job status (either successful or unsuccessful).
Syntax -
NOTIFY=&SYSUID|USERID
Example - Sending notification to the user who submits the job.
|
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]
Example - Restart from STEP02.
|
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)
Example - COND=(4,GE)
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.