Query to check quantity on historical date

Oracle已经提供了一个标准的Report 'Transaction historical summary'来展示历史上的某一天item的Quantity,Value或者Balance

Query to check quantity on historical date_第1张图片

输出结果:

Query to check quantity on historical date_第2张图片

其中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



你可能感兴趣的:(query)