详解EBS接口开发之更新供应商付款方法
更新供应商地点层的付款方法API
DECLARE
--API 参数
l_external_payee_rec_type iby_disbursement_setup_pub.external_payee_rec_type;
l_ext_payee_id_rec_type iby_disbursement_setup_pub.ext_payee_id_rec_type;
l_ext_payee_tab iby_disbursement_setup_pub.external_payee_tab_type;
l_ext_payee_id_tab iby_disbursement_setup_pub.ext_payee_id_tab_type;
l_ext_payee_status_tab iby_disbursement_setup_pub.ext_payee_update_tab_type; --变量
l_api_version CONSTANT NUMBER := 1;
l_msg_data VARCHAR2(2000);
l_msg VARCHAR2(4000);
l_msg_count NUMBER;
l_return_status VARCHAR2(1);
l_method_code VARCHAR2(50); l_vendor_id NUMBER;
l_party_id NUMBER;
l_party_site_id NUMBER;
l_location_id NUMBER;
l_vendor_site_id NUMBER;
l_object_version_number NUMBER;
l_loc_version_number NUMBER;
g_def_exclusive_pay_flag VARCHAR2(1) := 'Y';
--l_party_id NUMBER;
--游标
CURSOR cur_cux_vendor IS
SELECT l.vendor_site_code, l.attribute2, l.line_id
FROM cux_oms_vendor_site l
WHERE l.attribute2 IS NULL
FOR UPDATE NOWAIT; CURSOR cur_ap_vendor(p_vendor_site_code IN VARCHAR2) IS
SELECT l.vendor_id, l.vendor_site_id, l.org_id, l.party_site_id
FROM ap_supplier_sites_all l
WHERE l.vendor_site_code = p_vendor_site_code; CURSOR c_payment_method(p_vendor_id IN VARCHAR2,
p_vendor_site_id IN NUMBER) IS
SELECT a.ext_payee_id,
a.payment_function,
a.supplier_site_id,
a.party_site_id,
a.org_id,
a.org_type,
a.object_version_number,
pv.party_id,
s.attribute2
FROM ap_supplier_sites_all s,
iby_external_payees_all a,
po_vendors pv
WHERE (s.inactive_date IS NULL OR
trunc(s.inactive_date) >= trunc(SYSDATE))
AND a.supplier_site_id(+) = s.vendor_site_id
AND s.vendor_id = pv.vendor_id
AND a.payee_party_id = pv.party_id
AND s.org_id = a.org_id(+)
AND s.party_site_id = a.party_site_id(+)
AND s.vendor_site_id = p_vendor_site_id
AND pv.vendor_id = p_vendor_id; BEGIN
fnd_global.apps_initialize(user_id => 1110,
resp_id => 20639,
resp_appl_id => 200);
FOR rec_cux_vendor IN cur_cux_vendor LOOP
FOR rec_ap_vendor IN cur_ap_vendor(p_vendor_site_code => rec_cux_vendor.vendor_site_code) LOOP
--初始化参数
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => rec_ap_vendor.org_id);
FOR r_payment_method IN c_payment_method(p_vendor_id => rec_ap_vendor.vendor_id,
p_vendor_site_id => rec_ap_vendor.vendor_site_id) LOOP
l_ext_payee_id_rec_type := NULL;
l_ext_payee_id_tab.delete;
l_external_payee_rec_type := NULL;
l_ext_payee_tab.delete; SELECT l.party_id
INTO l_party_id
FROM ap_suppliers l
WHERE l.vendor_id = rec_ap_vendor.vendor_id; --update site level ext pay infor
l_ext_payee_id_rec_type := NULL;
l_ext_payee_id_tab.delete;
l_external_payee_rec_type := NULL;
l_ext_payee_tab.delete;
--init param p_ext_payee_id_tab
l_ext_payee_id_rec_type.ext_payee_id := r_payment_method.ext_payee_id;
l_ext_payee_id_tab(1) := l_ext_payee_id_rec_type;
--init param p_ext_payee_tab
l_external_payee_rec_type.payee_party_site_id := r_payment_method.party_site_id;
l_external_payee_rec_type.payee_party_id := r_payment_method.party_id; --p_party_id;
l_external_payee_rec_type.payment_function := r_payment_method.payment_function;
l_external_payee_rec_type.payer_org_id := r_payment_method.org_id;
l_external_payee_rec_type.supplier_site_id := r_payment_method.supplier_site_id;
l_external_payee_rec_type.payer_org_type := r_payment_method.org_type;
l_external_payee_rec_type.exclusive_pay_flag := g_def_exclusive_pay_flag; /*SELECT pmv.payment_method_code
INTO l_method_code
FROM iby_payment_methods_vl pmv
WHERE pmv.payment_method_name = '银行电汇'
AND SYSDATE < nvl(pmv.inactive_date, SYSDATE + 1);*/ l_external_payee_rec_type.default_pmt_method := 'BZ_CHECK';
l_ext_payee_tab(1) := l_external_payee_rec_type; iby_disbursement_setup_pub.update_external_payee(p_api_version => l_api_version,
p_init_msg_list => 'T',
p_ext_payee_tab => l_ext_payee_tab,
p_ext_payee_id_tab => l_ext_payee_id_tab,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_ext_payee_status_tab => l_ext_payee_status_tab);
IF l_return_status != fnd_api.g_ret_sts_success THEN IF l_msg_data IS NULL THEN
l_msg_data := fnd_msg_pub.get(p_msg_index => fnd_msg_pub.g_last,
p_encoded => 'F'); --get last message
dbms_output.put_line('l_msg_data:' || SQLERRM);
END IF; --IF l_msg_data IS NULL THEN END IF; --IF l_return_status != fnd_api.g_ret_sts_success THEN
END LOOP; --FOR r_payment_method IN c_payment_method(p_vendor_id =>rec_ap_vendor.vendor_id, END LOOP; --for rec_ap_vendor in cur_ap_vendor(p_vendor_site_code =>rec_cux_vendor.vendor_site_code) loop
UPDATE cux_oms_vendor_site L
SET L.ATTRIBUTE2 = 'BZ_CHECK'
WHERE L.LINE_ID = rec_cux_vendor.LINE_ID;
END LOOP; --for rec_cux_vendor in cur_cux_vendor loop
END;
详解EBS接口开发之更新供应商付款方法的更多相关文章
- 供应商API补充(详解EBS接口开发之供应商导入)(转)
原文地址 供应商导入的API补充(详解EBS接口开发之供应商导入) --供应商 --创建 AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version IN NUM ...
- 详解EBS接口开发之库存事务处理批次更新
库存事务处理批次有时候出现导入错误需要更新可使用次程序更新,批次导入可参考博客 详解EBS接口开发之库存事务处理-物料批次导入 http://blog.csdn.net/cai_xingyun/art ...
- 详解EBS接口开发之库存事务处理采购接收--补充
除了可以用 详解EBS接口开发之库存事务处理采购接收的方法还可以用一下方法,不同之处在于带有批次和序列控制的时候实现方式不同 The script will load records into ...
- 详解EBS接口开发之采购申请导入
更多内容可以参考我的博客 详解EBS接口开发之采购订单导入 http://blog.csdn.net/cai_xingyun/article/details/17114697 /*+++++++ ...
- 详解EBS接口开发之供应商导入
(一)供应商常用标准表简介 1.1 常用标准表 如下表中列出了与供应商相关的表和说明: 表名 说明 其他信息 ap_suppliers 供应商头表 供应商的头信息如:供应商名.供应商编码.税号等 ...
- 详解EBS接口开发之应收款处理
参考实例参考:杜春阳 R12应收模块收款API研究 (一)应收款常用标准表简介 1.1 常用标准表 如下表中列出了与应收款处理相关的表和说明: 表名 说明 其他信息 AR_BATCHES_ALL ...
- 详解EBS接口开发之供应商导入(补充)--供应商银行账户更新
CREATE OR REPLACE PACKAGE BODY update_vendor_account IS PROCEDURE main(errbuf OUT VARCHAR2, retcode ...
- 供应商导入的API补充(详解EBS接口开发之供应商导入)
--供应商 --创建 AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version IN NUMBER, p_init_msg_list IN VARCHAR2 := ...
- 详解EBS接口开发之供应商导入(补充)--错误信息处理
check reject details on records of AP_SUPPLIER_INT SELECT s.parent_table,s.reject_lookup_code,S.LAST ...
随机推荐
- Thinkphp中的U函数(Thinkphp3.2.3版本)
U函数的作用是根据当前的URL设置生成对应的URL地址,使用U函数可以确保项目在移植过程中不受环境的影响. U方法的定义规则如下(方括号内参数根据实际应用决定): U('地址表达式',['参数'],[ ...
- python 字典实现简单购物车
# -*- coding: utf-8 -*-#总金额asset_all=0i1=input('请输入总资产:')asset_all=int(i1)#商品列表goods=[ {'name':'电脑', ...
- Vue.js + Webpack
vue.js Vue.js是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件 以上是Vue.js官方定义,故名思议,以数据驱动视 ...
- java实现微信支付之扫码支付
本文直接从代码调用微信扫码支付讲起.账号配置,参数生成等请参考官方文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1 微信 ...
- HTMLParser使用简介
HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索.对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParser的结构设计很巧妙,非常实用, ...
- hadoop hdfs 高可用
单点故障: 如果某一个节点或服务出了问题,导致服务不可用 单点故障解决方式: 1.给容易出故障的地方安排备份 2.一主一备,要求同一时刻只能有一个对外提供服务 3.当active挂掉之后,standb ...
- VueJs(3)---V-指令
VueJs(3)---V-指令(1) 一.语法 v- 指令是带有v-的特殊属性 v-if 条件渲染 v-show v-else (必须在v-if/v-else-if/v-show指令后) v-else ...
- 剑指架构师系列-MySQL常用SQL语句
(1)分清HAVING与WHERE的区别: HAVING 子句使你能够指定过滤条件,从而控制查询结果中哪些组可以出现在最终结果里面.WHERE 子句对被选择的列施加条件,而 HAVING 子句则对 G ...
- 牛客网编程练习之PAT乙级(Basic Level):1041 说反话
直接分隔取反即可 AC代码: import java.util.Scanner; /** * @author CC11001100 */ public class Main { public stat ...
- AnyConnect使用说明(电脑版Windows)
一.下载客户端 Anyconnect支持Windows.Mac电脑. 二.安装 1.双击打开下载的文件,点“Next”开始安装. 2.选择“I accept …”,再点下一步. 3.点“Install ...