Configuring the Properties of an External Dependency in a Workflow
As a developer and object designer, when you add a task to a Workflow you have the option to define this task as an external dependency. An external dependency is the representation of a task that is not part of the Workflow but that must end with a specific status for one or more tasks in the Workflow to be able to start processing. For a definition and general information about external dependencies, see External Dependencies in Workflows. For information about how to add external dependencies to Workflows, see Adding Tasks to a Workflow.
You configure the external dependency properties by selecting the task and opening the Properties pane. This page explains the configuration properties available in the three sections available in the External Dependency tab: Task Definition, Execution Settings and Execution Deviation.
Task Definition: Specifying the External Dependency Instance
The external dependency task can be part of other Workflows. In the Task Definition section you indicate to which instance of the task you want to establish the connection.
To define the Task Definition Properties in External Dependencies
-
The Within Parent drop-down list contains all the Workflows in which this task is inserted. Select the Workflow in which the instance of the task that you want to use is inserted.
-
Tasks can be inserted multiple times in a Workflow. Their names and titles (if available) are always the same. The alias, however, is unique and refers to one instance of the task within a Workflow.
-
Enter the alias of the instance you need in With Alias.
-
Workflows can be embedded in other Workflows. Embedded Workflows behave like any other task in a Workflow. They can also be inserted multiple times and they can have an alias that uniquely identifies them.
-
In With Parent Alias, enter the alias of the parent Workflow that is inserted in yet another Workflow.
Input information for With Alias and With Parent Alias:
-
Maximum length: 200 characters
-
Allowed characters:
-
A-Z, 0-9, $, @, _, -, ., {, } and &
-
The characters that your administrator has defined as acceptable in the ALIAS_SPECIAL_CHARACTERS key in the UC_CLIENT_SETTINGS system variable. For more information, see UC_CLIENT_SETTINGS - Various Client Settings.
-
-
You can enter variables in these fields. They must be the same variables that are used in the task alias fields in the Workflows where they are inserted.
-
If &$NAME# should be part of the alias, use &$NAME# somewhere in the Workflow script, even if it is only with :PRINT&$NAME#.
Execution Settings: Specifying the Status and Date Conditions for the External Dependnecy
In the Execution Settings section you define the following:
-
The status that the external dependency must have for its successor to start processing.
-
The period within which the external task must end with the status that you have specified.
To define the Execution Settings Properties in External Dependencies
-
(Optional) In Expected Status, select the status that the external task must have to be considered in this Workflow. If you do not select anything, the system ignores the task status and only checks whether the time conditions (activation and end time) are met.
-
Define the point in time when the expected status should be checked. Do one of the following:
-
Activate Task Activation Time is the Workflow's logical date if you want the system to compare the activation time of the external task with the Workflow logical date. The following can happen:
- If the task activation time and the Workflow's logical date are the same, the end status of the external task is compared with your selection in Expected Task Status. If necessary, the conditions you define in Execution Deviations are applied.
- If the task activation time and the Workflow's logical date are not the same, the external task is ignored. The status of the external dependency is set to ENDED_INACTIVE and if you have defined conditions in Execution Deviations, they do not apply.
Tip: Read Logical Date and Real Date to understand what logical date means in Automic Automation.
-
The Task End Time is group of options lets you specify when the external task must have ended with the status that you have specified in Expected Status.
Important! If the external dependency end time does not meet the the condition that you specify here, the successor task in the Workflow is not processed and the settings in Execution Deviations are applied.
-
Select after the Workflow's logical date if you want the system to check the status of the external dependency as soon as the Workflow's logical date has passed.
The status with which the previous execution of the Workflow has ended is irrelevant for this check. If no previous execution is available, the Workflow start time is used as time reference here. Previous executions are not available in the following cases:
The Workflow is new.
The Workflow is a new duplicate of another Workflow.
The execution data of the Workflow have been removed using the utilities.
-
Select before the Workflow's start time and specify a period in Start Offset if the external dependency must have ended with the selected status within the period of time you specify here.
The Start Offset period starts before the current execution of this Workflow starts. This graphic illustrates it:
Important! The system is designed to avoid overlapping situations. This means that an instance (an execution) of a task is used in only one instance (execution) of the Workflow in which it is referred to as external dependency.
Example: Consider the situation illustrated in this graphic:
The external task must end successfully two hours before the Workflow starts, so you select Start Offset 2:0:0 hhh:mm:ss.
08:00 - The external task ends successfully.
12:00 - The Workflow starts but it must wait because the execution of the external task is too old; it ended before the designated hour before the Workflow start.
12:05 - The next (second) execution of the external task ends successfully.
12:05 - The Workflow can continue its execution now because the second execution of the external task ended successfully within the designated two hours before its start.
12:10 - The Workflow ends successfully.
13:00 - The next execution of the Workflow starts but it must wait. Although the latest execution of the external task lies within the designated two hours, that execution has already been considered by the previous Workflow execution. In this case, the designated hour starts with the end of the latest instance (execution) of the Workflow, namely at 12:10.
-
Select after the Workflow's start time to consider the status of the task only if it ends after the start of the current Workflow. This graphic illustrates it:
-
-
Execution Deviation: Specifying Alternative Actions for the External Dependency
In the Execution Deviations section you specify what should happen if the status and time conditions that you have defined in Execution Settings are not met.
To Define the Execution Deviation Properties in External Dependencies
-
In Task Action you specify what the Workflow will do if the external dependency does not have the selected status at the specified time. The following actions are possible:
-
Wait, see a detailed description of this option below.
-
Skip External Dependency means that the Workflow ignores the external task and continues executing the remaining tasks.
-
Cancel this Workflow means that the Workflow aborts.
-
-
No matter the action you select here, you can always define that a different object should be executed when the status and time conditions specified in Execution Settings are not met. To do so, select Execute Object: On Execution Settings mismatch and select the Object to execute.
If you select Task Action > Wait, the following happens:
-
You do NOT select Define Timeout (that is, you do not specify timeout conditions). In this case, the Workflow remains on hold until a User intervenes manually.
-
You select Define Timeout. The Timeout After and Timeout Action options are displayed.
-
Enter a time in Timeout After to set the timeout after which the status of the external task is checked again.
Important! When configuring the system, administrators can configure a system-wide variable that determines the minimum interval in minutes at which events are executed. This variable affects the timeout that you enter here. If the value you enter here is smaller than the value specified in the variable, the value in the variable is used. For more information, see MIN_EVENT_INTERVAL.
-
In Timeout Action, specify what should happen when the defined timeout has elapsed. You have the following options:
-
Select Wait and check on next timeout to stop the execution of the Workflow and define a loop that repeats the timeout in the intervals specified in Timeout after. The Workflow resumes executing only after the task meets the conditions defined in Execution Settings.
-
Select Skip External Dependency if you want the Workflow to ignore the external and continue executing after the timeout.
-
Select Cancel this Workflow if you want the Workflow to abort after the timeout has elapsed.
-
-
Optionally, in Execute Object: On timeout select the object that should be executed in case of timeout. It is executed with every timeout.
-
See also: