The updateOrder pipeline saves the Order supplied to it. The updateOrder pipeline chain is executed by the updateOrder() method in the OrderManager. The updateOrder() method adds the given Order and the OrderManager to its parameter list, which is supplied to the executing chain. The pipeline chain’s transaction mode is TX_REQUIRED.

The following sections describe each processor in the pipeline chain.

updateOrderObject

Saves the properties in the Order object.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveOrderObject

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

Transitions: return value of 1 executes updateCommerceItemObjects.

updateCommerceItemObjects

Saves the properties in the CommerceItem objects in the Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveCommerceItemObjects

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

Transitions: return value of 1 executes updateShippingGroupObjects.

updateShippingGroupObjects

Saves the properties in the ShippingGroup objects in the Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveShippingGroupObjects

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

Transitions: return value of 1 executes updateHandlingInstructionObjects.

updateHandlingInstructionObjects

Saves the properties in the HandlingInstruction objects in all the ShippingGroups in the Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveHandlingInstructionObjects

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

Transitions: return value of 1 executes updatePaymentGroupObjects.

updatePaymentGroupObjects

Saves the properties in the PaymentGroup objects in the Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SavePaymentGroupObjects

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

Transitions: return value of 1 executes updatePaymentStatusObjects.

updatePaymentStatusObjects

Saves the properties in the PaymentStatus objects in all the PaymentGroups in the Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SavePaymentStatusObjects

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

Transitions: return value of 1 executes updateRelationshipObjects.

updateRelationshipObjects

Saves the properties in the Relationship objects in the Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveRelationshipObjects

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

Transitions: return value of 1 executes updatePriceInfoObjects.

updatePriceInfoObjects

This processor saves the properties in the OrderPriceInfo and TaxPriceInfo objects in the Order, the ShippingPriceInfo object in the ShippingGroups, and the ItemPriceInfo object in the CommerceItems.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SavePriceInfoObjects

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

Transitions: return value of 1 will execute updateCostCenterObjects next

ProcSavePriceInfoObjects includes an orderStateSaveModes property, which you can use to map order states (see Order States in the Working With Purchase Process Objects chapter) to save modes,which determine which types of PriceInfo object are saved. The valid save modes are:

  • ALL—Saves all PriceInfo types.

  • ALL_NO_AUDIT—Saves all PriceInfo types, but does not save audit trail information (pricing adjustments and detailed price info objects)

  • ORDER—Saves only the OrderPriceInfo object (not shipping, item, tax)

  • ORDER_NO_AUDIT—Saves only the OrderPriceInfo object, with no audit information

  • NONE—Saves no pricing information

For example:

orderStateSaveModes=INCOMPLETE=ALL_NO_AUDIT

ProcSavePriceInfoObjects also includes a defaultSaveMode to use if the current order state does not have an entry in the orderStateSaveModes map.

updateCostCenterObjects

Transactional Mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveCostCenterObjects

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

Transitions: return value of 1 execute saveManualAdjustments.

saveManualAdjustments

Updates the order for any manual adjustments made by agents in Oracle ATG Web Commerce Service Center. If you are not using Commerce Service Center, this step does not apply. See Warning below.

Transactional Mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SaveManualAdjustments

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

Transitions: return value of 1 execute setLastModifiedTime.

Warning: Manual adjustments are changes to an order made by an agent using Oracle ATG Web Commerce Service Center. Manual adjustments are applied unconditionally by the OrderAdjustmentCalculator (see the ATG Commerce Service Center User Guide for information on this class). Once an adjustment has been added, it affects the order’s price regardless of the order’s contents. If an adjustment is applied to an incomplete order, changes at checkout time do not affect the adjustment; for example, if a $20 credit is manually applied to an incomplete order, and the customer removes items, the order could end up with a $0 total. By default, the processor is configured not to save manual adjustments for incomplete orders, in which case the adjustment is discarded if the agent does not check out the order. However, this behavior is configurable. If you want to apply manual adjustments to incomplete orders, set the saveIncompleteOrderAdjustments property to true in the /atg/commerce/order/processor/SaveManualAdjustments component. To save manual adjustments for orders in additional states, adjust the configuration of the incompleteStates property.

# The processor will save the manual adjustments to the repository for orders
# in these states, depending on the value of saveIncompleteOrderAdjustments.

incompleteStates^=/atg/commerce/order/OrderLookupService.incompleteStates

# The processor will save the manual adjustments to the repository for orders
# in the configured incomplete states if this property is true. Otherwise, the
# manual adjustments are not saved for incomplete orders.

saveIncompleteOrderAdjustments=false
setLastModifiedTime

Sets the lastModifiedTime property of an Order to the current time if any changes were made to an Order.

Transactional mode: TX_MANDATORY

Nucleus component: /atg/commerce/order/processor/SetLastModifiedTime

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

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


Copyright © 1997, 2012 Oracle and/or its affiliates. All rights reserved.

Legal Notices