客户地点分配多OU
DECLARE
l_num_user_id NUMBER;
l_num_appl_id NUMBER;
l_num_resp_id NUMBER;
cust_account_rec_type hz_cust_account_v2pub.cust_account_rec_type;
l_num_obj_ver_num NUMBER;
l_chr_return_status VARCHAR2(2000);
l_num_msg_count NUMBER;
l_chr_msg_data VARCHAR2(500);
l_num_profile_id NUMBER;
l_organization_rec hz_party_v2pub.organization_rec_type;
l_customer_profile_rec hz_customer_profile_v2pub.customer_profile_rec_type;
l_num_cust_id NUMBER;
l_chr_acct_num VARCHAR2(500);
l_num_party_id NUMBER;
l_chr_party_number VARCHAR2(500);
l_cust_acct_site_use_rec hz_cust_account_site_v2pub.cust_site_use_rec_type;
l_cust_acct_site_rec hz_cust_account_site_v2pub.cust_acct_site_rec_type;
l_chr_sit_return_status VARCHAR2(500);
l_num_sit_msg_count NUMBER;
l_chr_sit_msg_data VARCHAR2(500);
l_chr_situ_return_status VARCHAR2(500);
l_num_situ_msg_count NUMBER;
l_chr_situ_msg_data VARCHAR2(500);
l_num_site_use_id NUMBER;
CURSOR update_base_tables_cur IS
SELECT DISTINCT a.party_number,
ps.party_site_number,
a.party_id,
'CUST-' || a.party_id || '-' || ass.org_id AS customer_ref,
'ADD-' || ps.party_site_id || '-' || ass.org_id AS address_ref,
ps.party_site_id,
ass.address_line1,
ass.city,
ass.state,
ass.zip,
ass.country,
'N' primary_site_use_flag,
a.orig_system_reference AS party_ref,
a.party_name AS customer_name,
ass.org_id
FROM apps.ap_suppliers ap,
apps.ap_supplier_sites_all ass,
apps.hz_parties a,
apps.hz_party_sites ps
WHERE ap.vendor_id = ass.vendor_id
AND a.party_id = ap.party_id
AND ps.party_id = ap.party_id
AND ass.party_site_id = ps.party_site_id
AND a.party_name = ap.vendor_name
AND a.party_id = 12465 -- modify this part/query
--and ass.org_id = 204
AND NOT EXISTS
(SELECT 1 FROM hz_cust_accounts a WHERE a.party_id = a.party_id);
BEGIN
fnd_global.apps_initialize(&user_id, &responsibility_id, 222); -- input from 1st sql
dbms_output.put_line('***************************');
FOR update_base_tables_rec IN update_base_tables_cur LOOP
NULL;
cust_account_rec_type.cust_account_id := fnd_api.g_miss_num;
cust_account_rec_type.account_name := update_base_tables_rec.customer_name;
l_organization_rec.party_rec.party_id := update_base_tables_rec.party_id;
l_organization_rec.party_rec.party_number := update_base_tables_rec.party_number;
l_organization_rec.organization_name := update_base_tables_rec.customer_name;
cust_account_rec_type.orig_system_reference := update_base_tables_rec.customer_ref;
l_customer_profile_rec.party_id := update_base_tables_rec.party_id;
l_customer_profile_rec.profile_class_id := 0; -- use DEFAULT profile with id=0
l_customer_profile_rec.created_by_module := 'HZ_CPUI';
cust_account_rec_type.created_by_module := 'HZ_CPUI';
hz_cust_account_v2pub.create_cust_account(p_init_msg_list => fnd_api.g_false,
p_cust_account_rec => cust_account_rec_type,
p_organization_rec => l_organization_rec,
p_customer_profile_rec => l_customer_profile_rec,
p_create_profile_amt => fnd_api.g_true,
x_cust_account_id => l_num_cust_id,
x_account_number => l_chr_acct_num,
x_party_id => l_num_party_id,
x_party_number => l_chr_party_number,
x_profile_id => l_num_profile_id,
x_return_status => l_chr_return_status,
x_msg_count => l_num_msg_count,
x_msg_data => l_chr_msg_data);
dbms_output.put_line('x_return_status: ' || l_chr_return_status);
dbms_output.put_line('x_cust_account_id: ' || l_num_cust_id);
dbms_output.put_line('x_account_number: ' || l_chr_acct_num);
dbms_output.put_line('x_party_id: ' || l_num_party_id);
IF l_chr_return_status != 'S' THEN
--Display all the error messages
FOR j IN 1 .. fnd_msg_pub.count_msg LOOP
dbms_output.put_line(j);
l_chr_msg_data := fnd_msg_pub.get(p_msg_index => j,
p_encoded => 'F');
dbms_output.put_line('Message(' || j || '):= ' ||
l_chr_msg_data);
END LOOP;
END IF;
BEGIN
SELECT cust_account_id
INTO l_cust_acct_site_rec.cust_account_id
FROM hz_cust_accounts
WHERE orig_system_reference = update_base_tables_rec.customer_ref;
EXCEPTION
WHEN OTHERS THEN
l_cust_acct_site_rec.cust_account_id := fnd_api.g_miss_num;
END;
l_cust_acct_site_rec.party_site_id := update_base_tables_rec.party_site_id;
l_cust_acct_site_rec.created_by_module := 'HZ_CPUI';
l_cust_acct_site_rec.orig_system_reference := update_base_tables_rec.address_ref;
l_cust_acct_site_rec.status := 'A';
l_cust_acct_site_rec.org_id := update_base_tables_rec.org_id;
mo_global.init('ONT');
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => update_base_tables_rec.org_id);
hz_cust_account_site_v2pub.create_cust_acct_site(p_init_msg_list => 'T',
p_cust_acct_site_rec => l_cust_acct_site_rec,
x_cust_acct_site_id => l_num_obj_ver_num,
x_return_status => l_chr_sit_return_status,
x_msg_count => l_num_sit_msg_count,
x_msg_data => l_chr_sit_msg_data);
dbms_output.put_line('x_cust_acct_site_id: ' || l_num_obj_ver_num);
dbms_output.put_line('x_return_status: ' || l_chr_sit_return_status);
IF l_chr_sit_return_status != 'S' THEN
--Display all the error messages
FOR j IN 1 .. fnd_msg_pub.count_msg LOOP
dbms_output.put_line(j);
l_chr_sit_msg_data := fnd_msg_pub.get(p_msg_index => j,
p_encoded => 'F');
dbms_output.put_line('Site Message(' || j || '):= ' ||
l_chr_sit_msg_data);
END LOOP;
END IF;
BEGIN
SELECT cust_acct_site_id
INTO l_cust_acct_site_use_rec.cust_acct_site_id
FROM hz_cust_acct_sites_all
WHERE orig_system_reference = update_base_tables_rec.address_ref;
EXCEPTION
WHEN OTHERS THEN
l_cust_acct_site_use_rec.cust_acct_site_id := fnd_api.g_miss_num;
END;
l_cust_acct_site_use_rec.org_id := update_base_tables_rec.org_id;
l_cust_acct_site_use_rec.site_use_code := 'BILL_TO';
l_cust_acct_site_use_rec.status := 'A';
l_cust_acct_site_use_rec.primary_flag := 'Y';
l_cust_acct_site_use_rec.orig_system_reference := update_base_tables_rec.address_ref;
l_cust_acct_site_use_rec.created_by_module := 'HZ_CPUI';
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => update_base_tables_rec.org_id);
hz_cust_account_site_v2pub.create_cust_site_use(p_init_msg_list => 'T',
p_cust_site_use_rec => l_cust_acct_site_use_rec,
p_customer_profile_rec => l_customer_profile_rec,
p_create_profile => fnd_api.g_true,
p_create_profile_amt => fnd_api.g_true,
x_site_use_id => l_num_site_use_id,
x_return_status => l_chr_situ_return_status,
x_msg_count => l_num_situ_msg_count,
x_msg_data => l_chr_situ_msg_data);
dbms_output.put_line('x_site_use_id: ' || l_num_site_use_id);
dbms_output.put_line('x_return_status: ' || l_chr_situ_return_status);
IF l_chr_situ_return_status != 'S' THEN
--Display all the error messages
FOR j IN 1 .. fnd_msg_pub.count_msg LOOP
dbms_output.put_line(j);
l_chr_situ_msg_data := fnd_msg_pub.get(p_msg_index => j,
p_encoded => 'F');
dbms_output.put_line('Site Use Message(' || j || '):= ' ||
l_chr_situ_msg_data);
END LOOP;
END IF;
END LOOP;
END;
/
客户地点分配多OU的更多相关文章
- AR*客户地点分配OU
DECLARE p_cust_acct_site_rec hz_cust_account_site_v2pub.cust_acct_site_rec_type; p_cust_site_use_rec ...
- Oracle EBS 更新客户地点
--更新客户地点 declare x_return_status ); x_msg_count NUMBER; x_msg_data ); x_profile_id NUMBER; l_locatio ...
- 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 ...
- EBS 客户表结构
客户表/联系人/PARTY关联 HZ_PARTIES 客户账户表 HZ_CUST_ACCOUNTS SELECT hp.party_number --客户注册标识 , hp.party_name ...
- 客户信息全SQL
SELECT hp.party_name "客户名称", --客户名称 hca.account_number "客户编号", --客户编号 hca.cust_a ...
- 使用ML.NET实现基于RFM模型的客户价值分析
RFM模型 在众多的客户价值分析模型中,RFM模型是被广泛应用的,尤其在零售和企业服务领域堪称经典的分类手段.它的核心定义从基本的交易数据中来,借助恰当的聚类算法,反映出对客户较为直观的分类指示,对于 ...
- AEAI CRM V1.6.0 升级说明,开源客户关系管理系统
1 升级说明 AEAI CRM v1.6.0版是AEAI CRM v1.5.2版客户关系管理系统的升级版本,本次版本是基于AEAI DP v3.8.0_20170228进行打包部署的,升级内容主要是针 ...
- oracle:TNS:监听程序无法分发客户机连接
挂上vpn的时候,PL/SQL连接到oracle的时候,显示ORA-12518:监听程序无法分发客户机连接.如下图: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误,致使无法连接到服务器 ...
随机推荐
- Rabbitmq集群
分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 Rabbitmq集群高 ...
- Spring声明式事务总结
Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- 安卓获取清单文件meta-data数据
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name& ...
- CentOS环境下使用GIT基于Nginx的私服搭建全过程
阅读本文前你必须预先装好CentOS并且已经安装和配置好Nginx了. 安装GIT私服套件 安装centos6.5-centos7.0 安装nginx yum install -y?git gitwe ...
- java开源即时通讯软件服务端openfire源码构建
java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...
- Redis之(五)持久化
Redis提供了两种持久化的方式: (1)RDB(Redis DataBase)模式,就是在不同的时间点,将Redis存储的数据生成快照并存储到磁盘等介质上: (2)AOF(Append Only F ...
- Excel下拉框多列显示,如何只显示一列
小编最近接手一个项目,之于需要导数据,但是我们需要提前把表头什么的设置好,更方便其他小伙伴们帮助我们导入数据,小伙伴们都知道,在excel中设置下拉菜单很简单,直接用数据有效性-序列就可以实现,今天小 ...
- FLAnimatedImage -ios gif图片加载框架介绍
简介 FLAnimatedImage 是 Flipboard 团队开发的在它们 App 中渲染 GIF 图片使用的库. 后来 Flipboard 将 FLAnimatedImage 开源出来供大家使用 ...
- ROS机器人程序设计(原书第2版)补充资料 (叁) 第三章 可视化和调试工具
ROS机器人程序设计(原书第2版)补充资料 (叁) 第三章 可视化和调试工具 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. ~$ rosl ...
- Dynamics CRM The difference between UserId and InitiatingUserId in Plugin
对于这两者的不同,MSDN的解释如下 • IExecutionContext.UserId Property: Gets the global unique identifier of the sys ...