Troubleshooting
Problem
Attempts to add an item to an order creates a orderline with empty CostCurrency in in IBM Sterling Order Management System.
Symptom
Steps to reproduce:
- Create a purchase order for a new item which does not exists in the system, with below mentioned input xml :
<Order Action="CREATE" BuyerOrganizationCode="DEFAULT" CustomerPONo="1" Division="A" DocumentType="0005" EnteredBy="A" EnterpriseCode="DEFAULT"
OrderType="Drop Ship" ReceivingNode="NODE_DEFAULT" ReqDeliveryDate="2017-02-16" SellerOrganizationCode="DEFAULT" ShipNode="N">
<OrderLines>
<OrderLine CustomerItem="A" CustomerLinePONo="1" LineType="Regular" OrderedQty="1" ReqDeliveryDate="2017-02-16">
<Item ItemID="AAA" UnitOfMeasure="EACH"/>
<LinePriceInfo UnitPrice="3"/>
<PersonInfoShipTo Country="US"/>
</OrderLine>
</OrderLines>
<PersonInfoBillTo Country="US"/>
</Order>
- Run below mentioned query in DB :
> select COST_CURRENCY from YFS_ORDER_LINE where order_header_key='2016021013250699065';
If same process is performed for item which exists in the system then cost currency is getting set correctly.
Cause
The item present in the system does not have CostCurrency set on it. I
Diagnosing The Problem
The CostCurrently is set on the OrderLine only when the item present in the system has CostCurrency set on it. If item present in the system doesn't have CostCurrency, the order line also won't have this stamped.
Resolving The Problem
Product has a User Exit (YCMGetItemDetailsUE) invoked as part of createOrder API, if the item doesn't exist in the system, tis User Exit can be used to provide any details about the item that doesn't exist in the system including CostCurrency.
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg22007216