AR*客户地点分配OU
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的更多相关文章
- 客户地点分配多OU
DECLARE l_num_user_id NUMBER; l_num_appl_id NUMBER; l_num_resp_id NUMBER; cust_account_rec_type hz_c ...
- Oracle EBS 更新客户地点
--更新客户地点 declare x_return_status ); x_msg_count NUMBER; x_msg_data ); x_profile_id NUMBER; l_locatio ...
- Oracle EBS AR 客户API
------------------------------------ 1. Set Environment ------------------------------------ -- 1a. ...
- Oracle EBS AR 客户取数SQL
SELECT acct.cust_account_id, acct.party_id, acct.account_number, party.party_name, lkp1.meaning part ...
- AR 应收 表
AR 应收 应收事务处理相关表 SELECT * FROM ar.ar_batches_all; --事务处理批 SELECT * FROM ar.ra_custom ...
- 在EBS里新建一个OU的步骤
http://blog.csdn.net/kevingao/archive/2010/09/11/5877092.aspx 在EBS里新建一个OU的步骤1. 建立OU组织,关联SOB,LE2. 系统管 ...
- AR自动开票主程序导入发票的时候,出现错误提示''不能获取汇款地址''
问题:AR自动开票主程序,出现错误不能获取汇款地址 解决:AR>设置-打印-汇入地址,汇入地址要增加此客户地点对应的国家:
- Oracel数据库连接时出现:ORA-12518:监听程序无法分发客户机连
在连接Oracel数据库时,每隔一段时间就会出现:ORA-12518:监听程序无法分发客户机连接,如图 上网查了资料原因和解决方案如下: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误, ...
- 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 ...
随机推荐
- 【转】RabbitMQ三种Exchange模式
[转]RabbitMQ三种Exchange模式 RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储 RabbitMQ提供了四 ...
- 数据库服务器和web服务器磁盘占用查询
对于Oracle数据库而言磁盘空间主要体现在表空间上,可使用sql语句进行查看Oracle 表空间的大小及使用情况: select sum(bytes)/1024/1024/1024 "Gb ...
- 持续集成学习9 jenkins执行脚本
一.配置 1.首先在slave节点上写一脚本 [root@node1 script]# cat /application/script/test.sh #!/bin/bash echo "h ...
- 《OKR工作法》——打造一支专一的团队
<OKR工作法>在最开始讲了这样一个故事,阿塔兰忒是斯巴达跑的最快的人,她的父亲为了将她嫁出去举办了一场跑步比赛并许诺冠军可以娶自己的女儿,阿塔兰忒为了不结婚决定参加比赛自己拿冠军.然而在 ...
- java 值传递、引用传递
class Demo02 { public static void main(String[] args) { int a=1; get(a);//值传递 System.out.println(a); ...
- fake_useragent 本地运行各种报错解决办法
- C Primer Plus--C预处理器和C库(1)
目录 预处理符号 明显常量 #define 编译程序之前,先由预处理器检查程序(因此称为预处理器).根据程序中使用的预处理器指令,预处理用符号缩略语所代表的内容替换程序中的缩略语. 预处理器可以根据你 ...
- vuex如何实现数据持久化,刷新页面存储的值还存在
1.安装: npm install vuex-persistedstate --save 2.找到store/index.js import Vue from 'vue' import Vuex fr ...
- 梯度裁剪(Clipping Gradient):torch.nn.utils.clip_grad_norm
torch.nn.utils.clip_grad_norm_(parameters, max_norm, norm_type=2) 1.(引用:[深度学习]RNN中梯度消失的解决方案(LSTM) ) ...
- JAVA学习网站分享
好久没用博客园了 最近工作不忙了,可以花时间自己学习知识提升自己,所以开始查找各种资料 java资源查找网站: http://www.java1234.com/ 前端学习网站: ...