Creating Step Conditions

Overview

A z/OS JES batch job consists of one or more steps defined by JCL EXEC statements. The JCL EXEC statement identifies the program that the step is to execute. During job execution, steps are executed sequentially under conditions defined by the JCL statements. When a step completes execution, a Step Condition code is recorded by JES. The Step Condition code is either an integer condition code, in the range of 0 - 4095, or an ABEND code. If a step does not execute, which can be for a number of reasons, it is referred to as FLUSH'ed.

A task's status of SUCCESS or FAILED is determined by task exit code processing. The z/OS Task Details Exit Code Processing field specifies the method used to determine the task status for a z/OS batch job. When the Step Conditions method is selected, the task status of the z/OS batch job is controlled by the Step Conditions defined in the z/OS Task and parent workflow.

In addition to determining the z/OS Task status, Step Conditions provide a means to control the execution of job steps without any changes to the batch job JCL. A Step Condition definition can specify that job execution is halted, continued, or determined by a console operator. For example, if a multi-step job has a step that ends with a condition code of 8, you could include a Step Condition check to decide whether or not to run the following steps.

Step Conditions can be applied at the z/OS Task level or at the workflow level that apply to all z/OS tasks in that workflow and sub-workflows.
 

Note

If Step Conditions has been selected for Exit Code Processing, and you then select a different option, a confirmation pop-up displays to warn that any defined Step Conditions will be removed.

Runtime Monitoring

You can monitor Step Conditions at run time via the Activity Monitor, which lets you add or change Step Conditions for a single task instance and then re-run that job.

Creating a Step Condition

Step 1

From the Automation Center navigation pane, select Tasks > z/OS Tasks. The z/OS Tasks list displays.

Step 2

Select the task for which you want to create one or more Step Conditions. The z/OS Task Details for that task displays.
 

Step 3

In the Exit Code Processing field, select Step Conditions from the drop-down list and then click the Update button.

Step 4

Click the Step Conditions tab. The Step Conditions list displays a list of any currently defined Step Conditions for this task.
 

Step 5

Click New. The Step Condition Details pop-up dialog displays.
 

Step 6

Using the field descriptions, below, as a guide, complete the fields as needed.

Step 7

Click a Save button to save the record and return to the Step Conditions list.

Step 8

If appropriate, repeat these steps for any additional Step Conditions you want to add.

Step Condition Details Field Descriptions

The table below describes the fields and buttons in the Step Conditions Details pop-up dialog.

Field Name

Description

Step

Job step name to match. A blank value or an asterisk (*) will match any job step name. Generic matching characters asterisk (*) and question mark (?) match zero or more characters and one character, respectively.

Procedure

Procedure step name to match. A blank value or an asterisk (*) will match any procedure step name. Generic matching characters asterisk (*) and question mark (?) match zero or more characters and one character, respectively.

Program

Program name to match. A blank value or an asterisk (*) will match any program name. Generic matching characters asterisk (*) and question mark (?) match zero or more characters and one character, respectively.

Condition Codes

Conditions codes are integer return codes from the program or ABEND codes. Integer return codes are specified as a comma-separated list of integer values or ranges. Ranges are specified with a dash (-) separating the lower and upper bounds of the range. The z/OS job step return code range is 0-4095. ABEND codes are specified directly as either a user ABEND or a system ABEND. The ABEND code must be specified verbatim including leading zeroes.
 
For example: 1,6-4095,Sxxx,Unnnn,JCLERR

Action

Action to take and the task status to set if the Step Condition matches. See Step Condition Logic, below, for an explanation of the actions.

Metadata

This section contains Metadata information about this record.

UUID

Universally Unique Identifier of this record.

Updated By

Name of the user that last updated this record.

Updated

Date and time that this record was last updated.

Created By

Name of the user that created this record.

Created

Date and time that this record was created.

Buttons

This section identifies the buttons displayed above and below the Step Condition Details that let you perform various actions.

Save

Saves a new record in the Controller database.

Save & New

Saves a new record in the Controller database and redisplays empty Details so that you can create another new record.

Save & View

Saves a new record in the Controller database and continues to display that record.

New

