InventSerial, Inventdim tables in AX2012 R3


Can it be possible that serial id can be present in InventDim table even though it doesn’t exist in InventSerial table.

while select inventDim

group by inventSerialId

Notexists join InventSerial

where inventDim.inventSerialId != “” &&

InventSerial.InventSerialId == inventDim.inventSerialId


info(strFmt(‘Invent serial %1,’, inventDim.inventSerialId);


when i run the above script i got some records.

I suspect it may be happened due to wrong customization.

Please comment whether it’s valid scenario or it’s data inconsistency caused by customization?

Yes, this can be possible.

You create a inventory transaction with a serial number, system creates an inventDim with the selected serial number and you delete this transaction and serial number, The system will not deletes the inventDim created.

Doing an inventory dimensions cleanup will remove all these un used inventDim records.

Kranthi Thank you.

same thing i observed in catch weight item in different scenario.

  1. Catch wt item with serial no, created a PO and invoiced.

  2. Serial id found in InventDim table and not in InventSerial table.

Could you please comment this one also valid case?

System will not allow the deletion of serial number,

  1. If there is an open inventSum for that serial number.

  2. If the serial numbers are registered through sales process.

See, \Data Dictionary\Tables\InventSerial\Methods\validateDelete