/*
供应商地点失效
creation: created by jenrry 20161108 1.00 */
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;
p_vendor_rec ap_vendor_pub_pkg.r_vendor_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;
l_object_version_number number;
ln_party_site_id NUMBER := NULL;
lv_party_site_name VARCHAR2(240);
lv_party_site_number VARCHAR2(30);
ln_location_id NUMBER;
x_profile_id number;
l_party_rec hz_party_v2pub.party_rec_type;
l_organization_rec hz_party_v2pub.organization_rec_type;
l_status VARCHAR2(1) := 'A';
cursor cur_tmp is
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 object_version_number2,
po.VENDOR_NAME,
pvs.VENDOR_SITE_CODE,
po.VENDOR_ID,
po.PARTY_ID,
pvs.INACTIVE_DATE FROM ap_supplier_sites_all pvs,
hz_party_sites hps,
hz_locations hl,
ap_suppliers PO
WHERE pvs.party_site_id = hps.party_site_id
AND pvs.location_id = hl.location_id
and po.VENDOR_ID = pvs.VENDOR_ID
and po.ATTRIBUTE13 = 'S201608160069'; BEGIN
-- fnd_global.apps_initialize(0, 50738, 20003);
dbms_output.put_line('------------------Start Update-------------------'); for cur in cur_tmp loop --
lt_vendor_site_rec.vendor_site_id := cur.vendor_site_id;
if l_status = 'I' then
lt_vendor_site_rec.inactive_date := SYSDATE;
else
lt_vendor_site_rec.inactive_date := fnd_api.G_NULL_DATE; --sysdate + 30;--to_date('3033-12-07','YYYY-MM-DD');
end if;
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 => cur.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;
IF lv_return_status = fnd_api.g_ret_sts_success THEN
dbms_output.put_line('------------------Update vendor Success-------------------'); END IF; l_party_site_rec.party_site_id := cur.party_site_id;
l_party_site_rec.status := l_status;
--
begin
select hps.OBJECT_VERSION_NUMBER
into ln_object_version_number
from hz_party_sites hps
where hps.PARTY_SITE_ID = cur.party_site_id;
end;
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;
IF lv_return_status = fnd_api.g_ret_sts_success THEN
dbms_output.put_line('------------------Update party site Success-------------------'); END IF;
--update location
lt_location_rec.address_style := 'POSTAL_ADDR_DEF';
lt_location_rec.location_id := cur.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 => cur.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 location Success-------------------'); END IF;
--update vendor name
p_vendor_rec.vendor_id := cur.vendor_id;
if l_status = 'I' then
p_vendor_rec.VENDOR_NAME := cur.VENDOR_NAME || '(作废)';
p_vendor_rec.END_DATE_ACTIVE := sysdate;
else
p_vendor_rec.VENDOR_NAME := replace(cur.VENDOR_NAME, '(作废)','');
p_vendor_rec.END_DATE_ACTIVE := fnd_api.G_NULL_DATE; --sysdate + 30; --to_date('3033-12-07','YYYY-MM-DD');
p_vendor_rec.START_DATE_ACTIVE := sysdate;
end if;
ap_vendor_pub_pkg.update_vendor(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_false,
p_commit => fnd_api.g_false,
p_validation_level => NULL,
x_return_status => lv_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lv_errmsg,
p_vendor_rec => p_vendor_rec,
p_vendor_id => cur.vendor_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 vendor name Error-------------------');
dbms_output.put_line('Error1 :' || lv_errmsg);
END IF;
IF lv_return_status = fnd_api.g_ret_sts_success THEN
dbms_output.put_line('------------------Update vendor name Success-------------------'); END IF; --
begin
SELECT hp.object_version_number
INTO l_object_version_number
FROM hz_parties hp
WHERE hp.party_id = cur.party_id
and rownum = 1;
end;
l_party_rec.party_id := cur.party_id;
l_organization_rec.party_rec := l_party_rec;
if l_status = 'I' then
l_organization_rec.organization_name := cur.vendor_name || '(作废)';
else
l_organization_rec.organization_name := replace(cur.vendor_name , '(作废)','');
end if;
cux_ap_vendors_api.update_organization(p_init_msg_list => fnd_api.g_false,
p_commit => fnd_api.g_false,
p_party_id => cur.party_id,
p_organization_rec => l_organization_rec,
x_profile_id => x_profile_id,
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 vendor party name Error-------------------');
dbms_output.put_line('Error1 :' || lv_errmsg);
END IF;
IF lv_return_status = fnd_api.g_ret_sts_success THEN
dbms_output.put_line('------------------Update vendor party name Success-------------------'); END IF;
END LOOP;
dbms_output.put_line('------------------Update End-------------------');
END;

Oracle EBS AP 供应商地点失效的更多相关文章

  1. Oracle EBS AP 供应商API

    --创建供应商地址上的电话号码 created by jenrry 20170419 DECLARE l_return_status VARCHAR2(1); l_msg_count NUMBER; ...

  2. Oracle EBS AP 供应商取值

    SELECT --nvl(substr(po.vendor_name,1,instr(po.vendor_name,',',1)-1),po.vendor_name) vendor_name, po. ...

  3. Oracle EBS AP更新供应商地址

    SELECT pvs.vendor_site_id, pvs.party_site_id, hps.party_site_name, hps.object_version_number, hps.pa ...

  4. Oracle EBS AP取消核销

    --取消核销 created by jenrry 20170425 DECLARE l_result BOOLEAN; l_msg_count NUMBER; l_result_n varchar2( ...

  5. Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款

    1>找出相应的发票; SELECT DISTINCT ai.invoice_id, ai.invoice_num invoice_num, pv.segment1 vendor_num, pv. ...

  6. Oracle EBS 更新客户地点

    --更新客户地点 declare x_return_status ); x_msg_count NUMBER; x_msg_data ); x_profile_id NUMBER; l_locatio ...

  7. ORACLE EBS AP invoice 到付款的数据流

    --1.Invoice创建时生成数据如下表 --Invoice主表 SELECT * FROM AP_INVOICES_ALL A WHERE A.INVOICE_NUM = '20111213001 ...

  8. Oracle EBS AP 应付核销到确定一行预付款

    -- purpose: 应付标准发票核销预付款发票中的一行 -- 12.2.6 环境 -- author:jenrry create_date: 2017-06-08 declare l_error_ ...

  9. Oracle EBS AP 发票放弃行

    -- purpose: 应付发票放弃发票行 -- 12.2.6 环境 -- author:jenrry create_date: 2017-06-07 declare l_dummy_msg VARC ...

随机推荐

  1. PHP CURL 伪造IP和来路

    //随机IP function Rand_IP(){ $ip2id= round(rand(, ) / ); //第一种方法,直接生成 $ip3id= round(rand(, ) / ); $ip4 ...

  2. Postman—参数化

    一.单个数据参数化 场景:购物车接口,需要用到登录接口返回的token 1.登录接口,在Tests里面设置usertoken环境变量,用来保存token值. 2.获取购物车接口使用usertoken变 ...

  3. Android Layout 01_activity_Login.xml

    activity_login.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  4. 【BATJ面试必会】Java 基础篇

    一.数据类型 包装类型 缓存池 二.String 概览 不可变的好处 String, StringBuffer and StringBuilder String Pool new String(&qu ...

  5. [转]React 教程

    本文转自:http://www.runoob.com/react/react-install.html React 可以直接下载使用,下载包中也提供了很多学习的实例. 本教程使用了 React 的版本 ...

  6. angularjs 依赖注入原理与实现

    在用angular依赖注入时,感觉很好用,他的出现是 为了“削减计算机程序的耦合问题” ,我怀着敬畏与好奇的心情,轻轻的走进了angular源码,看看他到底是怎么实现的,我也想写个这么牛逼的功能.于是 ...

  7. Directory文件类

    创建一个新文件 Directory.CreateDirectory(@"C: \Users\enle\Desktop\new");//路径 Console.WriteLine(&q ...

  8. insert into 语句的三种写法

    insert into 语句的三种写法 方式1. INSERT INTO t1(field1,field2) VALUES (v001,v002);            // 明确只插入一条Valu ...

  9. LeetCode CombinationSum

    class Solution { public: vector<vector<int> > combinationSum(vector<int> &cand ...

  10. html 里面的 role 属性是什么意义和用途

    使用role属性告诉辅助设备(如屏幕阅读器)这个元素所扮演的角色,属于WAI-ARIA. 例如点击的按钮,就是role="button":会让这个元素可点击:本质上是增强语义性,当 ...