使用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 ...
随机推荐
- Finalize和Dispose的区别
https://www.cnblogs.com/Jessy/articles/2552839.html
- mongodb 最佳可视化工具mongobooster
最好用的mongodb GUI工具 mongobooster,没有之一,可从https://mongobooster.com/下载 常见管理命令可参考,http://www.cnblogs.com/l ...
- 怎么解决深入学习PHP的瓶颈
PHP给学习者的感觉是:初学的时候很容易,但是学了2-3年,就深刻感觉遇到了瓶颈,很难深入,放弃又可惜.所谓"鸡肋,食之无味弃之可惜"的感觉很是贴切. 经常会有这种感觉:不学,看似 ...
- zabbix-server新增zabbix-agent
zabbix监控系统搭建好了之后,就需要为各种角色host加入进来,现在新增一台zabbix-agent: 1.在172.16.23.128上安装zabbix-agent,zabbix-server: ...
- 20145106 《Java程序设计》第9周学习总结
教材学习内容总结 JDBC标准主要分为两个部分:JDBC应用程序开发者接口以及JDBC驱动程序开发者接口. 如果将来要换为Oracle数据库,只要置换Oracle驱动程序. Java中的数据类型和SQ ...
- 20145216史婧瑶 《网络对抗》 MSF基础应用
20145216史婧瑶 <网络对抗> MSF基础应用 实验回答问题 用自己的话解释什么是exploit,payload,encode. exploit:渗透攻击模块,测试者利用它来攻击一个 ...
- MIME协议(详解范例)
转载一:http://blog.csdn.net/bripengandre/article/details/2192982 转载二:http://blog.csdn.net/flfna/article ...
- Python之GUI的最终选择(Tkinter)
首先,Tkinter是Python默认的GUI库,想IDLE就是用Tkinter设计出来的,因此直接导入Tkinter模块就可以啦 1 import tkinter (1)Tkinter初体验: 1 ...
- cogs 2221. [SDOI2016 Round1] 数字配对
★★ 输入文件:pair.in 输出文件:pair.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两 ...
- BZOJ 4552: [Tjoi2016&Heoi2016]排序 线段树 二分
目录 此代码是个假代码,只能糊弄luogu,以后再改,路过大佬也可以帮一下辣 update 10.6 此代码是个假代码,只能糊弄luogu,以后再改,路过大佬也可以帮一下辣 /* //fang zhi ...