Previous Topic

Next Topic

Book Contents

Book Index

JCL Setup Operation Flow

All JCL setup operations are performed during job submission. At this time, Control-M processes the JCL of the job line by line.

Control-M scans each line for AutoEdit terms (identified by the %% symbol) and tries to resolve them (unless otherwise instructed). Control-M resolves all AutoEdit terms in a line before it moves to the next line.

All changes made during JCL processing (such as variable resolution) are retained only until Control-M has finished submission of the job.

Control-M resolves System variables by taking the values from the system.

Control-M resolves Global variables by taking the values from the IOA Global Variable database.

Values for Local user-defined variables can be taken from any of several possible sources (described below). When Control-M detects a local user-defined variable in the JCL line being processed, it checks these possible sources in a specific order until a value is found for the variable. Control-M creates a user-defined variable environment in which it places each user-defined variable and its value.

The potential sources for local user-defined variable values are listed below in the order in which they are generally checked:

The order in which Control-M checks potential sources for possible AutoEdit variable resolution is important because once Control-M has resolved a variable, it generally stops checking other sources. Potential values from other sources are ignored, and resolved values are not overridden except by %%SET statements in subsequent JCL lines.

Because JCL is processed sequentially one line at a time, the line being processed can only be affected by external members and %%SET control statements that have previously been processed. If a line contains an undefined variable that is only defined in a subsequent line, the variable cannot be resolved.

By default, if Control-M cannot resolve a variable, it stops submission of the job. This default, however, can be overridden by specifying the %%RESOLVE control statement with a value of NO or OFF (described later in this chapter).

To stop submission of a job because of an unresolved variable, Control-M creates an intentional JCL error that prevents execution of the job’s already submitted JCL. The job ends with the status NOT SUBMITTED for reason JNSUB. The erroneous JCL remains on the spool, but does not affect other job executions except those that depend on the successful execution of this job.

Local variable values taken from variable members (%%MEMSYM and %%GLOBAL members) that are changed during job submission remain in effect only until Control-M finishes submission of the job. Therefore, a change made to such a variable (using the %%SET control statement) affects only submission of that job and does not affect any other job submission or the value of the variable in the variable member.

Parent Topic

JCL and AutoEdit Facility