IBM Support

getInventoryMismatch should not delete Missed Out SupplyDetails (Supply Type, Lot or ShipByDate records)

Troubleshooting


Problem

getInventoryMismatch should not delete Missed Out SupplyDetails (Supply Type, Lot or ShipByDate records)

Symptom

PART: 5.0 SP2 HF6

getInventoryMismatch API deletes any missed out SupplyDetails records for a given Item in one run of the api

Simulation Steps.
1. create a lot controlled item avery_item3
2. create lot quantities for this item
Lot1 - 100 units and
Lot2 - 200 units

3. Now run getInventoryMismatch api as below

<InventorySnapShot ApplyDifferences="True">
<ShipNode CompleteInventoryFlag="N" ShipNode="SRG-Cal">
<Item ItemID="avery_item3" ProductClass="" UnitOfMeasure="">
<SupplyDetails LotNumber="1" Quantity="100" SupplyType="ONHAND" Tracked="Y">
</SupplyDetails>
</Item>
</ShipNode>
</InventorySnapSho t>

4. You will notice that the record for Lot=2 gets deleted completely.

Client has a situatuion where they cannot give all 5000 lots of the item in this XML for performance reasons.

There needs to be a way to tell the API that the SupplyDetails being passed is NOT a complete list ( CompareAllInventoryLotsFlag="N" )
So that the API does not delete the missed out Lots.


An added benefit of this parameter would be that it will allow the user to pass The supplyDetails for an item in two places in the same xml.
Once for supplytype ONHAND Once for supply Type Held. etc.

Cause

Resolving The Problem

This has been fixed in 5.0 sp2 HF6 and version above.
a new flag CompareAllInventoryLotsFlag has been introduced. This works at an InventoryItem level.

If you have an item 277
HELD 12
PO_PLACED 11
ONHAND 13

If you pass XML as below
<InventorySnapShot ApplyDifferences="Y">
<ShipNode CompleteInventoryFlag="Y" CompareAllInventoryLotsFlag="N" ShipNode="Lokesh2">
<Item ItemID="277" ProductClass="" UnitOfMeasure="">
<SupplyDetails Quantity="111" SupplyType="PO_PLACED"/>
</Item>
<Item ItemID="277" ProductClass="" UnitOfMeasure="">
<SupplyDetails Quantity="122" SupplyType="HELD"/>
</Item>
</ShipNode>
</InventorySnapShot>

Ple ase Note I have Not given anything for the ONHAND record.
This effectively wipes out the ONHAND record
after the api runs

I have for item 277
HELD 12
PO_PLACED 11
ONHAND 0

Deal is this
CompleteInventoryFlag="Y" - Works at a ShipNode level - any missing data Item/SupplyTime/Lot is wiped out
CompareAllInventoryLotsFlag="Y" Works at an Item level Under one Item tag - anything missing it wipes it out.

If you use a Y Y and try a
ItemA+SupplyX,
ItemA +SupplyY

Thats an unknown condition. You should give this as
ItemA
SupplyX
SupplyY

But a Y N and
ItemA+SupplyX,
ItemA +SupplyY

will work and bring inventory to sysnc with what you need.

[{"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

PRI49292

Product Synonym

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

Document Information

Modified date:
16 June 2018

UID

swg21522649