原文地址  使用API失效供应商地址Demo

  1. DECLARE
  2. lv_return_status VARCHAR2(1) := NULL;
  3. ln_msg_count NUMBER;
  4. lv_errmsg VARCHAR2(5000);
  5. lt_vendor_site_rec ap_vendor_pub_pkg.r_vendor_site_rec_type;
  6. l_party_site_rec hz_party_site_v2pub.party_site_rec_type;
  7. lt_location_rec hz_location_v2pub.location_rec_type;
  8. ln_object_version_number NUMBER;
  9. ln_object_version_number2 NUMBER;
  10. ln_vendor_site_id NUMBER := NULL;
  11. ln_party_site_id NUMBER := NULL;
  12. lv_party_site_name VARCHAR2(240);
  13. lv_party_site_number VARCHAR2(30);
  14. ln_location_id NUMBER;
  15. -- WHO columns
  16. l_user_id NUMBER := -1;
  17. l_resp_id NUMBER := -1;
  18. l_application_id NUMBER := -1;
  19. l_row_cnt NUMBER := 1;
  20. l_user_name VARCHAR2(30) := &user_name;
  21. l_resp_name VARCHAR2(30) := &resp_name;
  22. lv_vendor_site_code VARCHAR2(15) := &vendor_site_code;
  23. ln_org_id NUMBER := &org_id;
  24.  
  25. /*CURSOR sup_site IS
  26. SELECT vendor_site_code_de
  27. FROM xxwe_mg_supplier_sites_xross
  28. WHERE batch_id = 234
  29. AND segment1_so NOT LIKE 'NON%';*/
  30. BEGIN
  31. -- Get the user_id
  32. SELECT user_id INTO l_user_id FROM fnd_user WHERE upper(user_name) = upper(l_user_name);
  33.  
  34. -- Get the application_id and responsibility_id
  35. SELECT application_id,
  36. responsibility_id
  37. INTO l_application_id,
  38. l_resp_id
  39. FROM fnd_responsibility_vl
  40. WHERE upper(responsibility_name) = upper(l_resp_name);
  41.  
  42. -- Initialize applications information
  43. fnd_global.apps_initialize(l_user_id, l_resp_id, l_application_id); -- Mfg / Mfg & Dist Mgr / INV
  44. dbms_output.put_line('Initialized applications context: ' || l_user_id || ' ' || l_resp_id || ' ' || l_application_id);
  45. --
  46. dbms_output.put_line('------------------Start Update-------------------');
  47. --FOR rec IN sup_site LOOP
  48. --dbms_output.put_line('Supplier site code:' || rec.vendor_site_code_de);
  49. --dbms_output.put_line('Supplier org id:' || ln_org_id);
  50. --SELECT NECESSARY INFORMATION
  51.  
  52. BEGIN
  53. SELECT pvs.vendor_site_id,
  54. pvs.party_site_id,
  55. hps.party_site_name,
  56. hps.object_version_number,
  57. hps.party_site_number,
  58. pvs.location_id,
  59. hl.object_version_number
  60. INTO ln_vendor_site_id,
  61. ln_party_site_id,
  62. lv_party_site_name,
  63. ln_object_version_number,
  64. lv_party_site_number,
  65. ln_location_id,
  66. ln_object_version_number2
  67. FROM ap_supplier_sites_all pvs,
  68. hz_party_sites hps,
  69. hz_locations hl
  70. WHERE pvs.vendor_site_code = lv_vendor_site_code--rec.vendor_site_code_de
  71. AND pvs.org_id = ln_org_id
  72. AND pvs.party_site_id = hps.party_site_id
  73. AND pvs.location_id = hl.location_id;
  74. EXCEPTION
  75. WHEN no_data_found THEN
  76. lv_errmsg := 'Can not find the vendor site need to update!The site code is:' || lv_vendor_site_code/*rec.vendor_site_code_de*/;
  77. dbms_output.put_line(lv_errmsg);
  78. END;
  79. --
  80. lt_vendor_site_rec.vendor_site_id := ln_vendor_site_id;
  81. lt_vendor_site_rec.vendor_site_code := substr(lv_vendor_site_code, length(lv_vendor_site_code) - 7, 8) || 'disable';
  82. lt_vendor_site_rec.inactive_date := SYSDATE;
  83.  
  84. --UPDATE vendor_site_code
  85. ap_vendor_pub_pkg.update_vendor_site(p_api_version => 1.0,
  86. p_init_msg_list => fnd_api.g_true,
  87. p_commit => fnd_api.g_false,
  88. p_validation_level => fnd_api.g_valid_level_full,
  89. x_return_status => lv_return_status,
  90. x_msg_count => ln_msg_count,
  91. x_msg_data => lv_errmsg,
  92. p_vendor_site_rec => lt_vendor_site_rec,
  93. p_vendor_site_id => ln_vendor_site_id);
  94. IF (nvl(lv_return_status, fnd_api.g_ret_sts_error) <> fnd_api.g_ret_sts_success) THEN
  95. ln_msg_count := fnd_msg_pub.count_msg;
  96. IF ln_msg_count > 0 THEN
  97. lv_errmsg := substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 1, 512);
  98.  
  99. FOR i IN 1 .. (ln_msg_count - 1) LOOP
  100.  
  101. lv_errmsg := lv_errmsg || chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 1, 512);
  102. END LOOP;
  103. fnd_msg_pub.delete_msg();
  104. END IF;
  105. dbms_output.put_line('------------------Update Error-------------------');
  106. dbms_output.put_line('Error1 :' || lv_errmsg);
  107. END IF;
  108. --UPDATE party_site_name
  109. l_party_site_rec.party_site_id := ln_party_site_id;
  110. l_party_site_rec.party_site_name := lv_party_site_name || 'disable';
  111. l_party_site_rec.status := 'I';
  112. --
  113. hz_party_site_v2pub.update_party_site(p_init_msg_list => fnd_api.g_false,
  114. p_party_site_rec => l_party_site_rec,
  115. p_object_version_number => ln_object_version_number,
  116. x_return_status => lv_return_status,
  117. x_msg_count => ln_msg_count,
  118. x_msg_data => lv_errmsg);
  119. IF (nvl(lv_return_status, fnd_api.g_ret_sts_error) <> fnd_api.g_ret_sts_success) THEN
  120. ln_msg_count := fnd_msg_pub.count_msg;
  121. IF ln_msg_count > 0 THEN
  122. lv_errmsg := substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 1, 512);
  123.  
  124. FOR i IN 1 .. (ln_msg_count - 1) LOOP
  125.  
  126. lv_errmsg := lv_errmsg || chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 1, 512);
  127. END LOOP;
  128. fnd_msg_pub.delete_msg();
  129. END IF;
  130. dbms_output.put_line('------------------Update Error-------------------');
  131. dbms_output.put_line('Error2 :' || lv_errmsg);
  132. END IF;
  133. --update location
  134. lt_location_rec.address_style := 'POSTAL_ADDR_DEF';
  135. lt_location_rec.location_id := ln_location_id;
  136.  
  137. hz_location_v2pub.update_location(p_init_msg_list => fnd_api.g_true,
  138. p_location_rec => lt_location_rec,
  139. p_object_version_number => ln_object_version_number2,
  140. x_return_status => lv_return_status,
  141. x_msg_count => ln_msg_count,
  142. x_msg_data => lv_errmsg);
  143. IF (nvl(lv_return_status, fnd_api.g_ret_sts_error) <> fnd_api.g_ret_sts_success) THEN
  144. ln_msg_count := fnd_msg_pub.count_msg;
  145. IF ln_msg_count > 0 THEN
  146. lv_errmsg := substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false), 1, 512);
  147.  
  148. FOR i IN 1 .. (ln_msg_count - 1) LOOP
  149.  
  150. lv_errmsg := lv_errmsg || chr(10) || substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false), 1, 512);
  151. END LOOP;
  152. fnd_msg_pub.delete_msg();
  153. END IF;
  154. dbms_output.put_line('------------------Update Error-------------------');
  155. dbms_output.put_line('Error3 :' || lv_errmsg);
  156. END IF;
  157. --
  158. IF lv_return_status = fnd_api.g_ret_sts_success THEN
  159. dbms_output.put_line('------------------Update Success-------------------');
  160. DELETE xxwe_mg_supplier_sites_xross x
  161. WHERE x.party_site_number_de = lv_party_site_number
  162. AND x.org_id_de = ln_org_id;
  163. END IF;
  164. --END LOOP;
  165. dbms_output.put_line('------------------Update End-------------------');
  166. END;

