Troubleshooting
Problem
WMS: confirmShipment throws WMS00233:"Inventory does not exist or Inventory Status cannot be uniquely determined" error
Symptom
This error can occur when system tries to reduce
inventory and cannot find it at the respective location.
Probable scenario:
- Configure Pack planning for node with ‘SCM Not required for shipment container marking’ and ‘Do not apply SCM’.
- Configure task type to ‘pick onto equipment’ directly and ‘pack while pick’.
When the pick
task is completed by passing the target Pallet ID, an inventory container is
created at the target location. This is the shipment sort location.
On
confirming the shipment, system tries to remove inventory from the shipment
sort location (if the shipment is not packed).
However system does not
find the loose inventory in the sort location, and throws the
error.
WMS00233 : Inventory does not exist or Inventory Status cannot be uniquely
determined. [UniqueExceptionId='01010601312512448113702640000000002755']
[UserId : user1, ProgId : Console] com.yantra.yfc.util.YFCException at
com.yantra.wms.business.inv.WMSInventoryTarget.getTargetInventoryStatus(WMSInven
toryTarget.java:3043) at
com.yantra.wms.business.inv.WMSInventoryTarget.validateItemInv(WMSInventoryTarge
t.java:2973) at
com.yantra.wms.business.inv.WMSInventoryTarget.adjust(WMSInventoryTarget.java:50
9) at
com.yantra.wms.business.inv.WMSInventoryUpdateImpl.adjustLocationInventory(WMSIn
ventoryUpdateImpl.java:964) at
com.yantra.wms.api.WMSApiImpl.adjustLocationInventory(WMSApiImpl.java:148) at
sun.reflect.GeneratedMethodAccessor514.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:43) at java.lang.reflect.Method.invoke(Method.java:618) at
com.yantra.interop.services.api.ApiHelper.invoke(ApiHelper.java:504) at
com.yantra.integration.adapter.DefaultIntegrationFlow.invoke(DefaultIntegrationF
low.java:142) at
com.yantra.interop.services.api.ApiRequestDispatcher.invoke(ApiRequestDispatcher
.java:80) at
com.yantra.ysc.common.offline.YSCServiceCaller.callService(YSCServiceCaller.java
:61) at
com.yantra.ysc.common.offline.YSCServiceCaller.callApi(YSCServiceCaller.java:39)
at
com.yantra.wms.business.extensions.impl.ydm.WMSDeliveryInventoryUpdatesOnConfirm
ShipmentLinesEP.inventoryUpdatesOnConfirmShipmentLines(WMSDeliveryInventoryUpdat
esOnConfirmShipmentLinesEP.java:34) at
com.yantra.wms.business.extensions.impl.ydm.WMSDeliveryInventoryUpdatesOnConfirm
ShipmentLinesEP.contribute(WMSDeliveryInventoryUpdatesOnConfirmShipmentLinesEP.j
ava:24) at
com.yantra.ycp.core.YCPExtensionPointRegistry.invokeExtensions(YCPExtensionPoint
Registry.java:63) at
com.yantra.ydm.business.YDMChangeShipmentImpl.doInventoryUpdates(YDMChangeShipme
ntImpl.java:3169) at
com.yantra.ydm.business.YDMChangeShipmentImpl.confirmLines(YDMChangeShipmentImpl
.java:3146) at
com.yantra.ydm.business.YDMChangeShipmentImpl.doWMSConfirmUpdates(YDMChangeShipm
entImpl.java:3127) at
com.yantra.ydm.business.YDMChangeShipmentImpl.updateShipment(YDMChangeShipmentIm
pl.java:2864) at
com.yantra.ydm.business.YDMChangeShipmentImpl.handleChanges(YDMChangeShipmentImp
l.java:1840) at
com.yantra.ydm.business.YDMChangeShipmentImpl.changeShipment(YDMChangeShipmentIm
pl.java:328) at
com.yantra.ydm.business.YDMChangeShipmentImpl.confirmShipment(YDMChangeShipmentI
mpl.java:271) at
com.yantra.ydm.business.YDMConfirmShipment.confirmShipment(YDMConfirmShipment.ja
va:43) at
com.yantra.ydm.business.YDMConfirmShipment.confirmShipment(YDMConfirmShipment.ja
va:38) at com.yantra.ydm.api.YDMApiImpl.confirmShipment(YDMApiImpl.java:1244)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)</p
>
Resolving The Problem
1. Break LPN (Pallet / Case) in shipment sort
location using "Break LPN" action from the console. This will leave loose
inventory for reduction during confirmShipment.
2. Alternatively, if
breaking LPN is not feasible, error can be resolved with below changes to task
type configuration.
- Remove the ‘Pack While Pick' option
- Complete the task without passing the target Pallet ID / Case ID.
Inventory will be deposited in sort location as loose inventory.
No error will be thrown during confirming the shipment.
3. If
requirement is to move the shipment to "Packed"
status:
- Configure task type to ‘pick into a container’ and ‘pack while pick’.
- Complete the task by passing target Pallet ID / Case ID.
An outbound container is created in target
location and inventory is moved to pack bin.
Shipment moves to "Packed"
status.
Confirm shipment will be successful and inventory gets removed
from pack bin.
Historical Number
NFX6931
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21553223