博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解EBS接口开发之更新供应商付款方法
阅读量:4580 次
发布时间:2019-06-09

本文共 6115 字,大约阅读时间需要 20 分钟。

更新供应商地点层的付款方法API

DECLARE  --API 参数  l_external_payee_rec_type iby_disbursement_setup_pub.external_payee_rec_type;  l_ext_payee_id_rec_type   iby_disbursement_setup_pub.ext_payee_id_rec_type;  l_ext_payee_tab           iby_disbursement_setup_pub.external_payee_tab_type;  l_ext_payee_id_tab        iby_disbursement_setup_pub.ext_payee_id_tab_type;  l_ext_payee_status_tab    iby_disbursement_setup_pub.ext_payee_update_tab_type;  --变量  l_api_version CONSTANT NUMBER := 1;  l_msg_data      VARCHAR2(2000);  l_msg           VARCHAR2(4000);  l_msg_count     NUMBER;  l_return_status VARCHAR2(1);  l_method_code   VARCHAR2(50);  l_vendor_id              NUMBER;  l_party_id               NUMBER;  l_party_site_id          NUMBER;  l_location_id            NUMBER;  l_vendor_site_id         NUMBER;  l_object_version_number  NUMBER;  l_loc_version_number     NUMBER;  g_def_exclusive_pay_flag VARCHAR2(1) := 'Y';  --l_party_id              NUMBER;  --游标  CURSOR cur_cux_vendor IS    SELECT l.vendor_site_code, l.attribute2, l.line_id      FROM cux_oms_vendor_site l     WHERE l.attribute2 IS NULL       FOR UPDATE NOWAIT;  CURSOR cur_ap_vendor(p_vendor_site_code IN VARCHAR2) IS    SELECT l.vendor_id, l.vendor_site_id, l.org_id, l.party_site_id      FROM ap_supplier_sites_all l     WHERE l.vendor_site_code = p_vendor_site_code;  CURSOR c_payment_method(p_vendor_id      IN VARCHAR2,                          p_vendor_site_id IN NUMBER) IS    SELECT a.ext_payee_id,           a.payment_function,           a.supplier_site_id,           a.party_site_id,           a.org_id,           a.org_type,           a.object_version_number,           pv.party_id,           s.attribute2      FROM ap_supplier_sites_all   s,           iby_external_payees_all a,           po_vendors              pv     WHERE (s.inactive_date IS NULL OR           trunc(s.inactive_date) >= trunc(SYSDATE))       AND a.supplier_site_id(+) = s.vendor_site_id       AND s.vendor_id = pv.vendor_id       AND a.payee_party_id = pv.party_id       AND s.org_id = a.org_id(+)       AND s.party_site_id = a.party_site_id(+)       AND s.vendor_site_id = p_vendor_site_id       AND pv.vendor_id = p_vendor_id;BEGIN  fnd_global.apps_initialize(user_id      => 1110,                             resp_id      => 20639,                             resp_appl_id => 200);  FOR rec_cux_vendor IN cur_cux_vendor LOOP    FOR rec_ap_vendor IN cur_ap_vendor(p_vendor_site_code => rec_cux_vendor.vendor_site_code) LOOP      --初始化参数      mo_global.set_policy_context(p_access_mode => 'S',                                   p_org_id      => rec_ap_vendor.org_id);      FOR r_payment_method IN c_payment_method(p_vendor_id      => rec_ap_vendor.vendor_id,                                               p_vendor_site_id => rec_ap_vendor.vendor_site_id) LOOP        l_ext_payee_id_rec_type := NULL;        l_ext_payee_id_tab.delete;        l_external_payee_rec_type := NULL;        l_ext_payee_tab.delete;              SELECT l.party_id          INTO l_party_id          FROM ap_suppliers l         WHERE l.vendor_id = rec_ap_vendor.vendor_id;              --update site level ext pay infor        l_ext_payee_id_rec_type := NULL;        l_ext_payee_id_tab.delete;        l_external_payee_rec_type := NULL;        l_ext_payee_tab.delete;        --init param p_ext_payee_id_tab        l_ext_payee_id_rec_type.ext_payee_id := r_payment_method.ext_payee_id;        l_ext_payee_id_tab(1) := l_ext_payee_id_rec_type;        --init param p_ext_payee_tab        l_external_payee_rec_type.payee_party_site_id := r_payment_method.party_site_id;        l_external_payee_rec_type.payee_party_id      := r_payment_method.party_id; --p_party_id;        l_external_payee_rec_type.payment_function    := r_payment_method.payment_function;        l_external_payee_rec_type.payer_org_id        := r_payment_method.org_id;        l_external_payee_rec_type.supplier_site_id    := r_payment_method.supplier_site_id;        l_external_payee_rec_type.payer_org_type      := r_payment_method.org_type;        l_external_payee_rec_type.exclusive_pay_flag  := g_def_exclusive_pay_flag;              /*SELECT pmv.payment_method_code         INTO l_method_code         FROM iby_payment_methods_vl pmv        WHERE pmv.payment_method_name = '银行电汇'          AND SYSDATE < nvl(pmv.inactive_date, SYSDATE + 1);*/              l_external_payee_rec_type.default_pmt_method := 'BZ_CHECK';        l_ext_payee_tab(1) := l_external_payee_rec_type;              iby_disbursement_setup_pub.update_external_payee(p_api_version          => l_api_version,                                                         p_init_msg_list        => 'T',                                                         p_ext_payee_tab        => l_ext_payee_tab,                                                         p_ext_payee_id_tab     => l_ext_payee_id_tab,                                                         x_return_status        => l_return_status,                                                         x_msg_count            => l_msg_count,                                                         x_msg_data             => l_msg_data,                                                         x_ext_payee_status_tab => l_ext_payee_status_tab);        IF l_return_status != fnd_api.g_ret_sts_success THEN                  IF l_msg_data IS NULL THEN            l_msg_data := fnd_msg_pub.get(p_msg_index => fnd_msg_pub.g_last,                                          p_encoded   => 'F'); --get last message            dbms_output.put_line('l_msg_data:' || SQLERRM);          END IF; --IF l_msg_data IS NULL THEN                END IF; --IF l_return_status != fnd_api.g_ret_sts_success THEN      END LOOP; --FOR r_payment_method IN c_payment_method(p_vendor_id      =>rec_ap_vendor.vendor_id,        END LOOP; --for rec_ap_vendor in cur_ap_vendor(p_vendor_site_code =>rec_cux_vendor.vendor_site_code) loop    UPDATE cux_oms_vendor_site L    SET L.ATTRIBUTE2 = 'BZ_CHECK'    WHERE L.LINE_ID = rec_cux_vendor.LINE_ID;  END LOOP; --for rec_cux_vendor in cur_cux_vendor loopEND;

转载于:https://www.cnblogs.com/wanghang/p/6299340.html

你可能感兴趣的文章
HDU1049(水题)
查看>>
python之路 Day8 paramiko学习
查看>>
ios7 中代码创建 ScrollView TextView 等,默认向下缩进的解决办法
查看>>
B/S结构(Browser/Server结构)(百度百科)
查看>>
25佳漂亮的网站底部设计案例欣赏
查看>>
Web前端开发人员和设计师必读文章推荐【系列八】
查看>>
需求分析与系统设计 读书笔记之一
查看>>
【数组】子数组/子矩阵的最大累加和问题
查看>>
【贪心】合并果子
查看>>
asp.net 用户控件 增加自定义的Template
查看>>
从Eclipse到Android Studio经历
查看>>
实时数据采集传输软件LDM配置
查看>>
MVC linq执行顺序
查看>>
ios4 习题
查看>>
web.xml中servlet配置
查看>>
js中盒子模型常用的属性你还记得几个?
查看>>
php获取经纬度
查看>>
CVE-2016-5159 利用脏牛漏洞Linux提权复现
查看>>
01背包-第k优解
查看>>
JS引擎深入分析
查看>>