Displays empty (except for default values) Details for creating a new record.

Update button

Saves updates to the record.

Refresh

Refreshes any dynamic data displayed in the Details.

Delete button

Deletes the current record.

Close

For pop-up view only; closes the pop-up view of this task.

Step Condition Logic

Step Condition exit code processing starts the task with a task status of SUCCESS. As the job executes and steps complete, the task status can change from SUCCESS to FAILED based on Step Condition definitions and job execution conditions. Once a task status has been changed to FAILED, it cannot be changed back to SUCCESS.
 

Note

The Controller searches Step Condition definitions based on their order in the Step Conditions list; the definition at the top of the list is searched first. To change the order of the definitions in the list, drag and drop them to any location.


In addition to Step Condition definitions changing the task status, the following specific job execution conditions will change the task status:

  • JCL errors (for examaple, IEFC452I or IEF453I) change the task status to FAILED.
  • A job step ABEND that does not match any Step Condition definition changes the task status to FAILED.

As job steps complete execution, Universal Controller searches the list of task-level Step Condition definitions that matches the current step based on the job step name, procedure step name, program name, and the Step Condition code. The search stops when the first definition is found. If a matching Step Condition is found, the Step Condition action is taken. If no matching task-level Step Condition is found, the search continues with the parent workflow-level Step Conditions. If no matching workflow-level Step Condition is found, the search continues with its parent workflow-level Step Conditions and so on until a match is found or all Step Conditions have been search in the hierarchy. If no matching Step Condition is found, the Controller takes no action and normal JES processing of the job continues.
 

Note

If a step does not execute, no search is performed for that step in the Step Condition definitions. For example, if a job step FLUSH'es due to a JCL IF statement, the Step Conditions will not be search for the step.


The Step Condition definition action value specifies two attributes, the action to take and the task status. These two attributes are combined into combinations that form the possible action values. The following Step Condition actions are supported:

Continue/Success

Job execution continues and task status is set to SUCCESS.

Continue/Failed

Job execution continues and task status is set to FAILED.

Halt/Failed

Job execution is halted at the current step and task status is set to FAILED.

Askoper

Job execution is stopped and the Controller sends a WTOR message to the console operator requesting a reply on how job execution should proceed. The action is dependent upon the operator reply (see Example 4, below).

During job processing, the Controller issues message UAG1059A to the job log when it matches a Step Condition definition to a step that has completed execution. Message UAG1059A includes the Step Condition definition values including the action that is taken. The message provides an audit record of Step Condition processing that has influenced job execution.

Example Steps and Condition Codes

This section provides a sample job and PROC, followed by example condition code checks for that job.

Example Job and Procedure

Example Job

Example Procedure (Cataloged Procedure)

User Interface Specifications and Actions

The following examples specify condition code checks for the example job above.

Example 1

In this example, if the condition code of any step of the job is greater than 12, the job halts and the task status is set to FAILED.

Example 2

In this example, if the condition code of any procedure step executed as job step S1 is equal to 8, the job continues and the task status is set to SUCCESS.

Example 3

In this example, if the condition code of program IEBGENER is 0 or 12, the job continues and the task status is set to SUCCESS.

Example 4

In this example, if the condition code from job step S1, procedure step STEP2 is user ABEND U0010, the operator is alerted with a WTOR console message that specifies the job name, the job step, the procedure step, and the actual condition code. The Controller will take the action specified by the operator reply.

Issued WTOR

The UAG1058A WTOR message identifies the job name as JOBA, step name as S1, procedure step name as STEP2, and the Step Condition code as U0010 that matched the Step Condition definition which resulted in the ASKOPER action.

Operator Reply

The operator must reply with one of the following:

  • (1) CONTINUE/SUCCESS
  • (2) CONTINUE/FAILED
  • (3) HALT/FAILED

(See Step Condition Logic for an explanation of these replies.)

Example 5

In this example, if the condition code from job step S1, procedure step STEP3 is within the range of 0-7, the job continues and the task status is set to SUCCESS.

Example 6

In this example, if the condition code from job step S1, procedure step STEP1 is greater than 0, the job continues and the task status is set to FAILED.