Task Step (Subprocess) Configuration
A subprocess is part of a user-defined process in a workflow.
For a workflow to run, all subprocesses must be valid (contain no errors) and enabled (active).
A workflow must be constructed of one or more subprocess. Each subprocess is a self-contained entity where the majority of the logic is added to run a workflow. Subprocesses group a set of related activities in a workflow and appear as a single task step. A subprocess can exist only between the presubprocess and postsubprocess.
Subprocesses allow you to create a series of steps to accomplish a task, assignment, event-driven, or activated process. The contents of a subprocess consist of activities that can be placed in any order depending on the requirement. You can think of the contents of a subprocess as a workflow without the defined structure and in a simple linear path.
Within a subprocess activity, you can select a manual start option for a workflow. This option allows you to configure a subprocess to be either an automated aspect of a workflow, or to require operator interaction within the workflow process. When the manual start check box is cleared, the subprocess runs automatically when the workflow is activated. When this check box is selected, the workflow stops when a manual start subprocess is reached within the workflow. At this point, an operator is required to intervene in the process and complete an action before the workflow can continue.
Within a workflow definition, you can select a continuous option for the workflow instance. However, in a continuous loop, you cannot loop a single subprocess. During the continuous loop, every step from the preprocess to the postprocess is completed in the continuous loop cycle. You can, for example, put in conditional activities to facilitate a small loop inside of the subprocess in case a step is not completed or an error found.
Inputs and outputs of a subprocess can be linked from and to other subprocesses or execution cycle steps. For example, you can create a dependency on the output of subprocess1 for subprocess2, or the input of subprocess1 is dependent on the output of the preprocess or load steps. Therefore, you can ensure that at each step of the execution cycle, there are dependencies that must be met before the cycle can continue onto the next step.
Subprocesses also have a built-in completion code variable that is always tracked. While a subprocess is running, this variable can be set to any available completion code for a project. A default value must be supplied for this completion code.