Resolution: In case of cancellation, the product specified in the order line is never decomposed to generate the child plan items. All child plan items are restored from the original plan and marked as cancelled. Child plan items are not generated in case of cancellation.
This can be seen with the following use case:
1). Send order.
2). Change catalog using different characteristics.
3). Send cancel.
Example with specific catalog:
PR_A -> (PCO) -> PR_B (seq 1), PR_C (seq 2)
Catalog1:
PR_A:
PR_A_Characteristic=PR_A_Characteristic_value
EPMR_ACTION_WITHDRAW=COMPENSATE
PR_B:
PR_B_Characteristic=PR_B_Characteristic_value
EPMR_ACTION_WITHDRAW=COMPENSATE
PR_C:
PR_C_Characteristic=PR_C_Characteristic_value
EPMR_ACTION_WITHDRAW=COMPENSATE
Catalog2:
PR_A:
PR_A_Characteristic=NEW_PR_A_Characteristic_value
EPMR_ACTION_WITHDRAW=IGNORE
PR_B:
PR_B_Characteristic=NEW_PR_B_Characteristic_value
EPMR_ACTION_WITHDRAW=IGNORE
PR_C:
PR_C_Characteristic=NEW_PR_C_Characteristic_value
EPMR_ACTION_WITHDRAW=IGNORE
Order:
PR_A (udfInOrderLine=true)
Before sending cancel the result is (planAfterCancel):
PR_B :complete
PR_C: execution
PR_A: pending
Same results with (plan2AfterCancel):
PR_B :execution
PR_C: pending
PR_A: pending
As FOM-2.1 behavior after cancel with new catalog there is no COMP plan items. Only the characteristics from product in order line (PR_A) are updated.
PR_A plan item:
PR_A_Characteristic=NEW_PR_A_Characteristic_value
EPMR_ACTION_WITHDRAW=IGNORE
PR_B plan item:
PR_B_Characteristic=PR_B_Characteristic_value
PR_A_Characteristic=PR_A_Characteristic_value
EPMR_ACTION_WITHDRAW=COMPENSATE
PR_C plan item:
PR_C_Characteristic=PR_C_Characteristic_value
PR_A_Characteristic=PR_A_Characteristic_value
EPMR_ACTION_WITHDRAW=COMPENSATE