The splitShippingGroupsFulfillment chain splits shipping groups according to the fulfillment systems that handle each of the particular items within each shipping group.

The following sections describe each processor in the pipeline chain.

retrieveShippingGroupsToBeSplit

Iterates through the shipping groups contained within the order and determines if the entire shipping group can be fulfilled by one fulfiller. It does this using the isShippingGroupSingleFulfiller method of the OrderFulfillmentTool. Those shipping groups that cannot be fulfilled by one fulfiller are placed as an ArrayList in the pipeline’s pParam map parameter, with the key being the pipeline’s SHIPPINGGROUPIDS constant.

Transactional mode: TX_MANDATORY

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

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

Transitions: Return value of 1 executes the splitShippingGroupsForFulfillment processor.

splitShippingGroupsForFulfillment

Sends the ArrayList generated in the previous processor to splitShippingGroupsByFulfiller method of OrderFulfillmentTools, which does the actual splitting of the shipping groups, keeping track of the changes through a Modification list.

Transactional mode: TX_MANDATORY

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

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

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