Joining or combining conditional dependencies

You can choose to combine a set of dependencies into a joined dependency.

About this task

You can add multiple dependencies related to different predecessors to a join dependency and then specify how many of those dependencies must be satisfied to consider the join satisfied. When the join is satisfied, then the successor job runs.
In the following example, a join dependency, PROBLEM_SOLVING was inserted into the job stream and aggregates three conditional dependencies, each related to different predecessor jobs. Only one conditional dependency must be satisfied to consider the PROBLEM_SOLVING join satisfied. The ABSENCES_RETRY job follows the PROBLEM_SOLVING join and runs when at least one of the three predecessor jobs completes successfully, thereby satisfying the rule established on the join. If the join is not satisfied then the ABSENCES_RETRY job is suppressed.
A job stream depicting three predecessor jobs and one successor job. All three predecessor jobs have dependencies aggregated into a join dependency. When the join is satisfied, then the successor job runs.

To set up the join in this example, complete the following steps:

Procedure

  1. Add the RESTART_DB, RESTART_WAS, TEMP_CLEANUP, and ABSENCES_RETRY jobs to a job stream.
  2. Right-click the ABSENCES_RETRY job and select Add Dependencies > Join Dependencies.
  3. In the properties for the join dependency, assign a name, PROBLEM_SOLVING.
  4. The rule to be applied to the PROBLEM_SOLVING join is at least one of the dependencies must be satisfied. Leave the default selection, At least 1.
  5. Right-click the PROBLEM_SOLVING join dependency in the Details view and select Add Dependencies > Job in the same Job Stream.
  6. Click Search to display all the jobs in the job stream.
  7. Select the RESTART_DB, RESTART_WAS, and TEMP_CLEANUP jobs and click Add.
  8. For each internal job dependency, edit the properties to make it a conditional dependency.
    1. Select the Conditional Dependency check box.
    2. In Conditional Dependency Resolution Criteria, select Successor job runs if the predecessor job or job stream completes with any of these statuses.
    3. Select the SUCC check box.
    4. Save the changes.

Results

The three conditional dependencies on the ABSENCES_RETRY job have been joined together in the PROBLEM_SOLVING join dependency where at least one of the conditions (predecessor job completes in SUCC), must be satisfied for the ABSENCES_RETRY job to run.

Example

You can define the same scenario by using the composer command line as follows:
SCHEDULE WK1#PROCESSINFO 
ON RUNCYCLE RULE1 "FREQ=DAILY;"
AT 1800
 :
WK1#ABSENCES_RETRY
JOIN PROBLEM_SOLVING 1 OF 
 [DESCRIPTION “...”]
  FOLLOWS WK2#RESTART_DB IF SUCC
  FOLLOWS W32#RESTART_WAS IF SUCC
  FOLLOWS W32#TEMP_CLEANUP IF SUCC
ENDJOIN
END
For more information about defining a join from the composer command line, see join.