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 ...
随机推荐
- Python3中用pip离线安装
本文原创,转载请注明出处. Python3 中 离线安装 ① 生成已安装模块列表,默认存在C:\Users\Administrator下 pip freeze > requirements.tx ...
- 2019-2020-1 20199302《Linux内核原理与分析》第七周作业
第六章 进程的描述和进程的创建 (一)进程的描述 1.OS的三大管理功能:(1)进程管理(进程)(2)内存管理(虚拟内存)(3)文件系统(文件) 2.进程的描述:进程控制块PCB 3.在Linux内核 ...
- windows 获取时间戳
Windows 批处理时间戳 1.时间戳格式: 取年份: echo %date:~,% 取月份: echo %date:~,% 取日期: echo %date:~,% 取星期: echo %date: ...
- 开源项目 08 IOC Autofac
using Autofac; using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- SVN 常用 查看日志
1.日志查看,有时候会遇到查看一下之前改过的代码,或者恢复某某某个版本,这时就需要用到SVN的查看日志功能了,如图 2.日志列表,这里能看到各个版本的所有信息,包含了版本号 提交人 提交时间 提交时所 ...
- 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(HTTP介绍,TCP实现HTTP下载文件)
https://www.cnblogs.com/yangfengwu/p/10357564.html 看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧 先看这个节安装WEB服务器.... ...
- GoCN每日新闻(2019-10-19)
GoCN每日新闻(2019-10-19) Go 1.13中的错误处理 https://tonybai.com/2019/10/18/errors-handling-in-go-1-13 golang核 ...
- ELK:使用docker搭建elk平台
1.安装ElasticSearch 1.docker pull elasticsearch //拉取镜像 2.find /var/lib/docker/overlay2/ -name jvm.opti ...
- 打印出js对象里面的内容
最近调试的时候遇到需要打印出js对象里面的内容,两种方式: 1.直接使用 JSON.stringify(obj) 方法把对象转成字符串,打印出来.但是因为维护的项目比较老,使用的还是ie11的ie5兼 ...
- 剑指offer:和为S的两个数字
题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 思 ...