The following section includes diagrams that describe how processor chains work together in the fulfillment system, as specified in the <ATG10dir>/Fulfillment/atg/commerce/fulfillment/fulfillmentpipeline.xml
configuration file.
The handleSubmitOrder
chain is triggered when the OrderFulfiller
receives a SubmitOrder
message. It branches to either splitShippingGroupsFulfillment
or executeFulfillOrderFragment
.
This series of chains is triggered when the OrderFulfiller
receives a ModifyOrder
message:
handleModifyOrder
performIdTargetModification
performOrderModification
removeOrder
The following series of chains is triggered by OrderFulfiller
receiving a ModifyOrderNotification
message.
![](media/image28.png)
The following series of chains is triggered when the HardgoodFulfiller
receives a FulfillOrderFragment
message.
![](media/image29.png)
This series of chains is triggered when HardgoodFulfiller
receives an UpdateInventory
message:
handleHardgoodUpdateInventory
handleOrderWaitingShipMap
processHardgoodShippingGroup
The following series of chains is triggered when HardgoodFulfiller
receives a ModifyOrder
message.
![](media/image30.png)
This series of chains is triggered when HardgoodFulfiller
receives a ModifyOrderNotification
message:
handleHardgoodModifyOrderNotification
handleHardgoodShipGroupUpdateModification
processHardgoodShippingGroup
By default, the following series of chains is not triggered by the fulfillment system. This series of chains is provided as a resource for users extending the fulfillment system:
shipPendingShippingGroups
shipShippingGroup
shippingGroupHasShipped
The following series of chains is triggered when an ElectronicFulfiller
receives a FulfillOrderFragment
message:
handleElectronicFulfillOrderFragment
prcoessElectronicShippingGroup
allocateElectronicGood
By default, the following series of chains is not triggered by the fulfillment system. This series of chains is provided as a resource for users extending the fulfillment system:
processElectronicShippingGroups
processElectronicShippingGroup
allocateElectronicGood