/*
供应商地点失效
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. 【jQuery源码】事件委托

    jQuery的事件绑定有几个比较优秀的特点: 1. 可以绑定不限数量的处理函数 2. 事件可以委托到祖先节点,不必一定要绑到对应的节点,这样后添加的节点也照样能被处理. 3. 链式操作 下面主要分析事 ...

  2. 视口(viewport)原理详解之第二部分(移动端浏览器)

    一.移动端浏览器的问题 当我们把移动端浏览器和桌面浏览器比较时,最明显的差异就是尺寸.移动端浏览器尺寸要比桌面屏幕小得多,移动浏览器最多差不多也就400px.最重要的问题集中在我们的CSS上,特别是v ...

  3. AndroidStudio报错Software caused connection abort: recv failed

    Software caused connection abort: recv failed 这个问题网上有一种说法 已知会导致这种异常的一个场景如下: 客户端和服务端建立tcp的短连接,每次客户端发送 ...

  4. mongodb-地理坐标存储查询

    mongodb可支持空间地理搜索: 查询器 $geoWithin Selects geometries within a bounding GeoJSON geometry. The 2dsphere ...

  5. springboot-23-aspectj日志记录及threadlocal内存泄漏

    对于请求参数的处理和响应, 如果在代码中体现日志会显得很繁琐, 普遍的解决方案是使用spring的切面方案去解决. 这儿使用的是springboot的切面: http://www.cnblogs.co ...

  6. 1-hadoop中遇到的各种异常

    本贴记录学习hadoop中遇到的各种异常, 包括推荐系统分类下的和本分类下的, 持续更新 1, 搭建ha时, active和standy之间不能自由切换 经检查, 配置文件错误, 私钥配置 root ...

  7. Java直接用javac来编译带package的类

    在没有package语句的java类, 我们可以直接使用: javac Test.java 就可以了, 如果Test.java中包含package语句,如:package abc; 编译后,是要求Te ...

  8. Mybatis中分表插件shardbatis使用说明

    Mybatis中实现分表,有个很简单的插件,叫shardbatis,使用maven构建的工程,可以在pom.xml中添加依赖性即可: <!-- 分库分表插件 --> <depende ...

  9. IOS第三方之SVProgressHUD

    这个第三方和MBProgressHUD差不多,也挺简单的. // // ViewController.m // ProgressHUD // // Created by City--Online on ...

  10. LeetCode刷题第二天

    2.给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们 ...