Show TOC

Procedure documentationModeling Embedded Sub-Processes Locate this document in the navigation structure

 

An embedded sub-process is a compound activity that is defined as a flow of other activities. This compound activity can be expanded to show the contained flow of activities and collapsed to improve the appearance of the parent process. The embedded sub-process is dependent on the parent process and cannot be executed standalone like the referenced sub-process. The embedded sub-process has a local process context of data objects, which is not visible to the parent and root processes. The process context of the parent and root processes however, is visible for the embedded sub-process. For more information about process context, see Process Context.

You can further embed another sub-process in an embedded sub-process and another one down the line, and so on, to create a hierarchy. Therefore you can have multiple parent processes but only one root process at the top. An embedded sub-process in the hierarchy has access to the process contexts of all its parent processes and the root process. You do not define data mapping between a parent process and an embedded sub-process.

Because the embedded sub-process depends on other process, it does not have all the features of an independent business process. You cannot define participants and roles in an embedded sub-process, which means that you cannot use pools and lanes. The embedded sub-process can have multiple outgoing tokens. If, for example, there is a parallel split gateway inside the embedded sub-process, all tokens that reach the end event continue outside the embedded sub-process.

The embedded sub-process can contain only a subset of the events available in the process composer. The following table shows the events and event triggers you can use in an embedded sub-process:

Start Events

Intermediate Events

End Events

1 None (without a trigger)

0..n Timer

1..1 None

0..n Escalation

You can use an embedded sub-process and its local context to model exceptions and exception handling. Exceptions are of type escalation only and can be handled by boundary events. You can place a boundary event on the boundary of the embedded sub-process where the escalation is thrown, or on the boundary of a parent process up in the hierarchy. For more information about exceptions and exception handling, see Modeling Exceptions and Exceptions Handling.

Prerequisites

  • You have opened the Process Development perspective in the SAP NetWeaver Developer Studio and have expanded your project in the Project Explorer view.

  • You have created a process to use as a parent process for the embedded sub-process. For more information, see Creating a Process.

Procedure

  1. Expand Process Modeling, then expand Processes.

  2. In the context menu of the process that you use as a parent process, choose Open.

  3. Expand Flow Objects from Palette.

  4. Choose Embedded Sub-Process from the dropdown menu containing all the activities, and click the modeling surface.

    The embedded sub-process appears expanded in the place you clicked and contains a start and an end event without a trigger. You can continue modeling the activities, gateways, and artifacts you want to include in the embedded sub-process.

    Note Note

    You can collapse the embedded sub-process to simplify the look of the parent process. To do that, point your mouse pointer over the embedded sub-process. The speed buttons around the sub-process appear. Click the Collapse button. To expand a collapsed sub-process, repeat the above steps and click the Expand button. For more information about speed buttons, see Accelerated Modeling with Speed Buttons.

    When the embedded sub-process is expanded, you can format it to align the objects it contains. For more information about formatting, see Formatting the Process Model.

    End of the note.
  5. (Optional) Select the expanded embedded sub-process and use the points on the boundary to resize the embedded sub-process, or to include more objects in it if necessary.