COMPENSATE_RESTART
This EPMR action is assigned as the value of an EPMR characteristic if a compensatory as well as a redo plan item is to be created against an existing plan item as a part of the amendment processing.
Compensatory Plan Item
The purpose of a compensatory plan item is to compensate, or reverse, the tasks that were done by the existing plan item before the amendment request was initiated. The important aspect of a compensatory plan item are as follows:
- The planItemId of the compensatory plan item is derived using the planItemId of the existing plan item and has the following format: COMP-<amendment number>_<planItemId of the existing plan item>. For example, if the planItemId of the existing plan item is 04ceddc8-60fc-4800-82b9-4f3382400000 and a compensatory plan item is created against it during the first amendment request, the planItemId assigned to that compensatory plan item will be COMP-1_04ceddc8-60fc-4800-82b9-4f3382400000.
- The action and planFragmentUniqueID (processComponentID) in the compensatory plan item is assigned on the basis of the action in the existing plan item, which is described in the following table:
- The compensatory plan
item, by default, will have a simple END-START point dependency on the existing
plan item being cancelled, as shown in the following figure. This is to ensure
that the compensatory task should be started only after the existing task,
being executed, is activated and cancelled.
Dependency between the compensatory plan item COMP-1_P1 and the existing plan item P1 that will be cancelled
In order to enable the backward compatibility of having no dependency in the compensatory plan items in TIBCO Fulfillment Order Management 2.0.x, the flag NoDependencyInCOMPPlanItems must be set in AOPD configurations. Refer topic Amendment Configuration Flags to understand the significance of each flag.
- The action and the processComponentID in the existing plan item will be set to CANCEL and NO_RECIPROCAL_ACTION respectively so as to cancel the existing plan item. Note that the Orchestrator changes the processComponentID to NO_RECIPROCAL_ACTION only for the PENDING plan items that are cancelled. The processComponentID for the SUSPENSED plan items remain the same.
Redo Plan Item
The sole purpose of a redo (restarting) plan item is to restart or redo the tasks that were supposed to be done in the existing plan item before the amendment request was initiated. The important aspects of a redo plan item are as follows:
- The planItemId of the redo plan item is derived using the planItemId in the existing plan item and has the following format: REDO-<amendment number>_<planItemId of the existing plan item>. For example, if the planItemId of the existing plan item is 04ceddc8-60fc-4800-82b9-4f3382400000 and a redo plan item is created against it during the first amendment request, the planItemId assigned to that redo plan item will be REDO-1_04ceddc8-60fc-4800-82b9-4f3382400000.
- The action in the redo plan item is the one that is passed in the corresponding order line in the amendment request.
- The planFragmentUniqueID (processComponentID) in the redo plan item is the same as the one in the existing plan item, except in case of order line action change amendments. In such cases, the plan fragment associated with the action in the amendment request is assigned in the redo plan item.
- The redo plan item will always have a simple END-START point dependency on the compensatory plan item that is created, as shown in the following figure. This ensures that the designated tasks is restarted only after the compensatory tasks are finished.
In case of OrderLine Cancellation or Entire Order Cancellation, even if the EPMR action is COMPENSATE_RESTART, only compensatory plan item will be created. There is no need to create a redo plan item as the order line, or the entire order will be cancelled.