Question:
INCIDENT
REPORT
[Dyna Drug Corporation] No Allocation for 10001178
Fissan Extra Cool Powder 50g 48'
Affected Environment:
PROD
Affected warehouse:
1120
Screenshots of error messages:


Time when issue occurred:
1:25PM
Affected module:
Outbound
Detailed description of issue:
Despite having sufficient inventory for SKU 10001178
Fissan Extra Cool Powder 50g 48', the system does not trigger allocation (auto
or manually).
First level investigation/troubleshooting
taken:
Case replication in original warehouse:
N/A
Answer:
Findings:
When checking debug log, the
'=' in filter criteria "INV_LOT_ATT.lotAtt01 = '2024-02-06' causes the problem.
The SKU master 10001178 Shelf Life Type is set to "Manufacturing Date" (lotatt01) and Rotation ID set to "FEFO"
When check the Rotation ID "FEFO", it does not have the setting for Manufacturing Date (lotatt01)
There are 2 solutions to this:
1)
If they use the SKU shelf life type as "Manufacturing Date" = lotatt01, then they need to go RotationID and add lotatt01 and select Fuzzy match.
2) If they change the the SKU shelf life type to "Expiration Date" = lotatt02, it will be able to allocate as RotationID FEFO already has the lotatt02 setting.
Customer is able to allocate after changing the SKU shelf life type to "Expiration Date".
Checking with flux.
Findings:
1) The existing inventory does not fill the mandatory fields.
2) There is a filter criteria "INV_LOT_ATT.lotAtt01 = '2024-02-06' " due to SKU master 10001178 Outbound Life Days = 91.
SELECT
INV_LOT_LOC_ID.lotNum,
INV_LOT_LOC_ID.locationId,
INV_LOT_LOC_ID.traceId,
INV_LOT_LOC_ID.qty,
INV_LOT_LOC_ID.qtyAllocated,
INV_LOT_LOC_ID.qtyRpIn,
INV_LOT_LOC_ID.qtyRpOut,
INV_LOT_LOC_ID.qtyOnHold,
INV_LOT_LOC_ID.netWeight,
INV_LOT_LOC_ID.GrossWeight,
INV_LOT_LOC_ID.cubic,
INV_LOT_LOC_ID.price,
INV_LOT_LOC_ID.qtyMvOut,
BAS_LOCATION.locationUsage,
BAS_LOCATION.workingArea,
INV_LOT_LOC_ID.cubic,
INV_LOT_LOC_ID.grossWeight,
INV_LOT_LOC_ID.netWeight,
INV_LOT_LOC_ID.price,
INV_LOT_ATT.lotAtt01,
INV_LOT_ATT.lotAtt02,
INV_LOT_ATT.lotAtt03,
INV_LOT_ATT.lotAtt04,
INV_LOT_ATT.lotAtt05,
INV_LOT_ATT.lotAtt06,
INV_LOT_ATT.lotAtt07,
INV_LOT_ATT.lotAtt08,
INV_LOT_ATT.lotAtt09,
INV_LOT_ATT.lotAtt10,
INV_LOT_ATT.lotAtt11,
INV_LOT_ATT.lotAtt12,
INV_LOT_ATT.lotAtt13,
INV_LOT_ATT.lotAtt14,
INV_LOT_ATT.lotAtt15,
INV_LOT_ATT.lotAtt16,
INV_LOT_ATT.lotAtt17,
INV_LOT_ATT.lotAtt18,
INV_LOT_ATT.lotAtt19,
INV_LOT_ATT.lotAtt20,
INV_LOT_ATT.lotAtt21,
INV_LOT_ATT.lotAtt22,
INV_LOT_ATT.lotAtt23,
INV_LOT_ATT.lotAtt24,
BAS_LOCATION.pickLogicalSequence,
IFNULL(tw.PickToLocation, '') PickToLoc
FROM
INV_LOT_LOC_ID INV_LOT_LOC_ID
INNER JOIN BAS_LOCATION BAS_LOCATION ON INV_LOT_LOC_ID.organizationId = BAS_LOCATION.organizationId
AND INV_LOT_LOC_ID.warehouseId = BAS_LOCATION.warehouseId
AND INV_LOT_LOC_ID.locationId = BAS_LOCATION.locationId
INNER JOIN INV_LOT_ATT INV_LOT_ATT ON INV_LOT_LOC_ID.organizationId = INV_LOT_ATT.organizationId
AND INV_LOT_LOC_ID.lotNum = INV_LOT_ATT.lotNum
LEFT JOIN TSM_WORKINGAREA tw ON BAS_LOCATION.organizationId = tw.organizationId
AND BAS_LOCATION.warehouseId = tw.warehouseId
AND BAS_LOCATION.workingArea = tw.workingArea
WHERE
INV_LOT_LOC_ID.organizationId = 'OJV_DDC'
AND INV_LOT_LOC_ID.warehouseId = '1120'
AND INV_LOT_LOC_ID.customerId = '1000'
AND INV_LOT_LOC_ID.sku = '10001178'
AND (
INV_LOT_LOC_ID.qty + INV_LOT_LOC_ID.qtyRpIn - INV_LOT_LOC_ID.qtyAllocated - INV_LOT_LOC_ID.qtyOnHold - INV_LOT_LOC_ID.qtyMvOut
)> 0
AND BAS_LOCATION.locationUsage NOT IN('ST', 'WB')
AND BAS_LOCATION.locationUsage != 'SS'
AND BAS_LOCATION.locationAttribute in ('OK', 'FI')
AND IFNULL(INV_LOT_ATT.lotAtt08, '') = 'N'
AND INV_LOT_ATT.lotAtt01 = '2024-02-06'
AND INV_LOT_ATT.lotAtt12 = '1120_10001178'
AND BAS_LOCATION.locationUsage IN ('EA', 'PC', 'HP', 'AP', 'SS')
Order by
CASE WHEN IFNULL(INV_LOT_ATT.lotAtt02, '') = '' THEN 1 ELSE 2 END,
INV_LOT_ATT.lotAtt02 ASC,
CASE WHEN IFNULL(INV_LOT_ATT.lotAtt03, '') = '' THEN 1 ELSE 2 END,
INV_LOT_ATT.lotAtt03 ASC,
BAS_LOCATION.pickLogicalSequence
Advised customer to fill the mandatory fields for the inventory using transfer document, and try to allocate again.