Selecting a processor using a scheduling environment

You can specify the name of a WLM scheduling environment, using the SCHENV parameter on the JOB statement. A scheduling environment is a list of resources and their required settings. By associating a scheduling environment name with a job, you ensure that the job is scheduled for execution only on a system that satisfies those resource state requirements. However, the job will go through JCL conversion before being held. If the JCL of the job refers to a subsystem (DD SUBSYS=), then TYPRUN=JCLHOLD is the only way to ensure that the required subsystem is actually up and functioning at JCL conversion-time.

Scheduling environments differ from the JES2 SYSAFF parameter and JES3 SYSTEM parameter (presented in other topics). A scheduling environment is abstract and dynamic. It identifies the dependency that a job has to run on particular systems without specifically naming the systems. Since a scheduling environment can change state, the systems where a job is eligible to run can change without modification to its JCL. The SYSAFF and SYSTEM parameters are specific and static, since they list system names.

Also, the SYSAFF parameter controls where a job converts and executes, whereas a scheduling environment controls only where a job executes. (The SYSTEM parameter does not differ from a scheduling environment in this way — both control only where a job executes.)

You can use scheduling environments and the SYSAFF or SYSTEM parameter together. A job may be restricted to either SYS1 or SYS2, for instance, based on the scheduling environment associated with that work. The SYSAFF or SYSTEM parameter may then further restrict that work only to SYS1.

For more information about WLM scheduling environments, see z/OS MVS Planning: Workload Management.

Example:
//JOBA  JOB  1,'STEVE HAMILTON',SCHENV=DB2LATE