DECLARE
p_cust_acct_site_rec hz_cust_account_site_v2pub.cust_acct_site_rec_type;
p_cust_site_use_rec hz_cust_account_site_v2pub.cust_site_use_rec_type;
p_customer_profile_rec hz_customer_profile_v2pub.customer_profile_rec_type;
x_site_use_id NUMBER;
x_return_status VARCHAR2(20000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(20000);
x_cust_acct_site_id NUMBER;
l_org_id NUMBER;
l_party_site_id NUMBER;
l_cust_account_id NUMBER;
l_location_id NUMBER;
l_error_msg VARCHAR2(32000);
v_location_rec hz_location_v2pub.location_rec_type;
v_location_clear hz_location_v2pub.location_rec_type;
v_location_id NUMBER; v_version_number NUMBER;
CURSOR cur IS
SELECT t.import_id,
t.ou_name,
t.party_name,
t.party_site_number,
t.error_flag,
t.error_msg,
t.attribute1,
t.attribute2,
t.attribute3,
t.attribute4,
t.attribute5
FROM cux_party_site_import_temp t
WHERE 1 = 1
--AND t.party_name = '东莞市安德丰电池有限公司'
-- and t.import_id=406
;
-- AND t.error_flag = 'Y';
BEGIN
-- Setting the Context --
mo_global.init('AR');
fnd_global.apps_initialize(user_id => 1318,
resp_id => 50559,
resp_appl_id => 222); l_error_msg := NULL;
FOR rec IN cur
LOOP
l_error_msg := NULL;
-- Initializing the Mandatory API parameters
l_org_id := NULL;
BEGIN
SELECT hou.organization_id
INTO l_org_id
FROM hr_operating_units hou
WHERE 1 = 1
AND hou.name = rec.ou_name;
EXCEPTION
WHEN OTHERS THEN
l_org_id := NULL;
l_error_msg := l_error_msg || ' 业务实体不存在';
END; mo_global.set_policy_context('S',
l_org_id);
fnd_global.set_nls_context('AMERICAN'); BEGIN
SELECT hps.party_site_id, hl.location_id
INTO l_party_site_id, l_location_id
FROM hz_party_sites hps, hz_parties hp, hz_locations hl
WHERE hps.party_id = hp.party_id
AND hps.location_id = hl.location_id(+)
AND hps.party_site_number = rec.party_site_number
AND hp.party_name = rec.party_name;
EXCEPTION
WHEN OTHERS THEN
l_party_site_id := NULL;
l_location_id := NULL;
--l_error_msg := l_error_msg || ' 客户地址不存在';
END; IF (l_location_id IS NULL) THEN
END IF; BEGIN
SELECT DISTINCT hca.cust_account_id
INTO l_cust_account_id
FROM hz_cust_acct_sites_all hcas,
hz_cust_accounts_all hca,
hz_parties hp
WHERE hp.party_id = hca.party_id
AND hca.cust_account_id = hcas.cust_account_id
AND hcas.party_site_id = l_party_site_id
AND hp.party_name = rec.party_name;
EXCEPTION
WHEN OTHERS THEN
l_cust_account_id := NULL;
l_error_msg := l_error_msg || ' 客户账户不存在 ';
END; IF (l_error_msg IS NULL) THEN
--创建客户地点
p_cust_acct_site_rec.org_id := l_org_id;
p_cust_acct_site_rec.cust_account_id := l_cust_account_id;
p_cust_acct_site_rec.party_site_id := l_party_site_id;
p_cust_acct_site_rec.location_id := l_party_site_id;
p_cust_acct_site_rec.created_by_module := 'HZ_CPUI'; dbms_output.put_line('Calling the API hz_cust_account_site_v2pub.create_cust_acct_site****************************'); hz_cust_account_site_v2pub.create_cust_acct_site(p_init_msg_list => fnd_api.g_true,
p_cust_acct_site_rec => p_cust_acct_site_rec,
x_cust_acct_site_id => x_cust_acct_site_id,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data); IF x_return_status = fnd_api.g_ret_sts_success THEN l_error_msg := NULL;
--COMMIT;
dbms_output.put_line('Creation of Customer Account Site is Successful,Customer Account Site Id is = ' ||
x_cust_acct_site_id); --创建客户地点的业务用途(收单方,收货方)
-- Initializing the Mandatory API parameters 111
p_cust_site_use_rec.cust_acct_site_id := x_cust_acct_site_id;
p_cust_site_use_rec.site_use_code := 'BILL_TO';
--p_cust_site_use_rec.location := l_location_id;
p_cust_site_use_rec.created_by_module := 'HZ_CPUI'; dbms_output.put_line('Calling the API hz_cust_account_site_v2pub.create_cust_site_use=============');
x_site_use_id := NULL;
hz_cust_account_site_v2pub.create_cust_site_use(p_init_msg_list => fnd_api.g_true,
p_cust_site_use_rec => p_cust_site_use_rec,
p_customer_profile_rec => p_customer_profile_rec,
p_create_profile => fnd_api.g_true,
p_create_profile_amt => fnd_api.g_true,
x_site_use_id => x_site_use_id,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data); IF x_return_status = fnd_api.g_ret_sts_success THEN l_error_msg := NULL;
--COMMIT;
dbms_output.put_line('Successful,Site Use Id = ' ||
x_site_use_id || ',Site Use = ' ||
p_cust_site_use_rec.site_use_code);
ELSE
dbms_output.put_line('Creation of Customer Accnt Site use got failed:' ||
x_msg_data); l_error_msg := l_error_msg || x_msg_data;
ROLLBACK;
FOR i IN 1 .. x_msg_count
LOOP
x_msg_data := fnd_msg_pub.get(p_msg_index => i,
p_encoded => 'F');
dbms_output.put_line(i || ') ' || x_msg_data);
END LOOP;
END IF; p_cust_site_use_rec.cust_acct_site_id := x_cust_acct_site_id;
p_cust_site_use_rec.site_use_code := 'SHIP_TO';
--p_cust_site_use_rec.bill_to_site_use_id := x_site_use_id;
--p_cust_site_use_rec.location := l_location_id;
p_cust_site_use_rec.created_by_module := 'HZ_CPUI'; x_site_use_id := NULL;
hz_cust_account_site_v2pub.create_cust_site_use(p_init_msg_list => fnd_api.g_true,
p_cust_site_use_rec => p_cust_site_use_rec,
p_customer_profile_rec => p_customer_profile_rec,
p_create_profile => fnd_api.g_true,
p_create_profile_amt => fnd_api.g_true,
x_site_use_id => x_site_use_id,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data); IF x_return_status = fnd_api.g_ret_sts_success THEN l_error_msg := NULL;
--COMMIT;
dbms_output.put_line('Successful,Site Use Id = ' ||
x_site_use_id || ',Site Use = ' ||
p_cust_site_use_rec.site_use_code);
ELSE
dbms_output.put_line('Creation of Customer Accnt Site use got failed:' ||
x_msg_data);
--ROLLBACK;
FOR i IN 1 .. x_msg_count
LOOP
x_msg_data := fnd_msg_pub.get(p_msg_index => i,
p_encoded => 'F');
l_error_msg := l_error_msg || x_msg_data;
dbms_output.put_line(i || ') ' || x_msg_data);
END LOOP;
END IF;
ELSE
dbms_output.put_line('Creation of Customer Account Site got failed:' ||
x_msg_data);
--ROLLBACK;
FOR i IN 1 .. x_msg_count
LOOP
x_msg_data := fnd_msg_pub.get(p_msg_index => i,
p_encoded => 'F');
l_error_msg := l_error_msg || x_msg_data;
dbms_output.put_line(i || ') ' || x_msg_data);
END LOOP;
END IF; --IF x_return_status = fnd_api.g_ret_sts_success THEN ELSE
dbms_output.put_line('l_error_msg:=' || l_error_msg);
END IF; -- IF (l_error_msg IS NULL) THEN IF (l_error_msg IS NOT NULL) THEN
UPDATE cux_party_site_import_temp t
SET t.error_flag = 'Y', t.error_msg = l_error_msg
WHERE 1 = 1
AND t.import_id = rec.import_id;
ELSE
UPDATE cux_party_site_import_temp t
SET t.error_flag = 'N', t.error_msg = NULL
WHERE 1 = 1
AND t.import_id = rec.import_id;
END IF;
END LOOP; --COMMIT; EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('导入异常!');
END;

  

create table cux_party_site_import_temp
(IMPORT_ID NUMBER,
OU_NAME VARCHAR2(240),
PARTY_NAME VARCHAR2(240),
PARTY_SITE_NAME VARCHAR2(240),
ADDRESS VARCHAR2(240),
ERROR_FLAG VARCHAR2(240),
ERROR_MSG VARCHAR2(4000),
ATTRIBUTE1 VARCHAR2(240),
ATTRIBUTE2 VARCHAR2(240),
ATTRIBUTE3 VARCHAR2(240),
ATTRIBUTE4 VARCHAR2(240),
ATTRIBUTE5 VARCHAR2(240)) /*
select * from hz_parties hps
where hps.PARTY_NAME like '%惠州市伟江新能源有限公司%'*/

  

AR*客户地点分配OU的更多相关文章

  1. 客户地点分配多OU

    DECLARE l_num_user_id NUMBER; l_num_appl_id NUMBER; l_num_resp_id NUMBER; cust_account_rec_type hz_c ...

  2. Oracle EBS 更新客户地点

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

  3. Oracle EBS AR 客户API

    ------------------------------------ 1. Set Environment ------------------------------------ -- 1a. ...

  4. Oracle EBS AR 客户取数SQL

    SELECT acct.cust_account_id, acct.party_id, acct.account_number, party.party_name, lkp1.meaning part ...

  5. AR 应收 表

    AR 应收 应收事务处理相关表 SELECT * FROM ar.ar_batches_all;                  --事务处理批 SELECT * FROM ar.ra_custom ...

  6. 在EBS里新建一个OU的步骤

    http://blog.csdn.net/kevingao/archive/2010/09/11/5877092.aspx 在EBS里新建一个OU的步骤1. 建立OU组织,关联SOB,LE2. 系统管 ...

  7. AR自动开票主程序导入发票的时候,出现错误提示''不能获取汇款地址''

    问题:AR自动开票主程序,出现错误不能获取汇款地址 解决:AR>设置-打印-汇入地址,汇入地址要增加此客户地点对应的国家:

  8. Oracel数据库连接时出现:ORA-12518:监听程序无法分发客户机连

    在连接Oracel数据库时,每隔一段时间就会出现:ORA-12518:监听程序无法分发客户机连接,如图 上网查了资料原因和解决方案如下: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误, ...

  9. XShell提示Connection closed by foreign host的问题 和 路由器分配IP的规则

    情况是这样的: VMware中有三个Linux机器分别是crxy99(192.168.1.99),crxy100(192.168.1.100),crxy101(192.168.1.101),crxy1 ...

随机推荐

  1. c++读写matlab中.mat数据

    前言:在进行图形图像处理时,经常会用到matlab进行算法的仿真验证,然后再移植到别的语言中.有时会涉及到数据的交互,比如直接读取matlab的.mat类型数据,或者是将c++中的数组存为.mat,为 ...

  2. ERP study

  3. 15-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,上位机程序编写

    https://www.cnblogs.com/yangfengwu/p/11104167.html 先说一下整体思路哈.. 咱滑动的时候 会进入这个,然后咱呢不直接从这个里面写发送 因为这样的话太快 ...

  4. linux命令之------快捷键说明

    linux快捷键说明 (1)命令或目录补齐:Tab (2)遍历历史记录:history 上移:ctrl+p,下移:ctrl+n (3)光标移动 左移:ctrl+b:右移:ctrl+f:移到首部:ctr ...

  5. nbbnbnbnbnb

    1.本章学习总结(2分) 1.1 学习内容总结 结构体的定义与赋值 结构类型定义的一般形式为: struct 结构名 { 类型名 结构成员1: 类型名 结构成员2: ... 类型名 结构成员3: }; ...

  6. Doors Breaking and Repairing

    题目链接:Doors Breaking and Repairing 题目大意:有n个门,先手攻击力为x(摧毁),后手恢复力为y(恢复),输入每个门的初始“生命值”,当把门的生命值攻为0时,就无法恢复了 ...

  7. 记录一次SpringBoot实现AOP编程

    需求 最近碰到一个问题,需要对关键操作的入参和返回值进行记录,并不是使用log记录,而是插入到数据库中. 思路:如果采用硬编码,在每个操作后都添加,会产生大量重复代码.因而打算使用自定义注解,通过AO ...

  8. hive集成kerberos

    1.票据的生成 kdc服务器操作,生成用于hive身份验证的principal 1.1.创建principal # kadmin.local -q “addprinc -randkey hive/yj ...

  9. pycharm plot独立窗口显示

    import matplotlib.pyplot as plt ... plt.show() 进行如下设置: File->Settings->Tools->Python Scient ...

  10. D3.js的v5版本入门教程(第十一章)——交互式操作

    D3.js的v5版本入门教程(第十一章) 与图形进行交互操作是很重要的!所谓的交互操作也就是为图形元素添加监听事件,比如说当你鼠标放在某个图形元素上面的时候,就会显示相应的文字,而当鼠标移开后,文字就 ...