Oracle How to Return Receiving Transaction with Receiving Open Interface
在Oracle中,要通过接收开放接口(ROI)返回收货事务处理,你可以使用以下PL/SQL代码示例:
DECLARE
v_api_version_number NUMBER;
v_init_msg_list VARCHAR2(1000);
v_return_status VARCHAR2(1000);
v_unique_id NUMBER;
BEGIN
-- 初始化消息列表
fnd_api.initialize(100, 'RAIN', 'RAIN', v_init_msg_list);
-- 调用ROI API的RECEIVE_TRANSACTION_API过程
roi_receiving.receive_transaction_api(
p_api_version_number => v_api_version_number,
p_init_msg_list => v_init_msg_list,
p_return_status => v_return_status,
p_unique_id => v_unique_id,
p_organization_id => 101, -- 组织ID
p_inventory_item_id => 12345, -- 库存物品ID
p_transaction_quantity => 10, -- 事务数量
p_transaction_uom => 'EA', -- 事务单位
p_subinventory_code => 'WHS1', -- 子库存代码
p_locator_id => 12345, -- 储位ID
p_transaction_date => SYSDATE, -- 事务日期
p_transaction_source => 'ROI', -- 事务源
p_transaction_type => 'RECEIVE', -- 事务类型
p_transaction_reference => '1234567890', -- 事务参考
p_transaction_comment => 'Test Receiving Transaction' -- 事务评论
);
-- 检查返回状态
IF v_return_status != 'S' THEN
-- 如果状态不是'S'(成功),则处理错误
-- 可以通过fnd_api.g_error_msg_list查看错误消息列表
FOR i IN 1..fnd_api.g_error_msg_list.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Error ' || i || ': ' || fnd_api.g_error_msg_list(i));
END LOOP;
ELSE
-- 成功的情况下的处理逻辑
DBMS_OUTPUT.PUT_LINE('Transaction Received with Unique ID: ' || v_unique_id);
END IF;
END;
在这个例子中,我们首先初始化消息列表,然后调用roi_receiving.receive_transaction_api
过程来执行收货操作。我们传递了必需的参数,如组织ID、库存物品ID、事务数量、单位、子库存代码和储位ID等。我们还指定了事务日期、事务源、事务类型和事务参考。
请注意,你需要根据你的Oracle环境配置和你的特定需求调整参数。此外,你需要有适当的权限来调用ROI API和执行数据库输出。
评论已关闭