What Happens When You Configure a Timer Event to Use an Interval

19-6 Modeling and Implementation Guide for Oracle Business Process Management Figure 19–1 Boundary Error Catch Event This figure shows a business process that throws an exception when there is no stock for any of the items added to the cart. The user task has a boundary catch error event that handles the exception by back ordering the product and then resumes the main process flow.resume Event subprocesses also enable you to define data objects that you can access only from within the event subprocess, in the same way that subprocesses enable you to define their own data objects. Figure 19–2 shows a process that handles an error using a an event subprocess. Figure 19–2 Event Subprocess with a Start Error Event This figure three tasks that throw an exception when they are unable to write data to the user history. The process contains an event subprocess that handles the exceptions by suggesting the user to retry later and logging the error so that it is available for the system administrator to review it. Handling Errors 19-7

19.5.1 How to Handle an Exception Using a Boundary Error Catch Event

If you know that running a flow object can cause an exception, then you can design your process to handle the exception using a boundary error catch event. To handle an exception using a boundary error catch event: 1. Create an exception handling flow. After handling the exception, this flow can resume the main process or end the process.

2. From the Component Palette, from the Catch Events section select Error Event.

3. Drop the error event over the task that throws the exception. You can place the event in any part of the border of the task. When you drop the error event, a sequence flow appears that you can connect to the exception handling flow. 4. Connect the sequence flow to the exception handling flow. 5. Right-click the boundary catch error event.

6. Select Properties.

7. Click the Implementation tab.

8. Configure the implementation properties to catch a business or system exception. For information on how to configure the implementation properties to catch business exceptions, see Section 19.5.5, How to Configure an Error Event to Catch Business Exceptions . For information on how to configure the implementation properties to catch system exceptions, see Section 19.5.6, How to Configure a Catch Event to Catch System Exceptions .

19.5.2 What Happens When You Handle an Exception Using a Boundary Catch Event

If the BPMN Service Engine encounters an error while running a task that has a boundary error catch event attached, then it follows the flow defined by the boundary error catch event. The exception handling flow defined by the boundary error catch event can re-join the main process flow or end the process.

19.5.3 How to Handle an Exception Using an Event Subprocess

You can use an event subprocess to handle an exception that can occur while running any of the flow objects in your BPMN process. To handle an exception using an event subprocess: 1. From the Component Palette, from the Activities section, select Event Subprocess. 2. Drop the event subprocess in the process. 3. Right-click the start event of the event subprocess.

4. Select Properties.

5. Click the Implementation tab.

6. From the Implementation Type list, select Error.

7. Configure the implementation properties to catch a business or system exception.