IBM Workload Automation, Version 9.3

Dependencies

Controlling processing using dependencies

When defining job streams and managing the workload in the plan, you can control process flow using dependencies.

You can specify the following types of dependencies:

Dependencies in a distributed environment:
You can have dependencies between jobs, between job streams, or between jobs and job streams. They can be:
Internal dependencies
These are dependencies established between jobs belonging to the same job stream.
External dependencies
These are dependencies between job streams, between job streams and jobs belonging to other job streams, or between jobs belonging to different job streams. The following resolution criteria are used to satisfy these dependencies:
Closest preceding
The closest preceding in time before the instance that includes the dependency.
Same scheduled date
The instance planned to run on the same day.
Within a relative interval
The closest preceding instance within the relative time interval you chose, or, if none is found, the closest following instance within the relative time interval you chose.
Within an absolute interval
The closest preceding instance within an absolute time interval you chose, or, if none is found, the closest following instance within the absolute time interval you chose.
Regardless of the used matching criteria, if multiple instances of potential predecessor job streams exist in the specified time interval, the rule used by the product to identify the correct predecessor instance is the following:
  1. IBM Workload Scheduler searches for the closest instance that precedes the depending job or job stream start time. If such an instance exists, this is the predecessor instance.
  2. If there is no preceding instance, IBM Workload Scheduler considers the correct predecessor instance as the closest instance that starts after the depending job or job stream start time.
Internetwork dependencies
These are dependencies on jobs or job streams running in another IBM Workload Scheduler network. Internetwork dependencies require a network agent workstation to communicate with the external IBM Workload Scheduler network.
Start of changeConditional dependencies (distributed)End of change
Start of changeA relationship between one job, named the successor, and one or more jobs or job streams, named predecessors, stating that the successor can run only when a specific combination of conditions occur or are satisfied by the predecessor job. Job output conditions are set on the job definition and when a conditional dependency is added to a job in a job stream, the output conditions that must be satisfied by the predecessor job are specified. Conditions can include if the job has started, the state of the job, and any number of custom defined conditions, often expressed as job return or exit codes. You can specify that only a single condition must be satisfied, all conditions must be satisfied, or specify a subset of conditions that must be satisfied.

When the conditions are not met by the predecessor, then any successor jobs with a conditional dependency associated to them are put in suppress state. Successor jobs with a standard dependency or no dependency at all defined run normally.

End of change
Dependencies in a z/OS environment:
You can have dependencies only between jobs. They can be:
Dependencies between jobs belonging to the same job stream
When you create a job stream, you link, in a sequence, the jobs that it contains. You can also set dependencies between the jobs to have a successor job not begin until its predecessor job is complete. Dependencies determine when the successor job runs.
Dependencies between jobs belonging to different job streams
These dependencies are named external. External jobs represent jobs that are part of other job streams. You can create a dependency between jobs in different job streams by creating a dependency on an external job.
Condition dependencies (z/OS)
It is a relationship between one job, named a conditional successor, and one or more jobs, named conditional predecessors, stating that the conditional successor can run only when a specific combination of conditional predecessor status and return code values occurs. You can define a conditional dependency where the conditional successor starts if its conditional predecessors are in ended-in-error or started status.
Note: Condition dependencies are always managed as external dependencies, even if they link jobs belonging to the same job stream occurrence in the plan.
Job streams in a z/OS environment do not support dependencies on files or prompts.
Cross dependencies
In multiple heterogeneous scheduling environments you can define dependencies on batch activities managed by other IBM Workload Scheduler environments. To define a cross dependency on a job running on a different IBM Workload Scheduler engine, you must define a dependency on a locally-defined shadow job pointing to the remote job instance and running on a remote engine workstation. The remote engine workstation manages the communication with the remote engine using an HTTP or HTTPS connection.

Dependencies on resources are supported by IBM Workload Scheduler in both the distributed and z/OS environments.