使用API失效客户地址Demo

  1. --Disable customer site
  2. DECLARE
  3. lv_party_site_number VARCHAR2(30) := &p_party_site_number;
  4. lr_party_site_rec_type hz_party_site_v2pub.party_site_rec_type;
  5. lr_cust_acct_site_rec hz_cust_account_site_v2pub.cust_acct_site_rec_type;
  6. lr_cust_site_use_rec_type hz_cust_account_site_v2pub.cust_site_use_rec_type;
  7.  
  8. lr_orig_sys_reference_rec hz_orig_system_ref_pub.orig_sys_reference_rec_type;
  9.  
  10. ln_version_num NUMBER;
  11. ln_version_num_party_site NUMBER;
  12. x_return_status VARCHAR2(10);
  13. x_msg_count NUMBER;
  14. x_msg_data VARCHAR2(1000);
  15.  
  16. ln_failed_count NUMBER := 0;
  17. api_exception EXCEPTION;
  18.  
  19. lv_errmsg VARCHAR2(2000);
  20. BEGIN
  21. dbms_output.put_line('Customer site number: ' || lv_party_site_number);
  22.  
  23. --begin to disable customer site use
  24. SELECT hcas.cust_acct_site_id,
  25. hcas.org_id
  26. INTO lr_cust_acct_site_rec.cust_acct_site_id,
  27. lr_cust_acct_site_rec.org_id
  28. FROM hz_cust_accounts hca,
  29. hz_cust_acct_sites_all hcas,
  30. hz_party_sites hps
  31. WHERE hca.cust_account_id = hcas.cust_account_id
  32. AND hcas.party_site_id = hps.party_site_id
  33. AND hps.party_site_number = lv_party_site_number;
  34. mo_global.init('AR');
  35. mo_global.set_policy_context('S',
  36. lr_cust_acct_site_rec.org_id);
  37. dbms_output.put_line('Org id : ' || lr_cust_acct_site_rec.org_id);
  38.  
  39. dbms_output.put_line(' ');
  40. dbms_output.put_line('==========================Disable site use===========================================');
  41. FOR cur_site_use IN (SELECT hcsu.site_use_id,
  42. hcsu.location,
  43. hcsu.site_use_code,
  44. hcsu.object_version_number
  45. FROM hz_cust_site_uses_all hcsu
  46. WHERE hcsu.cust_acct_site_id = lr_cust_acct_site_rec.cust_acct_site_id
  47. ORDER BY hcsu.site_use_id DESC) LOOP
  48.  
  49. lr_cust_site_use_rec_type.cust_acct_site_id := lr_cust_acct_site_rec.cust_acct_site_id;
  50. lr_cust_site_use_rec_type.site_use_id := cur_site_use.site_use_id;
  51. lr_cust_site_use_rec_type.location := substr(cur_site_use.location,
  52. 1,
  53. 38) || '_d';
  54. --lr_cust_site_use_rec_type.location := cur_site_use.location;
  55. lr_cust_site_use_rec_type.site_use_code := cur_site_use.site_use_code;
  56. lr_cust_site_use_rec_type.status := 'I';
  57.  
  58. hz_cust_account_site_v2pub.update_cust_site_use(p_init_msg_list => fnd_api.g_true,
  59. p_cust_site_use_rec => lr_cust_site_use_rec_type,
  60. p_object_version_number => cur_site_use.object_version_number,
  61. x_return_status => x_return_status,
  62. x_msg_count => x_msg_count,
  63. x_msg_data => x_msg_data);
  64. dbms_output.put_line('Site use id: ' || lr_cust_site_use_rec_type.site_use_id);
  65. dbms_output.put_line('Location: ' || lr_cust_site_use_rec_type.location);
  66. dbms_output.put_line('site_use_code: ' || lr_cust_site_use_rec_type.site_use_code);
  67.  
  68. IF x_return_status = 'S' THEN
  69. dbms_output.put_line('Disable customer site use successfully !');
  70.  
  71. ELSE
  72. ln_failed_count := ln_failed_count + 1;
  73. dbms_output.put_line('Failed to disable customer site use !');
  74. dbms_output.put_line('x_msg_count : ' || x_msg_count);
  75. dbms_output.put_line('Error message : ' || x_msg_data);
  76. END IF;
  77. dbms_output.put_line('--------------------------');
  78. IF ln_failed_count > 0 THEN
  79. RAISE api_exception;
  80. END IF;
  81. END LOOP;
  82.  
  83. --begin to disable customer site
  84. dbms_output.put_line(' ');
  85. dbms_output.put_line('==========================Disable customer site=======================================');
  86.  
  87. SELECT hcas.cust_acct_site_id,
  88. hcas.org_id,
  89. hcas.object_version_number
  90. INTO lr_cust_acct_site_rec.cust_acct_site_id,
  91. lr_cust_acct_site_rec.org_id,
  92. ln_version_num
  93. FROM hz_cust_accounts hca,
  94. hz_cust_acct_sites_all hcas,
  95. hz_party_sites hps
  96. WHERE hca.cust_account_id = hcas.cust_account_id
  97. AND hcas.party_site_id = hps.party_site_id
  98. AND hps.party_site_number = lv_party_site_number;
  99. lr_cust_acct_site_rec.status := 'I';
  100.  
  101. --call api to disable customer site
  102. hz_cust_account_site_v2pub.update_cust_acct_site(p_init_msg_list => fnd_api.g_true,
  103. p_cust_acct_site_rec => lr_cust_acct_site_rec,
  104. p_object_version_number => ln_version_num,
  105. x_return_status => x_return_status,
  106. x_msg_count => x_msg_count,
  107. x_msg_data => x_msg_data);
  108.  
  109. IF x_return_status = 'S' THEN
  110. --delete customer xross table
  111. DELETE FROM xxwe_mg_customer_xross xmcx
  112. WHERE party_site_number_de = lv_party_site_number
  113. AND org_id = lr_cust_acct_site_rec.org_id;
  114. dbms_output.put_line('Disable customer site successfully !');
  115. ELSE
  116. ln_failed_count := ln_failed_count + 1;
  117. dbms_output.put_line('Failed to disable customer site !');
  118. dbms_output.put_line('Error message : ' || x_msg_data);
  119. RAISE api_exception;
  120. END IF;
  121.  
  122. dbms_output.put_line(' ');
  123. dbms_output.put_line('==========================Disable party site=========================================');
  124.  
  125. --begin to disable party site
  126. SELECT hps.party_site_id,
  127. hps.party_site_name || '_d',
  128. hps.object_version_number
  129. INTO lr_party_site_rec_type.party_site_id,
  130. lr_party_site_rec_type.party_site_name,
  131. ln_version_num_party_site
  132. FROM hz_cust_accounts hca,
  133. hz_cust_acct_sites_all hcas,
  134. hz_party_sites hps
  135. WHERE hca.cust_account_id = hcas.cust_account_id
  136. AND hcas.party_site_id = hps.party_site_id
  137. AND hps.party_site_number = lv_party_site_number;
  138.  
  139. lr_party_site_rec_type.status := 'I';
  140. hz_party_site_v2pub.update_party_site(p_init_msg_list => fnd_api.g_true,
  141. p_party_site_rec => lr_party_site_rec_type,
  142. p_object_version_number => ln_version_num_party_site,
  143. x_return_status => x_return_status,
  144. x_msg_count => x_msg_count,
  145. x_msg_data => x_msg_data);
  146.  
  147. IF x_return_status = 'S' THEN
  148. dbms_output.put_line('Disable party site successfully !');
  149. ELSE
  150. dbms_output.put_line('Failed to disable party site !');
  151. dbms_output.put_line('Error message : ' || x_msg_data);
  152. RAISE api_exception;
  153. END IF;
  154.  
  155. EXCEPTION
  156. WHEN no_data_found THEN
  157. dbms_output.put_line('No data found!');
  158. ROLLBACK;
  159. WHEN api_exception THEN
  160. dbms_output.put_line('Error occured when execute oracle api!');
  161. ROLLBACK;
  162. WHEN OTHERS THEN
  163. dbms_output.put_line('Unexpected exception occured!');
  164. ROLLBACK;
  165. END;

