The Parallel Gateway in Context

Modeling Business Processes with Oracle BPM 6-31 Although the event based gateway enables you to plan that multiple events may occur in your process, within the process instance, only one event is triggered. When the first event in the event based gateway is triggered, then the path that follows that event is followed. By default, when you add an event-based gateway to a process, it is created with a timer and message catch event.

6.7.6.1 Starting a Process with an Event-Based Gateway

You can also use an event-based gateway at the beginning of a process to create a new process instance. This is similar to having multiple start events within a process. To enable an event-based gateway to create a new process instance, you must ensure the following: ■ You have enabled the Initiate property of the event-based gateway. ■ There are no incoming sequence flows to the event-based gateway. Although the event-based gateway can be used to create a new process instance, it does not accept data input from another process. Any data that must be passed to the process instance must be configured using the target events.

6.8 Controlling Process Flow Using Intermediate Events

This section describes intermediate events and describes how to use them to control the flow and behavior of your process.

6.8.1 Introduction to Intermediate Events

Unlike start and stop events, intermediate events occur during the flow of your process. There are two types of intermediate events: ■ Normal flow events Normal flow events occur within the normal flow of your process. ■ Boundary events Boundary events trigger an interruption with your process. Boundary events are associated with flow objects and can be configured to interrupt their normal behavior. Boundary events behave similar to sequence flows in that they are used to determine the path a process takes between flow objects. Boundary events can be divided into two types: interrupting and non-interrupting.

6.8.2 Introduction to the Timer Catch Event

Timer catch events enable you to control the flow of your process using a time condition. Possible uses of the time catch event include: ■ Creating a delay before running an activity. Note: If you delete an event-based gateway, any outgoing sequence flow are also deleted. However, the associated events are not deleted. 6-32 Modeling and Implementation Guide for Oracle Business Process Management ■ Configuring a deadline for an activity. ■ Configuring a deadline for a process. ■ Triggering additional activities after an elapsed time. Figure 6–40 shows the default notation for the timer catch event. Figure 6–40 The Timer Catch Event The timer catch event is represented by a two concentric circles with a clock icon in the middle. You can use timer event as boundary events on an activity. Timer events can be defined as either interrupting or non-interrupting boundary events. When an interrupting timer event fires, the token leaves the main process flow to follow the flow the timer defines. The flow that an interrupting can return directly to the main process flow. When an non-interrupting event fires, a copy of the token is created and passes through the flow the timer event defines. The flow that a non-interrupting event defines cannot return to the main process flow.

6.8.3 Introduction to the Error Catch Event

Error catch events are intermediate events used to handle an error that occurs within your process flow. Error catch events are always used as boundary events and can be attached to the following: ■ Service Tasks ■ User Tasks ■ Send Tasks ■ Receive Tasks ■ Script Tasks ■ Rules Tasks ■ Event Subprocesses ■ Subprocesses Error catch events are always interrupting, meaning that they interrupt the normal flow of a process. Figure 6–41 shows the default notation for the error catch event attached as a boundary event on a service task. Figure 6–41 The Error Catch Event as a Boundary Event on a Service Task