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. HCL Workload Automation 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, HCL Workload Automation 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 HCL Workload Automation network. Internetwork dependencies require a network agent workstation to communicate with the external HCL Workload Automation network.
Conditional dependencies (distributed)
A 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.

Dependencies in a z/OS environment:
You can have different kind of dependencies 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. HCL Workload Automation 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, HCL Workload Automation considers the correct predecessor instance as the closest instance that starts after the depending job or job stream start time.
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 HCL Workload Automation environments. To define a cross dependency on a job running on a different HCL Workload Automation 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 HCL Workload Automation in both the distributed and z/OS environments.