使用API失效供应商地址Demo(转)的更多相关文章

  1. Oracle EBS AP更新供应商地址

    SELECT pvs.vendor_site_id, pvs.party_site_id, hps.party_site_name, hps.object_version_number, hps.pa ...

  2. QQ地图api里的 地址解析函数 看不懂 javascript_百度知道

    QQ地图api里的 地址解析函数 看不懂 javascript_百度知道     QQ地图api里的 地址解析函数 看不懂 javascript    2011-09-18 12:18     匿名 ...

  3. EBS标准的查看供应商地址

    --获取供应商PARTY_ID SELECT * FROM HZ_PARTIES HP WHERE HP.PARTY_NAME='XXXXXX' VO数据源:oracle.apps.pos.suppl ...

  4. API之IP地址查询---权威的IP地址查询接口集合

    原文地址:http://yushine.iteye.com/blog/1717586 推荐实用IP138 http://www.baidu.com/s?wd=IP&rsv_spt=1& ...

  5. Paypal Rest Api自定义物流地址(跳过填写物流地址)

    PayPal之前的Rest Api是不支持自定义物流地址的,最新升级版本的提供了这个服务(Payment Experience),大概步骤如下: 1.申请一个自定义的配置ID 自定义配置包括Logo, ...

  6. 使用API更新供应商名称及曾用名

    原文地址 更新供应商名称 EBS R12 (12.1.3) 更新供应商名称或替代供应商名称不能直接使用 pos_vendor_pub_pkg.update_vendor(p_vendor_rec =& ...

  7. 物流一站式单号查询之快递鸟API接口(附Demo源码)

    连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...

  8. 供应商和管理员查看供应商地址簿信息SQL

    --管理员查看地址簿 SELECT hps.party_site_id, hps.party_site_name AS address_name, 'CURRENT' AS status, hzl.a ...

  9. 通过百度地图API实现搜索地址--第三方开源--百度地图(三)

    搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...

随机推荐

  1. 最新 mysql登录报错“Access denied for user 'root'@'localhost' (using password: NO”的处理方法

    1.关闭正在运行的MySQL.2.打开DOS窗口,转到mysql\bin目录.3.输入mysqld --skip-grant-tables回车.如果没有出现提示信息,那就对了.(正常的情况是光标闪烁没 ...

  2. PHP_SELF变量解析和重复路径解决

    最近升级PHP到PHP7版本,并重新部署了新的Nginx,启动的时候发现了一个问题,全局变量$_SERVER['PHP_SELF']的值发生了改变,从而影响到代码的功能.因此我们来了解下$_SERVE ...

  3. 20145225 《网络对抗》逆向及Bof基础实践

    实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShe ...

  4. tensorflow mnist 给一张手写字辨别

    https://www.jianshu.com/p/db2afc0b0334 https://blog.csdn.net/xxzhangx/article/details/54563574

  5. poj Meteor Shower - 搜索

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16313   Accepted: 4291 Description Bess ...

  6. 使用Oracle执行计划分析SQL性能

    执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述.即就是对一个查询任务,做出一份怎样去完成任务的详细方案. 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的 ...

  7. grep如何结尾匹配

    答:grep "jello$" 如:git branch输出以下内容: yes-jello-good yes-jellos yes-jello 那么使用以下命令只能过滤出一行: $ ...

  8. linux下如何源码安装expect

    1.作用 自动交互.比如如果用ssh登陆服务器,每次都输入密码,然而你觉得麻烦,那你就可以使用expect来做自动交互,这样的话就不用每次都输入密码 2.依赖 依赖tcl 3.获取源码 wget ht ...

  9. BZOJ1407: [Noi2002]Savage exgcd

    Description Input 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数Ci, Pi, Li表示每个野人所住的初始洞穴编号,每年走过的洞穴 ...

  10. Facebook广告API系列 1

    Facebook广告API系列 1 前言 最近遇到大坑了,居然要去对接facebook的广告API,之前以为是跟鹅厂一样的API体系,看了半天Facebook的文档,冷汗直冒.... 这得一点一点的讲 ...