During the execution process it can become essential to react to the end status of particular tasks. There are two types of tasks - tasks running inside the workflow and tasks running outside.
For the first ones, you can define the status expected from the preceding workflow task in the Dependencies tab. For external tasks running outside of the workflow, you can define external dependencies.
External dependencies specify the status expected from external tasks in order to continue successful processing.
Note that external tasks are not part of the workflow. Therefore, they are not processed as part of the workflow.
External dependencies can only be defined within standard workflows (Workflow tab).
An external dependency is graphically displayed in the form of a dashed box. The following illustration shows an external dependency to the file transfer "MM.GET.FILES". Therefore, the job "MM.END.PROCESSING" will only start if the file transfer has ended with the defined end status.
External dependencies refer to tasks. Use one of the following methods to include external dependencies in workflows:
Use the Line Tool to connect your external dependencies with one or several workflow tasks. These tasks are then succeeding the external tasks. External dependencies of workflows do not have predecessors.
Once the external dependency has been included, its expected end status must be defined. Right-click the box; then call the command Properties. The opening dialog shows two tabs in which the required settings can be specified. The expected end status of the external task can be defined in the External Dependency tab. You can also indicate the start for the lead time satisfaction. The lead time satisfaction is the period in which the external task must end on the expected status at least once. You can also specify the reaction to state other than specified.
"Timeout" is used in combination with the special option "Wait". At the end of this timeout period, the task's status is re-checked and a reaction can be defined.
The second tab can be used for calendar conditions which determine the days on which the external dependency should be considered. It is also possible to use the calendar conditions of the external task, if it runs in a workflow.
workflow tasks referring to external dependencies (the job "MM.END.PROCESSING" in the above example) can react to a status via the Dependencies tab. This, however, is not the status of the external task but the status of the external dependency. Thus, only the following states are available:
While the workflow runs, the external dependency shows varying colors. It is colorless before its run has reached the task that refers to the external dependency. Dark gray signals that the specified condition has been met. While waiting for the external task's end status, the box that is displayed in blue and white symbolizes the states "inactive" and "skipped".
When the external task blocks within a workflow, the external dependency remains in a waiting condition (blue). When you remove this blocking condition manually, the external dependency is only fulfilled when the expected status in its propertiesis either set to ANY_OK_OR_UNBLOCKED or ENDED_OK_OR_UNBLOCKED. Otherwise, the external dependency remains in its waiting condition.
The status of an external task is retrieved via its statistical records. No status is available in the following situations:
In both situations, the lead time satisfaction does not show positive results and the "Else" action of the External Dependency tab comes into force.
Agent groups in mode "All"
This setting means that the agent group processes a task on all its agents. The following peculiarity applies if an external dependency has been set on this task in a workflow:
The external dependency is fulfilled when one of the tasks has ended. The workflow does not wait until the tasks have ended on all agents.
See also:
"External Dependency"
Lead Time Satisfaction for External Dependencies
Workflow tab