计算物料的可用量/可保留量【物料可用量/可保留量Open API】

来源:互联网 发布:守望先锋左上角数据 编辑:程序博客网 时间:2024/04/30 23:06

 在计算物料的可保留量的时候,我们通常的做法是MTL_ONHAND_QUANTITIES
中的TRANSACTION_QUANTITY的数量按照组织+物料+子库+货位+批次…的方式
进行累计,然后再减去物料在MTL_RESERVATIONS 中对应的保留。很多的时候没有去考
虑此时库存事务处理接口表(MTL_MATERIAL_TRANSACTIONS_TEMP)中物料数量,这样计算
出来的数量可能会不准确。以下是考虑了库存事务处理接口表的物料数量的计算方
式。大家不妨可以参考一下。

 

/*--------------------------------------------------------------------------------
    $ Header PTAC , SKip Siman He  , 2008.03.25
    * Procedure GET_ITEM_ATT_QTY
    * Purpose : 
              计算物料的可用量
  ---------------------------------------------------------------------------- */
  FUNCTION get_item_att_qty(p_item_id           NUMBER,
                            p_organization_id   NUMBER,
                            p_subinventory_code VARCHAR2) RETURN NUMBER IS
    l_onhand_qty    NUMBER;
    l_resv_qty      NUMBER;
    l_qoh           NUMBER;
    l_rqoh          NUMBER;
    l_qr            NUMBER;
    l_qs            NUMBER;
    l_att           NUMBER;
    l_atr           NUMBER;
    l_tree_mode     NUMBER;
    l_msg_count     VARCHAR2(100);
    l_msg_data      VARCHAR2(1000);
    l_return_status VARCHAR2(1);
    x_return        VARCHAR2(1);
  BEGIN
    -- Transact mode
    l_tree_mode := 2;
    inv_quantity_tree_pub.clear_quantity_cache;
    inv_quantity_tree_pub.query_quantities
                 p_api_version_number  => 1.0,
                 p_init_msg_lst        => 'F',
                 x_return_status       => l_return_status,
                 x_msg_count           => l_msg_count,
                 x_msg_data            => l_msg_data,
                 p_organization_id     => p_organization_id,
                 p_inventory_item_id   => p_item_id,
                 p_tree_mode           => l_tree_mode,
                 p_is_revision_control => FALSE,
                 p_is_lot_control      => FALSE,
                 p_is_serial_control   => FALSE,
                 p_revision            => NULL,
                 p_lot_number          => NULL,
                 p_lot_expiration_date => NULL,
                 p_subinventory_code   => p_subinventory_code,
                 p_locator_id          => NULL,
                 p_onhand_source       => inv_quantity_tree_pvt.g_all_subs,
                 x_qoh                 => l_qoh,
                 x_rqoh                => l_rqoh,
                 x_qr                  => l_qr,                                                                           
 
 
Oracle ERP R12实用技术开发.doc   
                 x_qs                  => l_qs,
                 x_att                 => l_att, --可用量
                 x_atr                 => l_atr); --可保留量
    RETURN l_att;
  END;

原创粉丝点击