The events in the process have different triggers and results, and effect the flow of the process. You use events to indicate that a process has started or ended, or that the flow is delayed and is waiting for a certain time before resuming. You can also use events to represent the interaction between different processes.
To model events, perform the following high level procedure:
Create the event.
Assign a trigger to the event or configure the trigger time for intermediate timer events.
Use triggers to indicate the reason for an event to occur (for example, a message or an exception).
Define a start condition for a message event and a correlation condition for an intermediate message event.
Start Condition
Start conditions are defined for start message events to specify which messages can start a process. The start condition compares the payload of an incoming message to a predefined constant. For example, a start condition is configured to begin a process when an order for 10,000 units or more is received. When an order is received with a value of 10,000 or more, then the process begins. If the incoming order is less than 10,000 units, then the process does not start. You can also use the default value True, which means that any message can trigger the start event. Start conditions can be configured in great detail.
Correlation Condition
If you use intermediate message events in your process, you have to configure correlation conditions for them. A correlation condition matches an incoming message to the process context and evaluates which particular message the intermediate message event expects.
In contrast to other conditions, correlation conditions can only consist of equality predicates with the conjunction operator AND. The following example shows a correlation condition:
event/customerID = process/customerID AND event/orderItem = process/orderItem AND event/type = "ORDER".
Depending on the event type, an input or an output mapping may be required.