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. 全局异常捕获处理-@ControllerAdvice+@HandleException

    涂涂影院管理系统这个demo中有个异常管理的标签,用于捕获 涂涂影院APP用户异常信息 ,有小伙伴好奇,排除APP,后台端的是如何处理全局异常的,故项目中的实际应用已记之. 关于目前的异常处理 在使用 ...

  2. LeetCode 971. Flip Binary Tree To Match Preorder Traversal

    原题链接在这里:https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/ 题目: Given a bina ...

  3. c++ socket发送数据时,sendData = char * string 导致的乱码问题

    解决方法:将string 通过copy函数复制到某个char[] 1. string res =“xxx”; char arr[100]; int len = res.copy(arr, 100); ...

  4. MuPAD使用总结

    MuPAD使用总结 一.打开notebook界面的方法: 二.notebook界面的三种区域 (一).输入区域 输入区域在打开来的时候就有,就是,但是之后如果还想再加,可以点击上方红色框内的图标. 这 ...

  5. 「ZJOI2019」Minmax搜索

    传送门 Solution 叶子节点的变化区间是连续的,可得知非叶子节点的权值变化区间也是连续的 由此可知,\(W\)的变化值的可行域也是连续的,所以只需要看它能否变为\(W+1\)或\(W-1\) 对 ...

  6. 【cf补题记录】A. Hotelier

    思考之后再看题解,是与别人灵魂之间的沟通与碰撞 A. Hotelier 题意 给出长度为n的字符串,字符串由'L'.'R'以及数字0~9组成.旅馆有10间房子,L代表客人从左边入住,R代表客人从右边入 ...

  7. SDN上机第四次作业

    1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 安装ODL后安装插件 2.3用Python脚本搭建如下拓扑,连接OpenDayLight控制器 拓扑如图: Py ...

  8. Portainer实战

    Portainer是一个轻量级的Docker环境管理UI,可以管理docker host和docker swarm(我主要看中了能管理swarm这个,毕竟市面上能管理swarm的平台不多).之所以说是 ...

  9. Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor

    Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor 20 ...

  10. golang 内存监控

    golang 内存监控 - 简书 https://www.jianshu.com/p/38dc129b6870