Source: omninet.de ( Frank Munkert)
Chapter "10.5.1 Concepts" contains the following statement on page 234:
"Cancellation will terminate all running Activities and compensate all successfully completed Activities in the Sub-
Process it is applied to. If the Sub-Process is a Transaction, the Transaction is rolled back."
The standard, however, is a little bit vague about what actually triggers cancellation.
Here are just a few examples of scenarios in whose descriptions the standard applies the term "cancel":
- Throwing Cancel Event
- 'cancelRemainingInstances' attribute of Ad-Hoc Sub-Processes
- 'completionCondition' attribute of Multi-Instance Activities
- 'condition' attribute of ComplexBehaviorDefinitions
- 'isInterrupting' attribute of Start Events in Event Sub-Processes
- 'cancelActivity' attribute of boundary events
Do all these scenarios trigger a cancellation in the sense of the above mentioned statement?
This should be explained more precisely in the standard.
Furthermore, on page 301, there is this statement:
"Cancellation in turn can result in compensation of already successfully completed
portions of an active Activity, in case of a Sub-Process."
Why does the statement use "can result" instead of e.g. "always results"?
The standard should describe precisely under which circumstances cancellation results in compensation, and the circumstances under which cancellation does not result in compensation.
Reported: BPMN 2.0.2 — Thu, 5 Oct 2017 12:47 GMT
Updated: Wed, 18 Oct 2017 05:55 GMT