The performIdTargetModification chain is triggered by a ModifyOrder message that includes a modification of type IdTargetModification.

The following sections describe each processor in the pipeline chain.

handleModificationTargetType

This processor determines which processor to pass control to by looking at the TargetType property of the IdTargetModification. If the TargetType is TARGET_ORDER, then control passes to performOrderModificationChain. If the TargetType is TARGET_SHIPPING_GROUP, control passes to performShippingGroupModification. If the TargetType is TARGET_ITEM, control passes to performItemModification. If TargetType is TARGET_RELATIONSHIP, control passes to performRelationshipModification. If TargetType is none of the above types, control passes to modificationNotSupported1.

Transactional mode: TX_MANDATORY

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

PipelineProcessor object: atg.commerce.pricing.processor.ProcSendScenarioEvent

Transitions: Return value of 1 executes the performOrderModificationChain processor. Return value of 2 executees the performShippingGroupModification processor. Return value of 3 executes the performItemModification. Return value of 4 executes the performRelationshipModification processor. Return value of 5 executes the modificationNotSupported1 processor.

performOrderModificationChain

This processor executes the performOrderModification chain. After execution, the execution of this chain stops.

Transactional mode: TX_MANDATORY

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

PipelineProcessor object: atg.commerce.order.processor.ProcExecuteChain

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

performShippingGroupModification

Determines the appropriate fulfiller for the shipping group of the modification, and sends a ModifyOrder message to that fulfiller. Execution of this chain then stops.

Transactional mode: TX_MANDATORY

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

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

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

performItemModification

Item modifications are not currently supported, so this processor sets the status of the particular modification to STATUS_FAILED and adds the modification to the list to be sent back in a ModifyOrderNotification message. Execution of this chain then stops.

Transactional mode: TX_MANDATORY

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

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

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

performRelationshipModification

Determines the appropriate fulfiller for the shipping group involved in the ShippingGroupCommerceItem relationship the modification is requested for, and sends a ModifyOrder message to that fulfiller. Execution of this chain then stops.

Transactional mode: TX_MANDATORY

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

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

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

modificationNotSupported1

Sets the status of the particular modification to STATUS_FAILED and adds the modification to the list to be sent back in a ModifyOrderNotification message. Execution of this chain then stops.

Transactional mode: TX_MANDATORY

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

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

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