IBM Support

DCM: getOrderList not using filter References

Troubleshooting


Problem

DCM: getOrderList not using filter References

Symptom

PART: API-OM 5.0 SP2 Platform
PRODUCT: Supply Collaboration
COMPONENT: getOrderList

getOrderList api can be used to fetch Order details.
Yantra supports Order References
Where we can link multiple Name Value pairs as Reference Values.
These get saved into YFS_REFERENCE_TABLE with tablename YFS_ORDER_HEADER and TableKey=OrderHeaderKey.
Now after such an Order is created if you were to try to retrieve it and display the results.
The getOrderList api does not recognize this filter at all.

Yantra always supported Reference fields. In OrderHeader/ OrderLine /and ?Order Release
So a search by linked Reference fields should also be supported.

Steps to reproduce this test.
1. Create an Order 001 which has Order Reference say PromotionCode
<Order ...Orderdate="20040715">
<References>
<Reference Name="PromotionCode" Value="Buy 1 Get 1 Free"/>
<Reference Name="FreqShopperID" Value="C3PO"/>
</References>
</Order>

2. Create another order 002 with same Date but different Order Reference say StoreID

3. Check and make sure the Order and Reference details have been saved correctly

4. Run getOrderList with the following filter


<Order EnterpriseCode="DEFAULT" OrderHeaderKey="" OrderName="" OrderDate="20040715" OrderType="">
<References>
<Reference Name="PromotionCode"/>
</References>
</Order>

5. Use a template to limit the output

<OrderList>
<Order EnterpriseCode="" OrderName="" OrderNo="">
<References>
<Reference Name="" Value=""/>
</References>
</Order>
</OrderList>

6. The expected result is that only OrderNo 27687OrderReferences001 should be fetched, instead we see that
27687OrderReferences001 and 27687OrderReferences002


<OrderList LastOrderHeaderKey="20040715145531451766" LastRecordSet="Y" ReadFromHistory="" TotalOrderList="2" YFC_Locale_Code="en_US_EST">
<Order EnterpriseCode="DEFAULT" OrderName="" OrderNo="27687OrderReferences001">
<References>
<Reference Name="PromotionCode" Value="Buy 1 Get 1 Free" />
<Reference Name="FreqShopperID" Value="C3PO" />
</References>
</Order>
<Order EnterpriseCode="DEFAULT" OrderName="" OrderNo="27687OrderReferences002">
<References>
<Reference Name="OrderSplCategory" Value="AnnualChristmasSale" />
<Reference Name="StoreID" Value="Nyack,NY" />
</References>
</Order>
</OrderList>

Cause

Resolving The Problem

The getOrderList api does NOT support search by references.
Search by this unstructured data seems to be a major performance drag and surely not the best of designs.
As a workaround, we have advised the client to proceed with a single pair for initial go live. In 7.1 we are delivering an ability to use OR in a search clause that can help ameliorate this problem

[{"Product":{"code":"SS6PEW","label":"IBM Sterling Order Management"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

PRI49443

Product Synonym

[<p><b>]Fact[</b><p>];

Document Information

Modified date:
16 June 2018

UID

swg21528459