資料來源:http://erpschools.com/Apps/oracle-applications/scripts/Supply-Chain-Management/Inventory/Get-On-Hand-Quantities-through-API/index.aspx#

Get On Hand Quantities through API

This script can be used to get the below quantities. 1. On-hand Quantity 2. Available to Reserve 3. Quantity Reserved 4. Quantity Suggested 5. Available to Transact 6. Available to Reserve You can also get the On-hand quantities from the table mtl_onhand_quantities

DECLARE
x_return_status      VARCHAR2 (50);
x_msg_count          VARCHAR2 (50);
x_msg_data            VARCHAR2 (50);
v_item_id               NUMBER;
v_org_id                NUMBER; 
v_qoh                   NUMBER;
v_rqoh                  NUMBER;
v_atr                   NUMBER;
v_att                   NUMBER;
v_qr                    NUMBER;
v_qs                    NUMBER;
v_lot_control_code      BOOLEAN;
v_serial_control_code   BOOLEAN;
BEGIN 
  -- Set the variable values 
  v_item_id := 12758; 
  v_org_id := 91; 
  v_qoh := NULL; 
  v_rqoh := NULL; 
  v_atr := NULL; 
  v_lot_control_code := FALSE; 
  v_serial_control_code := FALSE; 
  -- Set the org context 
  fnd_client_info.set_org_context (1); 
  -- Call API 
  inv_quantity_tree_pub.query_quantities (p_api_version_number = 1.0
   , p_init_msg_lst             ='F' 
   , x_return_status            =x_return_status 
   , x_msg_count                =x_msg_count 
   , x_msg_data                 =x_msg_data 
   , p_organization_id          =v_org_id 
   , p_inventory_item_id        =v_item_id 
   , p_tree_mode                =apps.inv_quantity_tree_pub.g_transaction_mode -- or 3 
   , p_is_revision_control      =FALSE 
   , p_is_lot_control           =v_lot_control_code-- is_lot_control, 
   , p_is_serial_control        =v_serial_control_code 
   , p_revision                 =NULL   -- p_revision, 
   , p_lot_number               =NULL   -- p_lot_number, 
   , p_lot_expiration_date      =SYSDATE 
   , p_subinventory_code        =NULL   -- p_subinventory_code, 
   , p_locator_id               =NULL   -- p_locator_id, 
   -- p_cost_group_id           =NULL,  -- cg_id, 
   , p_onhand_source            =3 
   , x_qoh                      =v_qoh  -- Quantity on-hand 
   , x_rqoh                     =v_rqoh --reservable quantity on-hand 
   , x_qr                       =v_qr 
   , x_qs                       =v_qs 
   , x_att                      =v_att  -- available to transact 
   , x_atr                      =v_atr   -- available to reserve 
     ); 
  DBMS_OUTPUT.put_line ('On-Hand Quantity: ' || v_qoh); 
  DBMS_OUTPUT.put_line ('Available to reserve: ' || v_atr); 
  DBMS_OUTPUT.put_line ('Quantity Reserved: ' || v_qr); 
  DBMS_OUTPUT.put_line ('Quantity Suggested: ' || v_qs); 
  DBMS_OUTPUT.put_line ('Available to Transact: ' || v_att); 
  DBMS_OUTPUT.put_line ('Available to Reserve: ' || v_atr); 
EXCEPTION 
  WHEN OTHERS 
  THEN
    DBMS_OUTPUT.put_line ('ERROR: ' || SQLERRM);
END;
創作者介紹

Oracle ERP學習經驗分享

SomebabyTina 發表在 痞客邦 PIXNET 留言(0) 人氣()