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
   307   308   309   310   311   312   313   314   315   316   317