# Shortage List

I am trying to understand how the information on the Shortage List is calculated. The example that I have is I have a qty. on hand of 25 pcs. I have a Qty. on Component Lines of 40. I have 0 on a Purchase Order. Logic would tell me that I need to order 15 to fulfill my requirements. However, when I pull the shortage list it tells me that I have a Needed Quantity of 44. Here is what it looks like to me.

25 quantity on hand, I have the following requirements that are not on the shortage report 6 pc each for Production Order 15, 16, 17, 18 and I have 1 pc for Production Order 19, which would consume all of my 25 on hand. (6x4+1 = 25) The first time the part shows up on the report is for Production Order 19, for 3 pc and for some reason the Scheduled Needed column has 29 pcs. The component shows up six times on the report and bottom line is I need to order 44 pcs, which to me is not correct. I feel that there is a parameter set incorrectly somewhere but I am not familiar with the system enough to know what it might be. If I could understand where this number is coming from I think that I could understand the report.

Is there a report that will give you the shortages by part combined together instead of by Production Order ? All I need is a report that would take each part that has a quantity in the Qty. on component Lines field, subtract that from the Qty. on hand field and subtract the Qty. on Purch. Order and give me a quantity that I need to order ? Is there a canned report for this or can I create one ?

I don’t know if there is an out of the box report and it depends on your license as to whether or not you can create one.

As for the report, the calculation is
NeededQty :=
CompItem.“Scheduled Need (Qty.)” +
CompItem.“Qty. on Sales Order” -
CompItem.“Qty. on Purch. Order” -
CompItem.“Scheduled Receipt (Qty.)” -
CompItem.Inventory

All of these are flow fields on the Item table. I don’t think Scheduled Need is on the Item Card by default, and its formula is

Sum(“Prod. Order Component”.“Remaining Qty. (Base)”
WHERE (Status=FILTER(Planned…Released),
Item No.=FIELD(No.),
Variant Code=FIELD(Variant Filter),
Shortcut Dimension 1 Code=FIELD(Global Dimension 1 Filter),
Shortcut Dimension 2 Code=FIELD(Global Dimension 2 Filter),
Location Code=FIELD(Location Filter),
Due Date=FIELD(Date Filter)))

Same for scheduled receipt, except it is from the lines and not the components:

Sum(“Prod. Order Line”.“Remaining Qty. (Base)”
WHERE (Status=FILTER(Planned…Released),
Item No.=FIELD(No.),
Variant Code=FIELD(Variant Filter),
Shortcut Dimension 1 Code=FIELD(Global Dimension 1 Filter),
Shortcut Dimension 2 Code=FIELD(Global Dimension 2 Filter),
Location Code=FIELD(Location Filter),
Due Date=FIELD(Date Filter)))

The following filters are set for the calculation, if you are using variants or locations:
CompItem.SETRANGE(“Variant Filter”,“Variant Code”);
CompItem.SETRANGE(“Location Filter”,“Location Code”);
CompItem.SETRANGE(“Date Filter”,0D,“Due Date” - 1);

Hope that helps you in the right direction.