Transitions use directional arrows that display the direction of the flow. An instance flows through a process by following the logic that applies to a transition.
| Notation | Transition | Description |
|---|---|---|
| Unconditional (Uncontrolled) | Instances flow through the transition without being affected by any conditions. In Oracle BPM, this is known as an uncontrolled flow. | |
| Unconditional (Default) | Instances flow through this transition when alternative condition transitions are not used. Oracle BPM automatically shows a default unconditional when at least one alternative condition flow is added to the flow object. | |
| Conditional | Instances flow through the transition if a specified condition is met. | |
| Business Rule | Instances flow through the transition if the specified dynamic business rule evaluates to true. | |
| Due (Timer) | Instances flow through the transition when a timer fires. | |
| Exception (Error) | Instances flow through the transition if an exception occurs. |
| Notation | Transition | Description |
|---|---|---|
| Compensate | Instances flow through the transition if compensation processing is required. The actions performed reverse (or undo) any work done in the previous flow object in the event that PBL-Method failure occurs. | |
| Message Based | Instances flow through the transition if a flow object that handles different argument sets receives a message. Available only from Begin or Message Wait events. | |
| Precedence | Only available in a Split-Join circuit. Copies within a Split-Join circuit can have a synchronization or a precedence. The precedence is represented by a dashed transition line and a solid arrowhead, not to be confused with the BPMN Message Flow, which begins with a circle and has an outline arrowhead. |
All flow objects at least have an outgoing unconditional transition so there is always a way to continue the process. However, in most processes, condition transitions are also used. When one or more condition transitions originate from a flow object, the remaining unconditional transition is shown as a default flow transition.
In this case, the condition transitions are evaluated first, and the unconditional transition is taken only if the condition transitions all evaluate to false. In programming terms, the default unconditional is like the else clause in an if-then-else construct.
Business rule transitions are evaluated before condition transitions, so if a business rule transition and a condition transition both evaluate to true, the business rule transition prevails.
Due transitions act separately. They "pull" the instance from the flow object as soon as a timer fires. In this case, all other outgoing transitions are ignored.