OEBS API INV – Текущее количество для позиции (ONHAND)
10 Декабрь 2014
Нет комментариев
Пример использования API для получения текущего или доступного для резервирования количества для позиции:
declare
p_organization_id NUMBER := 155;
p_inventory_item_id NUMBER := 546;
--
p_revision VARCHAR2(3);
p_lot_number VARCHAR2(80);
p_subinventory_code VARCHAR2(10) := 'VAlVALVAL';
p_locator_id NUMBER;
--
lx_qoh NUMBER; -- Total Quantity (Onhand)
lx_rqoh NUMBER;
lx_qr NUMBER;
lx_qs NUMBER;
lx_att NUMBER; -- Available to Transact
lx_atr NUMBER; -- Available to Reserve
--
lx_return_status VARCHAR2(1);
lx_msg_count NUMBER;
lx_msg_data VARCHAR2(4000);
begin
inv_quantity_tree_grp.clear_quantity_cache;
inv_quantity_tree_pub.query_quantities(
p_api_version_number => 1.0,
p_init_msg_lst => fnd_api.g_false,
x_return_status => lx_return_status,
x_msg_count => lx_msg_count,
x_msg_data => lx_msg_data,
--
p_organization_id => p_organization_id,
p_inventory_item_id => p_inventory_item_id,
p_tree_mode => apps.inv_quantity_tree_pub.g_transaction_mode,
p_is_revision_control => case when p_revision is null then FALSE else TRUE end,
p_is_lot_control => case when p_lot_number is null then FALSE else TRUE end,
p_is_serial_control => FALSE,
p_revision => p_revision,
p_lot_number => p_lot_number,
p_subinventory_code => p_subinventory_code,
p_locator_id => p_locator_id,
x_qoh => lx_qoh, -- OnHand Quantity
x_rqoh => lx_rqoh,
x_qr => lx_qr,
x_qs => lx_qs,
x_att => lx_att, -- Available To Transact
x_atr => lx_atr -- Available To Reserve
);
if lx_return_status ='S' then
DBMS_OUTPUT.put_line ('Общее количество: ' || lx_qoh);
DBMS_OUTPUT.put_line ('Доступно для резервирования: ' || lx_atr);
DBMS_OUTPUT.put_line ('Доступно для транзакции: ' || lx_att);
else
fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
p_count => lx_msg_count,
p_data => lx_msg_data);
dbms_output.put_line('ERROR for p_inventory_item_id='||p_inventory_item_id);
if lx_msg_count = 1 then
dbms_output.put_line(lx_msg_data);
else
FOR i IN 1 .. lx_msg_count LOOP
dbms_output.put_line(fnd_msg_pub.get(fnd_msg_pub.g_next,
fnd_api.g_false));
END LOOP;
end if;
end if;
end;
Так же есть запрос для просмотра текущего количества Модуль INV – Текущее количество для позиции

Последние комментарии