使用API失效供应商地址Demo(转)
原文地址 使用API失效供应商地址Demo
DECLARE
lv_return_status VARCHAR2(1) := NULL;
ln_msg_count NUMBER;
lv_errmsg VARCHAR2(5000);
lt_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
l_party_site_rec hz_party_site_v2pub.party_site_rec_type;
lt_location_rec hz_location_v2pub.location_rec_type;
ln_object_version_number NUMBER;
ln_object_version_number2 NUMBER;
ln_vendor_site_id NUMBER := NULL;
ln_party_site_id NUMBER := NULL;
lv_party_site_name VARCHAR2(240);
lv_party_site_number VARCHAR2(30);
ln_location_id NUMBER;
-- WHO columns
l_user_id NUMBER := -1;
l_resp_id NUMBER := -1;
l_application_id NUMBER := -1;
l_row_cnt NUMBER := 1;
l_user_name VARCHAR2(30) := &user_name;
l_resp_name VARCHAR2(30) := &resp_name;
lv_vendor_site_code VARCHAR2(15) := &vendor_site_code;
ln_org_id NUMBER := &org_id; /*CURSOR sup_site IS
SELECT vendor_site_code_de
FROM xxwe_mg_supplier_sites_xross
WHERE batch_id = 234
AND segment1_so NOT LIKE 'NON%';*/
BEGIN
-- Get the user_id
SELECT user_id INTO l_user_id FROM fnd_user WHERE upper(user_name) = upper(l_user_name); -- Get the application_id and responsibility_id
SELECT application_id,
responsibility_id
INTO l_application_id,
l_resp_id
FROM fnd_responsibility_vl
WHERE upper(responsibility_name) = upper(l_resp_name); -- Initialize applications information
fnd_global.apps_initialize(l_user_id, l_resp_id, l_application_id); -- Mfg / Mfg & Dist Mgr / INV
dbms_output.put_line('Initialized applications context: ' || l_user_id || ' ' || l_resp_id || ' ' || l_application_id);
--
dbms_output.put_line('------------------Start Update-------------------');
--FOR rec IN sup_site LOOP
--dbms_output.put_line('Supplier site code:' || rec.vendor_site_code_de);
--dbms_output.put_line('Supplier org id:' || ln_org_id);
--SELECT NECESSARY INFORMATION BEGIN
SELECT pvs.vendor_site_id,
pvs.party_site_id,
hps.party_site_name,
hps.object_version_number,
hps.party_site_number,
pvs.location_id,
hl.object_version_number
INTO ln_vendor_site_id,
ln_party_site_id,
lv_party_site_name,
ln_object_version_number,
lv_party_site_number,
ln_location_id,
ln_object_version_number2
FROM ap_supplier_sites_all pvs,
hz_party_sites hps,
hz_locations hl
WHERE pvs.vendor_site_code = lv_vendor_site_code--rec.vendor_site_code_de
AND pvs.org_id = ln_org_id
AND pvs.party_site_id = hps.party_site_id
AND pvs.location_id = hl.location_id;
EXCEPTION
WHEN no_data_found THEN
lv_errmsg := 'Can not find the vendor site need to update!The site code is:' || lv_vendor_site_code/*rec.vendor_site_code_de*/;
dbms_output.put_line(lv_errmsg);
END;
--
lt_vendor_site_rec.vendor_site_id := ln_vendor_site_id;
lt_vendor_site_rec.vendor_site_code := substr(lv_vendor_site_code, length(lv_vendor_site_code) - 7, 8) || 'disable';
lt_vendor_site_rec.inactive_date := SYSDATE; --UPDATE vendor_site_code
ap_vendor_pub_pkg.update_vendor_site(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_false,
p_validation_level => fnd_api.g_valid_level_full,
x_return_status => lv_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lv_errmsg,
p_vendor_site_rec => lt_vendor_site_rec,
p_vendor_site_id => ln_vendor_site_id);
IF (nvl(lv_return_status, fnd_api.g_ret_sts_error) <> fnd_api.g_ret_sts_success) THEN
ln_msg_count := fnd_msg_pub.count_msg;
IF ln_msg_count > 0 THEN
lv_errmsg := substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 1, 512); FOR i IN 1 .. (ln_msg_count - 1) LOOP lv_errmsg := lv_errmsg || chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 1, 512);
END LOOP;
fnd_msg_pub.delete_msg();
END IF;
dbms_output.put_line('------------------Update Error-------------------');
dbms_output.put_line('Error1 :' || lv_errmsg);
END IF;
--UPDATE party_site_name
l_party_site_rec.party_site_id := ln_party_site_id;
l_party_site_rec.party_site_name := lv_party_site_name || 'disable';
l_party_site_rec.status := 'I';
--
hz_party_site_v2pub.update_party_site(p_init_msg_list => fnd_api.g_false,
p_party_site_rec => l_party_site_rec,
p_object_version_number => ln_object_version_number,
x_return_status => lv_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lv_errmsg);
IF (nvl(lv_return_status, fnd_api.g_ret_sts_error) <> fnd_api.g_ret_sts_success) THEN
ln_msg_count := fnd_msg_pub.count_msg;
IF ln_msg_count > 0 THEN
lv_errmsg := substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 1, 512); FOR i IN 1 .. (ln_msg_count - 1) LOOP lv_errmsg := lv_errmsg || chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 1, 512);
END LOOP;
fnd_msg_pub.delete_msg();
END IF;
dbms_output.put_line('------------------Update Error-------------------');
dbms_output.put_line('Error2 :' || lv_errmsg);
END IF;
--update location
lt_location_rec.address_style := 'POSTAL_ADDR_DEF';
lt_location_rec.location_id := ln_location_id; hz_location_v2pub.update_location(p_init_msg_list => fnd_api.g_true,
p_location_rec => lt_location_rec,
p_object_version_number => ln_object_version_number2,
x_return_status => lv_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lv_errmsg);
IF (nvl(lv_return_status, fnd_api.g_ret_sts_error) <> fnd_api.g_ret_sts_success) THEN
ln_msg_count := fnd_msg_pub.count_msg;
IF ln_msg_count > 0 THEN
lv_errmsg := substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 1, 512); FOR i IN 1 .. (ln_msg_count - 1) LOOP lv_errmsg := lv_errmsg || chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 1, 512);
END LOOP;
fnd_msg_pub.delete_msg();
END IF;
dbms_output.put_line('------------------Update Error-------------------');
dbms_output.put_line('Error3 :' || lv_errmsg);
END IF;
--
IF lv_return_status = fnd_api.g_ret_sts_success THEN
dbms_output.put_line('------------------Update Success-------------------');
DELETE xxwe_mg_supplier_sites_xross x
WHERE x.party_site_number_de = lv_party_site_number
AND x.org_id_de = ln_org_id;
END IF;
--END LOOP;
dbms_output.put_line('------------------Update End-------------------');
END;
使用API失效客户地址Demo
--Disable customer site
DECLARE
lv_party_site_number VARCHAR2(30) := &p_party_site_number;
lr_party_site_rec_type hz_party_site_v2pub.party_site_rec_type;
lr_cust_acct_site_rec hz_cust_account_site_v2pub.cust_acct_site_rec_type;
lr_cust_site_use_rec_type hz_cust_account_site_v2pub.cust_site_use_rec_type; lr_orig_sys_reference_rec hz_orig_system_ref_pub.orig_sys_reference_rec_type; ln_version_num NUMBER;
ln_version_num_party_site NUMBER;
x_return_status VARCHAR2(10);
x_msg_count NUMBER;
x_msg_data VARCHAR2(1000); ln_failed_count NUMBER := 0;
api_exception EXCEPTION; lv_errmsg VARCHAR2(2000);
BEGIN
dbms_output.put_line('Customer site number: ' || lv_party_site_number); --begin to disable customer site use
SELECT hcas.cust_acct_site_id,
hcas.org_id
INTO lr_cust_acct_site_rec.cust_acct_site_id,
lr_cust_acct_site_rec.org_id
FROM hz_cust_accounts hca,
hz_cust_acct_sites_all hcas,
hz_party_sites hps
WHERE hca.cust_account_id = hcas.cust_account_id
AND hcas.party_site_id = hps.party_site_id
AND hps.party_site_number = lv_party_site_number;
mo_global.init('AR');
mo_global.set_policy_context('S',
lr_cust_acct_site_rec.org_id);
dbms_output.put_line('Org id : ' || lr_cust_acct_site_rec.org_id); dbms_output.put_line(' ');
dbms_output.put_line('==========================Disable site use===========================================');
FOR cur_site_use IN (SELECT hcsu.site_use_id,
hcsu.location,
hcsu.site_use_code,
hcsu.object_version_number
FROM hz_cust_site_uses_all hcsu
WHERE hcsu.cust_acct_site_id = lr_cust_acct_site_rec.cust_acct_site_id
ORDER BY hcsu.site_use_id DESC) LOOP lr_cust_site_use_rec_type.cust_acct_site_id := lr_cust_acct_site_rec.cust_acct_site_id;
lr_cust_site_use_rec_type.site_use_id := cur_site_use.site_use_id;
lr_cust_site_use_rec_type.location := substr(cur_site_use.location,
1,
38) || '_d';
--lr_cust_site_use_rec_type.location := cur_site_use.location;
lr_cust_site_use_rec_type.site_use_code := cur_site_use.site_use_code;
lr_cust_site_use_rec_type.status := 'I'; hz_cust_account_site_v2pub.update_cust_site_use(p_init_msg_list => fnd_api.g_true,
p_cust_site_use_rec => lr_cust_site_use_rec_type,
p_object_version_number => cur_site_use.object_version_number,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data);
dbms_output.put_line('Site use id: ' || lr_cust_site_use_rec_type.site_use_id);
dbms_output.put_line('Location: ' || lr_cust_site_use_rec_type.location);
dbms_output.put_line('site_use_code: ' || lr_cust_site_use_rec_type.site_use_code); IF x_return_status = 'S' THEN
dbms_output.put_line('Disable customer site use successfully !'); ELSE
ln_failed_count := ln_failed_count + 1;
dbms_output.put_line('Failed to disable customer site use !');
dbms_output.put_line('x_msg_count : ' || x_msg_count);
dbms_output.put_line('Error message : ' || x_msg_data);
END IF;
dbms_output.put_line('--------------------------');
IF ln_failed_count > 0 THEN
RAISE api_exception;
END IF;
END LOOP; --begin to disable customer site
dbms_output.put_line(' ');
dbms_output.put_line('==========================Disable customer site======================================='); SELECT hcas.cust_acct_site_id,
hcas.org_id,
hcas.object_version_number
INTO lr_cust_acct_site_rec.cust_acct_site_id,
lr_cust_acct_site_rec.org_id,
ln_version_num
FROM hz_cust_accounts hca,
hz_cust_acct_sites_all hcas,
hz_party_sites hps
WHERE hca.cust_account_id = hcas.cust_account_id
AND hcas.party_site_id = hps.party_site_id
AND hps.party_site_number = lv_party_site_number;
lr_cust_acct_site_rec.status := 'I'; --call api to disable customer site
hz_cust_account_site_v2pub.update_cust_acct_site(p_init_msg_list => fnd_api.g_true,
p_cust_acct_site_rec => lr_cust_acct_site_rec,
p_object_version_number => ln_version_num,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data); IF x_return_status = 'S' THEN
--delete customer xross table
DELETE FROM xxwe_mg_customer_xross xmcx
WHERE party_site_number_de = lv_party_site_number
AND org_id = lr_cust_acct_site_rec.org_id;
dbms_output.put_line('Disable customer site successfully !');
ELSE
ln_failed_count := ln_failed_count + 1;
dbms_output.put_line('Failed to disable customer site !');
dbms_output.put_line('Error message : ' || x_msg_data);
RAISE api_exception;
END IF; dbms_output.put_line(' ');
dbms_output.put_line('==========================Disable party site========================================='); --begin to disable party site
SELECT hps.party_site_id,
hps.party_site_name || '_d',
hps.object_version_number
INTO lr_party_site_rec_type.party_site_id,
lr_party_site_rec_type.party_site_name,
ln_version_num_party_site
FROM hz_cust_accounts hca,
hz_cust_acct_sites_all hcas,
hz_party_sites hps
WHERE hca.cust_account_id = hcas.cust_account_id
AND hcas.party_site_id = hps.party_site_id
AND hps.party_site_number = lv_party_site_number; lr_party_site_rec_type.status := 'I';
hz_party_site_v2pub.update_party_site(p_init_msg_list => fnd_api.g_true,
p_party_site_rec => lr_party_site_rec_type,
p_object_version_number => ln_version_num_party_site,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data); IF x_return_status = 'S' THEN
dbms_output.put_line('Disable party site successfully !');
ELSE
dbms_output.put_line('Failed to disable party site !');
dbms_output.put_line('Error message : ' || x_msg_data);
RAISE api_exception;
END IF; EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('No data found!');
ROLLBACK;
WHEN api_exception THEN
dbms_output.put_line('Error occured when execute oracle api!');
ROLLBACK;
WHEN OTHERS THEN
dbms_output.put_line('Unexpected exception occured!');
ROLLBACK;
END;
使用API失效供应商地址Demo(转)的更多相关文章
- Oracle EBS AP更新供应商地址
SELECT pvs.vendor_site_id, pvs.party_site_id, hps.party_site_name, hps.object_version_number, hps.pa ...
- QQ地图api里的 地址解析函数 看不懂 javascript_百度知道
QQ地图api里的 地址解析函数 看不懂 javascript_百度知道 QQ地图api里的 地址解析函数 看不懂 javascript 2011-09-18 12:18 匿名 ...
- EBS标准的查看供应商地址
--获取供应商PARTY_ID SELECT * FROM HZ_PARTIES HP WHERE HP.PARTY_NAME='XXXXXX' VO数据源:oracle.apps.pos.suppl ...
- API之IP地址查询---权威的IP地址查询接口集合
原文地址:http://yushine.iteye.com/blog/1717586 推荐实用IP138 http://www.baidu.com/s?wd=IP&rsv_spt=1& ...
- Paypal Rest Api自定义物流地址(跳过填写物流地址)
PayPal之前的Rest Api是不支持自定义物流地址的,最新升级版本的提供了这个服务(Payment Experience),大概步骤如下: 1.申请一个自定义的配置ID 自定义配置包括Logo, ...
- 使用API更新供应商名称及曾用名
原文地址 更新供应商名称 EBS R12 (12.1.3) 更新供应商名称或替代供应商名称不能直接使用 pos_vendor_pub_pkg.update_vendor(p_vendor_rec =& ...
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...
- 供应商和管理员查看供应商地址簿信息SQL
--管理员查看地址簿 SELECT hps.party_site_id, hps.party_site_name AS address_name, 'CURRENT' AS status, hzl.a ...
- 通过百度地图API实现搜索地址--第三方开源--百度地图(三)
搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...
随机推荐
- MySQL Crash Course #06# Chapter 13. 14 GROUP BY. 子查询
索引 理解 GROUP BY 过滤数据 vs. 过滤分组 GROUP BY 与 ORDER BY 之不成文的规定 子查询 vs. 联表查询 相关子查询和不相关子查询. 增量构造复杂查询 Always ...
- 20145322 Exp5 Adobe阅读器漏洞攻击
20145322 Exp5 Adobe阅读器漏洞攻击 实验过程 IP:kali:192.168.1.102 windowsxp :192.168.1.119 msfconsole进入控制台 使用命令为 ...
- Educational Codeforces Round 21 Problem F (Codeforces 808F) - 最小割 - 二分答案
Digital collectible card games have become very popular recently. So Vova decided to try one of thes ...
- 字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理(转载)
引言 在显示器上看见的文字.图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片.假设,你用显微镜把盘片放大,会看见盘片表面凹凸不 ...
- 乘积尾零|2018年蓝桥杯B组题解析第三题-fishers
标题:乘积尾零 如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零? 5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 ...
- K条最短路径算法(KSP, k-shortest pathes):Yen's Algorithm
参考: K最短路径算法之Yen's Algorithm Yen's algorithm 基于网络流量的SDN最短路径转发应用 K条最短路径算法:Yen's Algorithm 算法背景 K 最短路径问 ...
- 03_Kafka集群操作
1.集群配置思路 1)每台节点上要启动一个broker进程,因此要配置每台的server.properties broker id, log.dirs, zookeeper.connect 2) 每台 ...
- LA 4287 等价性证明(强连通分量缩点)
https://vjudge.net/problem/UVALive-4287 题意: 给出n个结点m条边的有向图,要求加尽量少的边,使得新图强连通. 思路:强连通分量缩点,然后统计缩点后的图的每个结 ...
- python 元组列表合并
#create a tuple l = [(,), (,), (,)] print(list(zip(*l)))
- python json格式转xml格式
import xmltodict #json转xml函数 def jsontoxml(jsonstr): #xmltodict库的unparse()json转xml xmlstr = xmltodic ...