There are several ways in which an installation can set job output
limits and define the actions that JES2 takes when a job exceeds those
limits. For example:
- You can specify defaults in the JES2 initialization stream that
limit the number of bytes, cards, lines, or pages that batch jobs
or APPC transaction programs can generate before JES2 initiates some
predefined action, such as canceling the job, canceling the job with
a dump, or issuing a warning message to the operator. You can use
the following initialization statements to set installation-wide job
output limits:
- Statement
- Purpose
- ESTBYTE
- Estimated spool utilization for output exceeded
- ESTLNCT
- Default estimated print output and options
- ESTPAGE
- Default estimated page output exceeded
- ESTPUN
- Default estimated punch output and options
- You can implement JES2 installation Exit 9 to make decisions when
output exceeds output limits. For APPC transaction programs, JES2
Exit 43 can be used to override SYSOUT limits. See z/OS JES2 Installation Exits
for information about these
exits.
- For individual batch jobs, end users can define output limits
by specifying output limits on the JCL JOB statement or the JECL /*JOBPARM
statement.
- The system does not cancel recovery termination
manager (RTM) jobs for output limit exceeded for ESTBYTE, ESTLNCT,
ESTPAGE, and ESTPUN with ABEND code 722. JES2 overrides normal excession
processing to allow RTM to honor, without limitation, the collection
of diagnostic information defined by SYSUDUMP, SYSABEND, and SYSMDUMP
DD statements. JES2 ignores these output limits whether set by JES2
initialization statement, the JECL /*JOBPARM statement, or the JCL
JOB statement.
If more than one of the methods listed above are being used to
set output limits, JES2 uses a predefined order of overrides to determine
which output limits and resulting system actions to honor. The order
of overrides differ depending on whether the job is a batch job or
a transaction program.
For batch jobs, JES2 uses the following order of overrides:
- JES2 initialization stream
- JECL /*JOBPARM statement (overrides the initialization stream)
- JCL JOB statement (overrides the /*JOBPARM JECL statement)
For output produced by transaction programs, JES2 uses the following
order of overrides:
- JES2 initialization stream (lowest level)
- JES2 Exit 43 (overrides the initialization stream)
- JCL JOB statement (overrides JES2 Exit 43)
See z/OS JES2 Installation Exits for information about Exit 43.
The following example demonstrates the order of overrides when
using the JCL JOB and JECL /*JOBPARM statements:
Figure 1. Sample Initialization Stream DefinitionsESTBYTE NUM=9999
ESTLNCT NUM=2
ESTPAGE NUM=40
ESTPUN NUM=100
Figure 2. Sample JCL with Output Limits//MRECKSA JOB MARTY,...,PAGES=200,BYTES=20000
/*JOBPARM LINES=100,BYTES=10000
//STEP1 EXEC PGM=IEBDG
In the example shown above, the following output limits would exist:
- The batch job is limited to 20,000,000 bytes (20000x1000 - because
the byte definition is in thousands). The BYTES= keyword on the JOB
card overrides the JECL /*JOBPARM and the initialization statement
default (ESTBYTE statement).
- The batch job is limited to 100,000 lines (100x1000 - because
the line definition is in thousands). The value from the /*JOBPARM
statement is used because it overrides the initialization stream default
(ESTLNCT statement) and the LINES keyword is omitted on the JOB card.
- The batch job is limited to 200 pages. The value specified on
the PAGES= keyword on the job card overrides the initialization stream
default (ESTPAGE statement).
- The batch job is limited to 100 cards. The limit is taken from
the ESTPUN initialization statement because no override value exists
on the JCL JOB or JECL /*JOBPARM statements.
If a batch job or APPC transaction program exceeds the output limits
set by JES2, JES2 issues message $HASP375. However, you can use JES2
Exit 9 to specify what action(s) should be taken if a job exceeds
output limits. See z/OS JES2 Installation Exits for information about Exit 9.
See z/OS MVS JCL Reference for
additional information about specifying output limits on JCL JOB or
JECL /*JOBPARM statements. See z/OS JES2 Initialization and Tuning Reference for additional information
about the
ESTBYTE, ESTLNCT, ESTPAGE, and ESTPUN initialization statements.