Page 312 -
P. 312
308 M. Adams
Fig. 11.12 The Carrier Appointment subnet, Order Fulfillment process (portion)
11.7.1 Constraints Example
As soon as the Engine launches a case, it notifies the Exception Service of a new
case instance via a PreCaseConstraint event. If the rule set for Order Fulfillment
process contained a rule tree for pre-case constraints, that tree will be queried using
the initial case data to determine whether there are any pre-constraints not met by
the case. In this example, there are no precase constraint rules defined, and so the
notification is simply ignored.
Pre-case constraints can be used, amongst other things, to ensure that case data
is valid or is within certain ranges before the case proceeds; can be used to run
compensatory worklets to correct any invalid data; or may even be used to cancel
the case as soon as it starts (in certain circumstances, if required).
As each work item becomes enabled during the execution of a process, the engine
notifies the service of a PreItemConstraint for it. Like pre-case constraint rules,
preitem rules can be used to ensure that work items have valid data before they
are executed. With each constraint notification, the entire set of case data is made