EBS开发_费用类采购订单退货
--以下脚本于20171230在tony上成功实现
--费用类采购订单退货成功_20171230_只需要输入一个采购订单号即可
--初始化
/*
begin
fnd_global.apps_initialize(user_id => 1110,
resp_id => 50597,
resp_appl_id => 20003);
mo_global.init('M');
end;
*/
declare
g_pkg_name CONSTANT VARCHAR2(30) := 'CUX_PO_WPR_HEADER_PUB';
g_error_count NUMBER := 0;
g_unexp_error_count NUMBER := 0;
g_created_by NUMBER := fnd_global.user_id;
g_last_updated_by NUMBER := fnd_global.user_id;
g_last_update_login NUMBER := fnd_global.login_id;
g_prog_appl_id NUMBER := fnd_global.prog_appl_id;
g_prog_id NUMBER := fnd_global.conc_program_id;
l_api_name CONSTANT VARCHAR2(30) := 'rcv_txn_process';
l_savepoint_name VARCHAR2(30) := 'rcv_txn_process_001';
CURSOR csr_line_dis(p_po_num varchar2) IS
SELECT *
FROM (SELECT h1.po_header_id,
h1.revision_num,
h2.po_line_id,
h3.line_location_id,
h4.po_distribution_id,
h2.unit_price,
h1.currency_code,
h1.vendor_id,
h1.vendor_site_id,
h1.org_id,
(select fsp.inventory_organization_id
from financials_system_params_all fsp
where fsp.org_id = h1.org_id) inventory_organization_id,
----
t1.shipment_header_id,
t1.shipment_line_id,
t1.transaction_id AS transaction_id_deliver,
t1.parent_transaction_id AS transaction_id_receive,
t1.quantity -
(SELECT nvl(SUM(t2.quantity), 0)
FROM rcv_transactions t2
WHERE t2.parent_transaction_id =
t1.parent_transaction_id
AND t2.transaction_type = 'RETURN TO VENDOR') AS quantity,
t1.project_id,
t1.task_id,
h2.category_id,
----
h3.ship_to_location_id,
h2.item_description,
h2.unit_meas_lookup_code
FROM po_headers_all h1,
po_lines_all h2,
po_line_locations_all h3,
po_distributions_all h4,
rcv_transactions t1
WHERE 1 = 1
----
AND t1.transaction_type = 'DELIVER'
----and t1.interface_source_code = 'WORK_PROGRESS'
----
AND t1.po_header_id = h4.po_header_id
AND t1.po_line_id = h4.po_line_id
AND t1.po_line_location_id = h4.line_location_id
AND t1.po_distribution_id = h4.po_distribution_id
----
AND h1.po_header_id = h2.po_header_id
AND h1.po_header_id = h3.po_header_id
AND h2.po_line_id = h3.po_line_id
AND h4.po_header_id = h1.po_header_id
AND h4.po_line_id = h2.po_line_id
AND h4.line_location_id = h3.line_location_id
----
-- AND h1.po_header_id = p_po_header_id
and h1.org_id = 82
and h1.segment1 = p_po_num
AND 1 = 1)
ORDER BY quantity DESC;
rc NUMBER := 0;
outcome VARCHAR2(200) := NULL;
message VARCHAR2(200) := NULL;
r_val1 VARCHAR2(200) := NULL;
r_val2 VARCHAR2(200) := NULL;
r_val3 VARCHAR2(200) := NULL;
r_val4 VARCHAR2(200) := NULL;
r_val5 VARCHAR2(200) := NULL;
r_val6 VARCHAR2(200) := NULL;
r_val7 VARCHAR2(200) := NULL;
r_val8 VARCHAR2(200) := NULL;
r_val9 VARCHAR2(200) := NULL;
r_val10 VARCHAR2(200) := NULL;
r_val11 VARCHAR2(200) := NULL;
r_val12 VARCHAR2(200) := NULL;
r_val13 VARCHAR2(200) := NULL;
r_val14 VARCHAR2(200) := NULL;
r_val15 VARCHAR2(200) := NULL;
r_val16 VARCHAR2(200) := NULL;
r_val17 VARCHAR2(200) := NULL;
r_val18 VARCHAR2(200) := NULL;
r_val19 VARCHAR2(200) := NULL;
r_val20 VARCHAR2(200) := NULL;
x_str VARCHAR2(4000) := NULL;
timeout NUMBER;
l_str1 fnd_new_messages.message_text%TYPE := NULL;
l_rcv_txn_iface_rec po.rcv_transactions_interface%ROWTYPE;
l_group_id NUMBER;
l_line_qty_return NUMBER;
l_line_qty_sum NUMBER;
BEGIN
/* FOR rec_header IN csr_header(p_project_id => p_project_id
,p_wpr_header_num => p_wpr_header_num) LOOP*/
IF l_group_id IS NULL THEN
l_group_id := po.rcv_interface_groups_s.nextval;
END IF;
-- FOR rec_line IN csr_line(p_wpr_header_id => rec_header.wpr_header_id) LOOP
/*
l_line_qty_return := 0;
l_line_qty_sum := 0;*/
FOR rec_po IN csr_line_dis(p_po_num => '1021') LOOP
/* IF rec_po.quantity + l_line_qty_sum <= rec_line.return_amount THEN
l_line_qty_return := rec_po.quantity;
l_line_qty_sum := l_line_qty_sum + l_line_qty_return;
ELSE
l_line_qty_return := rec_line.return_amount - l_line_qty_sum;
l_line_qty_sum := l_line_qty_sum + l_line_qty_return;
END IF;*/
l_rcv_txn_iface_rec := NULL;
l_rcv_txn_iface_rec.interface_transaction_id := rcv_transactions_interface_s.nextval;
l_rcv_txn_iface_rec.group_id := l_group_id;
l_rcv_txn_iface_rec.org_id := rec_po.org_id;
l_rcv_txn_iface_rec.processing_status_code := 'PENDING';
l_rcv_txn_iface_rec.transaction_status_code := 'PENDING';
l_rcv_txn_iface_rec.processing_mode_code := 'ONLINE';
l_rcv_txn_iface_rec.vendor_id := rec_po.vendor_id;
l_rcv_txn_iface_rec.vendor_site_id := rec_po.vendor_site_id;
l_rcv_txn_iface_rec.source_document_code := 'PO';
l_rcv_txn_iface_rec.po_header_id := rec_po.po_header_id;
l_rcv_txn_iface_rec.po_line_id := rec_po.po_line_id;
l_rcv_txn_iface_rec.po_line_location_id := rec_po.line_location_id;
l_rcv_txn_iface_rec.po_distribution_id := rec_po.po_distribution_id;
l_rcv_txn_iface_rec.parent_transaction_id := rec_po.transaction_id_deliver;
l_rcv_txn_iface_rec.shipment_header_id := rec_po.shipment_header_id;
l_rcv_txn_iface_rec.shipment_line_id := rec_po.shipment_line_id;
l_rcv_txn_iface_rec.category_id := rec_po.category_id;
l_rcv_txn_iface_rec.transaction_type := 'RETURN TO VENDOR';
l_rcv_txn_iface_rec.destination_type_code := 'EXPENSE';
l_rcv_txn_iface_rec.destination_context := 'EXPENSE';
l_rcv_txn_iface_rec.inspection_status_code := 'NOT INSPECTED';
l_rcv_txn_iface_rec.item_description := rec_po.item_description;
l_rcv_txn_iface_rec.transaction_date := SYSDATE;
l_rcv_txn_iface_rec.quantity := rec_po.quantity;
l_rcv_txn_iface_rec.primary_quantity := rec_po.quantity;
l_rcv_txn_iface_rec.uom_code := rec_po.currency_code;
l_rcv_txn_iface_rec.unit_of_measure := rec_po.unit_meas_lookup_code;
l_rcv_txn_iface_rec.primary_unit_of_measure := rec_po.unit_meas_lookup_code;
l_rcv_txn_iface_rec.to_organization_id := rec_po.inventory_organization_id;
l_rcv_txn_iface_rec.receipt_source_code := 'VENDOR';
l_rcv_txn_iface_rec.from_organization_id := rec_po.inventory_organization_id;
l_rcv_txn_iface_rec.routing_header_id := 3;
l_rcv_txn_iface_rec.po_revision_num := rec_po.revision_num;
l_rcv_txn_iface_rec.po_unit_price := rec_po.unit_price;
l_rcv_txn_iface_rec.currency_code := rec_po.currency_code;
l_rcv_txn_iface_rec.deliver_to_location_id := rec_po.ship_to_location_id;
/* l_rcv_txn_iface_rec.project_id := rec_po.project_id;
l_rcv_txn_iface_rec.task_id := rec_po.task_id;*/
l_rcv_txn_iface_rec.last_update_date := SYSDATE;
l_rcv_txn_iface_rec.last_updated_by := g_created_by;
l_rcv_txn_iface_rec.creation_date := SYSDATE;
l_rcv_txn_iface_rec.created_by := g_last_updated_by;
l_rcv_txn_iface_rec.last_update_login := g_last_update_login;
l_rcv_txn_iface_rec.program_application_id := g_prog_appl_id;
l_rcv_txn_iface_rec.program_id := g_prog_id;
l_rcv_txn_iface_rec.program_update_date := SYSDATE;
l_rcv_txn_iface_rec.request_id := fnd_global.conc_request_id;
l_rcv_txn_iface_rec.interface_source_code := 'PO_WPR';
-- l_rcv_txn_iface_rec.interface_source_line_id := rec_line.wpr_line_id;
INSERT INTO rcv_transactions_interface VALUES l_rcv_txn_iface_rec;
IF l_line_qty_sum <> l_line_qty_sum THEN
GOTO next_loop;
END IF;
END LOOP;
<<next_loop>>
NULL; --------不可少
-- END LOOP;
-- END LOOP;
IF l_group_id IS NOT NULL THEN
COMMIT; -- Must commit before call synchronous transaction
timeout := fnd_profile.value('INV_RPC_TIMEOUT');
IF (timeout IS NULL) THEN
timeout := 300;
END IF;
rc := fnd_transaction.synchronous(timeout,
outcome,
message,
'PO',
'RCVTPO',
'ONLINE',
l_group_id,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL);
IF (rc = 0 AND (outcome NOT IN ('WARNING', 'ERROR'))) THEN
NULL;
ELSE
null;
END IF;
IF (rc = 0 AND (outcome NOT IN ('WARNING', 'ERROR'))) THEN
NULL;
ELSIF (rc = 1) THEN
null;
ELSIF (rc = 2) THEN
null;
ELSIF (rc = 3 OR (outcome IN ('WARNING', 'ERROR'))) THEN
rc := fnd_transaction.get_values(r_val1,
r_val2,
r_val3,
r_val4,
r_val5,
r_val6,
r_val7,
r_val8,
r_val9,
r_val10,
r_val11,
r_val12,
r_val13,
r_val14,
r_val15,
r_val16,
r_val17,
r_val18,
r_val19,
r_val20);
x_str := r_val1;
IF (r_val2 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val2;
END IF;
IF (r_val3 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val3;
END IF;
IF (r_val4 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val4;
END IF;
IF (r_val5 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val5;
END IF;
IF (r_val6 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val6;
END IF;
IF (r_val7 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val7;
END IF;
IF (r_val8 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val8;
END IF;
IF (r_val9 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val9;
END IF;
IF (r_val10 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val10;
END IF;
IF (r_val11 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val11;
END IF;
IF (r_val12 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val12;
END IF;
IF (r_val13 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val13;
END IF;
IF (r_val14 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val14;
END IF;
IF (r_val15 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val15;
END IF;
IF (r_val16 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val16;
END IF;
IF (r_val17 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val17;
END IF;
IF (r_val18 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val18;
END IF;
IF (r_val19 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val19;
END IF;
IF (r_val20 IS NOT NULL) THEN
x_str := x_str || chr(10) || r_val20;
END IF;
END IF;
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('return');
END;
EBS开发_费用类采购订单退货相关推荐
- EBS开发_费用类采购订单接收
--以下脚本于20171230在tony上成功实现 --费用类采购订单接受成功_20171230_只需要输入一个采购订单号即可 --初始化 /* begin fnd_global.apps_ini ...
- EBS开发_费用类采购订单创建
--以下代码于20171230在TONY环境中实现 --初始化 /* begin fnd_global.apps_initialize(user_id => 1110, ...
- 费用型采购订单(科目分配类别=K)向成本中心计入费用
文章目录 一.概述 二.费用型采购订单创建收货发票校验 2.1 创建费用型采购订单-ME21N 2.2 收货-MIGO 2.3 发票校验-MIRO 三.成本中心费用查询-S_ALR_8701361 3 ...
- SAP已发票校验采购订单退货 - 特殊业务
采购业务过程中,偶尔出现外购物料质量问题或采购订单价格输入错误等原因,需要在系统中做收货的冲销. 外购物料退回给供应商在不同的业务场景中,可能出现的移动类型有102.122.162甚至是601等. 1 ...
- SAP中服务类采购订单的收货审批确认
通过事务ML81N进行服务采购订单的确认,类型MIGO收货操作: 在事务中执行采购服务项目的审批确认动作: 如果仅尚未进行审批确认,观察采购订单历史,可以看到生成的单据: 完成服务确认审批(收货)后, ...
- SAP寄售采购订单退货
在行业中处于强势地位的工厂往往会有供应商寄售的业务存在,某些时候还遇到供应商寄售的物料需要退货返回供应商处的需求,可以有几种做法 1.单纯使用一个移动类型减少K库存.可以使用562+K.502+K等等 ...
- 服务类采购订单 Service PO
服务类采购的物料类型:DIEN,把服务建成物料号,也可以区别于物料,服务类采购需要建服务主数据 服务采购的一般过程: Determination of Requirements –> Creat ...
- Oracle EBS Interface/API(18) - 标准采购订单、PBA和一揽子发放等等审批API
一.标准采购订单和PBA审批API: DECLARELv_Ret_Status VARCHAR2(30);Ln_Org_Id NUMBER := 101; --业务实体标识Ln_Preparer_Id ...
- EBS开发_创建AP付款
--以下代码于20181002在Tony环境测试通过 /* BEGIN --mo_global.init('SQLAP'); apps.fnd_global.apps_initialize(u ...
最新文章
- Your First Concordion.Net Project (Part 5)-Running Specs with Gallio
- 牛津-阿斯利康疫苗与出血性疾病风险轻微升高有关 |《自然-医学》论文
- django请求与响应(HttpRequest对象和HttpResponse对象)
- ie浏览器怎样查看html,查看IE浏览器历史记录的方法
- linux应用之----进程通信
- 《C++ Primer》7.3.2节练习
- 计算机网络(九)-物理层(补充)-傅里叶变换-信道复用
- linux rac节点主机不定时重启,双节点RAC各个节点主机频繁自动重启故障解决
- EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生
- async spring 默认线程池_Spring定时任务高级使用篇
- 人工智能数学基础之概率论
- 与卿共赴鸿蒙是什么意思,经典的爱情诗句
- 详细教您如何把wav转换成mp3格式
- kindle 3之安装多看系统
- 短信群发助手调试笔记
- python调用按键精灵插件_Textobot-用交互式TB插件在iPhone上砸壳更美滋滋
- 【LeetCode】词典中最长的单词(附集合操作、lamda用法)
- 前端可视化项目全国疫情地图
- 百度CEO李彦宏为何这么拼
- 为什么Arduino UNO工作电压是5V,但是需要9V的电源适配器
热门文章
- 个人云盘kodexplorer安装
- Unity UGUI控件介绍
- IOS中使用SoundTouch库实现变声
- MySQL在存经纬度的数据库查询最近距离的应用
- 开源协议比较(BSD,Apache,GPL,LGPL,AGPL,MIT)
- Unity实现游戏场景的转换
- 区块链项目_趣链科技Hyperchain
- Excel VBA高效办公应用-第十七章-用户权限管理系统
- MorphCore-An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLP
- jenkins构建python代码_Jenkins+Python完整版