JOBCLASS Parameter

Purpose

The JOBCLASS parameter (or simply CLASS parameter on the JOB statement) specifies the job class for the job. Job classes are used to group jobs with similar resource requirements, execution characteristics, and scheduling needs. This parameter helps system administrators manage system workload, prioritize jobs, and apply specific execution rules to groups of similar jobs.

Syntax

On JOB Statement

jcl
1
//jobname JOB accounting-info,programmer-name,CLASS=class

Abbreviated form:

jcl
1
//jobname JOB accounting-info,programmer-name,CLASS=c

Parameter Components

class

A single character (A-Z, 0-9, or *) that identifies the job class. The class defines processing attributes such as:

  • System resources available to the job
  • Execution priority
  • Output handling characteristics
  • Accounting requirements
  • Security constraints

Job Class Definitions

Job classes are defined by the system administrator through JES2 or JES3 initialization parameters. While specific meanings vary by installation, some common conventions include:

ClassTypical UseCharacteristics
AStandard batch jobsMedium priority, moderate resource limits
B-ERegular production workVarious priority levels and resource allocations
P, HHigh-priority productionHighest priority, generous resource limits
S, TSystem tasksSpecial system privileges
X, Y, ZTest jobsLower priority, restricted resources
0-9Varies by installationOften used for specialized workloads
*Special handlingProcessing determined by JES exits or job name

Note: The meaning of each job class is installation-specific. Always consult your site's standards documentation or system administrator to understand the job classes available in your environment and their characteristics.

Key Points

  • If you omit the CLASS parameter, the system assigns a default class (usually A).
  • The job class often determines the output class for job messages (MSGCLASS).
  • Certain job classes may be restricted to specific users or groups.
  • Some job classes may only be available during specific time periods.
  • Job class can affect job scheduling, execution priority, and resource limits.
  • JES2 and JES3 may have different class definitions and behaviors.

JES2 Job Class Attributes

In JES2, job classes can have various attributes defined, including:

  • ACTIVE=YES|NO - Whether the class is currently accepting jobs
  • JCOPY=MAX|count - Maximum number of job output copies
  • OUTDISP=disposition - Default output disposition
  • PRTY=priority - Default job priority
  • QAFF=sysid - System affinity (which systems can process jobs in this class)
  • XBATCH=YES|NO - Whether jobs in this class require special handling

JES3 Job Class Attributes

In JES3, job classes (or "job class groups") can have attributes like:

  • SDEPTH=count - Maximum number of jobs that can run concurrently
  • TDEPTH=count - Maximum number of jobs that can be scheduled
  • MLIMIT=value - Default main storage limit
  • SYSTEM=sysname - Eligible systems for job execution
  • JOURNALING=YES|NO - Whether to enable journaling
  • SPART=partition - Spool partition to use

Examples

Basic Usage

jcl
1
//PAYROLL JOB (ACCT123),'JOHN SMITH',CLASS=P

This job will run in class P, which might be a high-priority production class at the installation.

Combined with Other JOB Parameters

jcl
1
2
//TESTJOB JOB (ACCT123),'JANE DEV',CLASS=T, // MSGCLASS=X,MSGLEVEL=(1,1),NOTIFY=&SYSUID

This test job runs in class T, sends messages to output class X, sets message level options, and notifies the submitter when the job completes.

Default Class Example

jcl
1
//REPORT JOB (ACCT123),'JANE DEV',MSGCLASS=A

Since the CLASS parameter is omitted, this job will execute in the default class (typically A).

Class Selection Considerations

When selecting a job class, consider:

Resource Requirements

  • CPU-intensive jobs may require specific classes
  • I/O-intensive jobs might need classes with different I/O priorities
  • Large memory requirements might demand special classes

Execution Time

  • Long-running jobs often need different classes than short jobs
  • Time-sensitive jobs may require high-priority classes

Job Type

  • Production vs. test jobs
  • Online vs. batch processing
  • Development vs. QA vs. production environments

Best Practices

  1. Always use the appropriate job class based on your installation's standards.
  2. Don't use privileged job classes without authorization.
  3. For test jobs, use designated test classes to avoid impacting production work.
  4. Document the class used in job documentation for maintenance purposes.
  5. Understand the resource implications of different job classes in your environment.
  6. Be aware that changing a job's class can significantly affect its execution characteristics and priority.
Progress0 of 0 lessons

Exercises

Exercise 1: Basic CLASS Usage

Write a JOB statement for a production payroll job that requires high priority processing. Use appropriate CLASS and MSGCLASS parameters.

Exercise 2: CLASS with Other Parameters

Create a JOB statement for a test job that should run in a low-priority class, have job messages sent to output class X, and notify you when the job completes.

Test Your Knowledge

1. What does the CLASS parameter specify in JCL?

  • The output class for job messages
  • The job execution class that determines execution characteristics
  • The security class for the job
  • The printer class for job output

2. If the CLASS parameter is omitted, what typically happens?

  • The job fails with a JCL error
  • The job is assigned to a default class (usually A)
  • The job is held until an operator assigns a class
  • The CLASS is determined from the MSGCLASS parameter

3. Which of the following is NOT typically determined by a job's CLASS?

  • Execution priority
  • Resource limits
  • Output destination
  • System eligibility

4. Which character set is valid for CLASS values?

  • A-Z only
  • A-Z and 0-9 only
  • A-Z, 0-9, and * (asterisk)
  • Any printable character

Frequently Asked Questions