Oracle已经提供了一个标准的Report 'Transaction historical summary'来展示历史上的某一天item的Quantity,Value或者Balance
输出结果:
其中01-SEP-2012 Quantity表示2012年9月1日时,Item的数量。后边的Current Quantity是指现在系统中的库存量是多少。
两个数字中间的Purchase Order,Account,Account Alias, Job or Schedule, Other是指从9月1日到当前,那些业务对数量发生了影响。
另外有时候,我们想通过一个SQL Query来快速的查看历史上某一天物料的数量,可以使用下边这个Query:
SELECT SUM (target_qty)
, item_id
FROM (SELECT moqv.subinventory_code subinv
, moqv.inventory_item_id item_id
, SUM (transaction_quantity) target_qty
FROM mtl_onhand_qty_cost_v moqv
WHERE moqv.organization_id = &OrgID
AND moqv.inventory_item_id = &item_id
AND moqv.subinventory_code ='&Sub_Code'
GROUP BY moqv.subinventory_code
, moqv.inventory_item_id
, moqv.item_cost
UNION
SELECT mmt.subinventory_code subinv
, mmt.inventory_item_id item_id
, -SUM (primary_quantity) target_qty
FROM mtl_material_transactions mmt
, mtl_txn_source_types mtst
WHERE mmt.organization_id = &OrgID
AND subinventory_code ='&Sub_Code'
AND transaction_date >= TO_DATE ('01/SEP/2012','DD/MON/YYYY') + 1 --Input Historical Date
AND mmt.transaction_source_type_id =
mtst.transaction_source_type_id
AND mmt.inventory_item_id = &item_id
GROUP BY mmt.subinventory_code
, mmt.inventory_item_id) oq
GROUP BY oq.item_id