How to Configure the Advanced Properties When Creating a Business Rule Component What Happens When You Create a Business Rule Task from Oracle BPM

17-4 Modeling and Implementation Guide for Oracle Business Process Management 5. Specify the Loop Cardinality: 1. Select the expression language. Possible options are Simple or XPath. 2. In the text area below, write the specifies the loop cardinality. Optionally you can write the condition using the Expression Builder. To launch the Expression Builder click the Expression Builder button next to the text area. 6. Optionally, you can specify the Completion Condition: 1. Select the expression language. Possible options are Simple or XPath. 2. In the text area below, write the condition that determines if the loop is completed. Optionally you can write the condition using the Expression Builder. To launch the Expression Builder click the Expression Builder button next to the text area.

7. Click the Browse button next to the Loop Data Output field, to specify the data

output. You can select a data object or an attribute in a complex data object to pass to the subprocess. Generally the selected data object is a collection of items.

8. Click the Browse button next to the Loop Data Input field, to specify the data

input. Select a data object or an attribute in a complex data object to assign the result of the subprocess. 9. Optionally, check the Is Sequential check box to specify that the each token must complete the subprocess before the next token starts to run the subprocess.

10. Click OK.

Adding Delays, Deadlines, and Time Based Cycles to Your Process 18-1 18 Adding Delays, Deadlines, and Time Based Cycles to Your Process This chapter describes how to use timer events to add time conditions to your BPMN process. It describes how to use the different timer events to add delays and deadlines, and to run additional activities. This chapter includes the following sections: ■ Section 18.1, Introduction to Timer Events ■ Section 18.2, Adding a Delay to the Process Flow ■ Section 18.3, Designing a Process to Start Based on a Time Condition ■ Section 18.4, Configuring a Deadline for an Activity ■ Section 18.5, Configuring a Deadline for a BPMN Process ■ Section 18.6, Running Additional Activities ■ Section 18.7, Configuring Timer Events

18.1 Introduction to Timer Events

Timer events enable you to control the flow of your process using a time condition. You can use timer events for: ■ Creating a delay before running an activity ■ Configuring a deadline for an activity ■ Configuring a deadline for a process ■ Triggering additional activities after an elapsed time ■ Start a process ■ Trigger a process periodically Timer events are not based on the business calendar definitions. Oracle BPM enables you to configure timers using: ■ A specific date and time You can configure a timer event to fire on a certain date. You can specify a specific date or use a function to calculate the it. ■ A relative time 18-2 Modeling and Implementation Guide for Oracle Business Process Management You can configure a timer event to fire after an elapsed time. You can specify the elapsed time or use a function to calculate it. If the timer event is a start event or a non-interrupting boundary event, then it fires multiple times. When you define a timer event as a boundary event you can choose to configure it as interrupting or non-interrupting. When an interrupting timer event fires, the token leaves the main process flow to follow the flow the timer defines. The flow an interrupting event defines, can resume the main process flow When an non-interrupting event fires, the BPMN Service Engine creates a copy of the token that is running the main process flow and routes that copy through the flow the timer event defines. The flow a non-interrupting event defines cannot resume the main process flow.

18.2 Adding a Delay to the Process Flow

You can add a delay to the process flow by adding an intermediate timer catch event. When the token arrives to the timer event it waits the time specified in the timer event before moving to the next activity in the process. For example, in a process that updates multiple data bases you might want to add a timer activity that delays the process a few minutes, to ensure that all databases are updated when the process continues. You can configure the intermediate timer catch event to wait until a specific date or to wait for a certain period. In both cases you can choose to use a fixed value or to use an expression that specifies the corresponding date or interval. When you configure a timer intermediate event as a cycle, the timer event only runs one time. It waits until the specified interval passes and then the token continues moving through the rest of the process flow. Figure 18–1 Delaying the Process Flow This diagram shows an intermediate timer catch event that adds a delay to the process flow. The token remains in the timer activity until the time specified in the timer event passes.

18.2.1 How to Add a Delay to the Process Flow

You can add a delay between to flow objects. To create a delay until a specified date in the process flow: 1. Locate the point in your process where you want to add the delay.

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

3. Drop the timer event in the point where you want to add the delay.

Adding Delays, Deadlines, and Time Based Cycles to Your Process 18-3 4. If you want to delay the process until a specific date, then you must configure the timer event as time date. If you want to delay the process for a certain period, then you must configure the timer start event as cycle. See Section 18.7.1, How to Configure a Timer Event To Use a Specific Date and Time for more information on how to configure a timer event as time date. See Section 18.7.3, How to Configure a Timer Event to Use an Interval for more information on how to configure a timer event as cycle.

18.2.2 What Happens When You Add a Delay to the Process Flow

A token that arrives to the intermediate timer event remains in the timer event until the time specified by the timer event arrives. If you configure the timer event to use a date, then the token remains in the timer event until the specified date. If you configure the timer event to use a cycle, then the token remains in the timer event until the specified time passes.

18.3 Designing a Process to Start Based on a Time Condition

You can add a timer start event to your process to configure it to be triggered based on a time condition. When the time condition specified in the timer start event evaluates to true, the BPMN Service Engine creates a new instance in the process. For example, in a process to report working hours you can add a timer start event that creates an instance in the process one time a day. You can configure your process to start on a specific date or to periodically create an instance. In both cases you can choose to use a fixed value or to use an expression that specifies the corresponding date or interval When deploying a process containing a timer start event specifying a past date, the BPMN Service Engine automatically creates an instance of the process. Figure 18–2 Starting a Process Based on a Time Condition This diagram shows a process that starts with a timer event. The timer start event creates an token each time its time condition evaluates to true.

18.3.1 How to Design a Process to Start Based on a Time Condition

You can design your process to start when a specific date arrives or to periodically start after a certain elapsed time. To design a process to start based on a time condition: 1. Open the BPMN process.

2. If you want your process to have a single start event, then you must right-click the

start event and select Change Trigger Type and then Timer.