详解EBS接口开发之供应商导入(补充)--供应商银行账户更新
CREATE OR REPLACE PACKAGE BODY update_vendor_account IS PROCEDURE main(errbuf OUT VARCHAR2, retcode OUT VARCHAR2) IS
l_vendor_id NUMBER;
l_acct_id NUMBER;
l_party_id NUMBER;
l_return_status VARCHAR2(30);
l_msg_count NUMBER;
l_msg_data VARCHAR2(30);
l_joint_acct_owner_id NUMBER;
v_count NUMBER;
l_bank_acct_id NUMBER;
--l_result_rec iby_fndcpt_common_pub.result_rec_type;
l_payee_rec iby_disbursement_setup_pub.payeecontext_rec_type;
l_instrument_rec iby_fndcpt_setup_pub.pmtinstrument_rec_type;
l_assignment_attribs_rec iby_fndcpt_setup_pub.pmtinstrassignment_rec_type;
l_result_rec iby_fndcpt_common_pub.result_rec_type; l_ext_bank_acct_rec iby_ext_bankacct_pub.extbankacct_rec_type; l_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
CURSOR cur_vendor IS
SELECT * FROM cux_oms_vendor h WHERE h.process_status = 'COMPLETE';
BEGIN
FOR rec_vendor IN cur_vendor LOOP
l_party_id := NULL;
BEGIN
SELECT pv.vendor_id
INTO l_vendor_id
FROM po_vendors pv
WHERE pv.segment1 = rec_vendor.rec_vendor_number;
EXCEPTION
WHEN OTHERS THEN RAISE fnd_api.g_exc_unexpected_error;
END; /*BEGIN
SELECT pv.ext_bank_account_id
INTO l_acct_id
FROM iby_ext_bank_accounts pv
WHERE pv.bank_account_num = rec_vendor.bank_account_num;
EXCEPTION
WHEN OTHERS THEN
cux_conc_utl.log_msg('@@@111111111@@@@@@@@@@ 1:' || SQLERRM);
RAISE fnd_api.g_exc_unexpected_error;
END;*/
BEGIN
SELECT pv.party_id
INTO l_party_id
FROM po_vendors pv
WHERE pv.vendor_id = l_vendor_id;
EXCEPTION
WHEN OTHERS THEN RAISE fnd_api.g_exc_unexpected_error;
END; l_ext_bank_acct_rec.country_code := rec_vendors.belong_country;
l_ext_bank_acct_rec.branch_id := rec_vendor.bank_branch_id;
l_ext_bank_acct_rec.bank_id := rec_vendor.bank_id;
l_ext_bank_acct_rec.acct_owner_party_id := l_party_id;
l_ext_bank_acct_rec.bank_account_name := rec_vendor.bank_account_name;
l_ext_bank_acct_rec.bank_account_num := rec_vendor.bank_account_num;
--L_EXT_BANK_ACCT_REC.currency;
l_ext_bank_acct_rec.foreign_payment_use_flag := 'N';
l_ext_bank_acct_rec.object_version_number := 1;
l_ext_bank_acct_rec.start_date := to_date('2013-01-01',
'YYYY-MM-DD'); iby_ext_bankacct_pub.create_ext_bank_acct(p_api_version => '1.0',
p_init_msg_list => fnd_api.g_true,
p_ext_bank_acct_rec => l_ext_bank_acct_rec,
p_association_level => 'S', --S:供应商层;SS:供应商地点层;A:Address; AO:Address Operating Unit
p_supplier_site_id => NULL,
p_party_site_id => NULL,
p_org_id => NULL,
p_org_type => NULL, --Bug7136876: new parameter
x_acct_id => l_bank_acct_id,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_response => l_result_rec); END LOOP; FOR rec_vendor IN cur_vendor LOOP
l_vendor_id := NULL;
l_acct_id := NULL;
l_party_id := NULL;
v_count := 0;
BEGIN
SELECT pv.vendor_id
INTO l_vendor_id
FROM po_vendors pv
WHERE pv.segment1 = rec_vendor.rec_vendor_number;
EXCEPTION
WHEN OTHERS THEN
RAISE fnd_api.g_exc_unexpected_error;
END; BEGIN
SELECT pv.ext_bank_account_id
INTO l_acct_id
FROM iby_ext_bank_accounts pv
WHERE pv.bank_account_num = rec_vendor.bank_account_num;
EXCEPTION
WHEN OTHERS THEN RAISE fnd_api.g_exc_unexpected_error;
END;
BEGIN
SELECT pv.party_id
INTO l_party_id
FROM po_vendors pv
WHERE pv.vendor_id = l_vendor_id;
EXCEPTION
WHEN OTHERS THEN RAISE fnd_api.g_exc_unexpected_error;
END;
SELECT COUNT(*)
INTO v_count
FROM iby_account_owners
WHERE account_owner_party_id = l_party_id
AND ext_bank_account_id = l_acct_id; IF v_count > 0 THEN
UPDATE cux_oms_vendor h
SET h.process_status = 'ERROR',
h.process_message = 'same party cannot be assigned the same bank account'
WHERE h.header_id = rec_vendor.header_id; ELSE iby_ext_bankacct_pub.add_joint_account_owner(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_bank_account_id => l_acct_id,
p_acct_owner_party_id => l_party_id,
x_joint_acct_owner_id => l_joint_acct_owner_id,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
x_response => l_result_rec); END IF;
END LOOP;
END;
END update_vendor_account;
详解EBS接口开发之供应商导入(补充)--供应商银行账户更新的更多相关文章
- 详解EBS接口开发之物料导入API
create_item inv_item_grp.create_item(p_commit => fnd_api.g_true, -- p_item_rec => l_item_rec, ...
- 供应商API补充(详解EBS接口开发之供应商导入)(转)
原文地址 供应商导入的API补充(详解EBS接口开发之供应商导入) --供应商 --创建 AP_VENDOR_PUB_PKG.Create_Vendor ( p_api_version IN NUM ...
- 详解EBS接口开发之采购申请导入
更多内容可以参考我的博客 详解EBS接口开发之采购订单导入 http://blog.csdn.net/cai_xingyun/article/details/17114697 /*+++++++ ...
- 详解EBS接口开发之库存事务处理批次更新
库存事务处理批次有时候出现导入错误需要更新可使用次程序更新,批次导入可参考博客 详解EBS接口开发之库存事务处理-物料批次导入 http://blog.csdn.net/cai_xingyun/art ...
- 详解EBS接口开发之库存事务处理采购接收--补充
除了可以用 详解EBS接口开发之库存事务处理采购接收的方法还可以用一下方法,不同之处在于带有批次和序列控制的时候实现方式不同 The script will load records into ...
- 详解EBS接口开发之供应商导入
(一)供应商常用标准表简介 1.1 常用标准表 如下表中列出了与供应商相关的表和说明: 表名 说明 其他信息 ap_suppliers 供应商头表 供应商的头信息如:供应商名.供应商编码.税号等 ...
- 详解EBS接口开发之应收款处理
参考实例参考:杜春阳 R12应收模块收款API研究 (一)应收款常用标准表简介 1.1 常用标准表 如下表中列出了与应收款处理相关的表和说明: 表名 说明 其他信息 AR_BATCHES_ALL ...
- 供应商导入的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 ...
随机推荐
- [poj1279]Art Gallery
题意:求多边形的核的面积. 敲一下半平面交模板........ 然后我wa了一早上就因为写了%lf 不知道poj什么破机制还不能用lf的,真的想跳楼 #include<iostream> ...
- 提高Mysql查询速度的一些建议(转).
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- Spring学习笔记1——入门
Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是创建对象由以前的程序员自己new 构造方法来调 ...
- 谈谈如何选择合适的MySQL数据类型
MySQL数据类型选择 一 .选择原则 更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型.越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小. 简单就好:简单的数据类型的操作通常需要更 ...
- 使用EasyNetQ组件操作RabbitMQ消息队列服务
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...
- react 或 vue 中引用 jQuery 插件
前言 今天与遇到一个令人抓狂的事情, 因为项目中有个交互太过于复杂而且冷门, 没有人封装类似react-swiper那种的移植过来的插件 只有现成的jQuery插件. 而时间并不宽裕,自己重写成rea ...
- RabbitMQ环境安装
1.安装erlang 语言环境 安装依赖 yum install ncurses-devel (如果没安装GCC,执行 yum install gcc或者:yum groupinstall " ...
- Struts中的找不到StringUtils异常
今天在Struts2框架下使用JSON插件时,程序保存找不到类org/apache/commons/lang/xwork/StringUtils,我纳闷了,commons-lang-2.5.jar和c ...
- web缓存之--http缓存机制
一.web缓存可以分为数据库缓存.代理服务器缓存.浏览器缓存. 其中浏览器缓存又包含很多内容:http缓存.indexDb.cookie.localStorage等.本片只讨论http缓存相关内容. ...
- 【转】使用virtualenv在ubuntu上搭建python 3开发环境
ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...