Transaction cancelation

A transaction is a subprocess that is either completely passed through, undone, or canceled. A transaction is canceled if a cancel end event is reached within the subprocess of the transaction. If the transaction is canceled, the activities in the transaction are canceled and undone by the execution of compensation activities, that is, the original state is restored.

A cancel intermediate event modeled at the border of the transaction is triggered, and a process folder is routed through the outgoing flow of the event. If multiple cancel intermediate events exist, only one is triggered. If no catch event is found the simulation continues, but process folders are no longer forwarded for the affected instance.

A transaction is interrupted if an error end event is reached within the subprocess of the transaction, or if an event modeled at the border of the transaction is triggered. All activities of the transaction are canceled without compensation.