The removeOrder chain is triggered by the removeOrderChain processor of the performOrderModification chain.

The following sections describe each processor in the pipeline chain.

verifyOrderForRemoval

Verifies that the order is in an appropriate state for removal, that none of the shipping groups have been shipped, and that either none of the shipping groups are in a state of PENDING_SHIPMENT, or that the fulfiller’s AllowRemoveOrderWithPendingShipment property is true. If any of those conditions are not met, the chain stops execution. If all those conditions are met, the chain continues.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/VerifyOrderForRemoval

PipelineProcessor object: atg.commerce.fulfillment.processor.ProcVerifyOrderForRemoval

Transitions: Return value of 1 executes the sendModifyOrderForRemoval processor.

sendModifyOrderForRemoval

This processor iterates through each fulfiller, and then each shipping group within each fulfiller. It sets the state of the shipping group to REMOVED, and adds the modification to a modification list. After all the fulfillers have been processed, it sends out a ModifyOrderNotification message containing the modifications.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/fulfillment/processor/SendModifyOrderForRemoval

PipelineProcessor object: atg.commerce.fulfillment.processor.ProcSendModifyOrderForRemoval

Transitions: None. This is the last link in the chain and causes the PipelineManager to return to the caller.