Certain situations require that execution of a job be delayed until
some external event has occurred. This topic describes job input
control methods of achieving such a delay. However, these methods
are not supported in all environments:
- They are not supported in an APPC scheduling environment.
- The TYPRUN parameter is not supported for started tasks. If TYPRUN
is specified, the job will fail.
- The CLASS parameter is not supported for started tasks in a JES2
environment. For started tasks in a JES3 environment, all class related
attributes and functions are ignored except device fencing, SPOOL
partitioning, and track group allocation. Refer to the z/OS JES3 Initialization and Tuning Guide for more information about class attributes and functions.
If a job must wait for an external event before it can execute,
use one of the following to have JES hold the job until the system
operator releases it or until an event occurs:
In a JES2 system: - TYPRUN=HOLD or TYPRUN=JCLHOLD on the JOB statement. The operator
must release the job.
- A JOB statement CLASS that requests a job class defined during
JES2 initialization as held. The operator must release the job.
In a JES3 system: - TYPRUN=HOLD or CLASS on the JOB statement or HOLD=YES or CLASS
on the //*MAIN statement. The operator must release the job.
- A job in a dependent job net; see Execution when dependent on other jobs in a JES3 system. JES3 releases the job when the other job(s) complete execution,
or the operator releases the job.
- UPDATE on the //*MAIN statement of another job, if this job would
use the procedure library being updated or any library concatenated
to it. JES3 releases the job when the updating job completes execution.
Use of Job Holding: You may need to delay execution of a job
for several reasons. For example:
- If one job is updating a data set that another job must use.
- If the resources a job requires may not be available until an
external event occurs.
Note: You cannot depend on job priorities to control the order in
which jobs execute. The priority specified in the JOB statement PRTY
parameter or in the JES2 /*PRIORITY statement affects the selection
order. It does not guarantee that a job with a higher priority will
complete execution before a job with a lower priority is started.
Examples: //J1 JOB ,'J. COLE',TYPRUN=HOLD
.
//J2 JOB ACCT1734,'T. CURATOLO',CLASS=H
//*MAIN HOLD=YES
//*MAIN UPDATE=DS3