Introduction to Predecessors

Predecessor links are dependencies you add to components in a process flow, or to standalone jobs. The simplest and most common form of predecessor links are automatically created when building process flows. Additional predecessor features allow for greater complexity and versatility. Predecessor links control the order in which the components in a process flow execute.

Predecessor links are dependencies you add to components in a process flow, or to standalone jobs. You can create predecessor links.

When creating predecessor links, you determine the predecessor link type, which specifies its requirement and how it integrates with the other predecessor tasks.

Automatically Adding Internal Predecessors by Building Process Flows

Applications Manager relies on predecessor links to determine execution order. By default, when you add a component to a process flow, it is added with an internal success predecessor link as shown below.

Predecessor links control execution order.

The components execute as you would expect from looking at the diagram: execution starts at the top and works down to the bottom. Components in the same row are eligible to execute at the same time. Internal predecessors that are added by building process flows are the most commonly used and easily understood predecessors.

Manually Adding Internal Predecessors to Process Flow Components

After adding components to a process flow, you may want to create additional links within the process flow. This is done by manually adding internal predecessor links. For more information, see Adding Internal Predecessor Links in Process Flows.

Manually Adding External Predecessors to Jobs and Process Flows

You can also add predecessor links to jobs, process flows, and process flow components outside the process flow. These are called external predecessor links. In the image above, there is an external predecessor link to a job. You can create external predecessor links for a standalone job from the Jobs window and for non-running tasks in the Backlog. When you add external predecessor links to tasks in the Backlog, the predecessors are only applied to that running of the task. They do not affect the job or process flow definition. For more information on external predecessor links, see Adding and Editing External Predecessor Links.

Specifying Predecessor Link Types

There are several types of predecessor links. The Success link is the default and is acceptable in the majority of cases, but you may want to change the type. For example, you may want to change the link type to Failure to run a task when another task fails.

Depending on the predecessor link type, the predecessor link will:

The only predecessor type that does not take the virtual day into consideration is the Success since last run type. Since internal predecessors exist within the same process flow, they are by definition, within the same virtual day. For this reason, the Success since last run link type is not available for internal predecessors. For more information on predecessor link types, see Understanding Predecessor Execution Rules.

Predecessors are Evaluated Based on the Virtual Day

The virtual workday is a point in time each day that limits how far back Applications Manager will search in the Backlog and History for a predecessor. A task's virtual day is determined by the original start time of that task, not when the task is inserted into the Backlog.

Predecessors (other than Success since last run) are constraints within the same virtual day. A predecessor link is considered met when the predecessor task is not scheduled to be run in that virtual day as long as the predecessor has a schedule associated with it. When tasks are staged, their start time is set to their scheduled start time. For more information on the virtual workday, see Understanding the Virtual Workday.

Integrating Multiple Predecessors

When a job, process flow, or process flow component includes multiple predecessor links, you decide how they work together. For more information on working with multiple predecessor links, see Using the Predecessor Editor Box. An example of an advanced predecessor use case is described in Evaluating Predecessors on Select Days.