$ADD JOBCLASS(jobclass) - Define a new job class
Function
To define one or more new job classes for JES2.
Specify a comma-separated list of one or more new job class names. Each job class name must be 2 - 8 characters in length, using character sets A-Z and 0-9. A new name cannot match any existing job class name.
Syntax
Parameters
- jobclass
- The subscript defining the job classes to be defined by this command. Each job class name can be 2 - 8 characters, using characters A-Z and 0-9. A name cannot match any existing job class name.
- ACCT={No|Yes}
- Specifies whether an account number is required (Yes) or not required (No).
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- ACTIVE={NO|YES}
- Specifies whether or not this class is active. Active classes can be used on new jobs that are submitted. The ACTIVE parameter has no effect on jobs once they have been submitted. The default value is YES.
- AUTH={ALL|CONS|INFO|IO|SYS}
- Specifies the MVS™
operator command groups that are to be executed. The groups include:
- ALL
- All operator command types.
- CONS
- Console commands.
- INFO
- Information commands (such as display).
- IO
- Input/output commands.
- SYS
- System commands.
- BLP={No|Yes}
- Specifies that either the bypass label processing parameter in the label field of a DD statement is to be ignored (NO) and processed as no label or that bypass label processing is performed as requested (YES) and the label parameter is processed as it appears.
- COMMAND={DISPLAY|EXECUTE|IGNORE|VERIFY}
- Specifies the disposition of commands that are read from the input stream as follows.
- DISPLAY
- The command is displayed and scheduled for execution.
- EXECUTE
- The command is scheduled for execution.
- IGNORE
- The command is ignored (that is, interpreted as a ‘no operation').
- VERIFY
- Specifies that the system displays the command, asks the operator whether the command should be executed, and if the operator replies “YES”, schedules the command for execution.
- CONDPURG={No|Yes}
- Specifies whether (YES) or not (NO) system data sets (such as JESMSG and SYSMSG) in this job
class are to be conditionally purged. Note: This is only valid for JOBCLASS(STC) and JOBCLASS(TSU).
- COPY={No|Yes}
- Displays whether (Yes) or not (No) jobs in this job class are to be queued for output processing as though TYPRUN=COPY was specified on the JOB statement for these jobs.
- DUPL_JOB={DELAY|NODELAY}
- Specifies whether or not JES2 is allowed to concurrently execute batch jobs with the same name
in the same MAS. If DUPL_JOB=DELAY is specified, JES2 is not allowed to execute batch jobs with the
same name in the same MAS at the same time. Note: DUPL_JOB on a JOBCLASS specification is ignored if JOBDEF DUPL_JOB=NODELAY. If JOBDEF DUPL_JOB=DELAY, that specification can be overridden on a jobclass basis by specifying DUPL_JOB=NODELAY on the JOBCLASS statement.
- GDGBIAS{=JOB|STEP}
- Specifies how relative references to a generation data
set in a DD JCL statement are resolved. If the job's JOB JCL statement includes the GDGBIAS=
keyword, the job CLASS specification for GDGBIAS is ignored.
- JOB
-
Relative references to a generation data set are resolved on a job basis. The system establishes the relationship between the relative generation number and the absolute generation number when the generation data set is first referenced in the job. This relationship is consistent throughout the job.
- STEP
-
Relative references to a generation data set are resolved on a job step basis. The system establishes the relationship between the relative generation number and the absolute generation number when the generation data set is first referenced in each job step. Each job step that references the generation data set establishes a new relationship.
- GROUP=name
- Specifies the 2-8 character name of the job class group that this class is associated with. The
name cannot match any existing job class (including the default 1 character job classes). By
default, the job class is not in a group.
Each job class can be in 0 or 1 group. The group is created when the first job class is placed in a group and deleted when the last job class is removed from a group. Deleting a job class removes a class from its group.
- HOLD={No|Yes}
- Specifies that jobs in the job class are to be held (Yes) or not held (No). If a job is held, it
remains so until a RELEASE command for the job is issued by the operator ($A J).
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- IEFUJP={No|Yes}
- Specifies whether (YES) or not (NO) the IEFUJP exit is taken when a started task is purged. IEFUJP receives control when a started task is ready to be purged from the system; that is, after the started task has been ended and all the SYSOUT output that pertains to the started task has been processed.
- IEFUSO={No|Yes}
- Specifies whether (YES) or not (NO) the IEFUSO installation exit is taken when the SYSOUT limit is reached for a started task in this job class. The SYSOUT limit, which is specified by the OUTLIM parameter on the DD statement, defines the maximum number of physical records to be written to the associated SYSOUT data set. When the OUTLIM value is exceeded, JES2 normally calls the IEFUSO SMF exit routine either to increase the SYSOUT limit or to end the job. When NO is specified and OUTLIM is exceeded, JES2 abnormally ends the job.
- JESLOG=
- Sets the default processing for the JESLOG data sets (JESMSGLG and JESYSMSG).
- SPIN
- JESLOG data is to be immediately spun off for jobs in this jobclass. Note: Specifying JESLOG=SPIN causes a job in this class to use at least two additional track groups of SPOOL space for the two JESLOG data sets. If this job class normally has a large number of jobs that use a minimal amount of SPOOL space, then an increase of two track groups could significantly increase SPOOL utilization. Consider additional SPOOL requirements when deciding whether to use JESLOG=SPIN.
- (SPIN,+hh:mm)
- Indicates to spin JESLOG every hh:mm time interval, where hh is hours and has a range of
0 through 23 and, mm is minutes and has a range of 00 through 59. Note: A minimum of 10 minutes must be specified or an error message occurs. Also, for time intervals of less than one hour, you must specify
JESLOG=(SPIN,+00:mm)
. - (SPIN,hh:mm)
- Indicates to spin JESLOG at hh:mm every 24 hours.
- (SPIN,nnn)
- Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG has nnn lines. nnn
is the number of lines in the data set and has a range of 1 through 999. nnn is specified as
nnn, nnnK or nnnM, where 'K' is thousands and 'M' is millions. Note: A minimum of 500 lines must be specified or an error message occurs.
- (SPIN,nnnK)
- Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG has "nnnK" lines.
- (SPIN,nnnM)
- Indicates to spin JESLOG whenever either JESMSGLG or JESYSMSG has "nnnM" lines.
- SUPPRESS
- Indicates that the JESLOG data sets have nothing written to them during the execution of jobs defined for this job class. Data is only be written to JESLOG data sets during each job's input service and post execution.
- NOSPIN
- Indicates that JESLOG data is not spun, but is not suppressed. NOSPIN is the default setting for the JOBCLASS(v) initialization statement.
- JOBRC=MAXRC|LASTRC
- Specifies the method for JES2 to use to determine the job return code. Specify MAXRC to use the highest return code of any executed step as the job return code. Specify LASTRC to use the return code of the last executed step as the job return code. The default is MAXRC.
- JOURNAL={No|Yes}
- Specifies whether (Yes) or not (No) job-related information is to be saved in a job journal.
Job journaling limits the scope of RESTART=YES. If the JOURNAL=Yes parameter is specified:
- JES2 restarts interrupted jobs from the beginning only if the MVS system is unable to restart the job from a step or checkpoint.
- RESTART=NO has no effect; all jobs are requeued for execution. (Specifying RD=R|RNC on the JCL JOB statement has the same effect.)
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- LOG={No|Yes}
- Specifies whether (YES) or not (NO) the JES2 job log is printed for started tasks. The JES2 job
log contains the user's console messages and replies to WTORs issued during the processing of the
job. When NO is specified, the printing of JES2 statistics information (normally printed with the
job) is also suppressed.
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- MODE={JES|WLM}
- Indicates whether jobs in this class are to be run under JES-mode or WLM-mode initiators.
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- MSGCLASS=msgclass
- Specifies the message class (A-Z,0-9) for started tasks or time-sharing users. Valid only for JOBCLASS(STC) and JOBCLASS(TSU).
- MSGLEVEL=statements
- Specifies a message level value for use when the MSGLEVEL= parameter is not specified on a JOB
statement. If an MSGLEVEL= parameter is not specified, JCL and allocation/termination messages are
recorded in the system message data set according to the value specified in this parameter. The
character “n” specifies the kinds of JCL listed, as follows:
- 0
- JOB statement only
- 1
- Input statements, cataloged procedure statements, and symbolic parameter substitution values
- 2
- Input statements only, including instream procedures.
The character “m” specifies the kinds of allocation/termination messages listed, as follows:- 0
- No messages are to be listed, except in the case of an abnormal termination, in which case allocation/termination messages are listed.
- 1
- Allocation/termination messages are listed.
- OUTDisp=(normal,abnormal)
- Specifies the default disposition of the JES data sets created by jobs in the specified job
class(es).
- normal
- Specifies the output disposition if the job ends successfully. Specify one of the output dispositions below.
- abnormal
- Specifies the output disposition if the job ends unsuccessfully. Specify one of the output
dispositions below. The valid output dispositions:
- H|HOLD
- Hold the output. JES2 does not process the output until you either change the disposition to WRITE or KEEP, or release the output. When the output is released, the disposition changes to WRITE.
- K|KEEP
- Process the output and then keep a copy of it on spool. After processing, the disposition of this output becomes LEAVE.
- L|LEAVE
- JES2 does not process the output until you change the disposition to WRITE or KEEP, or release the output. Once the output is released, the disposition changes to KEEP.
- P|PURGE
- Purge the output immediately.
- W|WRITE
- Process the output then purge it.
See z/OS JES2 Initialization and Tuning Guide for more information about specifying output disposition and how JES2 determines output disposition defaults.
- OUTPUT={No|Yes}
- Specifies whether SYSOUT data is to be written for started tasks.
- PERFORM=perform
- Specifies the default performance-group number (0-999) for started tasks.
- PGMRNAME={No|Yes}
- Specifies whether a programmer name is required (Yes) or not required (No) on a JCL JOB statement.
- PROCLIB=proclib
- Specifies the default procedure library number (00-99) which is to be used for started tasks.
- Qaff=sysaff
- Specifies which members a particular job class is active on (not held). A member list can be a
combination of the following keywords separated by commas.
- ANY
- This job class is active on all members in the JES2 multi-access spool configuration.
- +|-memname|*
- The memnames (one to four characters using A-Z, 0-9, $, #, and @) to be added to (+) or deleted from (-) the current list of members that this job class is active on. If neither + nor - is specified, the affinities of the job class are explicitly to the specified members. '*' specifies the member the command was issued on.
Note: The processing of the QAFF parameter must result in at least one member that is eligible to execute this job. Otherwise, the command is rejected. QAFF has no effect on STC or TSU class. - QHELD={Yes|No}
- Specifies whether (Yes) or not (No) jobs in this class are to be held (not selected for
execution) until the class is released from held status by operator command ($TJOBCLASS,QHELD=NO).
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- REGION=region
- Specifies the default for the region size assigned to each job step.
- RESTART={No|Yes}
- Specifies whether (Yes) or not (No) JES2 is to requeue for execution any job of this job class
that had been executing before the IPL of the system was repeated and a JES2 warm start was
performed. Job journaling limits the scope of RESTART=YES. If the JOURNAL=Yes parameter is specified:
- JES2 restarts interrupted jobs from the beginning only if the MVS system is unable to restart the job from a step or checkpoint.
- RESTART=NO has no effect; all jobs are requeued for execution. (Specifying RD=R|RNC on the JCL JOB statement has the same effect.)
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- SCAN={No|Yes}
- Specifies that the jobs in this job class are to be queued for output processing immediately
after JCL conversion (Yes) or queued as usual (No).
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- SCHENV=xxxxx
- The default SCHENV for a given JOBCLASS can be specified through $ADD JOBCLASS(c), SCHENV=xxxxx where xxxxx is a 1 to 16 character SCHENV. The SCHENV must be defined to WLM. If it is not, the setting is ignored.
- SWA={ABOVE|BELOW}
- SWA=ABOVE specifies that all eligible schedule work area (SWA) control blocks created for
started task will be placed above 16 megabytes in virtual storage.
In a MAS environment, this parameter is set by the member on which the job is converted, not the member on which it executes.
SWA=BELOW specifies that all SWA control blocks for started task reside below 16 megabytes in virtual storage.
- TIME=min,sec
- Specifies the default for the maximum processor time that each job step can run.
- TYPE6={No|Yes}
- Specifies whether (YES) or not (NO) JES2 produces type 6 SMF records for started tasks.
- TYPE26={No|Yes}
- Specifies whether (YES) or not (NO) JES2 produces type 26 (job summary) SMF records for started tasks.
- XBM=xbm
- The 1 to 8 character name of the execution batch monitor (XBM) procedure to be executed by jobs
running in the specified class.
This parameter is not allowed on either the JOBCLASS(STC) or JOBCLASS(TSU) initialization statements.
- XEQCount=maximum
- Specifies the maximum number of jobs executed in the MAS.
- XEQMEMBER(name)=(MAXimum=maximum)
- For the member name specified, specifies the maximum number of jobs that can execute concurrently in the class on the member.
Processing Considerations
The new jobclass that is specified is defined to JES2. This jobclass is defined on all members of the MAS and persists over a warm start of JES2. All valid jobclass attributes can be specified on the command.
Related Commands
$D JOBCLASS, $T JOBCLASS, $DEL JOBCLASS
Authority Required
This command requires system authority. The description of the $T RDRnn command explains how to ensure that the authority of the appropriate MVS system command group is assigned.
This command requires control security access authority. For a description of assigning command input authority, see z/OS JES2 Initialization and Tuning Guide.
Scope
MAS-wide. This command affects all members of the multi-access spool.
Messages
The $HASP837 message displays the characteristics of the added job class.
Context
HASCSCAN and HASPSXIT are responsible for processing this command.
Examples
The following example adds a new job class named TEST.
$ADD JOBCLASS(TEST)
$HASP837 JOBCLASS(TEST)
$HASP837 JOBCLASS(TEST) ACTIVE=YES,MODE=JES,QAFF=(ANY),QHELD=NO,
$HASP837 SCHENV=,XEQCOUNT=(MAXIMUM=*,
$HASP837 CURRENT=0),
$HASP837 XEQMEMBER(AQFT)=(MAXIMUM=*,
$HASP837 CURRENT=0),
$HASP837 XEQMEMBER(AQTS)=(MAXIMUM=*,
$HASP837 CURRENT=0)
The following example creates job classes CLASS1 and CLASS2, adds them to GROUP1, and sets each class to ACTIVE=NO:
$ADD JOBCLASS(CLASS1,CLASS2),GROUP=GROUP1,ACTIVE=NO
$HASP837 JOBCLASS(CLASS1)
$HASP837 JOBCLASS(CLASS1) ACTIVE=NO,GROUP=GROUP1,MODE=JES,
$HASP837 QAFF=(ANY),QHELD=NO,SCHENV=,
$HASP837 XEQCOUNT=(MAXIMUM=*,CURRENT=0),
$HASP837 XEQMEMBER(N1M1)=(MAXIMUM=*,
$HASP837 CURRENT=0)
$HASP837 JOBCLASS(CLASS2)
$HASP837 JOBCLASS(CLASS2) ACTIVE=NO,GROUP=GROUP1,MODE=JES,
$HASP837 QAFF=(ANY),QHELD=NO,SCHENV=,
$HASP837 XEQCOUNT=(MAXIMUM=*,CURRENT=0),
$HASP837 XEQMEMBER(N1M1)=(MAXIMUM=*,
$HASP837 CURRENT=0)