Commerce Service Center adds four calculators which are used for pricing exchange orders. There are two item pricing post calculators in /atg/commerce/custsvc/pricing/calculators
:
ExchangePromotionEvaluationUpdateCalculator
– This calculator executes the process that updates the Promotion Evaluation Order. This process copies the exchange items into the Promotion Evaluation Order and then re-prices it. This results in exchange item pricing in accordance to other items still owned by the customer and any item promotions that may applyExchangeItemAdjustmentCalculator
– This calculator copies pricing information for each exchange item from the Promotion Evaluation Order to the exchange order
There are two order pricing post calculators in /atg/commerce/custsvc/pricing/calculators
:
ExchangeOrderAdjustmentCalculator
– This calculator applies order promotions to the exchange order that are applied to the Promotion Evaluation Order. The promotion adjustment value is based on the order discount share value applied to the exchange itemsExchangeOrderDiscountCalculator
– This calculator applies manual adjustments that are applied to the Promotion Evaluation Order to the exchange order. The manual adjustment value is based on the manual adjustment share value applied to the exchange items
The ItemPricingEngine
configuration contains the ExchangeItemAdjustmentCalculator
item pricing calculator. This calculator adjusts the ItemPriceInfo
of an item in the Exchange Order based on pricing of the corresponding item in the PEO and copies that information from the PEO to the ItemPriceInfo
created for the exchange item. This includes the amount, all PricingAdjustments
and DetailedItemPricingInfos
. This prices the item in the Exchange Order with the exact pricing it received in the PEO, including any item level promotions that may have been applied.
If manual adjustments are applied to the Promotion Evaluation Order, they are applied to the exchange order by the OrderPricingEngine
post calculator OrderAdjustmentCalculator
. This calculator implements priceOrder
to trigger the calculation or the manual adjustment value map when pricing an Exchange Order, then determines if manual adjustments should be applied to the exchange order. If necessary, the calculator overrides the adjustOrderSubTotal
to adjust the order subtotal based on the pre-calculated value of each manual adjustment.