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.
To set up the join in
this example, complete the following steps:
Procedure
- Add the RESTART_DB, RESTART_WAS, TEMP_CLEANUP, and ABSENCES_RETRY
jobs to a job stream.
- Right-click the ABSENCES_RETRY job and select .
- In the properties for the join dependency, assign a name,
PROBLEM_SOLVING.
- 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.
- Right-click the PROBLEM_SOLVING join dependency in the
Details view and select .
- Click Search to display all the
jobs in the job stream.
- Select the RESTART_DB, RESTART_WAS, and TEMP_CLEANUP jobs
and click Add.
- For each internal job dependency, edit the properties to
make it a conditional dependency.
- Select the Conditional Dependency check
box.
- In Conditional Dependency Resolution Criteria,
select Successor job runs if the predecessor job or job
stream completes with any of these statuses.
- Select the SUCC check box.
- 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.