Customizing to allow multiple manual adjustments in the getOrderPrice API
The default integration configuration supplies a manual adjustment apply policy, FixedReplacement, to the getOrderPrice API. A CSR can make a single adjustment against an order for each of the three adjustment types: LineAdjustment, OrderAdjustment, or ShipmentAdjustment. To support receipt of more than one order, line, or shipment manual adjustment, perform the following customization.
Procedure
-
In <INSTALL_DIR>\bin\resources.jar, open the file
GetOrderPriceToProcessOrderInput.xsl and locate the
CalculationInfo section. Replace the following at the line, order, and or
shipment level(s):
<_ord:AdjustmentApplyPolicy> <xsl:text>FixedReplacement</xsl:text>
with
<_ord:AdjustmentApplyPolicy> <xsl:text>FixedAdjustment</xsl:text>
- Restart the Sterling application.
Next, customize HCL Commerce.
- To enable the manual adjustment policy, run the applicable
SQL commands:
- For an order-level adjustment (OrderAdjustment):
UPDATE CALRANGE SET CALMETHOD_ID=-13 WHERE CALRANGE_ID=-11; UPDATE CALRLOOKUP SET VALUE=0 WHERE CALRLOOKUP_ID=-11;
- For a shipping-level manual adjustment (ShippingAdjustment):
INSERT INTO CALMETHOD VALUES (newidXXXXX, -1, -7, 'com.ibm.commerce.order.calculation.FixedAmountCalculationRangeCmd' , 'method for a shipping discount range returning a fixed discount' , 10, 'CalculationRange',NULL); UPDATE CALRANGE SET CALMETHOD_ID = newidXXXX; UPDATE CALRLOOKUP SET VALUE=0 WHERE CALRLOOKUP_ID=-12;
- For an order-level adjustment (OrderAdjustment):
- Refresh the registry or restart the server.