Call Activity
Reusable Subprocess
The normal use of a Call Activity is to create a "reusable subprocess" by invoking another process defined in the user’s workspace. A regular subprocess is not reusable, meaning it may not appear more than once in the process model. Instead, a Call Activity invokes a selected BPMN process in the workspace as a reusable subprocess, in the same way that a Business Rule task invokes a selected DMN decision or decision service in the workspace. When used in this way, a Call Activity shape is dragged onto the diagram from the Shapes panel and configured. When configured as a reusable subprocess, the shape has a bold border, a chevron task type icon, and a lock icon siginifying the binding to a process.
Task Configuration
Configuring a Call Activity as a reusable subprocess begins with defining the reused flow as a top-level process in the workspace. If it is already defined, click the Workflow action on the BPMN ribbon and select Link to Existing Process.
This opens up the Digital Enterprise Graph, from which you select the process to invoke.
The task inputs are defined as the data inputs of the invoked process. You cannot change them. They appear in the first column of the Mapping section of the input data mapping. Process variables with incoming data associations are listed in the Context section.
The task outputs are defined as the data outputs of the invoked process. Again, you cannot change them. They appear in the Context section of the output data mapping. Process variables with outgoing data associations are listed in the first column of the Mapping section.
Global Task
A less common use of a Call Activity is to create a global task. Like a subprocess, several task types, notably User tasks, are not reusable unless you declare them to be global by using the Attributes/Call Activity action on the task.
Now the task is displayed with a bold border and the original task type icon. With the Call Activity attribute set, you can click on the Global Task context menu action to configure the task.
The global task inputs and outputs are defined by the original task. Each instance of the global task may have different data mappings.