slow moving Inventory report

--------------------slow moving Inventory report--------------

In order to help us identify our dead inventory, we have to create slow moving inventory report. here we have to see, When was the product last sold and  The dead stock means, zero sales in the past 12 months.  Once we have defined the time of product death, we need to create a report based on this.

Identifying dead products is not an annual event. running the dead stock report on an annual basis, is not a good suggestion.  We need to be far more proactive than this.  If we employed this method, we could tack on an additional 11 months of inventory carrying cost to any items that died in February.  we need to know what died every month. so if we Make this report a part of our first day of the month routine means, it is easy to identify how much dead stock is there for every month.

this is the importance of slow moving inventory report..

coming to report, here i have taken inventory_item_id,
creation_date columns
from mtl_system_items_b
and for transacations i have taken mtl_material_transactions....
common column for these two tables is inventory_item_id.
by using this I have built a query in data model.

And I also used some formula columns in this report for from_date{select trunc(add_months( sysdate , - 12)) into l_date},
to_date{ select trunc(sysdate) into l_date},
beginning onhand_quantity{SELECT NVL(SUM (transaction_quantity),0) INTO  lv_beg_on_hand_qty from mtl_material_transactions }
sales_quantity{select NVL(sum(transaction_quantity),0)* -1 into lv_sales_qty from mtl_material_transactions},
average_cost{SELECT nvl(round(item_cost,2),0)
                        INTO lv_item_cost
                        FROM cst_item_costs}
,onhand_quantity{select NVL(sum(PRIMARY_TRANSACTION_QUANTITY),0) INTO lv_trans_qty
from mtl_onhand_quantities_detail},
purchase_quantity{select NVL(sum(transaction_quantity),0) into l_purchase_qty
   from mtl_material_transactions.}

and in the layout model, taken one main frame, one repeating frame and assigned source to that, and 10 fields I have placed in that repeating frame and assigned source to that repeating frames respectively., and text fields also added in the main frame based on the requirement..

after doing all these changes in the data model as well as in layout model, saved that report and compiled it and have run the report.

If customer wants report registration means, and went to system administrator responsibility, in concurrent, executable part was taken, and gave short name, executable name for that report and executable file name taken from report name. and saved the changes that i have made. and gone through concurrent program, gave program name, short name and saved the changes. and added this report to inventory responsibility. and in the inventory responsibility I have submitted the request for that respective concurrent program. if the request is completed, normal means, then taken print out for that output. if that output is error out means, seen the error in view log, again gone through report and made the changes according to that error message and saved the report, submitted the request in inventory responsibility. This is how the process I have done in slow moving inventory report.