In the jobstream you have
been coding, you still need to give the computer system some instructions about
your job and about the input and output data for your processing task. You do
this by assigning the appropriate values or choices in JOB,
EXEC and DD statement parameters.
In this unit, you will learn about the JOB statement parameters and add the necessary parameters to the jobstream that you are building.
After completing this unit, you should be able to:
//jobname JOB accounting information,programmer's name,keyword parameters
Here's a brief description of the JOB statement shown above.
*The Positional Parameters
For any job, you usually need to specify the job accounting information and programmer's name. However, they are optional and can vary with each installation.
The accounting information and programmer's name are positional parameters that identify the job submitter.
Positional parameters must be coded in the proper location to be recognized. Only their value is coded on the statement.
Let's look at these parameters and then code them on the JOB statement for your run.
*Accounting Information
//jobname JOB ,programmer's name,keyword parameters
(<account number><,accounting information>...)
The accounting information parameter is used to charge the submitter or submitter's department for the resources that the job used. Your installation defines the acceptable values.
*Some Examples
//jobname JOB ,programmer's name,keyword parameters
(<account number><,accounting information>...)
Here are some examples of JOB statements with valid accounting information parameters.
This JOB statement contains both accounting parameters, so you need to enclose the parameters in parentheses.
//JOBX JOB (27-566,SYSTEMS)
This JOB statement contains the account number only, so no parentheses are needed.
//JOBX JOB B175
*The Programmer's Name
//jobname JOB accounting information,,keyword parameters
The programmer's name parameter identifies the job submitter.
This parameter is usually the name of the person who submitted the job, although it may be a group or department code.
*Rules
//jobname JOB accounting information,,keyword parameters
Let's look at rules and examples for coding the programmer's name.
The rest of the JOB statement contains keyword parameters.
Remember that these parameters can occur in any sequence as long as they follow the positional parameters.
These parameters are identified by their keyword. The desired value follows the equals sign.
*The CLASS Parameter
CLASS=jobclass
CLASS designates the class that the job will execute in. Most installations assign a default job class if the CLASS parameter is omitted. The possibilities for job class are a one position code from A-Z or 0-9.
CLASS=0
CLASS=X
When your job is submitted, it is placed in an input queue where it waits to be executed. Queues can be thought of as waiting lines for jobs. Each job class has its own input queue.
*The TIME Parameter
TIME=(<minutes><,seconds>)
TIME indicates the total amount of CPU time a job may use. It is much shorter than the clock time.
TIME=10 (10 minutes)
TIME=(,30) (30 seconds)
To specify the time, you'll need to develop a sense of job processing time requirements from experience. You can also refer to the standards and guidelines at your installation that deal with specifying CPU time.
*Details of TIME
TIME=(<minutes><,seconds>)
If the job exceeds the CPU time limit, it is generally terminated. If it takes less CPU time than specified, it merely runs to completion.
You may also code the TIME parameter on the EXEC statement. In that case, the time limit applies to a job step.
If no TIME parameter is specified, the default established at your installation is in effect.
Often the CLASS and TIME parameters are associated. For example short jobs are automatically placed in one CLASS, tape jobs in another, and so on.
//STEP1 EXEC
//SYSUT1 DD
//SYSUT2 DD
//SYSPRINT DD
//SYSIN DD
//
*Completed JOB Statement
Your JOB statement does not need any other parameters for this run.
Before we move on, let's briefly review a few other important parameters for the JOB statement.
*The MSGCLASS Parameter
MSGCLASS=output-class
The MSGCLASS parameter assigns the system's job log — a record of information about your job — to an output-class. Messages relating to your job are routed to the designated output-class. The possibilities for output-class are a one-position code from A-Z or 0-9.
MSGCLASS=A
MSGCLASS=9
This parameter also has a default value if not coded. Your installation may modify this to any valid class. The system supplied default is MSGCLASS=A.
*The MSGLEVEL Parameter
MSGLEVEL=(<statements><,messages>)
The MSGLEVEL parameter is used to control the amount and type of job control statements and system messages that print. You'll see some applications for this parameter in the review of JCL output in a later course.
MSGLEVEL=(0,0) print the JOB statement only, print no allocation/termination messages
MSGLEVEL=(1,1) print all JCL statements, print all allocation/termination messages
As with most of the JOB parameters, the default values are defined by your installation.
MSGLEVEL Values
The MSGLEVEL subparameters may have the following values:
*The NOTIFY Parameter
NOTIFY=userid
The NOTIFY parameter tells the system to send a message to your TSO userid or another TSO userid when the job is completed. The userid must be a valid TSO userid.
NOTIFY=RSMITH NOTIFY=DEPT18
If you are not logged on when the message is sent, the system saves the message until you do log on.
*The TYPRUN Parameter
TYPRUN=run-option
The TYPRUN parameter controls special processing for the job. Three of the run options you can control with the TYPRUN parameter are
*The JOB Is Critical
Since your JOB statement identifies the job to the operating system, it is very critical. Each parameter must be coded properly.
If the JOB statement is coded incorrectly the rest of the JCL statements are not processed and the job is flushed.
Term: A job that is flushed is immediately purged from the system.
*Additional Parameters
You've looked at the parameters that you are most likely to use on the JOB statement. However, there are others, and you may wish to know something about one or more of them.
ADDRSPC can be set to VIRT for jobs that can run in virtual storage. These jobs can be paged by the system. If you do not want the system to page a job, set ADDRSPC to REAL. The system must place the job in central or real storage. Refer to your IBM manuals for information on job paging.
COND specifies the criteria that the return code is tested against for each job step. The system assumes that each step coded is to be processed unless the specified criteria are met. Since this parameter is hard to understand, you can use the IF/THEN/ELSE construct instead.
PERFORM sets a job's performance group. This determines a job's performance criteria — how quickly it is given CPU resources. Your installation defines the characteristics of each performance group and controls their use.
PRTY assigns a selection priority to a job. Jobs are selected within each class by priority. The higher a job's priority, the sooner it gets selected. The use of this parameter is usually controlled.
RD indicates if automatic job restart is to be performed by the operator for applications with checkpointing if the job fails. It also controls the execution or suppression of the CHKPT macro instruction and the DD statement CHKPT parameter.
REGION specifies the maximum amount of virtual storage in either kilobytes (K) or megabytes (M) that a job requires. If this parameter is omitted, an installation default is assigned.
RESTART indicates that a job is to be restarted at a job step, a procedure step, or a checkpoint within a job step.
GROUP associates a user with a RACF group.
PASSWORD specifies and changes (optional) the current RACF password.
SECLABEL specifies the security level for your job. The value of this parameter is a security label name that determines your security level.
USER specifies the RACF userid.
BYTES specifies the maximum amount of output the job's SYSOUT data sets may print and the action the system takes if the amount is exceeded. The amount is specified in thousands of bytes.
CARDS specifies the maximum amount of punched card output for a job's SYSOUT data sets and the action the system takes if the amount is exceeded. The amount is specified in number of cards.
LINES specifies the maximum amount of output the job's SYSOUT data sets may print and the action the system takes if the amount is exceeded. The amount is specified in thousands of lines.
PAGES specifies the maximum amount of output the job's SYSOUT data sets may print and the action the system takes if the amount is exceeded. The amount is specified in number of pages.
In this unit, you will learn about the JOB statement parameters and add the necessary parameters to the jobstream that you are building.
After completing this unit, you should be able to:
- Identify parameters commonly used in the JOB statement
- Add positional parameters to the JOB statement
- Code keyword parameters for the JOB statement
Topic 5.1: The JOB Statement
*Reviewing the Statement//jobname JOB accounting information,programmer's name,keyword parameters
Here's a brief description of the JOB statement shown above.
Portion | Description |
---|---|
jobname | A unique name to identify your job to the operating system |
JOB | The type of statement |
accounting information | Account number and other accounting information |
programmer's name | Name of the person or group submitting the job |
keyword parameters | Other parameters such as the job class and the maximum run time |
*The Positional Parameters
For any job, you usually need to specify the job accounting information and programmer's name. However, they are optional and can vary with each installation.
The accounting information and programmer's name are positional parameters that identify the job submitter.
Positional parameters must be coded in the proper location to be recognized. Only their value is coded on the statement.
Let's look at these parameters and then code them on the JOB statement for your run.
*Accounting Information
//jobname JOB ,programmer's name,keyword parameters
(<account number><,accounting information>...)
The accounting information parameter is used to charge the submitter or submitter's department for the resources that the job used. Your installation defines the acceptable values.
- account number ties the resources used to the appropriate account.
- Additional accounting information is optional, but may be required by your installation.
*Some Examples
//jobname JOB ,programmer's name,keyword parameters
(<account number><,accounting information>...)
Here are some examples of JOB statements with valid accounting information parameters.
This JOB statement contains both accounting parameters, so you need to enclose the parameters in parentheses.
//JOBX JOB (27-566,SYSTEMS)
This JOB statement contains the account number only, so no parentheses are needed.
//JOBX JOB B175
*The Programmer's Name
//jobname JOB accounting information,,keyword parameters
The programmer's name parameter identifies the job submitter.
This parameter is usually the name of the person who submitted the job, although it may be a group or department code.
*Rules
//jobname JOB accounting information,,keyword parameters
Let's look at rules and examples for coding the programmer's name.
- If coded, the name must follow the accounting information
parameter and precede all keyword parameters.
//PRINTIT JOB 0103467,SMITH,TIME=1 - If the parameter is omitted, you don't have to code a placeholding
comma.
//PRINTIT JOB 0103467,TIME=1 - The programmer's name must be 20 characters or less. If special characters
(except periods and hyphens) are included, the name must be enclosed in
apostrophes.
//UPDATE JOB (D100,HR),L.SMITH
//UPDATE JOB (D100,HR),'DEPT/7'
Topic 5.2: Keyword Parameters
*Keywords with =The rest of the JOB statement contains keyword parameters.
Remember that these parameters can occur in any sequence as long as they follow the positional parameters.
These parameters are identified by their keyword. The desired value follows the equals sign.
*The CLASS Parameter
CLASS=jobclass
CLASS designates the class that the job will execute in. Most installations assign a default job class if the CLASS parameter is omitted. The possibilities for job class are a one position code from A-Z or 0-9.
CLASS=0
CLASS=X
When your job is submitted, it is placed in an input queue where it waits to be executed. Queues can be thought of as waiting lines for jobs. Each job class has its own input queue.
*The TIME Parameter
TIME=(<minutes><,seconds>)
TIME indicates the total amount of CPU time a job may use. It is much shorter than the clock time.
TIME=10 (10 minutes)
TIME=(,30) (30 seconds)
To specify the time, you'll need to develop a sense of job processing time requirements from experience. You can also refer to the standards and guidelines at your installation that deal with specifying CPU time.
*Details of TIME
TIME=(<minutes><,seconds>)
If the job exceeds the CPU time limit, it is generally terminated. If it takes less CPU time than specified, it merely runs to completion.
You may also code the TIME parameter on the EXEC statement. In that case, the time limit applies to a job step.
If no TIME parameter is specified, the default established at your installation is in effect.
Often the CLASS and TIME parameters are associated. For example short jobs are automatically placed in one CLASS, tape jobs in another, and so on.
//STEP1 EXEC
//SYSUT1 DD
//SYSUT2 DD
//SYSPRINT DD
//SYSIN DD
//
*Completed JOB Statement
Your JOB statement does not need any other parameters for this run.
Before we move on, let's briefly review a few other important parameters for the JOB statement.
*The MSGCLASS Parameter
MSGCLASS=output-class
The MSGCLASS parameter assigns the system's job log — a record of information about your job — to an output-class. Messages relating to your job are routed to the designated output-class. The possibilities for output-class are a one-position code from A-Z or 0-9.
MSGCLASS=A
MSGCLASS=9
This parameter also has a default value if not coded. Your installation may modify this to any valid class. The system supplied default is MSGCLASS=A.
*The MSGLEVEL Parameter
MSGLEVEL=(<statements><,messages>)
The MSGLEVEL parameter is used to control the amount and type of job control statements and system messages that print. You'll see some applications for this parameter in the review of JCL output in a later course.
MSGLEVEL=(0,0) print the JOB statement only, print no allocation/termination messages
MSGLEVEL=(1,1) print all JCL statements, print all allocation/termination messages
As with most of the JOB parameters, the default values are defined by your installation.
MSGLEVEL Values
The MSGLEVEL subparameters may have the following values:
Value | Definition | |
---|---|---|
statements | 0 1 2 |
Print the JOB statement only. Print all JCL statements. - instream - expanded cataloged procedures - symbolic parameter substitutions Print instream JCL statements only. |
messages | 0 1 |
Print no allocation/termination messages unless the job abnormally ends. Print all allocation/termination messages. |
*The NOTIFY Parameter
NOTIFY=userid
The NOTIFY parameter tells the system to send a message to your TSO userid or another TSO userid when the job is completed. The userid must be a valid TSO userid.
NOTIFY=RSMITH NOTIFY=DEPT18
If you are not logged on when the message is sent, the system saves the message until you do log on.
*The TYPRUN Parameter
TYPRUN=run-option
The TYPRUN parameter controls special processing for the job. Three of the run options you can control with the TYPRUN parameter are
- SCAN the JCL for syntax errors only. Do not run the job. Note that JES2 is covered later in this JCL series.
- COPY the JCL to print (JES2 only). Do not run the job. Note that JES2 is covered later in this JCL series.
- HOLD the job until the operator releases it. Then run the job.
*The JOB Is Critical
Since your JOB statement identifies the job to the operating system, it is very critical. Each parameter must be coded properly.
If the JOB statement is coded incorrectly the rest of the JCL statements are not processed and the job is flushed.
Term: A job that is flushed is immediately purged from the system.
*Additional Parameters
You've looked at the parameters that you are most likely to use on the JOB statement. However, there are others, and you may wish to know something about one or more of them.
Parameter | Description |
---|---|
ADDRSPC | Indicates if a job is pageable or nonpageable |
COND | Sets the criteria for execution for job steps |
PERFORM | Assigns a performance group to a job |
PRTY | Designates a job's selection priority |
RD | Defines restart and checkpoint processing |
REGION | Specifies the amount of storage the job needs |
RESTART | Indicates job restart method |
GROUP | Associates a user with a RACF group |
PASSWORD | Specifies/changes the current RACF password |
SECLABEL | Specifies the job's RACF security level |
USER | Specifies the RACF userid |
BYTES | States the job's maximum amount of printed output & action |
CARDS | States the job's maximum for punched card output & action |
LINES | States the job's maximum amount of printed output & action |
PAGES | States the job's maximum amount of printed output & action |
ADDRSPC can be set to VIRT for jobs that can run in virtual storage. These jobs can be paged by the system. If you do not want the system to page a job, set ADDRSPC to REAL. The system must place the job in central or real storage. Refer to your IBM manuals for information on job paging.
COND specifies the criteria that the return code is tested against for each job step. The system assumes that each step coded is to be processed unless the specified criteria are met. Since this parameter is hard to understand, you can use the IF/THEN/ELSE construct instead.
PERFORM sets a job's performance group. This determines a job's performance criteria — how quickly it is given CPU resources. Your installation defines the characteristics of each performance group and controls their use.
PRTY assigns a selection priority to a job. Jobs are selected within each class by priority. The higher a job's priority, the sooner it gets selected. The use of this parameter is usually controlled.
RD indicates if automatic job restart is to be performed by the operator for applications with checkpointing if the job fails. It also controls the execution or suppression of the CHKPT macro instruction and the DD statement CHKPT parameter.
REGION specifies the maximum amount of virtual storage in either kilobytes (K) or megabytes (M) that a job requires. If this parameter is omitted, an installation default is assigned.
RESTART indicates that a job is to be restarted at a job step, a procedure step, or a checkpoint within a job step.
GROUP associates a user with a RACF group.
PASSWORD specifies and changes (optional) the current RACF password.
SECLABEL specifies the security level for your job. The value of this parameter is a security label name that determines your security level.
USER specifies the RACF userid.
BYTES specifies the maximum amount of output the job's SYSOUT data sets may print and the action the system takes if the amount is exceeded. The amount is specified in thousands of bytes.
CARDS specifies the maximum amount of punched card output for a job's SYSOUT data sets and the action the system takes if the amount is exceeded. The amount is specified in number of cards.
LINES specifies the maximum amount of output the job's SYSOUT data sets may print and the action the system takes if the amount is exceeded. The amount is specified in thousands of lines.
PAGES specifies the maximum amount of output the job's SYSOUT data sets may print and the action the system takes if the amount is exceeded. The amount is specified in number of pages.
Topic 5.3: Unit 5 Summary
In this unit you learned the following:- The format of the JOB statement
is
//jobname JOB accounting information,programmer's name,keyword parameters
- The accounting information parameter is used to charge the
submitter or submitter's department for the resources that the job used. Your
installation defines the acceptable values.
- The programmer's name parameter identifies the job submitter.
This parameter is usually the name of the person who submitted the job,
although it may be a group or department code.
- CLASS designates the class that the job will execute in. Most
installations assign a default job class if the CLASS parameter is
omitted.
- TIME indicates the total amount of CPU time a job may use. It is
much shorter than the clock time.
- The MSGCLASS parameter assigns the system's job log — a record of
information about your job — to an output class.
- The MSGLEVEL parameter is used to control the amount and type of
job control statements and system messages that print.
- The NOTIFY parameter tells the system to send a message to your
TSO userid or another TSO userid when the job is
completed.
- The TYPRUN parameter controls special processing for the job.
No comments:
Post a Comment