zoukankan      html  css  js  c++  java
  • 所有标准API

     

     https://www.cnblogs.com/wang-chen/p/6269890.html
    序号 系统版本 模块 应用场景 类型 API/接口 参数规格 样例代码 备注 登记者 登记时间 关键字
    1 12.1.3 AP 付款核销 API ap_pay_invoice_pkg.ap_pay_invoice       赵杨 2013/3/30 付款/核销
    2 12.1.3 AP 应付发票审批 API ap_approval_pkg.approval       赵杨 2013/3/30 发票/审批
    3 12.1.3 AP 预付款核销 API ap_prepay_pkg.apply_prepay_fr_prepay       赵杨 2013/3/30 预付款/核销
    4 12.1.3 AP 创建应付发票 API ap_import_invoices_pkg.import_invoices       赵杨 2013/3/30 发票/导入
    5 12.1.3 AP 创建付款历史记录 API ap_reconciliation_pkg.insert_payment_history       赵杨 2013/3/30 付款历史/导入
    6 12.1.1 AP 创建供应商头 API ap_vendor_pub_pkg.create_vendor p_vendor_rec使用   ap_vendor_pub_pkg.r_vendor_rec_type  l_vendor_rec.segment1                := '12345'; --supplier   number
          l_vendor_rec.vendor_name             := 'Test Supp 003';
            l_vendor_rec.vendor_type_lookup_code := 'COMPANY';
          l_vendor_rec.vendor_name_alt         := 'alter name 002';
          --
            l_vendor_rec.enforce_ship_to_location_code := 'WARNING';
          l_vendor_rec.receiving_routing_id          := 1;
            l_vendor_rec.inspection_required_flag      := 'Y'; --Match Approval Level
            l_vendor_rec.receipt_required_flag         := 'Y'; --Match Approval Level
          l_vendor_rec.qty_rcv_tolerance             := 1;
            l_vendor_rec.days_early_receipt_allowed    := 2; --number
            l_vendor_rec.days_late_receipt_allowed     := 3; --number
            l_vendor_rec.qty_rcv_exception_code        := 'REJECT'; --ap_suppliers.qty_rcv_exception_code%TYPE                          
            l_vendor_rec.receipt_days_exception_code   := 'REJECT';   --ap_suppliers.receipt_days_exception_code%TYPE,
       
          l_vendor_rec.start_date_active :=   SYSDATE;
          l_vendor_rec.end_date_active   := NULL;
       
            pos_vendor_pub_pkg.create_vendor(p_vendor_rec    => l_vendor_rec,
                                             x_return_status => x_return_status,
                                             x_msg_count     =>   x_msg_count,
                                             x_msg_data      =>   x_msg_data,
                                             x_vendor_id     =>   x_vendor_id,
                                             x_party_id      =>   x_party_id);
      苏联章 2013/3/31 供应商/供应商头/导入
    7 12.1.1 AP 验证供应商头 API ap_vendor_pub_pkg.validate_vendor p_vendor_rec使用   ap_vendor_pub_pkg.r_vendor_rec_type     苏联章 2013/3/31 供应商/供应商头/验证
    8 12.1.1 AP 更新供应商头 API ap_vendor_pub_pkg.update_vendor p_vendor_rec使用   ap_vendor_pub_pkg.r_vendor_rec_type     苏联章 2013/3/31 供应商/供应商头/更新
    9 12.1.1 AP 创建供应商地点 API ap_vendor_pub_pkg.create_vendor_site p_vendor_site_rec使用ap_vendor_pub_pkg.r_vendor_site_rec_type  l_vendor_site_rec.vendor_id := 61578;
          l_vendor_site_rec.org_id    := 84;
          --l_vendor_site_rec.vendor_site_id   := 49138;
            l_vendor_site_rec.vendor_site_code        := 'SHE_FAC';
          l_vendor_site_rec.ship_to_location_code   := 'SHE_FACTORY';
            l_vendor_site_rec.bill_to_location_code := 'SHE_FACTORY';
            l_vendor_site_rec.pay_site_flag           := 'Y';
            l_vendor_site_rec.purchasing_site_flag    := 'Y';
          l_vendor_site_rec.country               := 'TH';
            l_vendor_site_rec.party_site_name         := '0001'; --address name
          l_vendor_site_rec.address_line1         := 'Office';
          l_vendor_site_rec.city                  := 'BANKOK';
          pos_vendor_pub_pkg.create_vendor_site(p_vendor_site_rec   => l_vendor_site_rec,
                                                  x_return_status   =>   x_return_status,
                                                  x_msg_count       =>   x_msg_count,
                                                  x_msg_data        =>   x_msg_data,
                                                  x_vendor_site_id  =>   l_vendor_site_id,
                                                  x_party_site_id   =>   l_party_site_id,
                                                  x_location_id     =>   l_location_id);
      苏联章 2013/3/31 供应商/供应商地点/导入
    10 12.1.1 AP 验证供应商地点 API ap_vendor_pub_pkg.validate_vendor_site p_vendor_site_rec使用ap_vendor_pub_pkg.r_vendor_site_rec_type     苏联章 2013/3/31 供应商/供应商地点/验证
    11 12.1.1 AP 更新供应商地点 API ap_vendor_pub_pkg.update_vendor_site p_vendor_site_rec使用ap_vendor_pub_pkg.r_vendor_site_rec_type     苏联章 2013/3/31 供应商/供应商地点/更新
    12 12.1.1 AP 创建供应商联系信息 API ap_vendor_pub_pkg.create_vendor_contact p_vendor_contact_rec使用ap_vendor_pub_pkg.r_vendor_contact_rec_type site:
          l_vendor_contact_rec.vendor_id         := 511018;
          l_vendor_contact_rec.vendor_site_id    := 115494;
            l_vendor_contact_rec.party_site_id       := 885872;
          l_vendor_contact_rec.org_party_site_id   := 885872;
          l_vendor_contact_rec.org_id            := 44;
            l_vendor_contact_rec.person_first_name := '003';
            l_vendor_contact_rec.person_last_name    := '003';
            pos_vendor_pub_pkg.create_vendor_contact(p_vendor_contact_rec => l_vendor_contact_rec,
                                                     x_return_status      =>   x_return_status,
                                                     x_msg_count          =>   x_msg_count,
                                                     x_msg_data           =>   x_msg_data,
                                                     x_vendor_contact_id  =>   x_vendor_contact_id,
                                                     x_per_party_id       =>   x_per_party_id,
                                                     x_rel_party_id       =>   x_rel_party_id,
                                                     x_rel_id             =>   x_rel_id,
                                                     x_org_contact_id     =>   x_org_contact_id,
                                                     x_party_site_id      => x_party_site_id);
    此API可以创建头层和地点层的联系信息,取决于参数赋值。创建地点联系信息时需要有效的r_vendor_contact_rec_type.vendor_site_id和r_vendor_contact_rec_type.party_site_id 苏联章 2013/3/31 供应商/供应商联系信息/导入
    13 12.1.1 AP 验证供应商联系信息 API ap_vendor_pub_pkg.validate_vendor_contact p_vendor_contact_rec使用ap_vendor_pub_pkg.r_vendor_contact_rec_type     苏联章 2013/3/31 供应商/供应商联系信息/验证
    14 12.1.1 AP 更新供应商联系信息 API ap_vendor_pub_pkg.update_vendor_contact p_vendor_contact_rec使用ap_vendor_pub_pkg.r_vendor_contact_rec_type     苏联章 2013/3/31 供应商/供应商联系信息/更新
    15 12.1.1 AP 创建Notes API ap_notes_pub.create_note       苏联章 2013/3/31 Notes/创建
    16 11.5.0 AP 供应商导入 接口 AR.APXSUIMP   l_request_id   := fnd_request.submit_request('SQLAP',
                                                     'APXSUIMP',
                                                     '', 
                                                     '', 
                                                     FALSE, 
                                                     'NEW', 
                                                     1000, 
                                                     'N', 
                                                     'N', 
                                                     'N', 
                                                     chr(0));  
      黎法良 2013/3/31 供应商/导入
    17 11.5.0 AP 供应商地点导入 接口 AR.APXSSIMP   g_site_request_id   := fnd_request.submit_request(application => l_application
                                                         ,program     =>   'APXSSIMP'
                                                         ,description => l_description
                                                         ,start_time  => NULL
                                                         ,sub_request => NULL
                                                         ,argument1   => 'NEW'
                                                         ,argument2   => '1000'
                                                         ,argument3   => 'N'
                                                         ,argument4   => 'N'
                                                         ,argument5   => 'N');
      黎法良 2013/3/31 供应商地点/导入
    18 11.5.0 AP 供应商地点联系人导入 接口 AR.APXSCIMP   g_contact_request_id   := fnd_request.submit_request(application => l_application,
                                                             program     => 'APXSCIMP',
                                                             description => l_description,
                                                             start_time  => NULL,
                                                             sub_request => NULL,
                                                             argument1   => 'NEW',
                                                             argument2   => '1000',
                                                             argument3   => 'N',
                                                             argument4   => 'Y',
                                                             argument5   => 'N');
      黎法良 2013/3/31 供应商地点联系人/导入
    19 11.5.0 AP 应付发票导入 接口 AR.APXIIMPT   v_request_id   := fnd_request.submit_request('SQLAP',
                                                     'APXIIMPT',
                                                     NULL,
                                                     NULL,
                                                     FALSE,
                                                     gc_source --Source
                                                    ,NULL --p_batch_name --Group ID
                                                    ,NULL --p_batch_name --Batch Name
                                                    ,NULL --Hold Name
                                                    ,NULL --Hold Reason
                                                    ,NULL --GL Date
                                                    ,'Y' --Purge
                                                    ,'N' --p_trace_switch
                                                    ,'N' --p_debug_switch
                                                    ,'N' --Summary Report
                                                    ,1000
                                                    ,fnd_global.user_id,
      黎法良 2013/3/31 应付发票/导入
    20 12.1.3 AR 贷项通知单核销 API ar_cm_api_pub.apply_on_account       赵杨 2013/3/30 贷项通知单/核销
    21 12.1.3 AR 收款核销 API ar_receipt_api_pub.apply       赵杨 2013/3/30 收款/核销
    22 12.1.3 AR 收款撤销核销 API ar_receipt_api_pub.unapply       赵杨 2013/3/30 收款/撤销核销
    23 11.5.0 AR 应收发票导入 接口 AR.RAXTRX   ln_request_id   := fnd_request.submit_request(application => 'AR',
                                                      program     =>   'RAXTRX',
                                                      description => NULL,
                                                      start_time  => NULL,
                                                      sub_request => FALSE,
                                                      argument1   => 'MAIN'   --Parallel Module Name
                                                     ,argument2   => 'T' --Running   Mode
                                                     ,argument3   =>   v_batch_src_id --Batch Source Id
                                                     ,argument4   => gc_source   --Batch Source Name
                                                     ,argument5   => p_gl_date   --Default Date
                                                     ,argument6   => NULL   --Transaction Flexfield
                                                     ,argument7   => NULL   --p_trx_type_id --Transaction Type
                                                     ,argument8   => NULL --(Low)   Bill To Customer Number
                                                     ,argument9   => NULL --(High)   Bill To Customer Number
                                                     ,argument10  => NULL --(Low)   Bill To Customer Name
                                                     ,argument11  => NULL --(High)   Bill To Customer Name
                                                     ,argument12  => NULL --p_gl_date   --(Low) GL Date
                                                     ,argument13  => NULL   --p_gl_date --(High) GL Date
                                                     ,argument14  => NULL --(Low)   Ship Date
                                                     ,argument15  => NULL --(High)   Ship Date
                                                     ,argument16  => NULL --(Low)   Transaction Number
                                                     ,argument17  => NULL --(High)   Transaction Number
                                                     ,argument18  => NULL --(Low)   Sales Order Number
                                                     ,argument19  => NULL --(High)   Sales Order Number
                                                     ,argument20  => NULL --(Low)   Invoice Date
                                                     ,argument21  => NULL --(High)   Invoice Date
                                                     ,argument22  => NULL --(Low)   Ship To Customer Number
                                                     ,argument23  => NULL --(High)   Ship To Customer Number
                                                     ,argument24  => NULL --(Low)   Ship To Customer Name
                                                     ,argument25  => NULL --(High)   Ship To Customer Name
                                                     ,argument26  => 'N' --Call   RAXTRX from RAXMTR flag
                                                     ,argument27  => 'Y' --Base   Due Date on Trx Date
                                                     ,argument28  => NULL --Due   Date Adjustment Days
                                                     ,argument29  => p_org_id   --Org Id
                                                      );
      黎法良 2013/3/31 应收发票/导入
    24 12.1.3 AR 创建应收发票 API ar_invoice_api_pub.create_single_invoice       赵杨 2013/3/30 发票/导入
    25 12.1.3 AR 创建应收收款 API AR_RECEIPT_API_PUB.create_cash       赵杨 2013/3/30 收款/导入
    26 12.1.3 AR 创建客户联系人 API hz_contact_point_v2pub.create_phone_contact_point       赵杨 2013/3/30 客户/联系方式/添加
    27 12.1.3 AR 格式化地址信息 API ARP_ADDR_PKG.FORMAT_ADDRESS   ARP_ADDR_PKG.FORMAT_ADDRESS(LOC.ADDRESS_STYLE,
                                 LOC.ADDRESS1,
                                 LOC.ADDRESS2,
                                 LOC.ADDRESS3,
                                 LOC.ADDRESS4,
                                 LOC.CITY,
                                 LOC.COUNTY,
                                 LOC.STATE,
                                 LOC.PROVINCE,
                               LOC.POSTAL_CODE,
                                 TERR.TERRITORY_SHORT_NAME)
         FND_TERRITORIES_VL TERR,
         HZ_LOCATIONS       LOC
        AND LOC.COUNTRY = TERR.TERRITORY_CODE(+)
      赵杨 2013/3/30 地址格式
    28 12.1.3 AR 创建客户 API hz_party_v2pub.create_organization   DECLARE
          lrec_org     hz_party_v2pub.organization_rec_type;
          lrec_party   hz_party_v2pub.party_rec_type;
       
          l_return_status VARCHAR2(20);
          l_msg_count     NUMBER;
          l_msg_data      VARCHAR2(2000);
          l_party_id      NUMBER;
          l_party_number  VARCHAR2(2000) :=   'test-20121022-010';
          l_profile_id    NUMBER;
          l_last_succ     VARCHAR2(100);
       
          x_party_id NUMBER;
        BEGIN
            /*fnd_global.apps_initialize(user_id      => 0,
                                       resp_id      => 50695,
                                       resp_appl_id => 660);
          mo_global.init('ONT');*/
       
          lrec_party.status         := 'A';
          lrec_party.validated_flag :=   'N';
          lrec_party.party_number   := l_party_number;
       
          --party_rec
          lrec_org.created_by_module :=   'HZ_CPUI';
          lrec_org.organization_name :=   'SPA馆003';
          lrec_org.known_as          := 'SPA馆003的别名';
       
          lrec_org.party_rec      := lrec_party;
       
            hz_party_v2pub.create_organization('T',
                                               lrec_org,
                                               'CUSTOMER',
                                               l_return_status,
                                               l_msg_count,
                                               l_msg_data,
                                               x_party_id,
                                               l_party_number,
                                               l_profile_id);
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data || ','   ||
                                 x_party_id);
       
          COMMIT;
        END;
      何云 2013/4/3 客户/创建
    29 12.1.3 AR 更新客户 API hz_party_v2pub.update_organization   DECLARE
          l_msg_count     NUMBER;
          l_profile_id    NUMBER;
          l_return_status   VARCHAR2(200);
          l_proc_step     VARCHAR2(200);
          l_msg_data      VARCHAR2(2000);
       
          l_rec_organization   hz_party_v2pub.organization_rec_type;
          l_rec_party        hz_party_v2pub.party_rec_type;
          l_obj_ver_number   NUMBER;
          l_last_succ        VARCHAR2(100);
        BEGIN
       
          BEGIN
            SELECT   object_version_number
              INTO l_obj_ver_number
              FROM hz_parties hp
             WHERE hp.party_id = 20055;
          EXCEPTION
            WHEN OTHERS THEN
              NULL;
          END;
       
          l_rec_party.party_id := 20055;
          --l_rec_party.status                   := p_status;
            l_rec_organization.organization_name := 'SPA馆004';
          l_rec_organization.party_rec         := l_rec_party;
          l_rec_organization.known_as          := 'SPA馆004的别名';
       
            hz_party_v2pub.update_organization(p_init_msg_list               => 'T',
                                               p_organization_rec              => l_rec_organization,
                                               p_party_object_version_number => l_obj_ver_number,
                                               x_profile_id                    => l_profile_id,
                                               x_return_status                 => l_return_status,
                                               x_msg_count                     => l_msg_count,
                                               x_msg_data                      => l_msg_data);
       
          dbms_output.put_line(l_return_status   || ':' || l_msg_data);
          COMMIT;
        END;
      何云 2013/4/3 客户/更新
    30 12.1.3 AR 创建客户地址 API hz_location_v2pub.create_location   l_loc_rec.country  := 'CN';
          l_loc_rec.address1 :=   '测试地址行001';
       
          l_loc_rec.created_by_module :=   'HZ_CPUI';
       
            hz_location_v2pub.create_location('T',
                                              l_loc_rec,
                                              l_location_id,
                                              l_return_status,
                                              l_msg_count,
                                              l_msg_data);
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/地址/创建
    31 12.1.3 AR 更新客户地址 API hz_location_v2pub.update_location   SELECT   hl.location_id,
                 hl.object_version_number,
               cas.party_site_id,
               cas.object_version_number,
               cas.attribute1
          INTO l_location_id,
               l_version_number,
               l_party_site_id,
               l_site_version_number,
               l_site_attribute1
          FROM hz_locations hl,   hz_party_sites hps, hz_cust_acct_sites_all cas
         WHERE hps.location_id =   hl.location_id
           AND cas.party_site_id =   hps.party_site_id
           AND cas.cust_acct_site_id =   p_cust_acct_site_id;
       
        l_loc_rec.province := p_interface_data.province;
        l_loc_rec.city     :=   p_interface_data.city;
       
        IF p_site_use_code = 'BILL_TO' THEN
          l_loc_rec.country     :=   p_interface_data.bill_to_country;
          l_loc_rec.address1    :=   p_interface_data.bill_to_address_line1;
          l_loc_rec.address2    :=   p_interface_data.bill_to_address_line2;
          l_loc_rec.address3    :=   p_interface_data.bill_to_address_line3;
          l_loc_rec.address4    :=   p_interface_data.bill_to_address_line4;
          l_loc_rec.postal_code :=   p_interface_data.bill_to_postal_code;
        ELSIF p_site_use_code = 'SHIP_TO' THEN
          l_loc_rec.country     :=   p_interface_data.ship_to_country;
          l_loc_rec.address1    :=   p_interface_data.ship_to_address_line1;
          l_loc_rec.address2    :=   p_interface_data.ship_to_address_line2;
          l_loc_rec.address3    :=   p_interface_data.ship_to_address_line3;
          l_loc_rec.address4    :=   p_interface_data.ship_to_address_line4;
          l_loc_rec.postal_code :=   p_interface_data.ship_to_postal_code;
        END IF;
       
        l_loc_rec.location_id := l_location_id;
       
        hz_location_v2pub.update_location(fnd_api.g_false,
                                            l_loc_rec,
                                            l_version_number,
                                            l_return_status,
                                            l_msg_count,
                                            l_msg_data);
      何云 2013/4/3 客户/地址/更新
    32 12.1.3 AR 创建party_site API hz_party_site_v2pub.create_party_site   l_party_site_rec.party_id                 := 20055;
            l_party_site_rec.location_id              := l_location_id;
              l_party_site_rec.identifying_address_flag := 'Y';
              l_party_site_rec.created_by_module        := 'HZ_CPUI';
         
              hz_party_site_v2pub.create_party_site('T',
                                                    l_party_site_rec,
                                                    l_party_site_id,
                                                    l_party_site_number,
                                                    l_return_status,
                                                    l_msg_count,
                                                    l_msg_data);
         
              dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/party_site/创建
    33 12.1.3 AR 创建客户地点 API hz_cust_account_site_v2pub.create_cust_acct_site   l_cust_acct_site_rec.cust_account_id   := 9043;
                l_cust_acct_site_rec.party_site_id       := l_party_site_id;
                l_cust_acct_site_rec.org_id              := 84;
                l_cust_acct_site_rec.status              := 'A';
                l_cust_acct_site_rec.created_by_module := 'HZ_CPUI';
                hz_cust_account_site_v2pub.create_cust_acct_site('T',
                                                                 l_cust_acct_site_rec,
                                                                 l_cust_acct_site_id,
                                                                 l_return_status,
                                                                 l_msg_count,
                                                                 l_msg_data);
           
                dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/地点/创建
    34 12.1.3 AR 创建客户地点的业务用途 API hz_cust_account_site_v2pub.create_cust_site_use   bill_cust_site_use_rec.cust_acct_site_id   := l_cust_acct_site_id;
                    bill_cust_site_use_rec.site_use_code     := 'BILL_TO';
                    bill_cust_site_use_rec.location          := '测试收单地址行001';
                    bill_cust_site_use_rec.primary_flag      := 'Y';
                    bill_cust_site_use_rec.status            := 'A';
                    bill_cust_site_use_rec.org_id            := 84;
                    --bill_cust_site_use_rec.gl_id_rec           :=   p_rec_cust_sites.gl_rec_id;
                    --bill_cust_site_use_rec.gl_id_rev           :=   p_rec_cust_sites.gl_rev_id;
                    bill_cust_site_use_rec.price_list_id     := 9143;
                    bill_cust_site_use_rec.payment_term_id := 5;
                    --bill_cust_site_use_rec.primary_salesrep_id := p_rec_cust_sites.sales_person_id;
                    --bill_cust_site_use_rec.tax_reference       :=   p_rec_cust_sites.tax_reference;
                    --bill_cust_site_use_rec.tax_code := p_rec_cust_sites.tax_code;
               
                    bill_cust_site_use_rec.created_by_module := 'HZ_CPUI';
               
                    hz_cust_account_site_v2pub.create_cust_site_use('T',
                                                                    bill_cust_site_use_rec,
                                                                    l_customer_profile_rec,
                                                                    '',
                                                                    '',
                                                                    l_site_use_id,
                                                                    l_return_status,
                                                                    l_msg_count,
                                                                    l_msg_data);
               
                    dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/业务用途/创建
    35 12.1.3 AR 更新客户地点的业务用途 API hz_cust_account_site_v2pub.update_cust_site_use   DECLARE
          cust_site_use_rec        hz_cust_account_site_v2pub.cust_site_use_rec_type;
          l_customer_profile_rec   hz_customer_profile_v2pub.customer_profile_rec_type;
       
          l_site_use_id   NUMBER;
          l_return_status   VARCHAR2(2000);
          l_msg_count     NUMBER;
          l_msg_data      VARCHAR2(2000);
          l_last_succ     VARCHAR2(100);
          l_exception EXCEPTION;
          l_exception_no_site EXCEPTION;
          l_object_version_number   NUMBER;
          x_return_code           VARCHAR2(100);
        BEGIN
            fnd_global.apps_initialize(user_id        => 0,
                                       resp_id      => 50695,
                                       resp_appl_id => 660);
          mo_global.init('ONT');
       
          SELECT hcsu.object_version_number
            INTO   l_object_version_number
            FROM hz_cust_site_uses_all   hcsu
           WHERE hcsu.site_use_id = 1330
             AND hcsu.org_id = 84;
       
          cust_site_use_rec.site_use_id       := 1330;
          cust_site_use_rec.cust_acct_site_id   := 1287;
          --cust_site_use_rec.location          := '测试收货地址行002';
          cust_site_use_rec.status :=   'I';
          --cust_site_use_rec.org_id            := 84;
       
          --cust_site_use_rec.price_list_id   := 9137;
       
          --cust_site_use_rec.payment_term_id   := 4;
       
            hz_cust_account_site_v2pub.update_cust_site_use(p_init_msg_list         => 'T',
                                                            p_cust_site_use_rec     =>   cust_site_use_rec,
                                                            p_object_version_number => l_object_version_number,
                                                            x_return_status         =>   l_return_status,
                                                            x_msg_count             =>   l_msg_count,
                                                            x_msg_data              =>   l_msg_data);
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
       
          COMMIT;
        END;
      何云 2013/4/3 客户/业务用途/更新
    36 12.1.3 AR 创建客户配置文件 API hz_customer_profile_v2pub.create_customer_profile   l_customer_profile.status            := 'A';
            l_customer_profile.created_by_module := 'HZ_CPUI';
          l_customer_profile.party_id          := 20055;
            l_customer_profile.cust_account_id     := 9043;
         
            hz_customer_profile_v2pub.create_customer_profile(p_customer_profile_rec    => l_customer_profile,
                                                              x_cust_account_profile_id => l_cust_account_profile_id,
                                                              x_return_status           =>   l_return_status,
                                                              x_msg_count               =>   l_msg_count,
                                                              x_msg_data                =>   l_msg_data);
         
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/配置文件/创建
    37 12.1.3 AR 创建客户配置文件金额 API hz_customer_profile_v2pub.create_cust_profile_amt   l_cust_profile_amt.cust_account_profile_id  :=    /*l_cust_account_profile_id*/
           11041;
            l_cust_profile_amt.currency_code            := 'CNY';
            l_cust_profile_amt.overall_credit_limit     := 100;
            l_cust_profile_amt.cust_account_id          := 9043;
            l_cust_profile_amt.created_by_module        := 'HZ_CPUI';
       
            hz_customer_profile_v2pub.create_cust_profile_amt(p_cust_profile_amt_rec     => l_cust_profile_amt,
          x_cust_acct_profile_amt_id =>   l_cust_acct_profile_amt_id,
          x_return_status            => l_return_status,
          x_msg_count                => l_msg_count,
          x_msg_data                 => l_msg_data);
      何云 2013/4/3 客户/配置文件金额/创建
    38 12.1.3 AR 更新客户配置文件金额 API hz_customer_profile_v2pub.update_cust_profile_amt   l_cust_profile_amt.cust_acct_profile_amt_id   := 3040;
            l_cust_profile_amt.cust_account_profile_id  :=    /*l_cust_account_profile_id*/
           11041;
            l_cust_profile_amt.currency_code            := 'CNY';
          l_cust_profile_amt.overall_credit_limit     := 100;
            l_cust_profile_amt.cust_account_id          := 9043;
            l_cust_profile_amt.created_by_module        := 'HZ_CPUI';
       
            hz_customer_profile_v2pub.update_cust_profile_amt(p_cust_profile_amt_rec  => l_cust_profile_amt,
                                                              p_object_version_number => l_version,
                                                              x_return_status         =>   l_return_status,
                                                              x_msg_count             =>   l_msg_count,
                                                              x_msg_data              =>   l_msg_data);
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/配置文件金额/更新
    39 12.1.3 AR 创建客户帐户 API hz_cust_account_v2pub.create_cust_account   l_cust_account_rec.account_number    := 'test_account_003';
            l_cust_account_rec.account_name        := 'test_account_name_003';
          l_cust_account_rec.status            := 'A';
            l_cust_account_rec.customer_type       := 'R';
            l_cust_account_rec.created_by_module := 'HZ_CPUI';
       
            l_organization_rec.party_rec.party_id := 20054;
       
            hz_cust_account_v2pub.create_cust_account(p_init_msg_list        => fnd_api.g_true,
                                                      p_cust_account_rec     =>   l_cust_account_rec,
                                                      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      =>   x_cust_account_id,
                                                      x_account_number       =>   l_account_number,
                                                      x_party_id             =>   l_party_id,
                                                      x_party_number         =>   l_party_number,
                                                      x_profile_id           =>   l_profile_id,
                                                      x_return_status        =>   l_return_status,
                                                      x_msg_count            =>   l_msg_count,
                                                      x_msg_data             =>   l_msg_data);
       
          dbms_output.put_line(l_return_status   || ':' || l_msg_data);
      何云 2013/4/3 客户/帐户/创建
    40 12.1.3 AR 更新客户帐户 API hz_cust_account_v2pub.update_cust_account   BEGIN
            SELECT cust_account_id,   object_version_number
              INTO l_cust_account_id,   l_object_version_num
              FROM hz_cust_accounts
             WHERE party_id = 20054
               AND account_number =   'test_account_003'
               AND rownum = 1;
          EXCEPTION
            WHEN OTHERS THEN
              l_cust_account_id    := NULL;
              l_object_version_num :=   NULL;
          END;
       
          IF l_cust_account_id IS NOT NULL   AND l_object_version_num IS NOT NULL THEN
              l_cust_account_rec.cust_account_id := l_cust_account_id;
              l_cust_account_rec.customer_type     := 'R';
            --l_cust_account_rec.status          := p_status;
            l_cust_account_rec.account_name   := 'test_account_name_003_new';
         
              hz_cust_account_v2pub.update_cust_account('T',
                                                        l_cust_account_rec,
                                                        l_object_version_num,
                                                        l_return_status,
                                                        l_msg_count,
                                                        l_msg_data);
          END IF;
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/帐户/更新
    41 12.1.3 AR 创建客户帐户关系 API hz_cust_account_v2pub.create_cust_acct_relate   l_cust_acct_relate_rec.cust_account_id          := x_cust_account_id;
            l_cust_acct_relate_rec.related_cust_account_id  := 9043;
            l_cust_acct_relate_rec.customer_reciprocal_flag := 'Y';
            l_cust_acct_relate_rec.bill_to_flag             := 'Y';
            l_cust_acct_relate_rec.ship_to_flag             := 'Y';
            l_cust_acct_relate_rec.created_by_module        := 'HZ_CPUI';
       
            hz_cust_account_v2pub.create_cust_acct_relate(p_init_msg_list        => fnd_api.g_true,
                                                          p_cust_acct_relate_rec => l_cust_acct_relate_rec,
                                                          x_return_status        =>   l_return_status,
                                                          x_msg_count            =>   l_msg_count,
                                                          x_msg_data             =>   l_msg_data);
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/帐户关系/创建
    42 12.1.3 AR 更新客户帐户关系 API hz_cust_account_v2pub.update_cust_acct_relate   l_cust_acct_relate_rec.cust_account_id         := l_cust_account_id;
            l_cust_acct_relate_rec.related_cust_account_id := 9043;
            --l_cust_acct_relate_rec.customer_reciprocal_flag := 'N';
          l_cust_acct_relate_rec.bill_to_flag   := 'N';
          l_cust_acct_relate_rec.ship_to_flag   := 'N';
          l_cust_acct_relate_rec.status       := 'I';
       
          BEGIN
            SELECT car.object_version_number
              INTO l_object_version_num
              FROM hz_cust_acct_relate   car
             WHERE car.cust_account_id = l_cust_account_id
               AND   car.related_cust_account_id = 9043
               AND rownum = 1;
          EXCEPTION
            WHEN OTHERS THEN
              l_object_version_num :=   NULL;
          END;
       
          hz_cust_account_v2pub.update_cust_acct_relate(p_init_msg_list         => fnd_api.g_true,
                                                          p_cust_acct_relate_rec  =>   l_cust_acct_relate_rec,
                                                          p_object_version_number => l_object_version_num,
                                                          x_return_status         =>   l_return_status,
                                                          x_msg_count             =>   l_msg_count,
                                                          x_msg_data              =>   l_msg_data);
       
            dbms_output.put_line(l_return_status || ':' || l_msg_data);
      何云 2013/4/3 客户/帐户关系/更新
    43 12.1.3 AR 创建客户联系人 API hz_party_v2pub.create_person   lrec_person.person_first_name   := '李四-014';
          lrec_person.created_by_module :=   'HZ_CPUI';
       
          lrec_party.status         := 'A';
          lrec_party.validated_flag :=   'N';
          lrec_party.party_number   := l_party_number;
       
          lrec_person.party_rec :=   lrec_party;
       
            hz_party_v2pub.create_person(p_person_rec       => lrec_person,
                                         p_party_usage_code => 'ORG_CONTACT',
                                         x_party_id         => x_party_id,
                                         x_party_number     =>   l_party_number,
                                         x_profile_id       =>   l_profile_id,
                                         x_return_status    =>   l_return_status,
                                         x_msg_count        =>   l_msg_count,
                                         x_msg_data         =>   l_msg_data);
      何云 2013/4/3 客户/联系人/创建
    44 12.1.3 AR 更新客户联系人 API hz_party_v2pub.update_person   SELECT   hr.subject_id, hp.object_version_number
              INTO l_person_id,   l_person_version
              FROM hz_cust_account_roles   hcar, hz_relationships hr, hz_parties hp
             WHERE hcar.party_id =   hr.party_id
               AND hr.directional_flag =   'F'
               AND hr.subject_id =   hp.party_id
               AND hcar.cust_account_role_id   = p_cust_account_role_id;
         
            lrec_person.person_first_name :=   p_interface_data.contact_name;
            --lrec_person.created_by_module   := g_created_by_module;
         
            lrec_party.party_id       := l_person_id;
            lrec_party.status         := 'A';
            lrec_party.validated_flag :=   'N';
         
            lrec_person.party_rec :=   lrec_party;
         
            hz_party_v2pub.update_person(p_person_rec                  => lrec_person,
                                           p_party_object_version_number => l_person_version,
                                           x_profile_id                    => l_profile_id,
                                           x_return_status                 => l_return_status,
                                           x_msg_count                     => l_msg_count,
                                           x_msg_data                      => l_msg_data);
      何云 2013/4/3 客户/联系人/更新
    45 12.1.3 AR 创建客户与联系人的关系 API hz_relationship_v2pub.create_relationship_with_usg   lrec_relationship.subject_type       := 'PERSON';
          lrec_relationship.subject_id         := x_party_id;
            lrec_relationship.subject_table_name := 'HZ_PARTIES';
          lrec_relationship.object_type        := 'ORGANIZATION';
          lrec_relationship.object_id          := 32045;
            lrec_relationship.object_table_name    := 'HZ_PARTIES';
          lrec_relationship.status             := 'A';
            lrec_relationship.created_by_module    := 'HZ_CPUI';
            lrec_relationship.relationship_code    := 'CONTACT_OF';
          lrec_relationship.relationship_type  := 'CONTACT';
          --lrec_relationship.party_rec          := lrec_party;
       
          hz_relationship_v2pub.create_relationship_with_usg(p_relationship_rec         => lrec_relationship,
                                                               x_relationship_id          =>   l_relationship_id,
                                                               x_party_id                 =>   x_party_id,
                                                               x_party_number             =>   l_party_number,
                                                               x_return_status            =>   l_return_status,
                                                               x_msg_count                =>   l_msg_count,
                                                               x_msg_data                 =>   l_msg_data,
                                                               p_contact_party_id         =>   NULL,
                                                               p_contact_party_usage_code => NULL);
      何云 2013/4/3 客户/联系人/关联关系
    46 12.1.3 AR 创建客户帐户角色(用途) API hz_cust_account_role_v2pub.create_cust_account_role   lrec_role.party_id          := x_party_id;
          lrec_role.cust_account_id   := 11043;
          lrec_role.cust_acct_site_id :=   1367;
          lrec_role.status            := 'A';
          lrec_role.created_by_module :=   'HZ_CPUI';
          lrec_role.role_type         := 'CONTACT';
       
            hz_cust_account_role_v2pub.create_cust_account_role(p_cust_account_role_rec   => lrec_role,
                                                                x_cust_account_role_id  =>   l_role_id,
                                                                x_return_status         =>   l_return_status,
                                                                x_msg_count             =>   l_msg_count,
                                                                x_msg_data              =>   l_msg_data);
      何云 2013/4/3 客户/帐户角色/创建
    47 12.1.3 AR 创建联系方式 API hz_contact_point_v2pub.create_contact_point   IF   p_type = 'CELL_PHONE' THEN
                l_contact_point_rec_type.contact_point_type := 'PHONE';
                l_phone_rec.phone_line_type                   := 'MOBILE';
              l_phone_rec.phone_number                    :=   p_interface_data.cell_phone;
            ELSIF p_type = 'PHONE' THEN
                l_contact_point_rec_type.contact_point_type := 'PHONE';
                l_phone_rec.phone_line_type                 := 'GEN';
              l_phone_rec.phone_number                    :=   p_interface_data.phone;
            ELSIF p_type = 'SHOP_TEL' THEN
                l_contact_point_rec_type.contact_point_type := 'PHONE';
                l_phone_rec.phone_line_type                 := 'GEN_SHOP';
              l_phone_rec.phone_number                    :=   p_interface_data.shop_tel;
            ELSIF p_type = 'EMAIL' THEN
                l_contact_point_rec_type.contact_point_type := 'EMAIL';
              l_email_rec.email_address                   := p_interface_data.email;
            END IF;
         
              l_contact_point_rec_type.status            := 'A';
              l_contact_point_rec_type.owner_table_name  := p_owner_table;
              l_contact_point_rec_type.owner_table_id    := p_owner_id;
              l_contact_point_rec_type.created_by_module :=   g_created_by_module;
         
              hz_contact_point_v2pub.create_contact_point(p_contact_point_rec =>   l_contact_point_rec_type,
                                                          p_email_rec         =>   l_email_rec,
                                                          p_phone_rec         =>   l_phone_rec,
                                                          x_contact_point_id  =>   l_contact_point_id,
                                                          x_return_status     =>   l_return_status,
                                                          x_msg_count         =>   l_msg_count,
                                                          x_msg_data          =>   l_msg_data);
      何云 2013/4/3 客户/联系方式/创建
    48 12.1.3 AR 更新联系方式 API hz_contact_point_v2pub.update_contact_point   IF   p_type = 'CELL_PHONE' THEN
                l_contact_point_rec_type.contact_point_type := 'PHONE';
                l_phone_rec.phone_line_type                   := 'MOBILE';
              l_phone_rec.phone_number                    :=   p_interface_data.cell_phone;
            ELSIF p_type = 'PHONE' THEN
                l_contact_point_rec_type.contact_point_type := 'PHONE';
                l_phone_rec.phone_line_type                 := 'GEN';
              l_phone_rec.phone_number                    :=   p_interface_data.phone;
            ELSIF p_type = 'SHOP_TEL' THEN
                l_contact_point_rec_type.contact_point_type := 'PHONE';
                l_phone_rec.phone_line_type                 := 'GEN_SHOP';
              l_phone_rec.phone_number                    :=   p_interface_data.shop_tel;
            ELSIF p_type = 'EMAIL' THEN
                l_contact_point_rec_type.contact_point_type := 'EMAIL';
              l_email_rec.email_address                   := p_interface_data.email;
            END IF;
         
              l_contact_point_rec_type.status           := 'A';
              l_contact_point_rec_type.contact_point_id := p_contact_point_id;
              l_contact_point_rec_type.primary_flag     := 'Y';
              --l_contact_point_rec_type.created_by_module :=   g_created_by_module;
         
              hz_contact_point_v2pub.update_contact_point(p_contact_point_rec     => l_contact_point_rec_type,
                                                          p_object_version_number => l_object_version_number,
                                                          p_email_rec             =>   l_email_rec,
                                                          p_phone_rec             =>   l_phone_rec,
                                                          x_return_status         =>   l_return_status,
                                                          x_msg_count             =>   l_msg_count,
                                                          x_msg_data              =>   l_msg_data);
      何云 2013/4/3 客户/联系方式/更新
    49 12.1.3 BOM 复制工艺路线 API bom_copy_routing.copy_routing   DECLARE
          l_routing_sequence_id NUMBER :=   bom_operation_sequences_s.nextval;
        BEGIN
            fnd_global.apps_initialize(user_id        => 1111,
                                       resp_id      => 50657,
                                       resp_appl_id => 706);
            bom_copy_routing.copy_routing(to_sequence_id   => 131006,   --l_routing_sequence_id,
                                        from_sequence_id   => 94002,
                                          from_org_id      => 81,
                                          to_org_id        => 81,
                                          to_item_id       =>   3008,
                                          direction        => 1,
                                          to_alternate     =>   'HFV',
                                          rev_date         =>   SYSDATE);
            dbms_output.put_line(l_routing_sequence_id);
        END;
      赵杨 2013/3/30 工艺路线
    50 12.1.3 BOM 创建工艺路线 API bom_rtg_pub.process_rtg   "--init
            g_rtg_header_rec :=   bom_rtg_pub.g_miss_rtg_header_rec;
            g_rtg_revs_tbl   := bom_rtg_pub.g_miss_rtg_revision_tbl;
            g_op_tbl         :=   bom_rtg_pub.g_miss_operation_tbl;
            g_op_res_tbl     :=   bom_rtg_pub.g_miss_op_resource_tbl;
            g_sub_op_res_tbl :=   bom_rtg_pub.g_miss_sub_resource_tbl;
            g_nwk_tbl        := bom_rtg_pub.g_miss_op_network_tbl;
         
            --assigment value
              g_rtg_header_rec.assembly_item_name       := p_assembly_item_name;
              g_rtg_header_rec.organization_code        := p_organization_code; --rtg_header_rec.ORGANIZATION_CODE
              g_rtg_header_rec.alternate_routing_code := p_alternate;   --rtg_header_rec.ALTERNATE_ROUTING_DESIGNATOR
            g_rtg_header_rec.eng_routing_flag       := p_eng_routing_flag; --   2=Engineering routing 1=Manufacturing routing
              --g_rtg_header_rec.common_assembly_item_name :=   rtg_header_rec.common_item_number;
            g_rtg_header_rec.routing_comment   := p_routing_comment;
              --g_rtg_header_rec.completion_subinventory   := rtg_header_rec.completion_subinventory;
              --g_rtg_header_rec.completion_location_name  := rtg_header_rec.location_name;
            --g_rtg_header_rec.line_code                 :=   rtg_header_rec.line_code;
              --g_rtg_header_rec.cfm_routing_flag          := rtg_header_rec.cfm_routing_flag;
              g_rtg_header_rec.mixed_model_map_flag := p_mixed_model_map_flag;   --rtg_header_rec.mixed_model_map_flag;
            --g_rtg_header_rec.priority                  :=   rtg_header_rec.priority;
              --g_rtg_header_rec.total_cycle_time          :=   rtg_header_rec.total_product_cycle_time;
            g_rtg_header_rec.ctp_flag                  := p_ctp_flag;   --rtg_header_rec.ctp_flag;
            g_rtg_header_rec.original_system_reference   := p_original_system_ref; --rtg_header_rec.original_system_reference; --   newly added
              g_rtg_header_rec.transaction_type          := 'CREATE';
              --g_rtg_header_rec.delete_group_name         := rtg_header_rec.delete_group_name;   -- newly added
            --g_rtg_header_rec.dg_description            := rtg_header_rec.dg_description;   -- newly added
              --g_rtg_header_rec.ser_start_op_seq          := rtg_header_rec.serialization_start_op;   -- newly added
            --g_rtg_header_rec.row_identifier   := g_rtg_header_rec.original_system_reference; -- newly added ********
            --g_rtg_header_rec.return_status  := '';
         
            --call api
            bom_rtg_pub.process_rtg(p_bo_identifier      => 'RTG',
                                      p_api_version_number => 1.0,
                                      p_init_msg_list      =>   TRUE,
                                      p_rtg_header_rec     =>   g_rtg_header_rec,
                                      p_rtg_revision_tbl   =>   g_rtg_revs_tbl,
                                      p_operation_tbl      =>   g_op_tbl,
                                      p_op_resource_tbl    =>   g_op_res_tbl,
                                      p_sub_resource_tbl   =>   g_sub_op_res_tbl,
                                      p_op_network_tbl     => g_nwk_tbl,
                                      x_rtg_header_rec     =>   g_rtg_header_rec,
                                      x_rtg_revision_tbl   =>   g_rtg_revs_tbl,
                                      x_operation_tbl      =>   g_op_tbl,
                                      x_op_resource_tbl    =>   g_op_res_tbl,
                                      x_sub_resource_tbl   => g_sub_op_res_tbl,
                                      x_op_network_tbl     =>   g_nwk_tbl,
                                      x_return_status      =>   l_ret_status,
                                      x_msg_count          =>   l_msg_count,
                                      p_debug              =>   'N',
                                      p_output_dir         =>   'none',
                                      p_debug_filename     =>   'none');
      赵杨 2013/3/30 工艺路线/导入
    51 12.1.3 BOM 创建物料清单 API BOM_BO_PUB.PROCESS_BOM   "--   BOM
              l_bom_header_rec.transaction_type        := 'CREATE';
              l_bom_header_rec.organization_code       := l_cur_mfg_org_code;
              l_bom_header_rec.assembly_item_name      := 'CN92777';
              l_bom_header_rec.alternate_bom_code      := 'SBOM';
              l_bom_header_rec.bom_implementation_date := SYSDATE;
           
              l_bom_component_tbl(l_index).transaction_type := 'CREATE';
              l_bom_component_tbl(l_index).organization_code :=   l_bom_header_rec.organization_code;
              l_bom_component_tbl(l_index).assembly_item_name :=   l_bom_header_rec.assembly_item_name;
              l_bom_component_tbl(l_index).alternate_bom_code :=   l_bom_header_rec.alternate_bom_code;
              l_bom_component_tbl(l_index).item_sequence_number := 10;
              l_bom_component_tbl(l_index).component_item_name := 'SB56349';
              l_bom_component_tbl(l_index).quantity_per_assembly := 123;
              l_bom_component_tbl(l_index).start_effective_date :=   l_bom_header_rec.bom_implementation_date;*/
         
              BOM_BO_PUB.PROCESS_BOM(P_BO_IDENTIFIER          => 'BOM',
                                     P_API_VERSION_NUMBER     =>   1.0,
                                     P_INIT_MSG_LIST          =>   TRUE,
                                     P_BOM_HEADER_REC         =>   P_BOM_HEADER_REC,
                                     P_BOM_COMPONENT_TBL      =>   P_BOM_COMPONENT_TBL,
                                     X_BOM_HEADER_REC         =>   X_BOM_HEADER_REC,
                                     X_BOM_REVISION_TBL       =>   X_BOM_REVISION_TBL,
                                     X_BOM_COMPONENT_TBL      =>   X_BOM_COMPONENT_TBL,
                                     X_BOM_REF_DESIGNATOR_TBL => X_BOM_REF_DESIGNATOR_TBL,
                                     X_BOM_SUB_COMPONENT_TBL  =>   X_BOM_SUB_COMPONENT_TBL,
                                     X_BOM_COMP_OPS_TBL       => X_BOM_COMP_OPS_TBL,
                                     X_RETURN_STATUS          =>   X_RETURN_STATUS,
                                   X_MSG_COUNT              => X_MSG_COUNT,
                                     P_DEBUG                  =>   'Y',
                                     P_OUTPUT_DIR             =>   '/usr/tmp');
         
            --Result
            IF X_RETURN_STATUS <>   FND_API.G_RET_STS_SUCCESS THEN
                ERROR_HANDLER.GET_MESSAGE_LIST(X_MESSAGE_LIST =>   X_MESSAGE_LIST);
              FOR I IN 1 ..   X_MESSAGE_LIST.COUNT LOOP
                XXFND_CONC_UTL.LOG_MSG('BO   Identifier       : ' ||   X_MESSAGE_LIST(I)
                                         .BO_IDENTIFIER);
                  XXFND_CONC_UTL.LOG_MSG('Organization ID : ' || X_MESSAGE_LIST(I)
                                         .ORGANIZATION_ID);
                  XXFND_CONC_UTL.LOG_MSG('Entity ID              : ' || X_MESSAGE_LIST(I)
                                         .ENTITY_ID);
                  XXFND_CONC_UTL.LOG_MSG('Message Text      : ' ||
                                         SUBSTR(X_MESSAGE_LIST(I).MESSAGE_TEXT,
                                                1,
                                                200));
                  XXFND_CONC_UTL.LOG_MSG('Entity Index        : ' || X_MESSAGE_LIST(I)
                                         .ENTITY_INDEX);
                  XXFND_CONC_UTL.LOG_MSG('Message Type     : ' || X_MESSAGE_LIST(I)
                                         .MESSAGE_TYPE);
                XXFND_CONC_UTL.LOG_MSG('Table   Name        : ' ||   X_MESSAGE_LIST(I)
                                         .TABLE_NAME);
                XXFND_CONC_UTL.LOG_MSG('Row   Identifier    : ' ||   X_MESSAGE_LIST(I)
                                         .ROW_IDENTIFIER);
              END LOOP;
           
              IF (X_RETURN_STATUS =   FND_API.G_RET_STS_UNEXP_ERROR) THEN
                RAISE   FND_API.G_EXC_UNEXPECTED_ERROR;
              ELSIF (X_RETURN_STATUS =   FND_API.G_RET_STS_ERROR) THEN
                RAISE   FND_API.G_EXC_ERROR;
              END IF;
           
            ELSE
                XXFND_CONC_UTL.LOG_MSG(X_BOM_HEADER_REC.ASSEMBLY_ITEM_NAME);
           
            END IF;
      赵杨 2013/3/30 BOM/物料清单/导入
    52 12.1.1 BOM 流式工艺路线绘图 API bom_op_network_util.perform_writes       苏联章 2013/3/31 Flow   Routing/连线绘图
    53 12.1.1 BOM 创建ECO API Eng_Eco_PUB.Process_Eco       苏联章 2013/3/31 ECO/导入
    54 12.0.6 BOM 物料清单展开 API bompexpl.exploder_userexit   bompexpl.exploder_userexit(verify_flag       => NULL,
                                     org_id            =>   p_org_id,
                                     order_by          => 1,
                                     grp_id            =>   x_group_id,
                                     session_id        =>   NULL,
                                     levels_to_explode => 10000000,
                                     bom_or_eng        => 1,
                                   impl_flag         => 1,
                                     plan_factor_flag  =>   NULL,
                                     explode_option    =>   p_explode_option, --1:all, 2:current, 3:current and future
                                     module            => 2,
                                     cst_type_id       =>   NULL,
                                     std_comp_flag     => 2,
                                     expl_qty          => 1,
                                     item_id           =>   p_item_id,
                                     alt_desg          =>   NULL,
                                     comp_code         =>   NULL,
                                     rev_date          =>   to_char(SYSDATE,'yyyy/mm/dd hh24:mi:ss'),
                                     err_msg           =>   l_error_message,
                                     ERROR_CODE        =>   l_error_code);
      黎法良 2013/3/31 物料清单展开
    55 12.0.6 BOM 物料成本导入/更新 接口 BOM.CSTPCIMP   v_num_request_id   := fnd_request.submit_request(application => 'BOM',
                                                         program     =>   'CSTPCIMP',
                                                         description => NULL,
                                                         start_time  => NULL,
                                                         sub_request => FALSE,
                                                         argument1   => 1, --Import   cost only
                                                         argument2   => 2, --Mode to   run this request
                                                         argument3   => 1, --Group ID   option
                                                         argument4   => 1, --Group ID   Dummy
                                                         argument5   => v_num_tmp,   --Group ID
                                                         argument6   => l_cost_type,   --Cost type to import to
                                                         argument7   =>   i_chr_delete_flag --Delete successful rows
                                                         );
      黎法良 2013/3/31 物料成本/导入/更新
    56 12.0.6 BOM 物料清单导入/更新 接口 BOM.BMCOIN   l_request_id   := fnd_request.submit_request('BOM',
                                                     'BMCOIN',
                                                      '',
                                                      to_char(SYSDATE, 'YYYY/MM/DD HH24:MI:SS'),
                                                      FALSE,
                                                      l_organization_id,
                                                      2,   --All organizations(N)
                                                      2,   --Import Routing(N)
                                                      1,   --Import BOM(Y)
                                                      2,   --Delete Processed   Rows(N)
                                                      g_request_id,
                                                      chr(0));
      黎法良 2013/3/31 物料清单/导入/更新
    57 12.0.6 BOM 工艺路线导入/更新 接口 BOM.BMCOIN   l_request_id   := fnd_request.submit_request(application => 'BOM',
                                                     program     =>   'BMCOIN',
                                                     description => NULL,
                                                     start_time  => NULL,
                                                     sub_request => FALSE,
                                                     argument1   =>   l_organization_id, --Organization id
                                                     argument2   => 2, --All   organizations(N)
                                                     argument3   => 1, --Import   Routing(Y)
                                                     argument4   => 2, --Import   BOM(N)
                                                     argument5   => 1 --Delete   Processed Rows
                                                     );
      黎法良 2013/3/31 工艺路线/导入/更新
    58 12.1.3 BOM ECO导入 接口 BOM.ENGCHGIMP 接口表:bom_inventory_comps_interface
        eng_revised_items_interface
        eng_eng_changes_interface
    fnd_request.submit_request('ENG',
                                                           'ENGCHGIMP',
                                                           NULL,
                                                           NULL,
                                                           FALSE,
                                                           l_eco_rec.organization_id,
                                                           1,
                                                           1,
                                                           chr(0))
      罗建波 2013/4/3 ECO导入
    59 12.1.3 CE Bank   Statement银行对账单导入 接口 CE.ARPLABIM 接口表:
        ce_statement_headers_int_all
        ce_statement_lines_interface
        错误表:
        ce_header_interface_errors
        ce_line_interface_errors
       
    DECLARE
          l_iface_h_rec   ce_statement_headers_int_all%ROWTYPE;
          l_iface_l_rec   ce_statement_lines_interface%ROWTYPE;
          l_user_id     NUMBER := 0; --User ID
        BEGIN
          --头表
          l_iface_h_rec.last_update_date :=   SYSDATE;
          l_iface_h_rec.last_updated_by  := l_user_id;
          l_iface_h_rec.creation_date    := SYSDATE;
          l_iface_h_rec.created_by       := l_user_id;
       
          l_iface_h_rec.org_id                := 81;
          l_iface_h_rec.statement_number      := 'CMTEST000004';
          l_iface_h_rec.bank_account_num      := '00648708404001';
          l_iface_h_rec.bank_name             := '中国银行';
          l_iface_h_rec.bank_branch_name      := '合肥市经开区分理处';
          l_iface_h_rec.statement_date        := SYSDATE;
          l_iface_h_rec.control_begin_balance   := 1000;
          l_iface_h_rec.control_total_dr      := 100; --Payment
          l_iface_h_rec.control_total_cr      := 50; --Receipt
            l_iface_h_rec.control_end_balance     := 950; --control_end_balance = control_begin_balance - control_total_dr   + control_total_cr
            l_iface_h_rec.record_status_flag      := 'N';
          l_iface_h_rec.currency_code         := 'CNY';
          INSERT INTO   ce_statement_headers_int_all VALUES l_iface_h_rec;
       
          --行表
          l_iface_l_rec.last_update_date :=   SYSDATE;
          l_iface_l_rec.last_updated_by  := l_user_id;
          l_iface_l_rec.creation_date    := SYSDATE;
          l_iface_l_rec.created_by       := l_user_id;
       
          l_iface_l_rec.statement_number :=   'CMTEST000004';
          l_iface_l_rec.bank_account_num :=   '00648708404001';
          l_iface_l_rec.line_number      := 1;
          l_iface_l_rec.trx_date         := SYSDATE;
          l_iface_l_rec.trx_code         := 'PAY';   --根据定义,决定到底是Receipt还是Payment
          l_iface_l_rec.amount           := 50; --sum(receipt   amount)-sum(Payment amount)=control_total_cr-control_total_dr 
       
          INSERT INTO   ce_statement_lines_interface VALUES l_iface_l_rec;
        END;
       
    功能导航   N: Cash Management/Bank Reconciliation/Bank Statements
        官方文档 115ceug.pdf:Oracle Cash Management User Guide
    苏联章 2013/4/8 银行对账单/导入
    60 12.0.6 CST 物料成本导入/更新 API cst_item_cost_import_interface.start_item_cost_import_process   cst_item_cost_import_interface.start_item_cost_import_process(error_number   => l_error_num,
                                                                        i_next_value => l_cst_lists,
                                                                        i_grp_id     =>   l_cst_lists,
                                                                        i_del_option => 2, -- not delete records after successful   import
                                                                        i_cost_type  =>   rec_cost_type.cost_type,
                                                                        i_run_option => p_run_option --Mode to run this request, 1: insert   only mode, 2: rem and replace mode
                                                                        );
    Mode   to run this request, 1: insert only mode, 2: rem and replace mode 黎法良 2013/3/31 物料成本/导入/更新
    61 12.1.3 FND 获取关键性弹性域组合说明 API fnd_flex_keyval.concatenated_descriptions   FUNCTION   get_key_concatenated_desc(p_appl_short_name VARCHAR2,
                                               p_key_flex_code     VARCHAR2,
                                               p_coa_id          NUMBER,
                                               p_accid           NUMBER,
                                               p_data_set        NUMBER DEFAULT   NULL)
            RETURN VARCHAR2 IS
            lv_desc  VARCHAR2(2000);
            lb_value BOOLEAN;
          BEGIN
         
            lb_value :=   fnd_flex_keyval.validate_ccid(appl_short_name    => p_appl_short_name,
                                                        key_flex_code    =>   p_key_flex_code,
                                                        structure_number => p_coa_id,
                                                        combination_id   =>   p_accid,
                                                        data_set         =>   p_data_set);
         
            IF lb_value THEN
              lv_desc := fnd_flex_keyval.concatenated_descriptions;
            END IF;
         
            RETURN lv_desc;
          END get_key_concatenated_desc;
      赵杨 2013/3/30 弹性域/说明
    62 12.1.3 FND 验证键值弹性域 API fnd_flex_descval.validate_desccols   FUNCTION   validate_desc_cols(pi_appl_short_name      IN VARCHAR2
                                       ,pi_desc_flex_name     IN   VARCHAR2
                                       ,pi_validation_date    IN DATE   DEFAULT SYSDATE
                                       ,pi_enabled_activation IN BOOLEAN DEFAULT TRUE
                                       ,pi_resp_appl_id       IN NUMBER   DEFAULT NULL
                                     ,pi_resp_id            IN NUMBER DEFAULT NULL
                                     ,
                                      -- the   following params are dff count and values
                                        pi_attributes_count   IN NUMBER   DEFAULT 15
                                       ,pi_attribute_category IN VARCHAR2 DEFAULT NULL
                                       ,pi_attribute1         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute2         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute3         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute4         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute5         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute6         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute7         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute8         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute9         IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute10        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute11        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute12        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute13        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute14        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute15        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute16        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute17        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute18        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute19        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute20        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute21        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute22        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute23        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute24        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute25        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute26        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute27        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute28        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute29        IN   VARCHAR2 DEFAULT NULL
                                       ,pi_attribute30        IN   VARCHAR2 DEFAULT NULL
                                       ,po_attr_ids           OUT   fnd_flex_server1.valueidarray
                                        --,po_err_seg_num        OUT   NUMBER
                                       ,po_err_msg OUT VARCHAR2) RETURN BOOLEAN IS
            lb_dummy BOOLEAN;
          BEGIN
         
            -- clear column values buffer
              fnd_flex_descval.clear_column_values;
         
            -- set context value
              fnd_flex_descval.set_context_value(pi_attribute_category);
         
            IF pi_attributes_count > 30 OR   pi_attributes_count <= 0 THEN
                raise_application_error(-20001
                                       ,'Invalid value pi_attributes_count when calling   validate_dff_value');
            END IF;
         
            IF pi_attributes_count >= 1   THEN
              fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE1'
                                                 ,column_value => pi_attribute1);
            END IF;
            IF pi_attributes_count >= 2   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE2'
                                                 ,column_value => pi_attribute2);
            END IF;
            IF pi_attributes_count >= 3   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE3'
                                                 ,column_value => pi_attribute3);
            END IF;
            IF pi_attributes_count >= 4   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE4'
                                                 ,column_value => pi_attribute4);
            END IF;
            IF pi_attributes_count >= 5   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE5'
                                                 ,column_value => pi_attribute5);
            END IF;
            IF pi_attributes_count >= 6   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE6'
                                                 ,column_value => pi_attribute6);
            END IF;
            IF pi_attributes_count >= 7   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE7'
                                                 ,column_value => pi_attribute7);
            END IF;
            IF pi_attributes_count >= 8   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE8'
                                                 ,column_value => pi_attribute8);
            END IF;
            IF pi_attributes_count >= 9   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE9'
                                                 ,column_value => pi_attribute9);
            END IF;
            IF pi_attributes_count >= 10   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE10'
                                                 ,column_value => pi_attribute10);
            END IF;
            IF pi_attributes_count >= 11   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE11'
                                                 ,column_value => pi_attribute11);
            END IF;
            IF pi_attributes_count >= 12   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE12'
                                                 ,column_value => pi_attribute12);
            END IF;
            IF pi_attributes_count >= 13   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE13'
                                                 ,column_value => pi_attribute13);
            END IF;
            IF pi_attributes_count >= 14   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE14'
                                                 ,column_value => pi_attribute14);
            END IF;
            IF pi_attributes_count >= 15   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE15'
                                                 ,column_value => pi_attribute15);
            END IF;
            IF pi_attributes_count >= 16   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE16'
                                                 ,column_value => pi_attribute16);
            END IF;
            IF pi_attributes_count >= 17   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE17'
                                                 ,column_value => pi_attribute17);
            END IF;
            IF pi_attributes_count >= 18   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE18'
                                                 ,column_value => pi_attribute18);
            END IF;
            IF pi_attributes_count >= 19   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE19'
                                                 ,column_value => pi_attribute19);
            END IF;
            IF pi_attributes_count >= 20   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE20'
                                                 ,column_value => pi_attribute20);
            END IF;
            IF pi_attributes_count >= 21   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE21'
                                                 ,column_value => pi_attribute21);
            END IF;
            IF pi_attributes_count >= 22   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE22'
                                                 ,column_value => pi_attribute22);
            END IF;
            IF pi_attributes_count >= 23   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE23'
                                                 ,column_value => pi_attribute23);
            END IF;
            IF pi_attributes_count >= 24   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE24'
                                                 ,column_value => pi_attribute24);
            END IF;
            IF pi_attributes_count >= 25   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE25'
                                                 ,column_value => pi_attribute25);
            END IF;
            IF pi_attributes_count >= 26   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE26'
                                                 ,column_value => pi_attribute26);
            END IF;
            IF pi_attributes_count >= 27   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE27'
                                                 ,column_value => pi_attribute27);
            END IF;
            IF pi_attributes_count >= 28   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE28'
                                                 ,column_value => pi_attribute28);
            END IF;
            IF pi_attributes_count >= 29   THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE29'
                                                 ,column_value => pi_attribute29);
            END IF;
            IF pi_attributes_count = 30 THEN
                fnd_flex_descval.set_column_value(column_name  => 'ATTRIBUTE30'
                                                 ,column_value => pi_attribute30);
            END IF;
         
            -- Use standard API to validate   attribute values
            lb_dummy :=   fnd_flex_descval.validate_desccols(appl_short_name    => pi_appl_short_name
                                                            ,desc_flex_name     =>   pi_desc_flex_name
                                                            ,values_or_ids      => 'V'
                                                            , /* We always transfer dff values for validation   */validation_date    =>   pi_validation_date
                                                            ,enabled_activation => pi_enabled_activation
                                                            ,resp_appl_id       =>   pi_resp_appl_id
                                                            ,resp_id            =>   pi_resp_id);
         
            IF NOT lb_dummy THEN
              --po_err_seg_num :=   fnd_flex_descval.error_segment;
              po_err_msg := 'Attribute' ||   fnd_flex_descval.error_segment || ':' ||
                              fnd_flex_descval.error_message;
              RETURN FALSE;
            END IF;
         
            -- init return table
            FOR i IN 1 .. pi_attributes_count   LOOP
              po_attr_ids(i) := '';
            END LOOP;
         
            -- Set attributes id
            -- NOTE: 1.   fnd_flex_descval.segment_count always >=1;
            --       2. We donot need attribute_category   id, context has no id.
            FOR i IN 1 ..   fnd_flex_descval.segment_count LOOP
              IF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE1' THEN
                po_attr_ids(1) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE2' THEN
                po_attr_ids(2) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE3' THEN
                po_attr_ids(3) := fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE4' THEN
                po_attr_ids(4) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE5' THEN
                po_attr_ids(5) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE6' THEN
                po_attr_ids(6) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE7' THEN
                po_attr_ids(7) :=   fnd_flex_descval.segment_id(i);
              ELSIF fnd_flex_descval.segment_column_name(i)   = 'ATTRIBUTE8' THEN
                po_attr_ids(8) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE9' THEN
                po_attr_ids(9) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE10' THEN
                po_attr_ids(10) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE11' THEN
                po_attr_ids(11) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE12' THEN
                po_attr_ids(12) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE13' THEN
                po_attr_ids(13) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE14' THEN
                po_attr_ids(14) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE15' THEN
                po_attr_ids(15) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE16' THEN
                po_attr_ids(16) :=   fnd_flex_descval.segment_id(i);
              ELSIF fnd_flex_descval.segment_column_name(i)   = 'ATTRIBUTE17' THEN
                po_attr_ids(17) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE18' THEN
                po_attr_ids(18) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE19' THEN
                po_attr_ids(19) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE20' THEN
                po_attr_ids(20) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE21' THEN
                po_attr_ids(21) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE22' THEN
                po_attr_ids(22) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE23' THEN
                po_attr_ids(23) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE24' THEN
                po_attr_ids(24) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE25' THEN
                po_attr_ids(25) :=   fnd_flex_descval.segment_id(i);
              ELSIF fnd_flex_descval.segment_column_name(i)   = 'ATTRIBUTE26' THEN
                po_attr_ids(26) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE27' THEN
                po_attr_ids(27) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE28' THEN
                po_attr_ids(28) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE29' THEN
                po_attr_ids(29) :=   fnd_flex_descval.segment_id(i);
              ELSIF   fnd_flex_descval.segment_column_name(i) = 'ATTRIBUTE30' THEN
                po_attr_ids(30) :=   fnd_flex_descval.segment_id(i);
              END IF;
            END LOOP;
         
            --po_err_seg_num := '';
            po_err_msg := '';
            RETURN TRUE;
         
          EXCEPTION
            WHEN OTHERS THEN
              po_err_msg := gvc_tab1 ||
                            '**Error03.91:   Raise error when validate DFF.' ||
                              fnd_global.newline || gvc_tab1 || -sqlcode || ',' ||
                            REPLACE(SQLERRM,   gvc_new_line, gvc_new_line || gvc_tab1);
              RETURN FALSE;
          END;
      苏联章 2013/3/31 弹性域/验证
    63 12.1.3 FND 获取币种格式掩码 API fnd_currency.get_format_mask       赵杨 2013/3/30 币种/掩码
    64 12.1.3 GL 汇率转换 API gl_currency_api.get_rate       赵杨 2013/3/30 汇率/币种
    65 12.1.3 GL 查询单段帐户组合的描述 API gl_flexfields_pkg.get_description_sql   SELECT   gl_flexfields_pkg.get_description_sql(gcc.chart_of_accounts_id,
                                                       1,
                                                       gcc.segment1)
          FROM gl_code_combinations gcc
      何云 2013/4/3 帐户组合/描述/单段
    66 12.1.3 GL 查询完整帐户组合的描述 API gl_flexfields_pkg.get_concat_description   SELECT   gl_flexfields_pkg.get_concat_description(gcc.chart_of_accounts_id,
                                                          gcc.code_combination_id)
          FROM gl_code_combinations gcc
      何云 2013/4/3 帐户组合/描述
    67 12.1.3 GL 币种金额转换 API gl_currency_api.convert_amount   gl_currency_api.convert_amount   (
                x_from_currency        VARCHAR2,
                x_to_currency        VARCHAR2,
                x_conversion_date    DATE,--一般取期间最后一天
                x_conversion_type    VARCHAR2 DEFAULT   NULL,--转换类型,一般是Corporate
                x_amount        NUMBER )
      陈范冬 2013/4/1 币种/金额转换
    68 12.1.3 GL 日记账导入 接口 SQLGL.GLLEZL gl_interface
        gl_interface_control
    DECLARE
          l_iface_rec             gl_interface%ROWTYPE;
          l_request_id            NUMBER;
          l_set_of_books_id       NUMBER := 2021;
          l_user_je_source_name   gl_je_sources_tl.user_je_source_name%TYPE   := '人工';
          l_user_je_category_name   gl_je_categories_tl.user_je_category_name%TYPE := '记帐凭证';
          l_je_source_name          gl_je_sources_tl.je_source_name%TYPE;
          l_interface_run_id      NUMBER;
        BEGIN
       
            fnd_global.apps_initialize(user_id        => 0,
                                       resp_id      => 20434,
                                       resp_appl_id => 101);
       
          --submit request
          SELECT MAX(jes.je_source_name)
            INTO l_je_source_name
            FROM gl_je_sources_vl jes
           WHERE jes.user_je_source_name =   l_user_je_source_name;
       
          SELECT   gl_interface_control_s.nextval INTO l_interface_run_id FROM dual;
       
          SELECT   gl_interface_control_s.nextval
            INTO l_iface_rec.group_id
            FROM dual;
       
          l_iface_rec.status                := 'NEW';
          l_iface_rec.set_of_books_id       := l_set_of_books_id;
          l_iface_rec.accounting_date       := SYSDATE + 1; --有效日期
          l_iface_rec.date_created          := SYSDATE;
          l_iface_rec.period_name           := '2012-12'; --期间
          l_iface_rec.created_by            := fnd_global.user_id;
          l_iface_rec.actual_flag           := 'A';
            l_iface_rec.user_je_source_name     := l_user_je_source_name;
          l_iface_rec.user_je_category_name   := l_user_je_category_name;
          l_iface_rec.reference1            := 'TestBatchName010';
          l_iface_rec.reference4            := 'Test JL first name   010001';
          l_iface_rec.reference5            := 'Reference5'; --头说明
          l_iface_rec.reference10           := 'Reference10'; --行说明
          l_iface_rec.currency_code         := 'CNY';
       
          --dr
          l_iface_rec.code_combination_id :=   48809;
          l_iface_rec.entered_dr          := 100;
          l_iface_rec.accounted_dr        := 100;
          l_iface_rec.entered_cr          := NULL;
          l_iface_rec.accounted_cr        := NULL;
          INSERT INTO gl_interface VALUES   l_iface_rec;
       
          --cr
          l_iface_rec.code_combination_id :=   48809;
          l_iface_rec.entered_dr          := NULL;
          l_iface_rec.accounted_dr        := NULL;
          l_iface_rec.entered_cr          := 100;
          l_iface_rec.accounted_cr        := 100;
          INSERT INTO gl_interface VALUES   l_iface_rec;
       
          --start test
          l_iface_rec.status                := 'NEW';
          l_iface_rec.set_of_books_id       := l_set_of_books_id;
          l_iface_rec.accounting_date       := SYSDATE + 1; --有效日期
          l_iface_rec.date_created          := SYSDATE;
          l_iface_rec.period_name           := '2012-12'; --期间
          l_iface_rec.created_by            := fnd_global.user_id;
          l_iface_rec.actual_flag           := 'A';
          l_iface_rec.user_je_source_name   := l_user_je_source_name;
          l_iface_rec.user_je_category_name   := l_user_je_category_name;
          l_iface_rec.reference1            := 'TestBatchName010';
          l_iface_rec.reference4            := 'Test JL first name   010002';
          l_iface_rec.reference5            := 'Reference5'; --头说明
          l_iface_rec.reference10           := 'Reference10'; --行说明
          l_iface_rec.currency_code         := 'CNY';
       
          --dr
          l_iface_rec.code_combination_id :=   48809;
          l_iface_rec.entered_dr          := 100;
          l_iface_rec.accounted_dr        := 100;
          l_iface_rec.entered_cr          := NULL;
          l_iface_rec.accounted_cr        := NULL;
          INSERT INTO gl_interface VALUES   l_iface_rec;
       
          --cr
          l_iface_rec.code_combination_id :=   48809;
          l_iface_rec.entered_dr          := NULL;
          l_iface_rec.accounted_dr        := NULL;
          l_iface_rec.entered_cr          := 100;
          l_iface_rec.accounted_cr        := 100;
          INSERT INTO gl_interface VALUES   l_iface_rec;
          --end test
       
          INSERT INTO   gl_interface_control
            (je_source_name, group_id,   interface_run_id, set_of_books_id, status)
          VALUES
            (l_je_source_name,
             l_iface_rec.group_id,
             l_interface_run_id,
             l_set_of_books_id,
             'S');
       
          l_request_id :=   fnd_request.submit_request('SQLGL',
                                                       'GLLEZL',
                                                       '',
                                                       to_char(SYSDATE,
                                                               'YYYY/MM/DD HH24:MI:SS'),
                                                       FALSE,
                                                       l_interface_run_id,
                                                       l_set_of_books_id, --帐套id
                                                       'N',
                                                       NULL,
                                                       NULL,
                                                       'N',
                                                       'O',
                                                       chr(0));
       
          COMMIT;
          dbms_output.put_line('Request ID '   || l_request_id);
        END;
      何云 2013/4/3 日记账/导入
    69 12.1.1 HR 创建HR职务 API hr_job_api.create_job    hr_job_api.create_job(p_validate              => FALSE,
                                  p_business_group_id     =>   0,
                                  p_date_from             =>   to_date('1-1-1950',
                                                                     'MM-DD-RRRR'),
                                  p_job_group_id          =>   1,
                                  p_segment1              =>   'HEA',
                                  p_segment2              =>   'SPPM',
                                  p_segment3              =>   'SECTION MANAGER',
                                  p_language_code         =>   hr_api.userenv_lang,
                                p_job_id                => x_job_id,
                                  p_object_version_number => x_object_version_number,
                                  p_job_definition_id     => x_job_definition_id,
                                p_name                  => x_name);
      苏联章 2013/3/31 HR   JOB/创建
    70 12.1.1 HR 更新HR分配 API hr_assignment_api.update_emp_asg_criteria    hr_assignment_api.update_emp_asg_criteria(p_effective_date          => SYSDATE,
                                                      p_datetrack_update_mode   =>   hr_api.g_correction,
                                                      p_assignment_id           =>   1630,
                                                      p_validate                =>   FALSE,
                                                      p_called_from_mass_update => FALSE,
                                                      p_grade_id                =>   hr_api.g_number,
                                                      --p_position_id               => 4142,
                                                      p_job_id          => 3083,   --x_job_id,
                                                      p_payroll_id      =>   hr_api.g_number,
                                                      p_location_id     =>   hr_api.g_number,
                                                      p_organization_id => 84,
                                                      --p_segment1                       =>'SHE FAC',
                                                      p_pay_basis_id                   => hr_api.g_number,
                                                      p_object_version_number          => l_object_version_number,
                                                      p_special_ceiling_step_id        => x_special_ceiling_step_id,
                                                      p_people_group_id                => x_people_group_id,
                                                      p_soft_coding_keyflex_id         => x_soft_coding_keyflex_id,
                                                      p_group_name                     => x_group_name,
                                                      p_effective_start_date           => x_effective_start_date,
                                                      p_effective_end_date             => x_effective_end_date,
                                                      p_org_now_no_manager_warning     => x_org_now_no_manager_warning,
                                                      p_other_manager_warning          => x_other_manager_warning,
                                                      p_spp_delete_warning             => x_spp_delete_warning,
                                                      p_entries_changed_warning        => x_entries_changed_warning,
                                                      p_tax_district_changed_warning =>   x_tax_district_changed_warning,
                                                      p_concatenated_segments          => x_concatenated_segments,
                                                      p_gsp_post_process_warning       => x_gsp_post_process_warning);
    hr_job_api.create_job创建完成后就已经创建的了assign,所以assign信息只用更新 苏联章 2013/3/31 HR   Job Assign/更新
    71 12.1.1 HR 创建职位 API hr_position_api.create_position   hr_position_api.create_position(p_validate               => FALSE,
                                            p_job_id                 =>   92,
                                            p_organization_id        =>   84,
                                            p_date_effective         =>   SYSDATE,
                                            p_working_hours          =>   40,
                                            p_frequency              =>   'W',
                                            p_time_normal_start      =>   '09:00',
                                            p_time_normal_finish     =>   '17:30',
                                            p_location_id            =>   144,
                                            p_segment1               =>   'SHE_HQ',
                                            p_segment2               =>   'Account - Finance Division',
                                            p_segment3               =>   'Acting Department Manager',
                                            p_position_id            =>   x_position_id,
                                            p_object_version_number  =>   x_object_version_number,
                                            p_position_definition_id => x_position_definition_id,
                                            p_name                   =>   x_name);
      苏联章 2013/3/31 HR/职位/创建
    72 12.1.1 HR 创建员工 API hr_employee_api.create_employee    hr_employee_api.create_employee(p_validate                  => FALSE,
                                              p_business_group_id           => p_data_rec.business_group_id,
                                              p_hire_date                   => p_data_rec.start_working_date,
                                              p_last_name                   => p_data_rec.name_english,
                                              p_sex                         => p_data_rec.sex,
                                              p_person_type_id            =>   p_data_rec.employee_type_id,
                                              p_date_of_birth               => p_data_rec.date_of_birth,
                                              p_employee_number             => l_employee_number,
                                              p_attribute1                  => p_data_rec.name_thai,
                                              p_attribute2                  => p_data_rec.ldap_id,
                                              p_person_id                   => x_person_id,
                                              p_assignment_id               => x_assignment_id,
                                              p_per_object_version_number => x_per_object_version_number,
                                              p_asg_object_version_number => x_asg_object_version_number,
                                              p_per_effective_start_date    => x_per_effective_start_date,
                                              p_per_effective_end_date      => x_per_effective_end_date,
                                              p_full_name                   => x_full_name,
                                              p_per_comment_id              => x_per_comment_id,
                                              p_assignment_sequence         => x_assignment_sequence,
                                              p_assignment_number           => x_assignment_number,
                                              p_name_combination_warning    => x_name_combination_warning,
                                              p_assign_payroll_warning      => x_assign_payroll_warning,
                                              p_orig_hire_warning           => x_orig_hire_warning);
      苏联章 2013/3/31 HR/员工/创建
    73 12.1.1 HR  解雇雇员 APi hr_ex_employee_api.actual_termination_emp    hr_ex_employee_api.actual_termination_emp(p_validate                   => FALSE,
                                                        p_effective_date               => g_sysdate,
                                                        p_period_of_service_id         => l_period_of_service_id,
                                                        p_object_version_number        => l_object_version_number,
                                                        p_actual_termination_date      => p_data_rec.resign_date,
                                                        p_last_standard_process_date => l_last_standard_process_date,
                                                        p_leaving_reason               => p_data_rec.resign_reason_code,
                                                        p_supervisor_warning           => x_supervisor_warning,
                                                        p_event_warning                => x_event_warning,
                                                        p_interview_warning            => x_interview_warning,
                                                        p_review_warning               => x_review_warning,
                                                        p_recruiter_warning            => x_recruiter_warning,
                                                        p_asg_future_changes_warning => x_asg_future_changes_warning,
                                                        p_entries_changed_warning      => x_entries_changed_warning,
                                                        p_pay_proposal_warning         => x_pay_proposal_warning,
                                                        p_dod_warning                  => x_dod_warning,
                                                        p_alu_change_warning           => x_alu_change_warning);
      苏联章 2013/3/31 HR/雇员/解雇
    74 12.1.1 IBY 创建供应商头/地点付款方法 API iby_disbursement_setup_pub.create_external_payee p_ext_payee_tab使用iby_disbursement_setup_pub.external_payee_tab_type   处理结果返回给参数x_ext_payee_status_tab,使用类型iby_disbursement_setup_pub.ext_payee_create_tab_type 苏联章 2013/3/31 供应商/付款方法
    75 12.1.1 IBY 更行供应商头/地点付款方法 API iby_disbursement_setup_pub.update_external_payee p_ext_payee_tab使用iby_disbursement_setup_pub.external_payee_tab_type;
        p_ext_payee_id_tab使用iby_disbursement_setup_pub.ext_payee_id_tab_type
      处理结果返回给参数x_ext_payee_status_tab,使用类型iby_disbursement_setup_pub.ext_payee_update_tab_type 苏联章 2013/3/31 供应商/付款方法
    76 12.1.1 IBY 创建银行 API iby_ext_bankacct_pub.create_ext_bank   iby_ext_bankacct_pub.create_ext_bank(p_api_version   => 1.0,
                                               p_init_msg_list => p_init_msg_list,
                                               p_ext_bank_rec  =>   p_extbank_rec_type,
                                               x_bank_id       =>   l_bank_id,
                                               x_return_status => x_return_status,
                                               x_msg_count     =>   x_msg_count,
                                               x_msg_data      =>   x_msg_data,
                                               x_response      =>   x_response);
      苏联章 2013/3/31 银行/创建
    77 12.1.1 IBY 更行银行 API iby_ext_bankacct_pub.update_ext_bank       苏联章 2013/3/31 银行/更新
    78 12.1.1 IBY 创建银行分行 API iby_ext_bankacct_pub.create_ext_bank_branch   iby_ext_bankacct_pub.create_ext_bank_branch(p_api_version         => p_api_version,
                                                      p_init_msg_list       =>   p_init_msg_list,
                                                      p_ext_bank_branch_rec => p_ext_bank_branch_rec,
                                                      x_branch_id           =>   l_branch_id,
                                                      x_return_status       =>   x_return_status,
                                                      x_msg_count           =>   x_msg_count,
                                                      x_msg_data            =>   x_msg_data,
                                                      x_response            =>   x_response);
      苏联章 2013/3/31 银行分行/创建
    79 12.1.1 IBY 更新银行分行 API iby_ext_bankacct_pub.update_ext_bank_branch       苏联章 2013/3/31 银行分行/更新
    80 12.1.1 IBY 创建银行账户 API iby_ext_bankacct_pub.create_ext_bank_acct   iby_ext_bankacct_pub.create_ext_bank_acct(p_api_version       => 1.0,
                                                    p_init_msg_list     =>   p_init_msg_list,
                                                    p_ext_bank_acct_rec => p_ext_bank_acct_rec,
                                                    p_association_level => 'SS',
                                                    p_supplier_site_id  =>   p_supplier_site_id,
                                                    p_party_site_id     =>   p_party_site_id,
                                                    p_org_id            =>   p_org_id,
                                                    p_org_type          =>   'OPERATING_UNIT',
                                                    x_acct_id           =>   l_acct_id,
                                                    x_return_status     => x_return_status,
                                                    x_msg_count         =>   x_msg_count,
                                                    x_msg_data          =>   x_msg_data,
                                                    x_response          =>   x_response);
      苏联章 2013/3/31 银行账户/创建
    81 12.1.1 IBY 更新银行账户 API iby_ext_bankacct_pub.create_ext_bank_acct       苏联章 2013/3/31 银行账户/更新
    82 12.1.3 IBY 检查银行是否存在 API iby_ext_bankacct_pub.check_bank_exist   iby_ext_bankacct_pub.check_bank_exist(p_api_version   => 1.0,
                                                    p_init_msg_list => fnd_api.g_true,
                                                    p_country_code  =>   p_interface_data.bill_to_country,
                                                    p_bank_name     =>   p_interface_data.bank,
                                                    p_bank_number   =>   NULL,
                                                    x_response      =>   r_response,
                                                    x_bank_id       =>   x_bank_id,
                                                    x_end_date      =>   v_end_date,
                                                    x_return_status => x_return_status,
                                                    x_msg_count     =>   v_msg_count,
                                                    x_msg_data      =>   v_msg_data);
      何云 2013/4/3 银行/检查
    83 12.1.3 IBY 检查支行是否存在 API iby_ext_bankacct_pub.check_ext_bank_branch_exist   iby_ext_bankacct_pub.check_ext_bank_branch_exist(p_api_version   => 1.0,
                                                               p_init_msg_list => fnd_api.g_true,
                                                               p_bank_id       =>   x_bank_id,
                                                               p_branch_name   =>   p_interface_data.branch,
                                                               p_branch_number => NULL,
                                                               x_response      =>   r_response,
                                                               x_branch_id     =>   x_branch_id,
                                                               x_end_date      =>   v_end_date,
                                                               x_return_status => x_return_status,
                                                               x_msg_count     =>   v_msg_count,
                                                               x_msg_data      =>   v_msg_data);
      何云 2013/4/3 银行/支行/检查
    84 12.1.3 IBY 检查银行账户是否存在 API iby_ext_bankacct_pub.check_ext_acct_exist   v_ext_bank_acct_rec.bank_id   := x_bank_id;
        v_ext_bank_acct_rec.branch_id := x_branch_id;
        v_ext_bank_acct_rec.country_code          := p_interface_data.bill_to_country;
        v_ext_bank_acct_rec.acct_owner_party_id := v_party_id;
        v_ext_bank_acct_rec.bank_account_num      := p_interface_data.bank_account;
        --v_ext_bank_acct_rec.currency              := 'CNY';
        iby_ext_bankacct_pub.check_ext_acct_exist(p_api_version       => 1.0,
                                                        p_init_msg_list     =>   fnd_api.g_true,
                                                        p_ext_bank_acct_rec => v_ext_bank_acct_rec,
                                                        x_acct_id           =>   x_bank_acct_id,
                                                        x_start_date        =>   v_start_date,
                                                        x_end_date          =>   v_end_date,
                                                        x_return_status     =>   x_return_status,
                                                        x_msg_count         =>   v_msg_count,
                                                        x_msg_data          =>   v_msg_data,
                                                        x_response          =>   r_response);
      何云 2013/4/3 银行/账户/检查
    85 12.1.3 INV 创建物料搬运单头 API inv_move_order_pub.create_move_order_header       赵杨 2013/3/30 物料搬运单/导入
    86 12.1.3 INV 创建保留 API inv_reservation_form_pkg.create_reservation       赵杨 2013/3/30 保留/导入
    87 12.1.3 INV 释放保留 API inv_reservation_form_pkg.delete_reservation       赵杨 2013/3/30 保留/释放
    88 12.1.3 INV 创建物料 API inv_item_grp.create_item   inv_item_grp.create_item(p_commit        => fnd_api.g_false,
                                   p_item_rec      =>   l_item_rec,
                                   x_item_rec      =>   l_out_rec,
                                   x_return_status => l_return_status,
                                   x_error_tbl     =>   l_error_tbl,
                                   p_template_name => rec.template_name);
      赵杨 2013/3/30 物料/导入
    89 12.1.3 INV 更新物料 API inv_item_grp.update_item   inv_item_grp.update_item(p_commit        => fnd_api.g_false,
                                   p_item_rec      =>   l_item_rec,
                                   x_item_rec      =>   l_out_rec,
                                   x_return_status => l_return_status,
                                   x_error_tbl     =>   l_error_tbl,
                                   p_template_name => rec.template_name);
      赵杨 2013/3/30 物料/更新
    90 12.0.6 INV 物料编码导入/更新 接口 INV.INCOIN   ln_request_id   := fnd_request.submit_request('INV',
                                                      'INCOIN',
                                                      '',
                                                      to_char(SYSDATE,
                                                              'YYYY/MM/DD HH24:MI:SS'),
                                                      FALSE,
                                                      gn_to_org_id,
                                                      2, --No
                                                      1, --Validate Items
                                                      1,
                                                      1,
                                                      p_process_id,
                                                      p_tran_mode,--1 CREATE 2 UPDATE
                                                      chr(0));
    可附带版本导入 黎法良 2013/3/31 物料编码/导入/更新
    91 12.1.3 INV 创建物料类别 API inv_item_category_pub.create_category_assignment   inv_item_category_pub.create_category_assignment(p_api_version       => '1.0',
                                                           p_init_msg_list     =>   fnd_api.g_true,
                                                           p_commit            =>   fnd_api.g_true,
                                                           x_return_status     =>   l_return_status,
                                                           x_errorcode         =>   l_errorcode,
                                                           x_msg_count         =>   l_msg_count,
                                                           x_msg_data          =>   l_msg_data,
                                                           p_category_id       =>   rec.category_id,
                                                           p_category_set_id   => rec.category_set_id,
                                                           p_inventory_item_id => rec.inventory_item_id,
                                                           p_organization_id   =>   rec.organization_id);
      赵杨 2013/3/30 物料类别/导入
    92 12.1.3 INV 更新物料类别 API inv_item_category_pub.update_category_assignment   inv_item_category_pub.update_category_assignment(p_api_version       => '1.0',
                                                           p_init_msg_list     =>   fnd_api.g_true,
                                                           p_commit            =>   fnd_api.g_true,
                                                           x_return_status     =>   l_return_status,
                                                           x_errorcode         =>   l_errorcode,
                                                           x_msg_count         =>   l_msg_count,
                                                           x_msg_data          =>   l_msg_data,
                                                           p_category_id       =>   rec.category_id,
                                                           p_old_category_id   => l_old_category_id,
                                                           p_category_set_id   =>   rec.category_set_id,
                                                           p_inventory_item_id => rec.inventory_item_id,
                                                           p_organization_id   =>   rec.organization_id);
      赵杨 2013/3/30 物料类别/更新
    93 12.0.6 INV 物料类别分配导入 接口 INV.INV_ITEM_CAT_ASSIGN_OI   v_num_request_id   := fnd_request.submit_request(application => 'INV',
                                                         program     =>   'INV_ITEM_CAT_ASSIGN_OI',
                                                         description => NULL,
                                                         start_time  => NULL,
                                                         sub_request => FALSE,
                                                         argument1   =>   v_num_tmp,--rec.batch_id, --Record Set Id
                                                         argument2   => 1, --Upload   Processed Records
                                                         argument3   => 1 --Delete   Processed Records
                                                         );
      黎法良 2013/3/31 物料类别分配/导入
    94 12.1.3 INV 创建物料目录 API inv_item_catalog_elem_pub.process_item_descr_elements       赵杨 2013/3/30 物料目录/导入
    95 12.0.6 INV 创建物料默认子库 API inv_item_sub_default_pkg.insert_upd_item_sub_defaults   inv_item_sub_default_pkg.insert_upd_item_sub_defaults(p_organization_id   => l_item_rec.organization_id,
                                                                p_inventory_item_id => l_out_rec.inventory_item_id,
                                                                p_subinventory_code => l_receiving_subinv,
                                                                p_default_type      => 2,   --1. default shipping subinventory; 2. default receiving subinventory
                                                                p_creation_date     =>   SYSDATE,
                                                                p_created_by        => g_created_by,
                                                                p_last_update_date  =>   SYSDATE,
                                                                p_last_updated_by   =>   g_last_updated_by,
                                                                p_process_code      =>   'INSERT',
                                                                p_commit            =>   fnd_api.g_true,
                                                                x_return_status     =>   l_return_status,
                                                                x_msg_count         =>   l_msg_count,
                                                                x_msg_data          =>   x_msg_data);
    被INVIDIT2.Insert_Default_SubInventories调用,所以也可以用这个 黎法良 2013/3/31 物料默认子库/导入
    96 12.1.3 INV 创建物料交叉参考 API mtl_cross_references_pub.process_xref       苏联章 2013/3/31 物料交叉参考/创建
    97 12.1.1 INV 创建批次 API inv_lot_api_pub.create_inv_lot       苏联章 2013/3/31 批次/创建
    98 12.1.3 INV 更新批次状态 API inv_material_status_pub.update_status   l_status_update_rec.organization_id   := p_organization_id;
              l_status_update_rec.inventory_item_id := p_inventory_item_id;
              l_status_update_rec.lot_number          := p_lot_number;
              l_status_update_rec.status_id           := p_status_id;
              l_status_update_rec.update_method       := p_update_method;
              l_status_update_rec.creation_date       := SYSDATE;
              l_status_update_rec.created_by          := nvl(fnd_global.user_id, -1);
            l_status_update_rec.last_updated_by   := nvl(fnd_global.user_id, -1);
              l_status_update_rec.last_update_date    := SYSDATE;
              l_status_update_rec.last_update_login := nvl(fnd_global.login_id,   -1);
         
              inv_material_status_pub.update_status(p_api_version_number =>   1,
                                                    p_init_msg_lst       =>   fnd_api.g_false,
                                                    p_commit             =>   fnd_api.g_false,
                                                    x_return_status      =>   x_return_status,
                                                    x_msg_count          =>   x_msg_count,
                                                    x_msg_data           =>   x_msg_data,
                                                    p_object_type        => 'O',
                                                    p_status_rec         =>   l_status_update_rec);
      何云 2013/4/3 批次/状态/更新
    99 12.1.3 INV 获取现有量 API inv_quantity_tree_pub.query_quantities   “--at   first ,clear cache
              inv_quantity_tree_pub.clear_quantity_cache;
              inv_quantity_tree_pub.query_quantities(p_api_version_number      => 1.0,
                                                     p_init_msg_lst            =>   fnd_api.g_false,
                                                     x_return_status           =>   l_return_status,
                                                     x_msg_count               =>   l_msg_count,
                                                     x_msg_data                =>   l_msg_data,
                                                     p_organization_id         =>   p_organization_id,
                                                     p_inventory_item_id       =>   p_inventory_item_id,
                                                     p_tree_mode               =>   3,
                                                     p_is_revision_control     =>   l_is_revision_control,
                                                     p_is_lot_control          =>   l_is_lot_control,
                                                     p_is_serial_control       =>   l_is_serial_control,
                                                     p_grade_code              =>   NULL,
                                                     p_demand_source_type_id   =>   -1,
                                                     p_demand_source_header_id => -1,
                                                     p_demand_source_line_id   =>   -1,
                                                     p_demand_source_name      =>   NULL,
                                                     p_lot_expiration_date     =>   SYSDATE,
                                                     p_revision                =>   NULL,
                                                     p_lot_number              =>   p_lot_number,
                                                     p_subinventory_code       =>   p_subinventory,
                                                     p_locator_id              =>   p_locator_id,
                                                     p_onhand_source           =>   3,
                                                     x_qoh                     =>   l_qty_on_hand,
                                                     x_rqoh                    =>   l_qty_res_on_hand,
                                                     x_qr                      =>   l_qty_res,
                                                     x_qs                      =>   l_qty_sug,
                                                     x_att                     =>   l_qty_att,
                                                     x_atr                     =>   l_qty_available_to_reserve,
                                                     x_sqoh                    =>   l_sqty_on_hand,
                                                     x_srqoh                   =>   l_sqty_res_on_hand,
                                                     x_sqr                     =>   l_sqty_res,
                                                     x_sqs                     =>   l_sqty_sug,
                                                     x_satt                    =>   l_sqty_att,
                                                     x_satr                    =>   l_sqty_available_to_reserve);
      赵杨 2013/3/30 现有量
    100 12.0.6 INV 创建物料事务处理 API mtl_online_transaction_pub.process_online   l_success   := mtl_online_transaction_pub.process_online(p_transaction_header_id =>   l_iface_rec.transaction_header_id,
                                                                 p_timeout               =>   l_timeout,
                                                                 p_error_code            =>   l_error_code,
                                                                 p_error_explanation     =>   l_error_explanation);
    期初现有量导入可通过物料事务处理的别名入库、出库或者组织间转移来实现 黎法良 2013/3/31 物料事务处理/现有量/导入
    101 12.1.3 INV 创建现有量(物料事务处理) API     inv_txn_manager_pub.process_transactions   DECLARE
          l_mti_row   mtl_transactions_interface%ROWTYPE;
          l_id      NUMBER := -1;
          l_user_id NUMBER := 26673;
          l_outcome boolean := false;
          l_mtli_row   mtl_transaction_lots_interface%rowtype;
          l_error_code        VARCHAR2(4000);
          l_error_explanation   VARCHAR2(4000);
        BEGIN
          SELECT mtl_material_transactions_s.nextval   INTO l_id FROM dual;
         
            --插入mtl_transactions_interface
          l_mti_row.transaction_interface_id   := l_id;
       
          l_mti_row.last_update_date  := SYSDATE;
          l_mti_row.last_updated_by   := l_user_id;
          l_mti_row.creation_date     := SYSDATE;
          l_mti_row.created_by        := l_user_id;
          l_mti_row.last_update_login :=   -1;
       
          l_mti_row.transaction_header_id :=   l_id;
       
          l_mti_row.transaction_mode    := 3;--一般都为3
          l_mti_row.process_flag        := 1;--一般都为1
          l_mti_row.transaction_type_id :=   35; --投料--物料事务处理类型id
       
          /*
          账户别名杂项,用别名ID即disposition_id
          账户杂项,用账户ID即code_combination_id
          WIP物料事务,用任务ID即wip_entity_id
            SO物料事务,用mtl_sales_orders.sales_order_id
          子库转移或组织间转移,为空
          */
          l_mti_row.transaction_source_id :=   32936523;--工单号--WIP事务处理
       
          l_mti_row.organization_id :=   650;--库存组织id
       
          l_mti_row.inventory_item_id    := 15867632;--物料id
          l_mti_row.subinventory_code    := 'L11101';--子库从
          l_mti_row.transaction_quantity :=   -1;--减少为负数
          l_mti_row.transaction_uom      := 'PCS';--单位的code
       
          l_mti_row.transaction_date :=   SYSDATE;
          l_mti_row.source_code      := 'Test Only';--自定义,用于追溯
          l_mti_row.source_header_id :=   987654321;--自定义,用于追溯
          l_mti_row.source_line_id   := 987654321;--自定义,用于追溯
       
          INSERT INTO   mtl_transactions_interface VALUES l_mti_row;
         
            --插入mtl_transaction_lots_interface
          l_mtli_row.last_update_date  := SYSDATE;
          l_mtli_row.last_updated_by   := l_user_id;
          l_mtli_row.creation_date     := SYSDATE;
          l_mtli_row.created_by        := l_user_id;
          l_mtli_row.last_update_login :=   -1;
         
          l_mtli_row.transaction_interface_id   := l_mti_row.transaction_interface_id;
          l_mtli_row.lot_number               := 'nl0000003';--批次号
            l_mtli_row.transaction_quantity       := l_mti_row.transaction_quantity;
          l_mtli_row.source_code              := l_mti_row.source_code;
          l_mtli_row.source_line_id           := l_mti_row.source_line_id;
       
          INSERT INTO   inv.mtl_transaction_lots_interface VALUES l_mtli_row;
         
          --调用API进行事务处理
          l_outcome :=   mtl_online_transaction_pub.process_online(p_transaction_header_id =>   l_mti_row.transaction_header_id,
                                                                   p_timeout               =>   100,
                                                                   p_error_code            =>   l_error_code,
                                                                   p_error_explanation     =>   l_error_explanation);
         
          /*x_retval :=   inv_txn_manager_pub.process_transactions(p_api_version      => 1.0,
                                                                   p_init_msg_list    =>   fnd_api.g_false,
                                                                   p_commit           =>   fnd_api.g_false, --not commit
                                                                   p_validation_level => fnd_api.g_valid_level_full,
                                                                   x_return_status    =>   x_return_status,
                                                                   x_msg_count        =>   x_msg_count,
                                                                   x_msg_data         =>   x_msg_data,
                                                                   x_trans_count      =>   x_trans_count,
                                                                   p_table            =>   1,
                                                                   p_header_id        =>   l_mti_row.transaction_header_id);*/
         
          IF (l_outcome = FALSE) THEN
            dbms_output.put_line('Failed to   process the transaction');
            dbms_output.put_line('Error code:   ' || l_error_code);
            dbms_output.put_line('Error   message: ' || l_error_explanation);
            DELETE   inv.mtl_transactions_interface
             WHERE transaction_header_id =   l_mti_row.transaction_header_id;
            COMMIT;
          ELSE
            dbms_output.put_line('Transaction   with header id ' ||
                                   to_char(l_mti_row.transaction_header_id) ||
                                 ' has been   processed successfully');
            COMMIT;
          END IF;
        END;
      何云 2013/4/3 物料事务处理/导入
    102 12.1.3 INV 创建现有量(物料事务处理) API mtl_online_transaction_pub.process_online   DECLARE
          l_mti_row   mtl_transactions_interface%ROWTYPE;
          l_id      NUMBER := -1;
          l_user_id NUMBER := 26673;
          l_outcome boolean := false;
          l_mtli_row   mtl_transaction_lots_interface%rowtype;
          l_error_code        VARCHAR2(4000);
          l_error_explanation   VARCHAR2(4000);
        BEGIN
          SELECT mtl_material_transactions_s.nextval   INTO l_id FROM dual;
         
            --插入mtl_transactions_interface
          l_mti_row.transaction_interface_id   := l_id;
       
          l_mti_row.last_update_date  := SYSDATE;
          l_mti_row.last_updated_by   := l_user_id;
          l_mti_row.creation_date     := SYSDATE;
          l_mti_row.created_by        := l_user_id;
          l_mti_row.last_update_login :=   -1;
       
          l_mti_row.transaction_header_id :=   l_id;
       
          l_mti_row.transaction_mode    := 3;--一般都为3
          l_mti_row.process_flag        := 1;--一般都为1
          l_mti_row.transaction_type_id :=   35; --投料--物料事务处理类型id
       
          /*
          账户别名杂项,用别名ID即disposition_id
          账户杂项,用账户ID即code_combination_id
          WIP物料事务,用任务ID即wip_entity_id
            SO物料事务,用mtl_sales_orders.sales_order_id
          子库转移或组织间转移,为空
          */
          l_mti_row.transaction_source_id :=   32936523;--工单号--WIP事务处理
       
          l_mti_row.organization_id :=   650;--库存组织id
       
          l_mti_row.inventory_item_id    := 15867632;--物料id
          l_mti_row.subinventory_code    := 'L11101';--子库从
          l_mti_row.transaction_quantity :=   -1;--减少为负数
          l_mti_row.transaction_uom      := 'PCS';--单位的code
       
          l_mti_row.transaction_date :=   SYSDATE;
          l_mti_row.source_code      := 'Test Only';--自定义,用于追溯
          l_mti_row.source_header_id :=   987654321;--自定义,用于追溯
          l_mti_row.source_line_id   := 987654321;--自定义,用于追溯
       
          INSERT INTO   mtl_transactions_interface VALUES l_mti_row;
         
            --插入mtl_transaction_lots_interface
          l_mtli_row.last_update_date  := SYSDATE;
          l_mtli_row.last_updated_by   := l_user_id;
          l_mtli_row.creation_date     := SYSDATE;
          l_mtli_row.created_by        := l_user_id;
          l_mtli_row.last_update_login :=   -1;
         
          l_mtli_row.transaction_interface_id   := l_mti_row.transaction_interface_id;
          l_mtli_row.lot_number               := 'nl0000003';--批次号
            l_mtli_row.transaction_quantity       := l_mti_row.transaction_quantity;
          l_mtli_row.source_code              := l_mti_row.source_code;
          l_mtli_row.source_line_id           := l_mti_row.source_line_id;
       
          INSERT INTO   inv.mtl_transaction_lots_interface VALUES l_mtli_row;
         
          --调用API进行事务处理
          l_outcome :=   mtl_online_transaction_pub.process_online(p_transaction_header_id =>   l_mti_row.transaction_header_id,
                                                                   p_timeout               =>   100,
                                                                   p_error_code            =>   l_error_code,
                                                                   p_error_explanation     =>   l_error_explanation);
         
          /*x_retval :=   inv_txn_manager_pub.process_transactions(p_api_version      => 1.0,
                                                                   p_init_msg_list    =>   fnd_api.g_false,
                                                                   p_commit           =>   fnd_api.g_false, --not commit
                                                                   p_validation_level => fnd_api.g_valid_level_full,
                                                                   x_return_status    =>   x_return_status,
                                                                   x_msg_count        =>   x_msg_count,
                                                                   x_msg_data         =>   x_msg_data,
                                                                   x_trans_count      =>   x_trans_count,
                                                                   p_table            =>   1,
                                                                   p_header_id        =>   l_mti_row.transaction_header_id);*/
         
          IF (l_outcome = FALSE) THEN
            dbms_output.put_line('Failed to   process the transaction');
            dbms_output.put_line('Error code:   ' || l_error_code);
            dbms_output.put_line('Error   message: ' || l_error_explanation);
            DELETE   inv.mtl_transactions_interface
             WHERE transaction_header_id =   l_mti_row.transaction_header_id;
            COMMIT;
          ELSE
            dbms_output.put_line('Transaction   with header id ' ||
                                   to_char(l_mti_row.transaction_header_id) ||
                                 ' has been   processed successfully');
            COMMIT;
          END IF;
        END;
      何云 2013/4/3 物料事务处理/导入
    103 12.1.1 INV 现有量导入(物料事务处理) 接口 INV.INCTCW   INSERT   INTO mtl_transactions_interface VALUES lt_trx_interface;
        INSERT INTO mtl_transaction_lots_interface VALUES lt_trx_lots_interface;
    物料事务处理为杂项接收或账户别名接收 苏联章 2013/3/31 现有量/导入
    104 12.1.3 INV 物料转移(物料事务处理) 接口 INV.INCTCW 接口表:mtl_material_transactions或者mtl_material_transactions_temp
       
    fnd_request.submit_request('INV',
                                                         'INCTCW',
                                                         NULL,
                                                         NULL,
                                                         NULL,
                                                         l_iface_rec.transaction_header_id,
                                                         '2',
                                                         '',
                                                         '',
                                                         chr(0))
      罗建波 2013/4/3 物料转移
    105 12.1.3 INV 物料事务处理:PO接收 接口 PO.RCVTPO 接口表:rcv_headers_interface,rcv_transactions_interface
        请求:手工提交Receiving Transaction Processor
    fnd_transaction.synchronous(l_time_out,   -- timeout in seconds
                                                          l_outcome, -- out variable indicating Success/Warning/Error
                                                          l_message, -- out variable with a descriptive message
                                                          'PO',
                                                          'RCVTPO',
                                                          'ONLINE',
                                                          p_batch_id, -- group_id in rcv_transactions_interface
                                                          g_org_id, -- inventory organization_id,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL,
                                                          NULL);
    代码为ONLINE形式,速度会提高很多 罗建波 2013/4/3 PO接收入库
    106 12.1.3 INV 工单完工入库 API inv_txn_manager_pub.process_transactions 接口表:mtl_transactions_interface,
        cst_comp_snap_interface
        API:
    inv_txn_manager_pub.process_transactions(p_api_version      => 1.0,
                                                                           p_init_msg_list    =>   fnd_api.g_false,
                                                                           p_commit           =>   fnd_api.g_false,
                                                                           p_validation_level => fnd_api.g_valid_level_full,
                                                                           x_return_status    =>   x_return_status,
                                                                           x_msg_count        =>   x_msg_count,
                                                                           x_msg_data         =>   x_msg_data,
                                                                           x_trans_count      =>   l_trx_count,
                                                                           p_table            =>   1,
                                                                           p_header_id        =>   l_transaction_header_id);
      罗建波 2013/4/3 工单完工入库
    107 12.0.6 INV 获取物料单位转换率 API inv_convert.inv_um_conversion   inv_convert.inv_um_conversion(from_unit   => '个',
                                        to_unit   => 'KG',
                                        item_id   => 1502,
                                        uom_rate  => l_convs);
    使用是注意:函数在没有找到转换率时会返回-99999 黎法良 2013/3/31 获取物料单位转换率/函数
    108 11.5.0 INV 获取公司间开票转移价格 API mtl_intercompany_invoices.get_transfer_price     Oracle标准开放API,默认是不做任何处理返回NULL,对于项目特定需求,可对该API进行开发 黎法良 2013/3/31 获取现有量
    109 12.1.3 INV 修改处理物料搬运单的分配数量函数 API INV_TO_FORM_TROLIN.VALIDATE_AND_WRITE   DECLARE
          X_RETURN_STATUS VARCHAR2(10);
          X_MSG_COUNT     NUMBER;
          X_MSG_DATA      VARCHAR2(100);
       
          X_CREATION_DATE     DATE;
          X_CREATED_BY        NUMBER;
          X_LAST_UPDATE_DATE  DATE;
          X_LAST_UPDATED_BY   NUMBER;
          X_LAST_UPDATE_LOGIN NUMBER;
       
        BEGIN
            APPS.INV_TO_FORM_TROLIN.VALIDATE_AND_WRITE(X_RETURN_STATUS,
                                                       X_MSG_COUNT,
                                                       X_MSG_DATA,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       SYSDATE,
                                                       NULL,
                                                       'BYSH111',
                                                       NULL,
                                                       223489,
                                                       22708,
                                                       778988,
                                                       1,
                                                       3,
                                                       NULL,
                                                       86,
                                                       NULL,
                                                       115,
                                                       NULL,
                                                       70,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       SYSDATE,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       'XYSH111',
                                                       NULL,
                                                       NULL,
                                                       'KG',
                                                       144,
                                                       4,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       115,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       'T',
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       NULL,
                                                       X_CREATION_DATE,
                                                       X_CREATED_BY,
                                                       X_LAST_UPDATE_DATE,
                                                       X_LAST_UPDATED_BY,
                                                       X_LAST_UPDATE_LOGIN);
                       COMMIT;
                         dbms_output.put_line('X_RETURN_STATUS ' || X_RETURN_STATUS );
                         dbms_output.put_line('X_MSG_COUNT ' || X_MSG_COUNT );
                         dbms_output.put_line('X_MSG_DATA ' || X_MSG_DATA );
                         dbms_output.put_line('X_CREATION_DATE ' || X_CREATION_DATE );
                         dbms_output.put_line('X_CREATED_BY ' || X_CREATED_BY );
                         dbms_output.put_line('X_LAST_UPDATE_DATE ' || X_LAST_UPDATE_DATE   );
                         dbms_output.put_line('X_LAST_UPDATED_BY ' || X_LAST_UPDATED_BY   );
                         dbms_output.put_line('X_LAST_UPDATE_LOGIN ' || X_LAST_UPDATE_LOGIN   );
        END;
       
      徐冲 2013/4/2 修改分配数量
    110 12.1.3 INV 处理物料搬运单 API inv_pick_wave_pick_confirm_pub.pick_confirm         l_mold_tbl(l_count) :=   inv_mo_line_detail_util.query_row(rec_h.transaction_temp_id);
                l_mold_tbl(l_count).last_update_date := SYSDATE;
                l_mold_tbl(l_count).last_updated_by := fnd_global.user_id;
                l_mold_tbl(l_count).creation_date := SYSDATE;
              l_mold_tbl(l_count).created_by   := fnd_global.user_id;
             
            END LOOP;
         
         
              inv_pick_wave_pick_confirm_pub.pick_confirm(p_api_version_number =>   l_api_version,
                                                          p_init_msg_list      =>   l_init_msg_list,
                                                          p_commit             =>   l_commit,
                                                          x_return_status      =>   x_return_status,
                                                          x_msg_count          =>   x_msg_count,
                                                          x_msg_data           =>   x_msg_data,
                                                          p_move_order_type    =>   l_move_order_type,
                                                          p_transaction_mode   =>   l_transaction_mode,
                                                          p_trolin_tbl         =>   l_trolin_tbl,
                                                          p_mold_tbl           =>   l_mold_tbl,
                                                          x_mmtt_tbl           =>   x_mmtt_tbl,
                                                          x_trolin_tbl         =>   x_trolin_tbl,
                                                          p_transaction_date   =>   SYSDATE);
      徐冲 2013/4/2 处理物料搬运单
    111 12.1.3 INV 得到物料搬运单行的相关信息  API inv_mo_line_detail_util.query_row       徐冲 2013/4/2 物料搬运单行
    112 12.1.3 INV 创建物料搬运单行 API inv_move_order_pub.create_move_order_lines   FOR   i IN 1 .. p_mo_line_rec_tbl.count LOOP
              l_trolin_tbl(i) :=   inv_move_order_pub.g_miss_trolin_rec;
              l_trolin_tbl(i).line_number :=   i;
              l_trolin_tbl(i).header_id :=   x_trohdr_rec.header_id;
                l_trolin_tbl(i).inventory_item_id := p_mo_line_rec_tbl(i)
                                                     .inventory_item_id;
                l_trolin_tbl(i).transaction_type_id := p_mo_line_rec_tbl(i)
                                                       .transaction_type_id;
              l_trolin_tbl(i).date_required   := nvl(p_mo_line_rec_tbl(i)
                                                     .date_required,
                                                     x_trohdr_rec.date_required);
              l_trolin_tbl(i).uom_code :=   p_mo_line_rec_tbl(i).uom_code;
              l_trolin_tbl(i).quantity :=   p_mo_line_rec_tbl(i).quantity;
              l_trolin_tbl(i).organization_id   := p_organization_id;
                l_trolin_tbl(i).from_subinventory_code := p_mo_line_rec_tbl(i)
                                                          .from_subinventory_code;
              l_trolin_tbl(i).from_locator_id   := p_mo_line_rec_tbl(i)
                                                   .from_locator_id;
                l_trolin_tbl(i).to_subinventory_code := p_mo_line_rec_tbl(i)
                                                        .to_subinventory_code;
              l_trolin_tbl(i).to_locator_id   := p_mo_line_rec_tbl(i).to_locator_id;
              l_trolin_tbl(i).to_account_id   := p_mo_line_rec_tbl(i).to_account_id;
              l_trolin_tbl(i).line_status :=   p_mo_line_rec_tbl(i).line_status;
              l_trolin_tbl(i).status_date :=   p_mo_line_rec_tbl(i).status_date;
              l_trolin_tbl(i).lot_number :=   p_mo_line_rec_tbl(i).lot_number;
              l_trolin_tbl(i).db_flag :=   fnd_api.g_true;
              l_trolin_tbl(i).operation :=   inv_globals.g_opr_create;
              l_trolin_tbl(i).attribute_category   := p_mo_line_rec_tbl(i)
                                                      .attribute_category;
              l_trolin_tbl(i).attribute1 :=   p_mo_line_rec_tbl(i).attribute1;
              l_trolin_tbl(i).attribute2 :=   p_mo_line_rec_tbl(i).attribute2;
              l_trolin_tbl(i).attribute3 :=   p_mo_line_rec_tbl(i).attribute3;
              l_trolin_tbl(i).attribute4 :=   p_mo_line_rec_tbl(i).attribute4;
              l_trolin_tbl(i).attribute5 :=   p_mo_line_rec_tbl(i).attribute5;
              l_trolin_tbl(i).attribute6 :=   p_mo_line_rec_tbl(i).attribute6;
              l_trolin_tbl(i).attribute7 :=   p_mo_line_rec_tbl(i).attribute7;
              l_trolin_tbl(i).attribute8 :=   p_mo_line_rec_tbl(i).attribute8;
              l_trolin_tbl(i).attribute9 :=   p_mo_line_rec_tbl(i).attribute9;
              l_trolin_tbl(i).attribute10 :=   p_mo_line_rec_tbl(i).attribute10;
              l_trolin_tbl(i).attribute11 :=   p_mo_line_rec_tbl(i).attribute11;
              l_trolin_tbl(i).attribute12 :=   p_mo_line_rec_tbl(i).attribute12;
              l_trolin_tbl(i).attribute13 :=   p_mo_line_rec_tbl(i).attribute13;
              l_trolin_tbl(i).attribute14 :=   p_mo_line_rec_tbl(i).attribute14;
              l_trolin_tbl(i).attribute15 :=   p_mo_line_rec_tbl(i).attribute15;
              ---
              l_trolin_tbl(i).created_by :=   g_user_id;
              l_trolin_tbl(i).creation_date   := SYSDATE;
              l_trolin_tbl(i).last_updated_by   := g_user_id;
                l_trolin_tbl(i).last_update_date := SYSDATE;
              l_trolin_tbl(i).last_update_login   := g_login_id;
              l_trolin_tbl(i).program_id :=   g_prog_id;
                l_trolin_tbl(i).program_application_id := g_prog_appl_id;
                l_trolin_tbl(i).program_update_date := SYSDATE;
              l_trolin_tbl(i).request_id :=   g_request_id;
            END LOOP;
         
              inv_move_order_pub.create_move_order_lines(p_api_version_number =>   1.0,
                                                         p_init_msg_list      =>   fnd_api.g_true,
                                                         p_return_values      =>   fnd_api.g_false,
                                                         p_commit             =>   fnd_api.g_false,
                                                         x_return_status      =>   x1_return_status,
                                                         x_msg_count          =>   x1_msg_count,
                                                         x_msg_data           =>   x1_msg_data,
                                                         p_trolin_tbl         =>   l_trolin_tbl,
                                                         p_trolin_val_tbl     =>   l_trolin_val_tbl,
                                                         x_trolin_tbl         =>   x_trolin_tbl,
                                                         x_trolin_val_tbl     =>   x_trolin_val_tbl,
                                                         p_validation_flag    =>   inv_move_order_pub.g_validation_yes);
      何云 2013/4/3 MO/行/创建
    113 12.1.3 INV 为物料搬运单生成分配(也可以顺带处理物料搬运单) API inv_replenish_detail_pub.line_details_pub 参数p_auto_pick_confirm给true将自动处理物料搬运单 inv_replenish_detail_pub.line_details_pub(p_line_id               =>   rec.line_id,--物料搬运单行id
                                                          x_number_of_rows        =>   x_number_of_rows,
                                                          x_detailed_qty          =>   x_detailed_qty,
                                                          x_return_status         =>   x_return_status,
                                                          x_msg_count             =>   x_msg_count,
                                                          x_msg_data              => x_return_msg,
                                                          x_revision              =>   x_revision,
                                                          x_locator_id            =>   x_locator_id,
                                                          x_transfer_to_location  =>   x_transfer_to_location,
                                                          x_lot_number            =>   x_lot_number,
                                                          x_expiration_date       =>   x_expiration_date,
                                                          x_transaction_temp_id   =>   x_transaction_temp_id,
                                                          p_transaction_header_id => NULL,
                                                          p_transaction_mode      =>   NULL,
                                                          p_move_order_type       =>   rec.move_order_type,
                                                          p_serial_flag           =>   fnd_api.g_false,
                                                          p_plan_tasks            =>   FALSE,
                                                          p_auto_pick_confirm     =>   FALSE,
                                                          p_commit                =>   FALSE);
    产生的分配记录位于以下两张表,其中批次表可以删除后自己添加记录以改变出货批次:
        mtl_material_transactions_temp
        mtl_transaction_lots_temp
    何云 2013/4/3 MO/分配/处理
    114 12.1.3 INV 查询物料搬运单行 API inv_trolin_util.query_rows 可以按MO行id查询单行记录,也可以按MO头id查询多行记录 l_trolin_tbl   := inv_trolin_util.query_rows(p_line_id => rec.line_id);   何云 2013/4/3 MO/行/查询
    115 12.1.3 INV 查询物料搬运单分配 API inv_mo_line_detail_util.query_rows 可以按MO行明细id查询单行记录,也可以按MO行id查询多行记录 l_mold_tbl   := inv_mo_line_detail_util.query_rows(p_line_id => rec.line_id);   何云 2013/4/3 MO/分配/查询
    116 12.1.3 INV 创建货位 API inv_loc_wms_pub.create_locator   inv_loc_wms_pub.create_locator(x_return_status            => x_return_status,
                                                 x_msg_count                =>   x_msg_count,
                                                 x_msg_data                 =>   x_msg_data,
                                                 x_inventory_location_id    =>   l_location_id,
                                                 x_locator_exists           =>   l_locator_exists,
                                                 p_organization_id          =>   p_organization_id,
                                                 p_organization_code        =>   NULL,
                                                 p_concatenated_segments    =>   l_concatenated_segments,
                                                 p_description              =>   NULL,
                                                 p_inventory_location_type  =>   l_locator_type,
                                                 p_picking_order            =>   NULL,
                                                 p_location_maximum_units   =>   NULL,
                                                 p_subinventory_code        =>   p_subinventory,
                                                 p_location_weight_uom_code => NULL,
                                                 p_max_weight               =>   NULL,
                                                 p_volume_uom_code          =>   NULL,
                                                 p_max_cubic_area           =>   NULL,
                                                 p_x_coordinate             =>   NULL,
                                                 p_y_coordinate             =>   NULL,
                                                 p_z_coordinate             =>   NULL,
                                                 p_physical_location_id     =>   NULL,
                                                 p_pick_uom_code            =>   NULL,
                                                 p_dimension_uom_code       =>   NULL,
                                                 p_length                   =>   NULL,
                                                 p_width                    =>   NULL,
                                                 p_height                   =>   NULL,
                                                 p_status_id                =>   1,
                                                 p_dropping_order           =>   NULL,
                                                 p_attribute_category       =>   NULL,
                                                 p_attribute1               =>   NULL,
                                                 p_attribute2               =>   NULL,
                                                 p_attribute3               =>   NULL,
                                                 p_attribute4               =>   NULL,
                                                 p_attribute5               =>   NULL,
                                                 p_attribute6               =>   NULL,
                                                 p_attribute7               =>   NULL,
                                                 p_attribute8               =>   NULL,
                                                 p_attribute9               =>   NULL,
                                                 p_attribute10              =>   NULL,
                                                 p_attribute11              =>   NULL,
                                                 p_attribute12              =>   NULL,
                                                 p_attribute13              =>   NULL,
                                                 p_attribute14              =>   NULL,
                                                 p_attribute15              =>   NULL,
                                                 p_alias                    =>   NULL);
      罗建波 2013/4/3 货位创建
    117 12.1.3 JTF 创建CRM资源 API jtf_rs_resource_pub.create_resource   jtf_rs_resource_pub.create_resource(p_api_version          => 1.0,
                                                p_init_msg_list        =>   fnd_api.g_false,
                                                p_commit               =>   fnd_api.g_false,
                                                p_category             =>   'EMPLOYEE',
                                                p_source_id            =>   l_person_id,
                                                p_source_name          => 'x   test 1,',
                                                p_resource_name        => 'x   test 1,',
                                                p_start_date_active    =>   SYSDATE,
                                                p_end_date_active      =>   NULL,
                                                x_return_status        =>   x_return_status,
                                                x_msg_count            =>   x_msg_count,
                                                x_msg_data             =>   x_msg_data,
                                                x_resource_id          =>   x_resource_id,
                                                x_resource_number      =>   x_resource_number)
    参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-03 苏联章 2013/3/31 CRM   资源/创建
    118 12.1.3 JTF 创建销售人员 API jtf_rs_salesreps_pub.create_salesrep    jtf_rs_salesreps_pub.create_salesrep(p_api_version          => 1.0,
                                                 p_init_msg_list        =>   fnd_api.g_true,
                                                 p_commit               =>   fnd_api.g_false,
                                                 p_resource_id          =>   100010143,
                                                 p_sales_credit_type_id => 1,
                                                 p_status               =>   'A',
                                                 p_start_date_active    =>   SYSDATE - 1,
                                                 p_end_date_active      =>   NULL,
                                                 --p_org_id               =>   84,
                                                 --p_set_of_books_id      =>   2023,
                                                 p_salesrep_number      =>   '900964',
                                                 x_return_status        =>   x_return_status,
                                                 x_msg_count            =>   x_msg_count,
                                                 x_msg_data             =>   x_msg_data,
                                                 x_salesrep_id          =>   x_salesrep_id);
    参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-04 苏联章 2013/3/31 销售人员/创建
    119 12.1.3 JTF 创建CRM资源成员关系 API jtf_rs_grp_membership_pub.create_group_membership   jtf_rs_grp_membership_pub.create_group_membership(p_api_version   => 1.0,
                                                              p_init_msg_list => fnd_api.g_true,
                                                              p_commit        =>   fnd_api.g_false,
                                                              p_resource_id   =>   100004140,
                                                              p_group_id      => 100000047,
                                                              p_role_id       =>   NULL,
                                                              p_start_date    =>   NULL,
                                                              p_end_date      =>   NULL,
                                                              x_return_status => x_return_status,
                                                              x_msg_count     =>   x_msg_count,
                                                              x_msg_data      =>   x_msg_data);
    参考Oracle CRM   Application Foundation API Reference Guide Release 11i, Part No. A90092-05 苏联章 2013/3/31 CRM资源成员关系/创建
    120 12.1.3 JTF 创建CRM资源角色关联 API jtf_rs_role_relate_pub.create_resource_role_relate    jtf_rs_role_relate_pub.create_resource_role_relate(p_api_version        => 1.0,
          p_init_msg_list      => fnd_api.g_true,
          p_commit             => fnd_api.g_false,
          p_role_resource_type =>   'RS_INDIVIDUAL',
          p_role_resource_id   => 100005134 ,
          p_role_id            => 32,
          p_role_code          => 'SALES_REP',
          p_start_date_active  => SYSDATE,
          p_end_date_active    => NULL,
          x_return_status      => x_return_status,
          x_msg_count          => x_msg_count,
          x_msg_data           => x_msg_data,
          x_role_relate_id =>   p_role_relate_id);
    参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-06 苏联章 2013/3/31 CRM资源角色关联/创建
    121 12.1.3 JTF 创建CRM资源组 API jtf_rs_groups_pub.create_resource_group     参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-07 苏联章 2013/4/8 CRM资源组/创建
    122 12.1.3 JTF 创建CRM任务 API jtf_tasks_pub.create_task     参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-07 苏联章 2013/4/8 CRM任务/创建
    123 12.1.3 JTF 创建CRM任务分配 API jtf_tasks_assignments_pub.create_task_assignment     参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-07 苏联章 2013/4/8 CRM任务分配/创建
    124 12.1.3 JTF 创建CRM任务参照 API jtf_tasks_references_pub.create_references     参考Oracle   CRM Application Foundation API Reference Guide Release 11i, Part No.   A90092-07 苏联章 2013/4/8 CRM任务参照创建
    125 12.1.3 MRP 创建采购规则 API mrp_sourcing_rule_pub.process_sourcing_rule       何云 2013/4/3 采购规则/创建
    126 12.1.3 MRP 创建采购规则分配 API mrp_src_assignment_pub.process_assignment       何云 2013/4/3 采购规则/分配/创建
    127 12.1.3 ONT 创建发货 API wsh_delivery_details_pub.autocreate_deliveries       赵杨 2013/3/30 发货
    128 12.1.3 ONT 订单导入,更新,取消,暂挂 API oe_order_pub.process_order       赵杨 2013/3/30 订单/导入/更新/取消/暂挂
    129 12.1.3 ONT 订单行导入,更新,取消 API OE_ORDER_PUB.PROCESS_LINE       赵杨 2013/3/30 订单行/导入/更新/取消
    130 12.1.3 ONT 删除订单头 API OE_ORDER_PUB.DELETE_ORDER       赵杨 2013/3/30 订单/删除
    131 12.1.3 ONT 删除订单行 API OE_ORDER_PUB.DELETE_LINE       赵杨 2013/3/30 订单行/删除
    132 12.1.3 PA 更新项目成员 API PA_PROJECT_PARTIES_PUB.UPDATE_PROJECT_PARTY       赵杨 2013/3/30 项目/更新/成员
    133 12.1.3 PA 创建项目成员 API PA_PROJECT_PARTIES_PUB.CREATE_PROJECT_PARTY       赵杨 2013/3/30 项目/导入/成员
    134 12.1.3 PA 创建(复制)项目 API PA_PROJECT_CORE1.COPY_PROJECT       赵杨 2013/3/30 项目/导入
    135 12.1.3 PA 创建项目客户 API PA_PROJECTS_MAINT_PVT.CREATE_CUSTOMER       赵杨 2013/3/30 项目/导入/客户
    136 12.1.3 PA 创建(复制)项目周期 API PA_RETENTION_UTIL.COPY_RETENTION_SETUP       赵杨 2013/3/30 项目/导入/周期
    137 12.1.3 PA 创建任务 API PA_PROJECT_PUB.ADD_TASK   PA_PROJECT_PUB.ADD_TASK(P_API_VERSION_NUMBER    => 1.0,
                                      P_MSG_COUNT             =>   X_MSG_COUNT,
                                      P_MSG_DATA              =>   X_MSG_DATA,
                                      P_RETURN_STATUS         =>   X_RETURN_STATUS,
                                      P_PM_PRODUCT_CODE       =>   NULL,
                                      P_PA_PROJECT_ID         =>   P_PROJECT_ID,
                                      P_PM_TASK_REFERENCE     =>   P_TASK_NAME ||
                                                                 P_PARENT_TASK_ID,
                                      P_PA_TASK_NUMBER        =>   P_TASK_NUMBER,
                                      P_TASK_NAME             =>   P_TASK_NAME,
                                      P_TASK_DESCRIPTION      =>   P_TASK_DESCRIPTION,
                                      P_SCHEDULED_START_DATE  =>   P_SCHEDULED_START_DATE,
                                      P_SCHEDULED_FINISH_DATE => P_SCHEDULED_FINISH_DATE,
                                      P_PA_PARENT_TASK_ID     =>   P_PARENT_TASK_ID,
                                      P_STRUCTURE_VERSION_ID  =>   P_STRUCTURE_VERSION_ID,
                                      --p_financial_task_flag  =>   'Y',
                                      P_STRUCTURE_TYPE        =>   'WORKPLAN',
                                      P_PA_PROJECT_ID_OUT     =>   X_PROJECT_ID,
                                      P_PA_PROJECT_NUMBER_OUT => X_PROJECT_NUMBER,
                                      P_TASK_TYPE             =>   P_TASK_TYPE,
                                      P_TASK_ID               =>   X_TASK_ID
                                      /*p_tasks_dff             =>   'Y',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              p_attribute3            =>   'CKD Parts Design'*/);
      赵杨 2013/3/30 任务/导入
    138 12.1.3 PA 更新任务 API PA_TASK_PVT1.UPDATE_TASK       赵杨 2013/3/30 任务/更新
    139 12.1.3 PA 创建任务分配 API PA_TASK_ASSIGNMENTS_PUB.CREATE_TASK_ASSIGNMENTS       赵杨 2013/3/30 任务分配/资源/导入
    140 12.1.3 PA 删除任务 API PA_PROJECT_PUB.DELETE_TASK       赵杨 2013/3/30 任务/删除
    141 12.1.3 PA 创建项目客户 API PA_CUSTOMERS_CONTACTS_PUB.CREATE_PROJECT_CUSTOMER       赵杨 2013/3/30 项目/导入/客户
    142 12.1.3 PA 更新项目客户 API PA_CUSTOMERS_CONTACTS_PUB.UPDATE_PROJECT_CUSTOMER       赵杨 2013/3/30 项目/更新/客户
    143 12.1.3 PA 创建项目协议 API PA_AGREEMENT_PUB.CREATE_AGREEMENT   SELECT   PA_AGREEMENTS_S.NEXTVAL
                INTO   P_AGREEMENT_IN_REC.AGREEMENT_ID
                FROM DUAL;
           
                P_AGREEMENT_IN_REC.CUSTOMER_ID             := P_CUSTOMER_ID;
              P_AGREEMENT_IN_REC.CUSTOMER_NUM            := L_CUSTOMER_NUM;
                P_AGREEMENT_IN_REC.AGREEMENT_NUM           := P_AGREEMENT_NUM;
                P_AGREEMENT_IN_REC.AGREEMENT_TYPE          := 'Original Agreement';
                P_AGREEMENT_IN_REC.PM_AGREEMENT_REFERENCE  := P_AGREEMENT_IN_REC.AGREEMENT_NUM;
              P_AGREEMENT_IN_REC.AMOUNT                  :=   P_ALLOCATED_AMOUNT;
              P_AGREEMENT_IN_REC.TERM_ID                 := 4;
                P_AGREEMENT_IN_REC.REVENUE_LIMIT_FLAG      := 'N';
                P_AGREEMENT_IN_REC.OWNED_BY_PERSON_ID      := L_OWNER_BY_PERSON_ID;
              P_AGREEMENT_IN_REC.AGREEMENT_CURRENCY_CODE   := P_CURRENCY_CODE;
                P_AGREEMENT_IN_REC.INVOICE_LIMIT_FLAG      := 'N';
              P_AGREEMENT_IN_REC.CUSTOMER_ORDER_NUMBER   := P_CUST_ORDER_NUMBER;
                P_AGREEMENT_IN_REC.ADVANCE_REQUIRED        := 'N';
                P_AGREEMENT_IN_REC.START_DATE              := P_EFFECTIVE_DATE;
           
              PA_AGREEMENT_PUB.CREATE_AGREEMENT(P_API_VERSION_NUMBER   => 1.0,
                                                  P_COMMIT             =>   'F',
                                                  P_INIT_MSG_LIST      =>   'F',
                                                  P_MSG_COUNT          =>   X_MSG_COUNT,
                                                  P_MSG_DATA           =>   X_MSG_DATA,
                                                  P_RETURN_STATUS      =>   X_RETURN_STATUS,
                                                  P_PM_PRODUCT_CODE    => 'PA_PROJECT',
                                                  P_AGREEMENT_IN_REC   =>   P_AGREEMENT_IN_REC,
                                                  P_AGREEMENT_OUT_REC  =>   P_AGREEMENT_OUT_REC,
                                                  P_FUNDING_IN_TBL     => P_FUNDING_IN_TBL,
                                                  P_FUNDING_OUT_TBL    =>   P_FUNDING_OUT_TBL);
           
              X_AGREEMENT_ID :=   P_AGREEMENT_OUT_REC.AGREEMENT_ID;
      赵杨 2013/3/30 项目/导入/协议
    144 12.1.3 PA 创建协议行 API PA_AGREEMENT_PUB.ADD_FUNDING     赵杨 2013/3/30 项目/导入/协议行
    145 12.1.3 PA 批量导入任务 API PA_TASK_PUB1.COPY_TASKS_IN_BULK       赵杨 2013/3/30 任务/批量/导入
    146 12.1.3 PA 更新计划版本 API PA_TASK_PUB1.UPDATE_SCHEDULE_VERSION       赵杨 2013/3/30 计划/版本/更新
    147 12.1.3 PA 创建计划版本 API PA_TASK_PUB1.CREATE_SCHEDULE_VERSION       赵杨 2013/3/30 计划/版本/创建
    148 12.1.3 PA 更新结构状态 API PA_PROJECT_PUB.CHANGE_STRUCTURE_STATUS       赵杨 2013/3/30 项目/版本/发布
    149 12.1.3 PA 更新版本属性 API PA_PROJECT_STRUCTURE_PUB1.Update_Structure_Version_Attr       赵杨 2013/3/30 项目/版本/更新
    150 12.1.3 PA 更改项目状态 API PA_PROJECTS_MAINT_PUB.PROJECT_STATUS_CHANGE   PA_PROJECTS_MAINT_PUB.PROJECT_STATUS_CHANGE(P_INIT_MSG_LIST    => FND_API.G_TRUE,
                                                              P_COMMIT           =>   FND_API.G_FALSE,
                                                              P_VALIDATE_ONLY    =>   FND_API.G_TRUE,
                                                              P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
                                                              P_DEBUG_MODE       =>   'N',
                                                              P_CALLING_MODULE   =>   'SELF_SERVICE',
                                                              P_PROJECT_ID       =>   REC_HEAD.PROJECT_ID,
                                                              P_NEW_STATUS_CODE  =>   1000,
                                                              P_COMMENT          => NULL,
                                                              X_RETURN_STATUS    =>   X_RETURN_STATUS,
                                                              X_MSG_COUNT        =>   X_MSG_COUNT,
                                                              X_MSG_DATA         =>   X_MSG_DATA);
      罗建波 2013/4/3 project   stutas change
    151 12.1.3 PA 更新任务状态 API pa_status_pub.update_progress    pa_status_pub.update_progress(p_api_version_number    => 1.0,
                                            p_init_msg_list         =>   fnd_api.g_true,
                                            p_commit                =>   fnd_api.g_false,
                                            p_return_status         =>   x_return_status,
                                            p_msg_count             =>   x_msg_count,
                                            p_msg_data              =>   x_msg_data,
                                            p_project_id            =>   l_project_id,
                                            p_task_id               =>   l_task_id,
                                            p_as_of_date            =>   l_as_of_date,
                                            p_percent_complete      =>   l_percent_completes,
                                            p_object_id             =>   l_task_id,
                                            p_object_version_id     =>   p_element_version_id,
                                            p_object_type           =>   'PA_TASKS',
                                            p_task_status            =>   p_task_status,/*124 not start,125 in progress, 127 completed */
                                            p_actual_start_date     =>   p_actual_start_date,
                                            p_actual_finish_date    =>   p_actual_finish_date,
                                            p_estimated_start_date  =>   p_estimated_start_date,
                                            p_estimated_finish_date => p_estimated_finish_date,
                                            p_structure_type        =>   'WORKPLAN');
      陈范冬 2013/4/4 任务/更新
    152 12.1.3 PA 获取WBS最新版本 API pa_project_structure_utils.get_latest_wp_version   pa_project_structure_utils.get_latest_wp_version(project_id)   陈范冬 2013/4/4 WBS最新版本
    153 12.1.3 PA 获取WBS当前版本 API pa_project_structure_utils.get_current_working_ver_id   pa_project_structure_utils.get_current_working_ver_id(p_project_id)   陈范冬 2013/4/4 WBS当前版本
    154 12.1.3 PO 创建autosourcing API begin   PO_AUTOSOURCE_SV . REQIMPORT_SOURCING ( 'INVENTORY' , :request_id ,
          :l_multi_dist_flag ) ; END ;
          赵杨 2013/3/30 来源补充规则
    155 12.1.3 PO 关闭订单 API po_actions.close_po   注意输入的ACTION参数值为PO_DOCUMENT_ACTION_PVT的全局变量   赵杨 2013/3/30 订单/关闭/状态
    156 12.1.1 PO 一揽子采购协议导入 接口 PO.POXPDOI   v_num_request_id   := fnd_request.submit_request (
                            application =>   'PO',
                            program =>   'POXPDOI',
                            description =>   NULL,
                            start_time =>   NULL,
                            sub_request =>   FALSE,
                            argument1 =>   NULL,  --Default Buyer
                            argument2 =>   'Blanket',  --Document Type
                            argument3 =>   NULL,  --Document SubType
                            argument4 =>   'N',  --Create or Update Items
                            argument5 =>   'N',  --Create Sourcing Rules
                            argument6 =>   'Approved',  --Approval Status
                            argument7 =>   NULL,   --Release Generation   Method
                            argument8 =>   v_num_tmp,   --Batch Id
                            argument9 =>   fnd_profile.VALUE('ORG_ID'),  --ORG   Id
                            argument10 =>   NULL);
      苏联章 2013/3/31 采购订单/一揽子采购协议/BPA
    157 12.1.1 PO 标准采购订单导入 接口 PO.POXPOPDOI   v_num_request_id   := fnd_request.submit_request(application => 'PO',
                                                         program     =>   'POXPOPDOI',
                                                         description => NULL,
                                                         start_time  => NULL,
                                                         sub_request => FALSE,
                                                         argument1   => NULL,   --Default Buyer
                                                         argument2   => 'STANDARD',   --Document Type
                                                         argument3   => NULL,   --Document SubType
                                                         argument4   => 'N', --Create   or Update Items
                                                         argument5   => NULL, --Create   Sourcing Rules
                                                         argument6   => 'APPROVED',   --Approval Status
                                                         argument7   => NULL,   --Release Generation Method
                                                         argument8   => v_num_tmp,   --Batch Id
                                                         argument9   =>   fnd_profile.VALUE('ORG_ID'), --ORG Id
                                                         argument10  => NULL);
      苏联章 2013/3/31 采购订单/标准采购订单
    158 11.5.0 PO BPA发放取消 API po_document_control_pub.control_document   po_document_control_pub.control_document(1.0,   -- p_api_version
                                                   fnd_api.g_true, -- p_init_msg_list
                                                   fnd_api.g_true, -- p_commit
                                                   l_api_return_status, -- x_return_status
                                                   'PO', -- p_doc_type
                                                   'STANDARD', -- p_doc_subtype
                                                   NULL, -- p_doc_id
                                                   po_rec.document_num, -- p_doc_num
                                                   NULL, -- p_release_id
                                                   NULL, -- p_release_num
                                                   NULL, -- p_doc_line_id
                                                   po_rec.line_num, -- p_doc_line_num     --------
                                                   NULL, -- p_doc_line_loc_id--------
                                                   po_rec.shipment_num, -- p_doc_shipment_num-------
                                                   'CANCEL', -- p_action
                                                   SYSDATE, -- p_action_date
                                                   NULL, -- p_cancel_reason
                                                   'Y', -- p_cancel_reqs_flag
                                                   NULL, -- p_print_flag
                                                   NULL); -- p_note_to_vendor
      黎法良 2013/3/31 BPA发放/取消
    159 11.5.0 PO 取消标准采购订单 API po_document_control_pub.control_document   po_document_control_pub.control_document(1.0,   -- p_api_version
                                                   fnd_api.g_true, -- p_init_msg_list
                                                   fnd_api.g_true, -- p_commit
                                                   l_api_return_status, -- x_return_status
                                                   'RELEASE', -- p_doc_type
                                                   'BLANKET', --p_doc_subtype: 'BLANKET','STANDARD','SCHEDULED'
                                                   NULL, -- p_doc_id
                                                   release_rec.document_num, -- p_doc_num
                                                   NULL, -- p_release_id
                                                   release_rec.release_num, -- p_release_num
                                                   NULL, -- p_doc_line_id
                                                   NULL,--3, -- p_doc_line_num     --------
                                                   NULL, -- p_doc_line_loc_id--------
                                                   release_rec.shipment_num, --1, -- p_doc_shipment_num-------
                                                   'CANCEL', -- p_action
                                                   SYSDATE, -- p_action_date
                                                   NULL, -- p_cancel_reason
                                                   'Y', -- p_cancel_reqs_flag
                                                   NULL, -- p_print_flag
                                                   NULL); -- p_note_to_vendor
      黎法良 2013/3/31 标准采购订单/取消
    160 11.5.0 PO 更新BPA发放 API po_change_api1_s.update_po   l_result   := po_change_api1_s.update_po(x_po_number           => po_rec.document_num,
                                                 x_release_number      =>   NULL,
                                                 x_revision_number     =>   po_rec.revision_num,
                                                 x_line_number         =>   po_rec.line_num,
                                                 x_shipment_number     =>   po_rec.shipment_num,
                                                 new_quantity          =>   po_rec.new_quantity,
                                                 new_price             =>   po_rec.new_price,
                                                 new_promised_date     =>   fnd_conc_date.string_to_date(po_rec.new_promised_date),
                                                 launch_approvals_flag => po_rec.launch_approvals_flag,
                                                 update_source         =>   NULL,
                                                 version               =>   '1.0',
                                                 x_override_date       =>   NULL,
                                                 x_api_errors          =>   l_api_errors,
                                                 p_buyer_name          =>   NULL);
    注意版本号,如果原来是审批状态,那么更新后版本号加一 黎法良 2013/3/31 BPA发放/更新
    161 11.5.0 PO 更新标准采购订单 API po_change_api1_s.update_po   l_result   := po_change_api1_s.update_po(x_po_number           =>   release_rec.document_num,
                                                 x_release_number      =>   release_rec.release_num,
                                                 x_revision_number     =>   release_rec.revision_num,
                                                 x_line_number         =>   release_rec.line_num,
                                                 x_shipment_number     =>   release_rec.shipment_num,
                                                 new_quantity          => release_rec.new_quantity,
                                                 new_price             =>   release_rec.new_price,
                                                 new_promised_date     =>   fnd_conc_date.string_to_date(release_rec.new_promised_date),
                                                 launch_approvals_flag => release_rec.launch_approvals_flag,
                                                 update_source         =>   NULL,
                                                 version               =>   '1.0',
                                                 x_override_date       => NULL,
                                                 x_api_errors          =>   l_api_errors,
                                                 p_buyer_name          =>   NULL);
    注意版本号,如果原来是审批状态,那么更新后版本号加一 黎法良 2013/3/31 标准采购订单/更新
    162 11.5.0 PO PR自动创建PO API PO_INTERFACE_S.create_documents   PO_INTERFACE_S.create_documents(p_api_version             => 1.0,
                                          x_return_status           => l_return_status,
                                          x_msg_count               =>   l_msg_count,
                                        x_msg_data                => l_msg_data,
                                          p_batch_id                =>   x_interface_header_id,
                                          p_req_operating_unit_id   =>   l_requesting_org_id,
                                          p_purch_operating_unit_id => l_purchasing_org_id,
                                          x_document_id             =>   x_document_id,
                                          x_number_lines            =>   x_num_lines_processed,
                                          x_document_number         =>   l_document_number,
                                        --   Bug 3648268 Use lookup code instead of hardcoded value
                                          p_document_creation_method => 'AUTOCREATE');   
    这是标准功能“自动创建”From代码底层调用的包 黎法良 2013/3/31 PR自动创建PO/导入
    163 11.5.0 PO 获取OU本位币 API po_currency_sv.get_functional_currency_code   po_currency_sv.get_functional_currency_code(:parameter.po_org_id,:parameter.po_ou_currency_code);   黎法良 2013/3/31 获取OU本位币/函数
    164 11.5.0 PO 获取两OU本位币汇率 API po_currency_sv.get_cross_ou_rate   l_rate   := po_currency_sv.get_cross_ou_rate(p_from_ou_id => p_pr_org_id,
                                                     p_to_ou_id   => p_po_org_id);
      黎法良 2013/3/31 获取两OU本位币汇率/函数
    165 12.1.3 PO 创建采购申请 API po_create_requisition_sv.process_requisition   DECLARE
          l_header_rec   po_create_requisition_sv.header_rec_type;
          l_line_rec   po_create_requisition_sv.line_tbl_type;
          l_status     VARCHAR2(240);
          l_count      NUMBER;
          l_msg        VARCHAR2(4000);
        BEGIN
            /*fnd_global.apps_initialize(user_id => 1151, resp_id => 50717,   resp_appl_id => 201);
          mo_global.init('M');  */
       
          l_header_rec.org_id               := 81;--PR所属OU
          l_header_rec.type_lookup_code     := 'INTERNAL';--PR的类型,此处为内部
          l_header_rec.preparer_id          := 61;--编制者
          l_header_rec.authorization_status   := 'APPROVED';--要创建的PR状态,此处为已批准
          l_header_rec.created_by           := 1151;--WHO字段
          l_header_rec.creation_date        := SYSDATE;--WHO字段
          l_header_rec.last_update_date     := SYSDATE;--WHO字段
          l_header_rec.last_updated_by      := 1151;--WHO字段
          l_header_rec.last_update_login    := -1;--WHO字段
       
          --下面仅展示单行PR,多行可类推
          l_line_rec(1).line_num :=   '1';--PR行号
          l_line_rec(1).line_type_id :=   1;--行类型
          l_line_rec(1).item_id :=   8001;--物料
          l_line_rec(1).item_revision :=   0;--物料版本
          l_line_rec(1).category_id :=   2133;--物料类别
          l_line_rec(1).item_description :=   '富丽成品01';--物料描述
          l_line_rec(1).uom_code :=   'EA';--采购单位
          l_line_rec(1).quantity :=   10;--采购数量
          l_line_rec(1).unit_price :=   100;--单价
          l_line_rec(1).need_by_date :=   SYSDATE + 1;--需求日期
          l_line_rec(1).suggested_buyer_id :=   82;--建议购买者
          l_line_rec(1).rate_date :=   SYSDATE;--汇率日期
          l_line_rec(1).destination_type_code   := 'INVENTORY';--目的地类型,此处为库存
          l_line_rec(1).to_person_id :=   61;--申请人
          l_line_rec(1).destination_organization_id   := 92;--目的库存组织
            l_line_rec(1).deliver_to_location_id := 368;--发运目的地
          l_line_rec(1).source_type_code :=   'INVENTORY';--来源类型,此处为库存
            l_line_rec(1).source_organization_id := 91;--来源组织
          l_line_rec(1).created_by :=   1151;--WHO字段
          l_line_rec(1).creation_date :=   SYSDATE;--WHO字段
          l_line_rec(1).last_update_date :=   SYSDATE;--WHO字段
          l_line_rec(1).last_updated_by :=   1151;--WHO字段
          l_line_rec(1).last_update_login :=   -1;--WHO字段
       
            po_create_requisition_sv.process_requisition(px_header_rec   => l_header_rec,
                                                         px_line_table   =>   l_line_rec,
                                                         x_return_status => l_status,
                                                         x_msg_count     =>   l_count,
                                                         x_msg_data      =>   l_msg);
       
          --dbms_output.put_line(l_status ||   ':' || l_msg);
          --l_msg :=   fnd_msg_pub.get_detail(fnd_msg_pub.g_first, fnd_api.g_false);
          dbms_output.put_line(l_status ||   ':' || l_msg);
          COMMIT;
        END;
      何云 2013/4/3 PR/创建
    166 12.1.3 PO PO接收/PO退货/RMA接收 接口 PO.RVCTP rcv_headers_interface
        rcv_transactions_interface
        mtl_transaction_lots_interface
        错误信息表:
        po_interface_errors
    /*此为PO接收的例子*/
            l_iface_hdr_rec.last_update_date    := SYSDATE;
          l_iface_hdr_rec.last_updated_by   := l_user_id;
          l_iface_hdr_rec.creation_date     := SYSDATE;
          l_iface_hdr_rec.created_by        := l_user_id;
          l_iface_hdr_rec.last_update_login   := l_login;
       
          l_iface_rcv_rec.last_update_date  := SYSDATE;
            l_iface_rcv_rec.last_updated_by     := l_user_id;
          l_iface_rcv_rec.creation_date     := SYSDATE;
          l_iface_rcv_rec.created_by        := l_user_id;
          l_iface_rcv_rec.last_update_login   := l_login;
       
          SELECT   po.rcv_headers_interface_s.nextval
            INTO   l_iface_hdr_rec.header_interface_id
            FROM dual;
       
          IF x_group_id IS NULL THEN
            SELECT   po.rcv_interface_groups_s.nextval
              INTO   l_iface_hdr_rec.group_id
              FROM dual;
          ELSE
            l_iface_hdr_rec.group_id :=   x_group_id;
          END IF;
       
            l_iface_hdr_rec.processing_status_code    := 'PENDING';
            l_iface_hdr_rec.receipt_source_code       := 'VENDOR';
            l_iface_hdr_rec.transaction_type          := 'NEW';
            l_iface_hdr_rec.auto_transact_code        := 'RECEIVE';
          l_iface_hdr_rec.receipt_num             := NULL; --Automatic   Number
          l_iface_hdr_rec.vendor_id               := p_vendor_id;
          l_iface_hdr_rec.vendor_site_id          := p_vendor_site_id;   --Optional
            l_iface_hdr_rec.expected_receipt_date     := p_expected_receipt_date;
            l_iface_hdr_rec.validation_flag           := 'Y';
          l_iface_hdr_rec.ship_to_organization_id   := p_to_organization_id;
       
          INSERT INTO   po.rcv_headers_interface VALUES l_iface_hdr_rec;
       
          FOR i IN 1 .. p_rcv_transaction_rec_tbl.count   LOOP
         
            SELECT   rcv_transactions_interface_s.nextval
              INTO   l_iface_rcv_rec.interface_transaction_id
              FROM dual;
         
              l_iface_rcv_rec.header_interface_id       := l_iface_hdr_rec.header_interface_id;
            l_iface_rcv_rec.group_id                :=   l_iface_hdr_rec.group_id;
            l_iface_rcv_rec.processing_status_code  := 'PENDING';
              l_iface_rcv_rec.transaction_status_code := 'PENDING';
            l_iface_rcv_rec.processing_mode_code    := 'BATCH';
              l_iface_rcv_rec.validation_flag           := 'Y';
            l_iface_rcv_rec.receipt_source_code     := 'VENDOR';
            l_iface_rcv_rec.vendor_id               := p_vendor_id;
              l_iface_rcv_rec.vendor_site_id            := p_vendor_site_id; --Optional
         
            l_iface_rcv_rec.source_document_code   := 'PO';
            l_iface_rcv_rec.po_header_id         :=   p_rcv_transaction_rec_tbl(i)
                                                      .po_header_id;
            l_iface_rcv_rec.po_line_id           :=   p_rcv_transaction_rec_tbl(i)
                                                      .po_line_id;
              l_iface_rcv_rec.po_line_location_id    := p_rcv_transaction_rec_tbl(i)
                                                      .po_line_location_id;
              l_iface_rcv_rec.po_release_id          := p_rcv_transaction_rec_tbl(i)
                                                      .po_release_id;
         
            l_iface_rcv_rec.transaction_type      := 'RECEIVE';
              l_iface_rcv_rec.auto_transact_code      := 'DELIVER';
            l_iface_rcv_rec.destination_type_code   := 'INVENTORY';
         
            l_iface_rcv_rec.category_id      := p_rcv_transaction_rec_tbl(i)
                                                  .category_id;
            l_iface_rcv_rec.item_id          :=   p_rcv_transaction_rec_tbl(i).item_id;
            l_iface_rcv_rec.transaction_date   := p_rcv_transaction_rec_tbl(i)
                                                  .transaction_date;
            l_iface_rcv_rec.quantity         :=   p_rcv_transaction_rec_tbl(i)
                                                  .quantity;
              l_iface_rcv_rec.unit_of_measure    := p_rcv_transaction_rec_tbl(i)
                                                  .unit_of_measure; --Not Code
         
              l_iface_rcv_rec.to_organization_id    := p_to_organization_id;
            l_iface_rcv_rec.ship_to_location_id   := p_rcv_transaction_rec_tbl(i)
                                                     .ship_to_location_id;
            l_iface_rcv_rec.location_id         :=   p_rcv_transaction_rec_tbl(i)
                                                     .location_id;
            l_iface_rcv_rec.subinventory        := p_rcv_transaction_rec_tbl(i)
                                                     .subinventory;
            l_iface_rcv_rec.locator_id          :=   p_rcv_transaction_rec_tbl(i)
                                                     .locator_id;
         
              l_iface_rcv_rec.interface_source_code    := p_rcv_transaction_rec_tbl(i)
                                                          .interface_source_code;
              l_iface_rcv_rec.interface_source_line_id :=   p_rcv_transaction_rec_tbl(i)
                                                          .interface_source_line_id;
         
            INSERT INTO   po.rcv_transactions_interface VALUES l_iface_rcv_rec;
         
            FOR j IN 1 ..   p_rcv_transaction_rec_tbl(i).lot_number.count LOOP
                l_iface_lot_rec.last_update_date    := SYSDATE;
                l_iface_lot_rec.last_updated_by     := l_user_id;
                l_iface_lot_rec.creation_date       := SYSDATE;
              l_iface_lot_rec.created_by        := l_user_id;
                l_iface_lot_rec.last_update_login := l_login;
           
              SELECT   mtl_material_transactions_s.nextval
                INTO   l_iface_lot_rec.transaction_interface_id
                FROM dual;
           
                l_iface_lot_rec.product_code             := 'RCV';
                l_iface_lot_rec.product_transaction_id :=   l_iface_rcv_rec.interface_transaction_id;
              l_iface_lot_rec.lot_number             :=   p_rcv_transaction_rec_tbl(i)
                                                          .lot_number(j);
                l_iface_lot_rec.transaction_quantity     := p_rcv_transaction_rec_tbl(i)
                                                          .lot_qty(j);
              l_iface_lot_rec.primary_quantity       := p_rcv_transaction_rec_tbl(i)
                                                          .lot_qty(j);
           
              INSERT INTO   mtl_transaction_lots_interface VALUES l_iface_lot_rec;
           
            END LOOP;
          END LOOP;
       
          l_request_id :=   fnd_request.submit_request(application => 'PO',
                                                       program     => 'RVCTP',
                                                       sub_request => FALSE,
                                                       argument1   => 'BATCH',
                                                       argument2   => p_group_id);
       
          IF l_request_id > 0 THEN
         
            COMMIT;
         
            x_return_msg := x_return_msg   ||
                            'Success to   submit request:request id is ' ||
                            l_request_id ||   '.' || g_line_end;
         
            l_request_flag :=   fnd_concurrent.wait_for_request(request_id => l_request_id,
                                                                INTERVAL   => 5,
                                                                phase      => l_phase,
                                                                status     => l_status,
                                                                dev_phase  =>   l_dev_phase,
                                                                dev_status => l_dev_status,
                                                                message    =>   l_message);
            IF l_request_flag THEN
              IF l_dev_status = 'NORMAL'   THEN
             
                x_return_status := 'S';
             
                FOR rec_msg IN (SELECT   pie.error_message,
                                         nvl(rti.po_header_id, rti.oe_order_header_id) po_header_id,
                                         nvl(rti.po_line_id, rti.oe_order_line_id) po_line_id,
                                         rti.item_id
                                  FROM   po_interface_errors        pie,
                                         rcv_transactions_interface rti
                                 WHERE   pie.interface_line_id =
                                         rti.interface_transaction_id
                                   AND   pie.batch_id = p_group_id) LOOP
                  x_return_status :=   'E';
                  x_return_msg    := substrb(x_return_msg || l_index || ':'   ||
                                               rec_msg.error_message || '(header id:' ||
                                               rec_msg.po_header_id || ',line id:' ||
                                               rec_msg.po_line_id || ',item id:' ||
                                               rec_msg.item_id || ').' || g_line_end,
                                               1,
                                               3500);
                  l_index         := l_index + 1;
                  EXIT WHEN   lengthb(x_return_msg) >= 3500;
                END LOOP;
             
              ELSE
             
                x_return_status := 'E';
             
                x_return_msg := x_return_msg   ||
                                'Exceptions   happen during execution of the request(request id:' ||
                                l_request_id   || ').' || g_line_end;
             
                FOR rec_msg IN (SELECT   pie.error_message,
                                         nvl(rti.po_header_id, rti.oe_order_header_id) po_header_id,
                                         nvl(rti.po_line_id, rti.oe_order_line_id) po_line_id,
                                         rti.item_id
                                  FROM   po_interface_errors        pie,
                                         rcv_transactions_interface rti
                                 WHERE   pie.interface_line_id =
                                         rti.interface_transaction_id
                                   AND   pie.batch_id = p_group_id) LOOP
                  x_return_status :=   'E';
                  x_return_msg    := substrb(x_return_msg || l_index || ':'   ||
                                               rec_msg.error_message || '(header id:' ||
                                               rec_msg.po_header_id || ',line id:' ||
                                               rec_msg.po_line_id || ',item id:' ||
                                               rec_msg.item_id || ').' || g_line_end,
                                               1,
                                               3500);
                  l_index         := l_index + 1;
                  EXIT WHEN   lengthb(x_return_msg) >= 3500;
                END LOOP;
             
              END IF;
            ELSE
              x_return_status := 'E';
              x_return_msg    := x_return_msg ||
                                 'The request   has not been finished yet and the result is unknown.' ||
                                   g_line_end;
            END IF;
          ELSE
            x_return_status := 'E';
            x_return_msg    := x_return_msg ||
                               'Fail to   submit request to process data in interface.' ||
                                 g_line_end;
          END IF;
      何云 2013/4/3 PO/RMA/接收
    167 12.1.3 SR 创建服务请求 API cs_servicerequest_pub.create_servicerequest       陈范冬 2013/4/4 创建服务请求
    168 12.1.3 SR 更新服务请求 API cs_servicerequest_pub.update_servicerequest       陈范冬 2013/4/4 更新服务请求
    169 12.1.3 SR 更新服务请求状态 API cs_servicerequest_pub.update_status       陈范冬 2013/4/4 更新服务请求状态
    170 12.1.3 SR 更新服务问题编码 API cs_servicerequest_pub.update_problem_code       陈范冬 2013/4/4 更新服务问题编码
    171 12.1.3 SR 服务任务创建/更新/锁定/删除 API jtf_task_assignments_pub.create_task_assignment
        jtf_task_assignments_pub.update_task_assignment
        jtf_task_assignments_pub.lock_task_assignment
        jtf_task_assignments_pub.delete_task_assignment
          陈范冬 2013/4/4 SR新增/更新/锁定/删除SR任务
    172 12.1.3 SR 创建例程 API csi_item_instance_pub.create_item_instance       陈范冬 2013/4/4 创建例程
    173 12.1.3 SR 更新例程 API csi_item_instance_pub.update_item_instance       陈范冬 2013/4/4 更新例程
    174 12.1.3 SR 终止例程 API csi_item_instance_pub.expire_item_instance       陈范冬 2013/4/4 终止例程
    175 12.1.3 SR 复制例程 API csi_item_instance_pub.copy_item_instance       陈范冬 2013/4/4 复制例程
    176 12.0.6 WIP 离散任务导入 接口 WIP.WICMLP   l_request_id   := fnd_request.submit_request(application => 'WIP',
                                                     program     =>   'WICMLP',
                                                     description => NULL,
                                                     start_time  => NULL,
                                                     sub_request => FALSE,
                                                     argument1   =>   l_group_id,
                                                     argument2   => 0,
                                                     argument3   => 'Yes');
    WICMLP请求是调用到wip_massload_pub.massloadjobs来实现 黎法良 2013/3/31 离散任务/导入
    177 12.0.6 WIP 离散任务导入 API wip_massload_pub.massloadjobs   wip_massload_pub.massloadjobs(p_groupid         => l_group_id,
                                        p_validationlevel => 0,
                                        p_commitflag      => 0, --0   false
                                        x_returnstatus    =>   l_return_status,
                                        x_errormsg        =>   l_error_msg);
      黎法良 2013/3/31 离散任务/导入
    178 12.0.6 WMS LPN重用 API wms_container_pub.reuse_lpns     PROCEDURE reuse_lpn(x_return_status            OUT NOCOPY VARCHAR2,
                                x_return_message           OUT   NOCOPY VARCHAR2,
                                p_organization_id          IN   NUMBER,
                              p_lpn_id                   IN NUMBER,
                                p_clear_containter_item_id IN VARCHAR) IS
            PRAGMA   AUTONOMOUS_TRANSACTION;
            l_msg_count         NUMBER;
            l_msg_data          VARCHAR2(1000);
            l_clear_attributes  VARCHAR2(10) := 'Y';
            l_unpack_inner_lpns VARCHAR2(10)   := 'N';
         
            x_msg_list VARCHAR2(2000) :=   NULL;
          BEGIN
            x_return_status  := fnd_api.g_ret_sts_success;
            x_return_message := NULL;
              wms_container_pub.reuse_lpns(p_api_version              => 1,
                                           p_init_msg_list            =>   fnd_api.g_true,
                                           x_return_status            =>   x_return_status,
                                           x_msg_count                =>   l_msg_count,
                                           x_msg_data                 =>   l_msg_data,
                                           p_lpn_id                   =>   p_lpn_id,
                                           p_clear_attributes         =>   l_clear_attributes,
                                           p_new_org_id               =>   p_organization_id,
                                           p_unpack_inner_lpns        =>   l_unpack_inner_lpns,
                                           p_clear_containter_item_id => nvl(p_clear_containter_item_id,
                                                                             'N'));
            IF x_return_status <>   fnd_api.g_ret_sts_success THEN
              IF fnd_msg_pub.count_msg >=   1 THEN
                FOR i IN 1 ..   fnd_msg_pub.count_msg LOOP
                  x_return_message :=   substr(x_return_message ||
                                               fnd_msg_pub.get_detail(i, 'F') || ';',
                                               1,
                                               2000);
                END LOOP;
              END IF;
            END IF;
            COMMIT;
          EXCEPTION
            WHEN OTHERS THEN
              x_return_message :=   SQLERRM;
          END reuse_lpn;
      徐冲 2013/4/2 LPN重用
    179 12.1.3 WMS 创建LPN API inv_rcv_common_apis.create_lpn             inv_rcv_common_apis.create_lpn(p_organization_id =>   rec_h.organization_id,
                                                 p_lpn             =>   cux_wms_rcv_trn_lpn_s.nextval,
                                                 p_lpn_id          =>   x_lpn_id,
                                                 x_return_status   =>   x_return_status,
                                                 x_msg_data        =>   x_msg_data);
              
      徐冲 2013/4/2 创建LPN
    180 12.1.3 WSH 为销售订单创建批号 API wsh_picking_batches_pub.create_batch autocreate_delivery_flag为Y将自动创建交货号;
        auto_pick_confirm_flag为Y将自动处理物料搬运单
    SELECT   wpr.organization_id,
                   wpr.autocreate_delivery_flag,
                   wpr.autodetail_pr_flag,
                 wpr.autopack_flag,
                 wpr.append_flag,
                   wpr.include_planned_lines,
                   wpr.ac_delivery_criteria,
                   wpr.task_planning_flag,
                   wpr.auto_pick_confirm_flag,
                   wpr.existing_rsvs_only_flag,
                   wpr.dynamic_replenishment_flag,
                   wpr.backorders_only_flag,
                 wpr.allocation_method,
                   wpr.pick_grouping_rule_id,
                   wpr.pick_sequence_rule_id,
                   wpr.default_stage_subinventory,
                   wpr.pick_from_subinventory,
                   wpr.pick_from_locator_id
            INTO   l_batch_info_rec.organization_id, --挑库库存组织
                   l_batch_info_rec.autocreate_delivery_flag, --自动创建交货号
                   l_batch_info_rec.autodetail_pr_flag,
                 l_batch_info_rec.autopack_flag,
                   l_batch_info_rec.append_flag,
                   l_batch_info_rec.include_planned_lines,
                   l_batch_info_rec.ac_delivery_criteria,
                   l_batch_info_rec.task_planning_flag,
                   l_batch_info_rec.auto_pick_confirm_flag, --自动处理物料搬运单
                   l_batch_info_rec.existing_rsvs_only_flag,
                   l_batch_info_rec.dynamic_replenishment_flag,
                 l_batch_info_rec.backorders_only_flag,
                   l_batch_info_rec.allocation_method,
                   l_batch_info_rec.pick_grouping_rule_id,
                   l_batch_info_rec.pick_sequence_rule_id,
                   l_batch_info_rec.default_stage_subinventory,
                   l_batch_info_rec.pick_from_subinventory, --挑库来源子库
                   l_batch_info_rec.pick_from_locator_id --挑库来源货位
            FROM wsh_picking_rules wpr
           WHERE wpr.picking_rule_id = l_picking_rule_id;
       
          --以下限制挑库发放的范围
            l_batch_info_rec.delivery_detail_id       := l_delivery_detail_id;
            l_batch_info_rec.order_header_id          := l_oe_header_id;
            l_batch_info_rec.category_set_id            := NULL;
          l_batch_info_rec.category_id              := NULL;
            l_batch_info_rec.from_scheduled_ship_date := NULL;
            l_batch_info_rec.to_scheduled_ship_date   := NULL;
            l_batch_info_rec.from_requested_date        := NULL;
            l_batch_info_rec.to_requested_date        := NULL;
       
            wsh_picking_batches_pub.create_batch(p_api_version   => l_api_version,
                                                 p_init_msg_list => fnd_api.g_false,
                                                 p_commit        =>   fnd_api.g_false,
                                                 x_return_status => x_return_status,
                                                 x_msg_count     =>   x_msg_count,
                                                 x_msg_data      =>   x_msg_data,
                                                 p_batch_rec     =>   l_batch_info_rec,
                                                 x_batch_id      =>   x_batch_id);
      何云 2013/4/3 SO/批/创建
    181 12.1.3 WSH 发放销售订单 API wsh_picking_batches_pub.release_batch   wsh_picking_batches_pub.release_batch(p_api_version   => 1.0,
                                                    p_init_msg_list => fnd_api.g_false,
                                                    p_commit        =>   fnd_api.g_false,
                                                    x_return_status => x_return_status,
                                                    x_msg_count     =>   l_msg_count,
                                                    x_msg_data      =>   x_return_msg,
                                                    p_batch_id      =>   x_batch_id,
                                                    p_release_mode  => 'ONLINE',   --CONCURRENT / ONLINE
                                                    x_request_id    =>   x_request_id);
      何云 2013/4/3 SO/发放
    182 12.1.3 WSH 创建交货号 API wsh_delivery_autocreate.autocreate_deliveries   l_line_rows(1)   := p_delivery_detail_id;
         
              wsh_delivery_autocreate.autocreate_deliveries(p_line_rows         => l_line_rows,
                                                            p_init_flag         =>   'Y',
                                                            p_pick_release_flag => 'Y',
                                                            x_del_rows          =>   l_del_rows,
                                                            x_grouping_rows     =>   l_grouping_rows,
                                                            x_return_status     =>   x_return_status);
         
            IF l_del_rows.count > 0   THEN
              x_delivery_id :=   l_del_rows(1);
            END IF;
         
            IF x_return_status <>   wsh_util_core.g_ret_sts_success THEN
              x_return_msg := x_return_msg ||   'Fail to autocreate deliveries.';
            END IF;
      何云 2013/4/3 SO/交货号/创建
    183 12.1.3 WSH 发运确认销售订单 API wsh_deliveries_pub.delivery_action   wsh_deliveries_pub.delivery_action(p_api_version_number   => 1,
                                                 p_init_msg_list      =>   fnd_api.g_false,
                                                 x_return_status      =>   x_return_status,
                                                 x_msg_count          =>   l_msg_count,
                                                 x_msg_data           =>   l_msg_data,
                                                 p_action_code        =>   p_action_code,--CONFIRM为发运确认
                                                 p_delivery_id        =>   p_delivery_id,--按交货号发运确认
                                                 p_delivery_name      =>   p_delivery_name,--可空
                                                 p_sc_actual_dep_date => p_sc_actual_dep_date,--发运确认日期
                                                 p_sc_report_set_id   =>   p_sc_report_set_id,--报表集
                                                 p_sc_rule_id         =>   p_sc_rule_id,--发运确认规则
                                                 x_trip_id            =>   x_trip_id,
                                                 x_trip_name          =>   x_trip_name);
      何云 2013/4/3 SO/发运确认
    184 12.1.3 XLA 创建分录 API xla_journal_entries_pub_pkg.create_journal_entry_header
        xla_journal_entries_pub_pkg.create_journal_entry_line
        xla_journal_entries_pub_pkg.complete_journal_entry
          赵杨 2013/3/30 XLA/分录/创建
    185 12.1.3 INV 库存客户物料导入 接口 INV.INVCIINT
        INV.INVCIINTX
    接口表
        Mtl_Ci_Interface,Mtl_Ci_Xrefs_Interface
        赵杨 2013/6/3 INV/库存客户物料/导入
    186 12.1.3 PO PO关闭头 API po_action.close_po     传入ACTION为'FINAL   CLOSE' 赵杨 2013/7/13 PO/PO关闭头
    187 12.1.3 ONT 获取订单头附属栏位信息 API OE_OE_TOTAL_SUMMARY.ORDER_TOTALS       陈范冬 2013/9/9 OM/订单头附属字段信息
    188 12.x.x FND 获取关键性弹性域组合ccid API fnd_flex_ext.get_ccid   SELECT   fnd_flex_ext.get_ccid(application_short_name => 'OFA',
                                       key_flex_code          =>   'LOC#',
                                       structure_number       =>   101,
                                       validation_date        =>   to_char(SYSDATE,
                                                                         'YYYY/MM/DD HH24:MI:SS'),
                                       concatenated_segments  =>   '1001.10.0101010101001.321.910')
          FROM dual;
    如果组合已经存在,返回ccid,如果不存在,则创建该组合后返回ccid 陈范冬 2013/9/9 FND/关键性弹性域组合ccid
    189 12.x.x FA 资产分配 API fa_transfer_pub.do_transfer       陈范冬 2013/9/9 FA/资产分配
    190 12.x.x FA 资产报废 API fa_retirement_pub.do_retirement   DECLARE
          l_trans_rec        fa_api_types.trans_rec_type;
          l_dist_trans_rec   fa_api_types.trans_rec_type;
          l_asset_hdr_rec    fa_api_types.asset_hdr_rec_type;
          l_asset_retire_rec   fa_api_types.asset_retire_rec_type;
          l_asset_dist_tbl   fa_api_types.asset_dist_tbl_type;
          l_subcomp_tbl      fa_api_types.subcomp_tbl_type;
          l_inv_tbl          fa_api_types.inv_tbl_type;
          --====================
          p_line_id NUMBER := 8;
       
          CURSOR cur_asset IS
            SELECT his.asset_id,   his.book_type_code, fb.cost
           
              FROM fa_distribution_history   his
                  ,cux_fa_dept_lines_all   cfl
                  ,fa_books                fb
           
             WHERE cfl.from_distribution_id =   his.distribution_id
               AND fb.asset_id =   his.asset_id
               AND fb.book_type_code =   his.book_type_code
               AND cfl.line_id =   p_line_id;
          l_asset_rec   cur_asset%ROWTYPE;
          --====================
          l_return_status VARCHAR2(1);
          l_mesg_count    NUMBER;
          l_mesg          VARCHAR2(4000);
        BEGIN
          --init
          l_trans_rec        := NULL;
          l_dist_trans_rec   := NULL;
          l_asset_hdr_rec    := NULL;
          l_asset_retire_rec := NULL;
          l_asset_dist_tbl.delete;
          l_subcomp_tbl.delete;
          l_inv_tbl.delete;
       
          fa_srvr_msg.init_server_message;
       
          OPEN cur_asset;
          FETCH cur_asset
            INTO l_asset_rec;
          CLOSE cur_asset;
       
          l_asset_hdr_rec.asset_id        := l_asset_rec.asset_id;
          l_asset_hdr_rec.book_type_code  := l_asset_rec.book_type_code;
          l_asset_retire_rec.cost_retired :=   l_asset_rec.cost;
          --
            l_asset_retire_rec.calculate_gain_loss := fnd_api.g_true;   --是否立即计算损益
          -- Get standard who info
          l_trans_rec.who_info.last_updated_by   := fnd_global.user_id;
            l_trans_rec.who_info.last_update_date    := SYSDATE;
            l_trans_rec.who_info.last_update_login := fnd_global.login_id;
            l_trans_rec.who_info.creation_date       := l_trans_rec.who_info.last_update_date;
            l_trans_rec.who_info.created_by          := l_trans_rec.who_info.last_updated_by;
       
          fa_retirement_pub.do_retirement(
                                          --   std parameters
                                            p_api_version      => 1.0,
                                            p_init_msg_list    =>   fnd_api.g_true,
                                            p_commit           =>   fnd_api.g_false,
                                            p_validation_level => fnd_api.g_valid_level_full,
                                            p_calling_fn       =>   'fa_transfers.post_forms_commit',
                                            x_return_status    =>   l_return_status,
                                            x_msg_count        =>   l_mesg_count,
                                            x_msg_data         =>   l_mesg,
                                          --   api parameters
                                            px_trans_rec        =>   l_trans_rec,
                                            px_dist_trans_rec   =>   l_dist_trans_rec,
                                            px_asset_hdr_rec    =>   l_asset_hdr_rec,
                                            px_asset_retire_rec => l_asset_retire_rec,
                                            p_asset_dist_tbl    =>   l_asset_dist_tbl,
                                            p_subcomp_tbl       =>   l_subcomp_tbl,
                                            p_inv_tbl           =>   l_inv_tbl);
          --dump messages
          l_mesg_count :=   fnd_msg_pub.count_msg;
          IF l_mesg_count > 0 THEN
            l_mesg := chr(10) ||
                        substr(fnd_msg_pub.get(fnd_msg_pub.g_first, fnd_api.g_false),
                             1,
                             250);
              dbms_output.put_line(l_mesg);
            FOR i IN 1 .. (l_mesg_count - 1)   LOOP
              l_mesg :=   substr(fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false),
                               1,
                               250);
                dbms_output.put_line(l_mesg);
            END LOOP;
            fnd_msg_pub.delete_msg();
          END IF;
          IF (l_return_status <>   fnd_api.g_ret_sts_success) THEN
              dbms_output.put_line('FAILURE');
            ROLLBACK;
          ELSE
              dbms_output.put_line('SUCCESS');
            dbms_output.put_line('RETIREMENT_ID'   ||
                                   to_char(l_asset_retire_rec.retirement_id));
          END IF;
        END;
        /
       
    报废成本等于当前成本即可完全报废 陈范冬 2013/9/9 FA/资产报废
    191 12.x.x FA 资产成批新增 接口 fa_mass_additions   DECLARE
          l_iface_rec           fa_mass_additions%ROWTYPE;
          l_source_asset_rec    fa_additions_v%ROWTYPE;
          l_source_book_rec     fa_books%ROWTYPE;
          l_asset_id            NUMBER := 100000020;
          l_book_type_code      VARCHAR2(15) := '1001_FA';
          l_dest_book_type_code VARCHAR2(15)   := '1002_FA';
        BEGIN
          --资产来源信息
          SELECT fa.*
            INTO l_source_asset_rec
            FROM fa_additions_v fa
           WHERE fa.asset_id =   l_asset_id;
       
          SELECT   fa_mass_additions_s.nextval
            INTO l_iface_rec.mass_addition_id
            FROM dual;
       
          l_iface_rec.posting_status     := 'NEW';
          l_iface_rec.queue_name         := 'NEW';
          l_iface_rec.feeder_system_name :=   '04'; --公司间调入
          l_iface_rec.create_batch_date  := SYSDATE;
          l_iface_rec.asset_number       :=   l_source_asset_rec.asset_number;
          l_iface_rec.tag_number         :=   l_source_asset_rec.tag_number;
          l_iface_rec.description        := l_source_asset_rec.description;
          l_iface_rec.asset_category_id  :=   l_source_asset_rec.asset_category_id;
          l_iface_rec.manufacturer_name  := l_source_asset_rec.manufacturer_name;   --供应商
          l_iface_rec.serial_number      := l_source_asset_rec.serial_number;   --资产序列号
          l_iface_rec.model_number       := l_source_asset_rec.model_number;   --资产型号
          l_iface_rec.fixed_assets_units :=   l_source_asset_rec.current_units; --资产数量
          l_iface_rec.asset_type         :=   l_source_asset_rec.asset_type;
          l_iface_rec.in_use_flag        :=   l_source_asset_rec.in_use_flag;
          l_iface_rec.inventorial        :=   l_source_asset_rec.inventorial;
          l_iface_rec.owned_leased       :=   l_source_asset_rec.owned_leased;
          l_iface_rec.new_used           :=   l_source_asset_rec.new_used;
          l_iface_rec.asset_key_ccid     :=   l_source_asset_rec.asset_key_ccid;
          l_iface_rec.location_id        := 6018; --资产地点
          l_iface_rec.assigned_to        := 37550; --资产领用人
          --=================根据org_id获取
            --l_iface_rec.payables_code_combination_id :=   l_source_asset_rec.payables_code_combination_id;
          l_iface_rec.book_type_code :=   '1002_FA'; --账簿
          --===================
          SELECT   paaf.default_code_comb_id
            INTO   l_iface_rec.expense_code_combination_id --费用账户
            FROM per_all_assignments_f   paaf
           WHERE paaf.primary_flag =   'Y'
             AND trunc(SYSDATE) BETWEEN   paaf.effective_start_date AND
                   paaf.effective_end_date
             AND paaf.person_id =   37550;
          --启用日期,成本,贬值标识
          SELECT fb.*
            INTO l_source_book_rec
            FROM fa_books fb
           WHERE fb.asset_id =   l_source_asset_rec.asset_id
             AND fb.book_type_code =   l_book_type_code --来源账簿
             AND fb.date_ineffective IS   NULL;
          --YTD折旧,累计折旧
          SELECT nvl(deprn_reserve, 0),   nvl(ytd_deprn, 0)
            INTO l_iface_rec.deprn_reserve,   l_iface_rec.ytd_deprn
            FROM (SELECT b.deprn_reserve,   b.ytd_deprn
                    FROM fa_deprn_summary   b
                   WHERE b.asset_id =   l_source_asset_rec.asset_id
                     AND b.book_type_code =   l_book_type_code
                   ORDER BY deprn_run_date   DESC)
           WHERE rownum = 1;
       
            l_iface_rec.date_placed_in_service       := l_source_book_rec.date_placed_in_service;
          l_iface_rec.fixed_assets_cost          := l_source_book_rec.cost;
          l_iface_rec.depreciate_flag            :=   l_source_book_rec.depreciate_flag;
          l_iface_rec.deprn_method_code          :=   l_source_book_rec.deprn_method_code;
          l_iface_rec.life_in_months             :=   l_source_book_rec.life_in_months;
            l_iface_rec.prorate_convention_code      := l_source_book_rec.prorate_convention_code;
          l_iface_rec.bonus_rule                 :=   l_source_book_rec.bonus_rule;
          l_iface_rec.allowed_deprn_limit        :=   l_source_book_rec.allowed_deprn_limit;
            l_iface_rec.allowed_deprn_limit_amount :=   l_source_book_rec.allowed_deprn_limit_amount;
          l_iface_rec.salvage_type               :=   l_source_book_rec.salvage_type;
          l_iface_rec.salvage_value              :=   l_source_book_rec.salvage_value;
          l_iface_rec.accounting_date            := SYSDATE;
          --who
          l_iface_rec.creation_date     := SYSDATE;
          l_iface_rec.created_by        := fnd_global.user_id;
          l_iface_rec.last_update_date  := SYSDATE;
          l_iface_rec.last_updated_by   := fnd_global.user_id;
          l_iface_rec.last_update_login :=   fnd_global.login_id;
       
          INSERT INTO fa_mass_additions   VALUES l_iface_rec;
       
        END;
       
    数据插入到表fa_mass_additions,界面上点击新增即可新增资产 陈范冬 2013/9/9 FA/资产成批新增
    192 12.x.x OM 订单头合计信息 API oe_oe_totals_summary.order_totals(p_header_id   => p_order_header_id,
       
                                                p_subtotal  =>   l_subtotal,
       
                                                p_discount  =>   l_discount,
       
                                                p_charges   =>   l_charges,
       
                                                p_tax       => l_tax);
       
        可获取subtotal,discount,charges,tax 赵杨 2013/12/20 OM/订单头/合计
    193 12.x.x AP 付款创建会计科目 API AP_DRILLDOWN_PUB_PKG.PAYMENT_ONLINE_ACCOUNTING   PROCEDURE   payment_accounting_p(x_msg_data        OUT NOCOPY VARCHAR2
                                          ,x_return_status OUT NOCOPY VARCHAR2
                                          ,p_check_id      IN NUMBER)   IS
         
            l_accounting_mode VARCHAR2(1) :=   'P'; --D,F,P
            l_org_id          NUMBER;
            l_approval_status   VARCHAR2(30);
         
            l_errbuf           VARCHAR2(1000);
            l_retcode          VARCHAR2(10);
            l_calling_sequence VARCHAR2(100)   := 'CUX_AP_COMMON_PUB.ACCOUNT_FINNAL';
         
            l_msg_count NUMBER;
            l_msg_data  VARCHAR2(2000);
         
            l_return_status VARCHAR2(1);
         
            l_entity_id     NUMBER;
            l_je_batch_name   gl_je_batches.name%TYPE;
            l_je_name       gl_je_headers.name%TYPE;
         
          BEGIN
            x_return_status := '0';
         
            SELECT ac.org_id INTO l_org_id   FROM ap_checks_all ac WHERE ac.check_id = p_check_id;
         
            --set security access
              mo_global.set_policy_context(p_access_mode => 'S', p_org_id =>   l_org_id);
            IF fnd_global.USER_ID = -1   THEN
              --SYSADMIN, System   Administrator
                fnd_global.set_nls_context(p_nls_language => 'SIMPLIFIED   CHINESE');
            END IF;
            --call standard api to accouting   single invoice
            AP_DRILLDOWN_PUB_PKG.PAYMENT_ONLINE_ACCOUNTING(p_check_id         => p_check_id,
                                                             p_accounting_mode  =>   l_accounting_mode,
                                                             p_errbuf           =>   l_errbuf,
                                                             p_retcode          =>   l_retcode,
                                                             p_calling_sequence => l_calling_sequence);
         
            IF l_retcode = 0 THEN
              FND_MESSAGE.SET_NAME('XLA',   'XLA_ONLINE_ACCT_SUCCESS');
              x_msg_data :=   FND_MESSAGE.GET;
            ELSIF l_retcode = 1 THEN
              FND_MESSAGE.SET_NAME('XLA',   'XLA_ONLINE_ACCT_WARNING');
              x_msg_data :=   FND_MESSAGE.GET;
           
            ELSIF l_retcode = 2 THEN
              FND_MESSAGE.SET_NAME('XLA',   'XLA_ONLINE_ACCTG_ERROR');
              x_msg_data :=   FND_MESSAGE.GET;
            ELSE
              FND_MESSAGE.SET_NAME('SQLAP',   'AP_DEBUG');
              FND_MESSAGE.SET_TOKEN('ERROR',   l_errbuf);
                FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE', l_calling_sequence);
              x_msg_data :=   FND_MESSAGE.GET;
            END IF;
         
            x_return_status := l_retcode;
              cux_conc_utl.out_msg(x_msg_data);
         
          EXCEPTION
            WHEN OTHERS THEN
                fnd_msg_pub.add_exc_msg(p_pkg_name       => g_pkg_name,
                                        p_procedure_name => 'payment_accounting_p',
                                        p_error_text     =>   substrb(SQLERRM, 1, 240));
              x_return_status := '2';
              x_msg_data      := SQLERRM;
           
          END payment_accounting_p;
    会计模式:D,F,P->拟定、最终、最终过账 李明 2013/12/28 AP、付款、创建会计科目
    194 12.x.x XLA 子模块会计科目传GL API xla_transfer_pkg.gl_transfer_main   PROCEDURE   transfer_xla_to_gl(x_return_stauts  IN   OUT NOCOPY VARCHAR2
                                        ,x_msg_data       IN OUT NOCOPY   VARCHAR2
                                        ,p_application_id IN NUMBER
                                        ,p_entity_code    IN VARCHAR2
                                        ,p_entity_id      IN   NUMBER
                                        ,x_je_batch_name  IN OUT NOCOPY   VARCHAR2
                                        ,x_je_name        IN OUT NOCOPY   VARCHAR2) IS
            l_ledger_id NUMBER;
            l_entity_id NUMBER;
          BEGIN
            x_return_stauts := fnd_api.G_RET_STS_SUCCESS;
         
            SELECT xte.ledger_id
                  ,xte.entity_id
            INTO   l_ledger_id
                  ,l_entity_id
            FROM   xla.xla_transaction_entities xte
            WHERE  xte.application_id = p_application_id
                   AND xte.entity_code =   p_entity_code
                   AND xte.entity_id =   p_entity_id;
         
            IF fnd_global.USER_ID = -1   THEN
              --SYSADMIN, System   Administrator
                fnd_global.set_nls_context(p_nls_language => 'SIMPLIFIED   CHINESE');
                --fnd_global.APPS_INITIALIZE(user_id => 0, resp_id => 20420,   resp_appl_id => 1);
            END IF;
         
              xla_transfer_pkg.gl_transfer_main(p_application_id =>   p_application_id,
                                                p_transfer_mode  =>   'STANDALONE',
                                                p_ledger_id      =>   l_ledger_id,
                                                p_entity_id      =>   l_entity_id,
                                                p_caller         =>   xla_transfer_pkg.C_ACCTPROG_DOCUMENT
                                               
                                                --[hand.liming@20131112 10:59
                                                --,p_submit_gl_post => 'Y'
                                                --]
                                               
                                                );
         
            EXCEPTION
              WHEN OTHERS THEN
                NULL;
            END;
          END transfer_xla_to_gl;
    注意参数p_caller         =>   xla_transfer_pkg.C_ACCTPROG_DOCUMENT 李明 2013/12/28 XLA,子模块,传送GL
    195 12.x.x XLA 子模块创建会计科目 API XLA_ACCOUNTING_PUB_PKG.accounting_program_document    PROCEDURE   call_standard_accounting(retcode       OUT NOCOPY VARCHAR2
                                              ,errbuf      OUT NOCOPY   VARCHAR2
                                              ,p_entity_id IN NUMBER) IS
            l_accounting_mode  VARCHAR2(1) := 'F'; --D,F,P
            ls_info              xla_events_pub_pkg.t_event_source_info;
            l_errbuf           VARCHAR2(2000);
            l_retcode          VARCHAR2(10);
            l_request_id       NUMBER;
            l_batch_id         NUMBER;
            l_calling_sequence VARCHAR2(100)   := 'CUX_AR_COMMON_PUB.ACCOUNT_FINNAL';
          BEGIN
              XLA_ACCOUNTING_PUB_PKG.accounting_program_document(p_event_source_info   => ls_info,
                                                                 p_entity_id           =>   p_entity_id,
                                                                 p_accounting_flag     =>   'Y',
                                                                 p_accounting_mode     =>   l_accounting_mode,
                                                                 p_transfer_flag       =>   'Y',
                                                                 p_gl_posting_flag     =>   'Y',
                                                                 p_offline_flag        =>   'N',
                                                                 p_accounting_batch_id => l_batch_id,
                                                                 p_errbuf              =>   errbuf,
                                                                 p_retcode             =>   retcode,
                                                                 p_request_id          => l_request_id);
         
            IF retcode = 0 THEN
              FND_MESSAGE.SET_NAME('XLA',   'XLA_ONLINE_ACCT_SUCCESS');
              errbuf :=   FND_MESSAGE.GET;
              COMMIT;
            ELSIF l_retcode = 1 THEN
              FND_MESSAGE.SET_NAME('XLA',   'XLA_ONLINE_ACCT_WARNING');
              errbuf :=   FND_MESSAGE.GET;
           
            ELSIF l_retcode = 2 THEN
              FND_MESSAGE.SET_NAME('XLA',   'XLA_ONLINE_ACCTG_ERROR');
              errbuf :=   FND_MESSAGE.GET;
            ELSE
              FND_MESSAGE.SET_NAME('SQLAP',   'AP_DEBUG');
              FND_MESSAGE.SET_TOKEN('ERROR',   errbuf);
              FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',   l_calling_sequence);
              errbuf :=   FND_MESSAGE.GET;
            END IF;
         
          END call_standard_accounting;
      李明 2013/12/28 XLA,会计科目
    196 12.x.x FUN 创建公司间往来事务处理 API fun_trx_pub.CREATE_BATCH   fun_trx_pub.CREATE_BATCH(p_api_version      => 1.0,
                                           p_init_msg_list    =>   fnd_api.G_TRUE,
                                           p_commit           =>   fnd_api.G_FALSE,
                                           p_validation_level => fnd_api.G_VALID_LEVEL_FULL,
                                           p_debug            =>   'Y',
                                           x_return_status    =>   l_return_status,
                                           x_msg_count        =>   l_msg_count,
                                           x_msg_data         =>   l_msg_data,
                                           p_sent             =>   'N',
                                           p_calling_sequence =>   'CUX_FUN_TRX_INT_PUB.GENERATE_INTERCOMPANY_TRX_P',
                                           p_insert           =>   fnd_api.G_TRUE,
                                           p_batch_rec        =>   l_full_batch_rec,
                                           p_trx_tbl          =>   l_full_trx_tbl,
                                           p_init_dist_tbl    =>   l_init_dist_tbl,
                                           p_dist_lines_tbl   =>   l_dist_line_tbl);
      李明 2013/12/28 FUN,公司间事务处理
    197 12.x.x INV 杂项事务处理API 接口 mtl_transactions_interface、inv_txn_manager_pub.process_transactions   TYPE t_misc_issue_rec IS RECORD(
             organization_id           NUMBER
            ,subinventory_code         VARCHAR2(30)
            ,inventory_item_id         NUMBER
            ,transaction_quantity      NUMBER
            ,distribution_account_ccid   NUMBER
            ,serial_number_from        VARCHAR2(30)
            ,serial_number_to          VARCHAR2(30)
            );
    PROCEDURE   do_misc_issue(x_return_status  OUT   NOCOPY VARCHAR2
                                   ,x_msg_count      OUT NOCOPY   NUMBER
                                   ,x_msg_data       OUT NOCOPY   VARCHAR2
                                   ,p_transaction_type_id IN NUMBER ----add  by elaine.mi@hand 2013/10/21
                                   ,p_misc_issue_tab IN t_misc_issue_tab) IS
         
            l_api_name              VARCHAR2(30) :=   'do_misc_issue';
            l_transaction_header_id   NUMBER;
         
            l_mtl_trx_iface_rec   mtl_transactions_interface%ROWTYPE;
            l_mtl_sn_iface_rec  mtl_serial_numbers_interface%ROWTYPE;
         
            l_uom_code   mtl_system_items_b.primary_unit_of_measure%TYPE;
         
            l_retval    NUMBER;
            l_msg_count NUMBER;
            l_msg_data  VARCHAR2(2000);
            l_trx_count NUMBER;
          BEGIN
         
            --init out params
            x_return_status :=   fnd_api.g_ret_sts_success;
            x_msg_data      := NULL;
         
            l_transaction_header_id :=   mtl_material_transactions_s.nextval;
         
            FOR i IN 1 ..   p_misc_issue_tab.count LOOP
              l_mtl_trx_iface_rec                          := NULL;
                l_mtl_trx_iface_rec.transaction_interface_id :=   mtl_material_transactions_s.nextval;
                l_mtl_trx_iface_rec.creation_date            := SYSDATE;
                l_mtl_trx_iface_rec.created_by               := g_user_id;
                l_mtl_trx_iface_rec.last_update_date         := SYSDATE;
                l_mtl_trx_iface_rec.last_updated_by          := g_user_id;
                l_mtl_trx_iface_rec.last_update_login        := g_login_id;
           
                l_mtl_trx_iface_rec.transaction_header_id := l_transaction_header_id;
           
                l_mtl_trx_iface_rec.process_flag         := 1; --Yes
                l_mtl_trx_iface_rec.lock_flag            := 1;
                l_mtl_trx_iface_rec.transaction_mode     := 3; --Background
                l_mtl_trx_iface_rec.inventory_item_id    :=   p_misc_issue_tab(i).inventory_item_id;
                l_mtl_trx_iface_rec.transaction_date     := SYSDATE;
              IF p_transaction_type_id = 32   THEN
                l_mtl_trx_iface_rec.transaction_quantity := -abs(p_misc_issue_tab(i)
                                                                 .transaction_quantity);
              ELSE
                  l_mtl_trx_iface_rec.transaction_quantity   := abs(p_misc_issue_tab(i)
                                                                 .transaction_quantity);
                END IF;
              SELECT   msi.primary_uom_code
              INTO   l_mtl_trx_iface_rec.transaction_uom
              FROM   mtl_system_items_b msi
              WHERE  msi.organization_id =   p_misc_issue_tab(i).organization_id
                     AND   msi.inventory_item_id = p_misc_issue_tab(i).inventory_item_id;
             --   l_mtl_trx_iface_rec.transaction_type_id       := 32;
                l_mtl_trx_iface_rec.transaction_type_id     := p_transaction_type_id;
                l_mtl_trx_iface_rec.organization_id         :=   p_misc_issue_tab(i).organization_id;
                l_mtl_trx_iface_rec.subinventory_code       := p_misc_issue_tab(i).subinventory_code;
                l_mtl_trx_iface_rec.source_code             := g_pkg_name;
                l_mtl_trx_iface_rec.source_header_id        := -1;
                l_mtl_trx_iface_rec.source_line_id          := -1;
              l_mtl_trx_iface_rec.distribution_account_id   := p_misc_issue_tab(i)
                                                               .distribution_account_ccid;
           
              INSERT INTO   mtl_transactions_interface VALUES l_mtl_trx_iface_rec;
           
              -- sn rec
              l_mtl_sn_iface_rec :=   NULL;
           
                l_mtl_sn_iface_rec.creation_date       := SYSDATE;
                l_mtl_sn_iface_rec.created_by          := g_user_id;
                l_mtl_sn_iface_rec.last_update_date    := SYSDATE;
                l_mtl_sn_iface_rec.last_updated_by     := g_user_id;
              l_mtl_sn_iface_rec.last_update_login   := g_login_id;
           
                l_mtl_sn_iface_rec.transaction_interface_id :=   l_mtl_trx_iface_rec.transaction_interface_id;
                l_mtl_sn_iface_rec.source_code              := g_pkg_name;
                l_mtl_sn_iface_rec.source_line_id           := -1;
                l_mtl_sn_iface_rec.fm_serial_number         := p_misc_issue_tab(i)
                                                               .serial_number_from;
                l_mtl_sn_iface_rec.to_serial_number         :=   p_misc_issue_tab(i).serial_number_to;
           
              INSERT INTO   mtl_serial_numbers_interface VALUES l_mtl_sn_iface_rec;
            END LOOP;
         
            l_retval :=   inv_txn_manager_pub.process_transactions(p_api_version      => 1.0,
                                                                   p_init_msg_list    =>   fnd_api.g_true,
                                                                   p_commit           =>   fnd_api.g_false,
                                                                   p_validation_level => fnd_api.g_valid_level_full,
                                                                   x_return_status    =>   x_return_status,
                                                                   x_msg_count        =>   l_msg_count,
                                                                   x_msg_data         =>   l_msg_data,
                                                                   x_trans_count      =>   l_trx_count,
                                                                   p_table            =>   1,
                                                                   p_header_id        =>   l_transaction_header_id);
         
            IF l_retval = -1 THEN
              x_return_status :=   fnd_api.g_ret_sts_error;
              BEGIN
                SELECT   error_explanation
                INTO   x_msg_data
                FROM   mtl_transactions_interface
                WHERE  transaction_header_id =   l_transaction_header_id
                       AND rownum = 1;
              EXCEPTION
                WHEN OTHERS THEN
                  x_msg_data := NULL;
              END;
              IF x_msg_data IS NULL   THEN
                x_msg_data :=   l_msg_data;
              END IF;
            END IF;
         
          EXCEPTION
            WHEN OTHERS THEN
              x_return_status :=   fnd_api.g_ret_sts_unexp_error;
              x_msg_data      := 'Unexpected exception:' ||   SQLERRM;
           
          END do_misc_issue;
     organization_id           NUMBER --库存组织
            ,subinventory_code         VARCHAR2(30) --当前子库存
            ,inventory_item_id         NUMBER --物料ID
            ,transaction_quantity      NUMBER --事务处理数量
            ,distribution_account_ccid NUMBER   --分配成本账户
            ,serial_number_from        VARCHAR2(30) --序列号从
            ,serial_number_to          VARCHAR2(30) --序列号至
    李明 2013/12/28 inv,杂项事务处理
    198 12.x.x PO 接收事务处理接口处理器调用 API por_rcv_ord_sv.call_txn_processor   PROCEDURE   call_txn_processor(p_group_id        NUMBER
                                        ,x_return_status OUT VARCHAR2
                                        ,x_msg_count     OUT   NUMBER
                                        ,x_msg_data      OUT VARCHAR2)   IS
            PRAGMA   AUTONOMOUS_TRANSACTION;
            l_return NUMBER;
            CURSOR c_data IS
              SELECT   ie.interface_transaction_id || '---' || column_name || '---' ||
                     error_message   error_message
              FROM   po_interface_errors ie
                      ,rcv_transactions_interface rti
              WHERE  ie.interface_transaction_id = rti.interface_transaction_id
                     AND rti.group_id =   p_group_id;
          BEGIN
            x_return_status :=   fnd_api.g_ret_sts_success;
            l_return        :=   por_rcv_ord_sv.call_txn_processor(p_group_id, '');
            IF nvl(l_return, 0) <> 0   THEN
              x_return_status :=   fnd_api.g_ret_sts_error;
              FOR c1 IN c_data LOOP
                x_msg_data := x_msg_data || '   ' || c1.error_message;
              END LOOP;
            END IF;
          EXCEPTION
            WHEN OTHERS THEN
              x_return_status :=   fnd_api.g_ret_sts_error;
              x_msg_data      := SQLERRM;
          END call_txn_processor;
      李明 2013/12/28 po,接收事务处理接口
    199 12.x.x INV 创建‘检验’接收事务处理 API rcv_inspection_grp.Insert_Inspection   PROCEDURE   create_inspection(p_check_header_id      IN NUMBER
                                       ,p_rcv_transaction_id IN NUMBER
                                       ,p_quantity           IN   NUMBER
                                       ,x_group_id           IN OUT   NOCOPY NUMBER) IS
         
            x_return_status   VARCHAR2(1);
            x_msg_count     NUMBER;
            x_msg_data      VARCHAR(1000);
         
            l_group_id NUMBER;
         
            l_rcv_transaction_id    NUMBER;
            l_quality               NUMBER;
            l_uom                   VARCHAR2(30);
            l_inspection_code       VARCHAR2(30) := 'ACCEPT';
            l_quality_code          VARCHAR2(30) := NULL;
            l_transaction_date      DATE := SYSDATE;
            l_transaction_type      VARCHAR2(30) := 'ACCEPT';
            l_vendor_lot            VARCHAR2(30) := NULL;
            l_reason_id             NUMBER := NULL;
            l_comments              VARCHAR2(240) :=   p_check_header_id;
            l_parent_transaction_id   NUMBER;
          BEGIN
         
            IF x_group_id IS NULL THEN
              SELECT   rcv_interface_groups_s.nextval INTO l_group_id FROM dual;
              x_group_id := l_group_id;
            ELSE
              l_group_id := x_group_id;
            END IF;
         
            l_rcv_transaction_id :=   p_rcv_transaction_id;
            l_quality            := p_quantity;
         
            SELECT rt.unit_of_measure
            INTO   l_uom
            FROM   rcv_transactions rt
            WHERE  rt.transaction_id =   p_rcv_transaction_id;
         
              rcv_inspection_grp.Insert_Inspection(p_api_version       => '1.0',
                                                   p_init_msg_list     =>   fnd_api.G_TRUE,
                                                   p_commit            =>   fnd_api.G_FALSE,
                                                   p_validation_level  =>   fnd_api.G_VALID_LEVEL_FULL,
                                                   p_created_by        =>   fnd_global.USER_ID,
                                                   p_last_updated_by   =>   fnd_global.USER_ID,
                                                   p_last_update_login => fnd_global.LOGIN_ID,
                                                   p_employee_id       =>   fnd_global.EMPLOYEE_ID,
                                                   p_group_id          =>   l_group_id,
                                                   p_transaction_id    =>   l_rcv_transaction_id,
                                                   p_transaction_type  =>   l_transaction_type,
                                                   p_processing_mode   =>   'BATCH', --ONLINE --IMMEDIATE --BATCH
                                                   p_quantity          =>   l_quality,
                                                   p_uom               =>   l_uom,
                                                   p_quality_code      =>   l_quality_code,
                                                   p_transaction_date  =>   l_transaction_date,
                                                   p_comments          =>   l_comments,
                                                   p_reason_id         =>   l_reason_id,
                                                   p_qa_collection_id  =>   NULL,
                                                   p_return_status     =>   x_return_status,
                                                   p_msg_count         =>   x_msg_count,
                                                   p_msg_data          =>   x_msg_data);
         
            --20131009 17:24   hand.liming
            UPDATE rcv_transactions_interface   rti
            SET    rti.attribute15 = p_check_header_id
            WHERE  rti.group_id = x_group_id
                   AND   rti.parent_transaction_id = p_rcv_transaction_id;
         
          END create_inspection;
      李明 2013/12/28 INV,接收,事务处理,检验
    200 12.x.x EAM 资产编号关联仪表信息 API eam_meterassoc_pub.insert_assetmeterassoc   eam_meterassoc_pub.insert_assetmeterassoc(p_api_version             => 1.0,
                                                            p_init_msg_list           =>   fnd_api.G_TRUE,
                                                            p_commit                  =>   fnd_api.G_FALSE,
                                                            p_validation_level        =>   fnd_api.G_VALID_LEVEL_FULL,
                                                            x_return_status           =>   l_return_status0,
                                                            x_msg_count               =>   l_msg_count0,
                                                            x_msg_data                =>   l_msg_data0,
                                                            p_meter_id                =>   rec_meter.meter_id,
                                                            p_organization_id         =>   l_instance_rec.inv_organization_id,
                                                            p_asset_group_id          =>   l_instance_rec.inventory_item_id,
                                                            p_asset_number            =>   l_instance_rec.serial_number,
                                                            p_maintenance_object_type => 3,
                                                            p_maintenance_object_id   =>   p_to_instance_id,
                                                            p_primary_failure_flag    =>   rec_meter.primary_failure_flag,
                                                            p_start_date_active       =>   rec_meter.from_effective_date,
                                                            p_end_date_active         =>   rec_meter.to_effective_date);
      李明 2013/12/28 EAM,资产编号,仪表
    201 12.x.x EAM 资产编号生成活动信息 API eam_item_activities_pub.insert_item_activities   eam_item_activities_pub.insert_item_activities(p_api_version               => 1.0,
                                                                 p_init_msg_list               => fnd_api.G_TRUE,
                                                                 p_commit                      => fnd_api.G_FALSE,
                                                                 p_validation_level            => fnd_api.G_VALID_LEVEL_FULL,
                                                                 x_return_status               => l_return_status0,
                                                                 x_msg_count                   => l_msg_count0,
                                                                 x_msg_data                    => l_msg_data0,
                                                                 p_asset_activity_id           => rec_activity.asset_activity_id,
                                                                 p_inventory_item_id           => l_instance_rec.inventory_item_id,
                                                                 p_organization_id             => l_instance_rec.inv_organization_id,
                                                                 p_owningdepartment_id         => l_instance_rec.owning_department_id,
                                                                 p_maintenance_object_id     =>   p_to_instance_id,
                                                                 p_start_date_active           => rec_activity.start_date_active,
                                                                 p_end_date_active             => rec_activity.end_date_active,
                                                                 p_priority_code               => rec_activity.priority_code,
                                                                 p_activity_cause_code         => rec_activity.activity_cause_code,
                                                                 p_activity_type_code          => rec_activity.activity_type_code,
                                                                 p_shutdown_type_code          => rec_activity.shutdown_type_code,
                                                                 p_maintenance_object_type     => 3,
                                                                 p_tmpl_flag                   => rec_activity.tmpl_flag,
                                                                 p_class_code                  => rec_activity.class_code,
                                                                 p_activity_source_code      =>   rec_activity.activity_source_code,
                                                                 p_serial_number               => l_instance_rec.serial_number,
                                                                 p_tagging_required_flag       => rec_activity.tagging_required_flag,
                                                                 p_last_service_start_date     => rec_activity.last_service_start_date,
                                                                 p_last_service_end_date       => rec_activity.last_service_end_date,
                                                                 p_prev_service_start_date     => rec_activity.prev_service_start_date,
                                                                 p_prev_service_end_date     =>   rec_activity.prev_service_end_date,
                                                                 p_last_scheduled_start_date =>   rec_activity.last_scheduled_start_date,
                                                                 p_last_scheduled_end_date     => rec_activity.last_scheduled_end_date,
                                                                 p_prev_scheduled_start_date =>   rec_activity.prev_scheduled_start_date,
                                                                 p_prev_scheduled_end_date     => rec_activity.prev_scheduled_end_date,
                                                                 p_wip_entity_id               => rec_activity.wip_entity_id,
                                                                 p_source_tmpl_id              => rec_activity.source_tmpl_id,
                                                                 p_pm_last_service_tbl         => l_pm_last_service_tbl);
      李明 2013/12/28 EAM,资产编号,活动
    202 12.x.x EAM 预防性维护计划创建 API eam_pmdef_pub.create_pm_def   eam_pmdef_pub.create_pm_def(p_api_version               => 1.0,
                                              p_init_msg_list             =>   fnd_api.G_TRUE,
                                              p_commit                      => fnd_api.G_FALSE,
                                              p_validation_level            => fnd_api.G_VALID_LEVEL_FULL,
                                              x_return_status               => l_return_status0,
                                              x_msg_count                   => l_msg_count0,
                                              x_msg_data                    => l_msg_data0,
                                              p_pm_schedule_rec             => l_pm_schedule_rec,
                                              p_pm_activities_tbl           => l_pm_activities_tbl,
                                              p_pm_day_interval_rules_tbl => l_pm_day_interval_rules_tbl,
                                              p_pm_runtime_rules_tbl        => l_pm_runtime_rules_tbl,
                                              p_pm_list_date_rules_tbl      => l_pm_list_date_rules_tbl,
                                              x_new_pm_schedule_id          => l_new_pm_schedule_id);
      李明 2013/12/28 EAM,资产编号,PM计划
    203 12.x.x EAM 更新资产编号 API eam_assetnumber_pub.Update_Asset_Number   eam_assetnumber_pub.Update_Asset_Number(p_api_version               => 1.0,
                                                              p_init_msg_list               => fnd_api.G_TRUE,
                                                              p_commit                      => fnd_api.G_FALSE,
                                                              p_validation_level            => fnd_api.G_VALID_LEVEL_FULL,
                                                              x_return_status               => x_return_status,
                                                              x_msg_count                   => x_msg_count,
                                                              x_msg_data                    => l_msg_data,
                                                              p_inventory_item_id           => rec_check_line.inventory_item_id,
                                                              p_serial_number               => l_serial_number,
                                                              p_instance_number             => l_instance_number,
                                                              P_INSTANCE_ID                 => l_instance_id,
                                                              p_current_status              => 3,
                                                              p_descriptive_text            => l_descriptive_text,
                                                              p_current_organization_id     => rec_check_header.organization_id,
                                                              p_wip_accounting_class_code =>   rec_main_attr_value.wip_accounting_class_code,
                                                              p_owning_department_id        => rec_main_attr_value.owning_department_id,
                                                              p_eam_location_id             => rec_main_attr_value.eam_location_id,
                                                              p_asset_criticality_code      => rec_main_attr_value.asset_criticality_code,
                                                              p_category_id                 => l_category_id, --rec_attr_value.c_attribute1,
                                                              -- p_instantiate_flag            => FALSE,
                                                              --p_active_start_date           => SYSDATE,
                                                              P_LOCATION_TYPE_CODE => 'HZ_LOCATIONS',
                                                              P_LOCATION_ID        =>   rec_main_attr_value.location_id,
                                                              --p_operational_log_flag      =>   'N',
                                                              P_ATTRIBUTE30 => rec_check_header.header_id || '.' ||
                                                                               rec_check_line.eam_check_line_id);
      李明 2013/12/28 EAM,资产编号,更新
    204 12.x.x EAM 创建资产编号 API eam_assetnumber_pub.Insert_Asset_Number   eam_assetnumber_pub.Insert_Asset_Number(p_api_version       => 1.0,
                                                              p_init_msg_list     =>   fnd_api.G_TRUE,
                                                              p_commit            =>   fnd_api.G_FALSE,
                                                              p_validation_level  =>   fnd_api.G_VALID_LEVEL_FULL,
                                                              x_return_status     =>   x_return_status,
                                                              x_msg_count         =>   x_msg_count,
                                                              x_msg_data          =>   l_msg_data,
                                                              x_object_id         =>   l_instance_id,
                                                              p_inventory_item_id => rec_check_line.inventory_item_id,
                                                              p_serial_number     =>   l_serial_number,
                                                              p_instance_number   =>   l_instance_number,
                                                              --P_INSTANCE_ID                 => l_instance_id,
                                                              p_current_status              => 3,
                                                              p_descriptive_text            => l_descriptive_text,
                                                              p_current_organization_id     => rec_check_header.organization_id,
                                                              p_wip_accounting_class_code =>   rec_main_attr_value.wip_accounting_class_code,
                                                              p_owning_department_id        => rec_main_attr_value.owning_department_id,
                                                              p_eam_location_id             => rec_main_attr_value.eam_location_id,
                                                              p_asset_criticality_code      => rec_main_attr_value.asset_criticality_code,
                                                              p_category_id                 => l_category_id, --rec_attr_value.c_attribute1,
                                                              -- p_instantiate_flag            => FALSE,
                                                              --p_active_start_date           => SYSDATE,
                                                              --P_LOCATION_TYPE_CODE => 'HZ_LOCATIONS',
                                                              --P_LOCATION_ID        =>   rec_main_attr_value.location_id,
                                                              --p_operational_log_flag      =>   'N',
                                                              P_ATTRIBUTE30 => rec_check_header.header_id || '.' ||
                                                                               rec_check_line.eam_check_line_id);
    插入地点信息参数P_LOCATION_TYPE_CODE和P_LOCATION_ID无作用,估计是API的BUG 李明 2013/12/28 EAM,资产编号,新建
    205 12.x.x EAM 创建资产属性 API eam_assetattr_value_pub.insert_assetattr_value   eam_assetattr_value_pub.insert_assetattr_value(p_api_version                => 1.0,
                                                                       p_init_msg_list                => fnd_api.G_TRUE,
                                                                       p_commit                       => fnd_api.G_FALSE,
                                                                       p_validation_level             => fnd_api.G_VALID_LEVEL_FULL,
                                                                       x_return_status                => x_return_status,
                                                                       x_msg_count                    => x_msg_count,
                                                                       x_msg_data                     => x_msg_data,
                                                                       p_association_id               => rec_attr_group.association_id,
                                                                       p_application_id               => rec_attr_group.application_id,
                                                                       p_descriptive_flexfield_name =>   rec_attr_group.descriptive_flexfield_name,
                                                                       p_inventory_item_id            => rec_attr_group.inventory_item_id,
                                                                       p_serial_number                => l_serial_number,
                                                                       p_organization_id            =>   rec_check_header.organization_id,
                                                                       p_attribute_category           => rec_attr_group.descriptive_flex_context_code,
                                                                       p_c_attribute1                 => rec_attr_value.c_attribute1,
                                                                       p_c_attribute2                 => rec_attr_value.c_attribute2,
                                                                       p_c_attribute3                 => rec_attr_value.c_attribute3,
                                                                       p_c_attribute4                 => rec_attr_value.c_attribute4,
                                                                       p_c_attribute5                 => rec_attr_value.c_attribute5,
                                                                       p_c_attribute6                 => rec_attr_value.c_attribute6,
                                                                       p_c_attribute7                 => rec_attr_value.c_attribute7,
                                                                       p_c_attribute8                 => rec_attr_value.c_attribute8,
                                                                       p_c_attribute9                 => rec_attr_value.c_attribute9,
                                                                       p_c_attribute10                => rec_attr_value.c_attribute10,
                                                                       p_c_attribute11                => rec_attr_value.c_attribute11,
                                                                       p_c_attribute12                => rec_attr_value.c_attribute12,
                                                                       p_c_attribute13                => rec_attr_value.c_attribute13,
                                                                       p_c_attribute14                => rec_attr_value.c_attribute14,
                                                                       p_c_attribute15                => rec_attr_value.c_attribute15,
                                                                       p_c_attribute16                => rec_attr_value.c_attribute16,
                                                                       p_c_attribute17                => rec_attr_value.c_attribute17,
                                                                       p_c_attribute18                => rec_attr_value.c_attribute18,
                                                                       p_c_attribute19                => rec_attr_value.c_attribute19,
                                                                       p_c_attribute20                => rec_attr_value.c_attribute20,
                                                                       p_d_attribute1                 => rec_attr_value.d_attribute1,
                                                                       p_d_attribute2                 => rec_attr_value.d_attribute2,
                                                                       p_d_attribute3                 => rec_attr_value.d_attribute3,
                                                                       p_d_attribute4                 => rec_attr_value.d_attribute4,
                                                                       p_d_attribute5                 => rec_attr_value.d_attribute5,
                                                                       p_d_attribute6                 => rec_attr_value.d_attribute6,
                                                                       p_d_attribute7                 => rec_attr_value.d_attribute7,
                                                                       p_d_attribute8                 => rec_attr_value.d_attribute8,
                                                                       p_d_attribute9                 => rec_attr_value.d_attribute9,
                                                                       p_d_attribute10                => rec_attr_value.d_attribute10,
                                                                       p_n_attribute1                 => rec_attr_value.n_attribute1,
                                                                       p_n_attribute2                 => rec_attr_value.n_attribute2,
                                                                       p_n_attribute3                 => rec_attr_value.n_attribute3,
                                                                       p_n_attribute4                 => rec_attr_value.n_attribute4,
                                                                       p_n_attribute5                 => rec_attr_value.n_attribute5,
                                                                       p_n_attribute6                 => rec_attr_value.n_attribute6,
                                                                       p_n_attribute7                 => rec_attr_value.n_attribute7,
                                                                       p_n_attribute8                 => rec_attr_value.n_attribute8,
                                                                       p_n_attribute9                 => rec_attr_value.n_attribute9,
                                                                       p_n_attribute10                => rec_attr_value.n_attribute10,
                                                                       p_maintenance_object_type      => '3',
                                                                       p_maintenance_object_id        => l_instance_id,
                                                                       p_creation_organization_id     => rec_check_header.organization_id);
      李明 2013/12/28 EAM,属性组
    206 12.x.x PO API方式创建一揽子采购协议 API po_pdoi_grp.start_process   DECLARE
          g_line_end VARCHAR2(2) := chr(13)   || chr(10); --换行符
       
          p_process_pending VARCHAR2(1) :=   'N'; --是否处理暂挂记录
          p_process_error   VARCHAR2(1) := 'N'; --是否处理错误记录
          p_source          VARCHAR2(100); --限制来源
          p_source_id_from  VARCHAR2(240); --限制来源标识从
          p_source_id_to    VARCHAR2(240); --限制来源标识至
       
          l_po_header_id    NUMBER;
          l_return_status   VARCHAR2(1);
          l_return_msg      VARCHAR2(30000);
          l_item_id         NUMBER;
          l_organization_id NUMBER;
          l_org_id          NUMBER;
          l_agent_id        NUMBER;
          l_location_id     NUMBER;
          l_vendor_id       NUMBER;
          l_vendor_site_id  NUMBER;
          l_iface_rec       po.po_headers_interface%ROWTYPE;
          l_iface_lines_rec   po.po_lines_interface%ROWTYPE;
          l_msg_count       NUMBER;
          l_msg_data        VARCHAR2(2000);
          l_currency_code   VARCHAR2(15);
          l_error_flag      BOOLEAN := FALSE;
        BEGIN
       
            fnd_global.apps_initialize(user_id        => 23206,
                                       resp_id      => 53834,
                                       resp_appl_id => 201);
          mo_global.init('M');
       
          FOR rec IN (SELECT *
                        FROM   cux_2_po_blanket_headers t
                       WHERE   (t.process_status IS NULL OR
                               (p_process_pending = 'Y' AND t.process_status = 'P') OR
                             (p_process_error   = 'Y' AND
                             t.process_status   IN ('E', 'U')))
                         AND (p_source IS   NULL OR t.source = p_source)
                         AND   (p_source_id_from IS NULL OR
                             t.source_id   >= p_source_id_from)
                         AND (p_source_id_to   IS NULL OR
                             t.source_id   <= p_source_id_to)
                         FOR UPDATE NOWAIT)   LOOP
         
            l_return_status   := NULL;
            l_return_msg      := NULL;
            l_po_header_id    := NULL;
            l_org_id          := NULL;
            l_organization_id := NULL;
            l_vendor_id       := NULL;
            l_vendor_site_id  := NULL;
            l_iface_rec       := NULL;
            l_currency_code   := NULL;
            l_agent_id        := NULL;
         
            BEGIN
              SELECT hou.organization_id,   sob.currency_code
                INTO l_org_id,   l_currency_code
                FROM hr_operating_units hou,   gl_sets_of_books sob
               WHERE hou.name =   rec.org_name
                 AND hou.set_of_books_id =   sob.set_of_books_id;
            EXCEPTION
              WHEN OTHERS THEN
                l_return_status := 'E';
                l_return_msg    := l_return_msg || 'Error when getting OU   id: ' ||
                                   SQLERRM ||   g_line_end;
            END;
         
            IF l_org_id IS NOT NULL   THEN
              BEGIN
                SELECT fsp.inventory_organization_id
                  INTO   l_organization_id
                  FROM   financials_system_parameters fsp, hr_operating_units hou
                 WHERE fsp.org_id =   hou.organization_id
                   AND fsp.set_of_books_id =   hou.set_of_books_id
                   AND hou.organization_id =   l_org_id;
              EXCEPTION
                WHEN OTHERS THEN
                  l_return_status :=   'E';
                  l_return_msg    := l_return_msg ||
                                     'Error   when getting organization id: ' ||
                                     SQLERRM   || g_line_end;
              END;
            END IF;
         
            BEGIN
              SELECT pv.vendor_id
                INTO l_vendor_id
                FROM po_vendors pv
               WHERE pv.vendor_name =   rec.vendor_name;
            EXCEPTION
              WHEN OTHERS THEN
                l_return_status := 'E';
                l_return_msg    := l_return_msg || 'Error when getting   vendor id: ' ||
                                   SQLERRM ||   g_line_end;
            END;
         
            IF l_vendor_id IS NOT NULL AND   l_org_id IS NOT NULL THEN
              BEGIN
                SELECT   pvs.vendor_site_id
                  INTO l_vendor_site_id
                  FROM po_vendor_sites_all   pvs
                 WHERE pvs.vendor_id =   l_vendor_id
                   AND pvs.org_id =   l_org_id
                   AND pvs.vendor_site_code =   rec.vendor_site_code;
              EXCEPTION
                WHEN OTHERS THEN
                  l_return_status :=   'E';
                  l_return_msg    := l_return_msg ||
                                     'Error   when getting vendor site: ' || SQLERRM ||
                                       g_line_end;
              END;
            END IF;
         
            BEGIN
              SELECT atv.term_id
                INTO   l_iface_rec.terms_id
                FROM ap_terms_vl atv
               WHERE atv.name =   nvl(rec.payment_term, 'B00_立即付款')
                 AND atv.enabled_flag =   'Y'
                 AND SYSDATE BETWEEN   nvl(atv.start_date_active, SYSDATE) AND
                     nvl(atv.end_date_active,   SYSDATE);
            EXCEPTION
              WHEN OTHERS THEN
                l_return_status := 'E';
                l_return_msg    := l_return_msg ||
                                   'Error   when getting payment term: ' || SQLERRM ||
                                     g_line_end;
            END;
         
            BEGIN
              SELECT pap.person_id
                INTO l_agent_id
                FROM per_all_people_f   pap
               WHERE pap.full_name =   rec.agent_name
                 AND SYSDATE BETWEEN   nvl(pap.effective_start_date, SYSDATE) AND
                       nvl(pap.effective_end_date, SYSDATE);
            EXCEPTION
              WHEN OTHERS THEN
                l_return_status := 'E';
                l_return_msg    := l_return_msg || 'Error when getting   agent: ' ||
                                   SQLERRM ||   g_line_end;
            END;
         
            l_iface_rec.interface_header_id   := po_headers_interface_s.nextval;
            l_iface_rec.org_id              := l_org_id;
            l_iface_rec.document_num        := rec.po_number;
            l_iface_rec.process_code        := 'PENDING';
            l_iface_rec.action              := 'ORIGINAL';
              l_iface_rec.document_type_code    := 'BLANKET';
            l_iface_rec.currency_code       := l_currency_code;
            l_iface_rec.approval_status     := 'APPROVED';
            l_iface_rec.agent_id            := l_agent_id;
            l_iface_rec.vendor_id           := l_vendor_id;
            l_iface_rec.vendor_site_id      := l_vendor_site_id;
              --l_iface_rec.ship_to_location_id     := l_location_id;
            --l_iface_rec.bill_to_location_id   := l_location_id;
            l_iface_rec.interface_source_code   := '期初导入';
            l_iface_rec.batch_id              :=   l_iface_rec.interface_header_id;
              l_iface_rec.attribute_category      := 'BLANKET';
         
            IF   upper(rec.global_agreement_flag) IN ('是', 'YES', 'Y') THEN
                l_iface_rec.global_agreement_flag := 'Y';
            ELSIF upper(rec.global_agreement_flag)   IN ('否', 'NO', 'N') THEN
                l_iface_rec.global_agreement_flag := 'N';
            ELSE
              l_return_status := 'E';
              l_return_msg    := l_return_msg ||
                                 'Global   agreement flag must be entered and must be valid.' ||
                                   g_line_end;
            END IF;
         
            l_iface_rec.attribute2 :=   rec.attribute2;
            l_iface_rec.attribute5 :=   rec.attribute5;
            l_iface_rec.attribute6 :=   rec.attribute6;
         
            IF rec.attribute6 IS NULL AND   rec.attribute5 IS NULL THEN
              l_return_status := 'E';
              l_return_msg    := l_return_msg ||
                                 'Contract   number and inquiry report number can not all be null.' ||
                                   g_line_end;
            END IF;
         
            IF l_return_status IS NULL   THEN
              INSERT INTO   po.po_headers_interface VALUES l_iface_rec;
            END IF;
         
            FOR rec_line IN (SELECT rownum,   l.*
                               FROM   cux_2_po_blanket_lines l
                              WHERE l.org_name   = rec.org_name
                                AND   l.po_number = rec.po_number) LOOP
              l_iface_lines_rec :=   NULL;
              l_item_id         := NULL;
           
              IF l_organization_id IS NOT   NULL THEN
                BEGIN
                  SELECT   msi.inventory_item_id
                    INTO l_item_id
                    FROM mtl_system_items_b msi
                   WHERE msi.organization_id   = l_organization_id
                     AND msi.segment1 =   rec_line.item_number;
                EXCEPTION
                  WHEN OTHERS THEN
                    l_return_status :=   'E';
                    l_return_msg    := l_return_msg || 'Error when getting   item(' ||
                                         rec_line.item_number || ') id: ' || SQLERRM ||
                                         g_line_end;
                END;
              END IF;
           
                l_iface_lines_rec.interface_line_id     := po_lines_interface_s.nextval;
                l_iface_lines_rec.interface_header_id :=   l_iface_rec.interface_header_id;
                --l_iface_lines_rec.process_code         := 'PENDING';
              l_iface_lines_rec.action                  := 'ADD';
              l_iface_lines_rec.line_num                := rec_line.rownum;
              l_iface_lines_rec.item_id                 := l_item_id;
                l_iface_lines_rec.line_type_id            := 1;
                l_iface_lines_rec.unit_of_measure         :=   rec_line.unit_meas_lookup_code;
                l_iface_lines_rec.unit_price              := rec_line.unit_price;
                l_iface_lines_rec.line_loc_populated_flag := 'Y';
                l_iface_lines_rec.ship_to_organization_id := l_organization_id;
                --l_iface_rec.ship_to_location_id           := l_location_id;
                --l_iface_lines_rec.need_by_date            := SYSDATE;
                --l_iface_lines_rec.promised_date           := SYSDATE;
                --l_iface_lines_rec.creation_date           := SYSDATE;
                l_iface_lines_rec.line_attribute_category_lines := 'BLANKET';
           
              IF rec_line.vendor_product_num   IS NOT NULL THEN
                  l_iface_lines_rec.vendor_product_num :=   rec_line.vendor_product_num;
              ELSE
                l_return_status := 'E';
                l_return_msg    := l_return_msg ||
                                   'Vendor   product number must be entered(Item: ' ||
                                     rec_line.item_number || ').' || g_line_end;
              END IF;
           
              IF rec_line.attribute1 IS NOT   NULL THEN
                l_iface_lines_rec.line_attribute1   := rec_line.attribute1;
              ELSE
                l_return_status := 'E';
                l_return_msg    := l_return_msg ||
                                   'Order tax   price must be entered(Item: ' ||
                                   rec_line.item_number   || ').' || g_line_end;
              END IF;
           
              IF rec_line.attribute6 IS NOT   NULL THEN
                BEGIN
                  SELECT v.flex_value
                    INTO   l_iface_lines_rec.line_attribute6
                    FROM fnd_flex_values_vl   v, fnd_flex_value_sets s
                   WHERE v.flex_value_set_id   = s.flex_value_set_id
                     AND   s.flex_value_set_name =
                           'CRC_B02_PO_LINES_MODES_OF_PACKING'
                     AND v.description =   rec_line.attribute6
                     AND v.enabled_flag =   'Y'
                     AND SYSDATE BETWEEN   nvl(v.start_date_active, SYSDATE) AND
                         nvl(v.end_date_active,   SYSDATE);
                EXCEPTION
                  WHEN OTHERS THEN
                    l_return_status := 'E';
                    l_return_msg    := l_return_msg ||
                                       'Error   when getting mode of packing(' ||
                                         rec_line.attribute6 || '): ' || SQLERRM ||
                                         g_line_end;
                END;
              END IF;
           
              IF rec_line.attribute7 IS NOT   NULL THEN
                BEGIN
                  SELECT v.flex_value
                    INTO   l_iface_lines_rec.line_attribute7
                    FROM fnd_flex_values_vl   v, fnd_flex_value_sets s
                   WHERE v.flex_value_set_id   = s.flex_value_set_id
                     AND   s.flex_value_set_name =
                           'CRC_B02_PO_LINES_MODES_OF_SHIPPING'
                     AND v.description =   rec_line.attribute7
                     AND v.enabled_flag =   'Y'
                     AND SYSDATE BETWEEN   nvl(v.start_date_active, SYSDATE) AND
                           nvl(v.end_date_active, SYSDATE);
                EXCEPTION
                  WHEN OTHERS THEN
                    l_return_status :=   'E';
                    l_return_msg    := l_return_msg ||
                                       'Error   when getting mode of shipping(' ||
                                         rec_line.attribute7 || '): ' || SQLERRM ||
                                         g_line_end;
                END;
              END IF;
           
              IF rec_line.attribute9 IS NOT   NULL THEN
                BEGIN
                  SELECT   to_char(hl.location_id)
                    INTO   l_iface_lines_rec.line_attribute9
                    FROM hr_locations_all hl
                   WHERE hl.location_code =   rec_line.attribute9
                     AND SYSDATE <=   nvl(hl.inactive_date, SYSDATE);
                EXCEPTION
                  WHEN OTHERS THEN
                    l_return_status :=   'E';
                    l_return_msg    := l_return_msg ||
                                       'Error   when getting location(' ||
                                         rec_line.attribute9 || '): ' || SQLERRM ||
                                         g_line_end;
                END;
              ELSE
                BEGIN
                  SELECT   to_char(pvs.ship_to_location_id)
                    INTO   l_iface_lines_rec.line_attribute9
                    FROM po_vendor_sites_all   pvs
                   WHERE pvs.vendor_site_id =   l_vendor_site_id;
                EXCEPTION
                  WHEN OTHERS THEN
                    l_return_status :=   'E';
                    l_return_msg    := l_return_msg ||
                                       'Error   when getting default location: ' ||
                                         SQLERRM || g_line_end;
                END;
              END IF;
           
              IF l_return_status IS NULL   THEN
                INSERT INTO   po_lines_interface VALUES l_iface_lines_rec;
              END IF;
           
            END LOOP;
         
            IF l_return_status IS NULL   THEN
           
              po_pdoi_grp.start_process(p_api_version                => 1.0,
                                          p_init_msg_list                => fnd_api.g_true,
                                          p_validation_level             => fnd_api.g_valid_level_full,
                                          p_commit                       => fnd_api.g_false,
                                          x_return_status                => l_return_status,
                                          p_gather_intf_tbl_stat         => fnd_api.g_false,
                                          p_calling_module               => po_pdoi_constants.g_call_mod_unknown,
                                          p_selected_batch_id            => l_iface_rec.batch_id,
                                          p_batch_size                   => po_pdoi_constants.g_def_batch_size,
                                          p_buyer_id                     => NULL,
                                          p_document_type                => 'BLANKET',
                                          p_document_subtype             => NULL,
                                          p_create_items                 => 'N',
                                          p_create_sourcing_rules_flag => NULL,
                                          p_rel_gen_method               => NULL,
                                          p_sourcing_level               => NULL,
                                          p_sourcing_inv_org_id          => NULL,
                                          p_approved_status              => 'APPROVED',
                                          p_process_code                 => 'PENDING',
                                          p_interface_header_id          => NULL,
                                          p_org_id                       => l_org_id,
                                          p_ga_flag                      => NULL);
           
              IF l_return_status = 'S'   THEN
                SELECT   MAX(poh.po_header_id)
                  INTO l_po_header_id
                  FROM po_headers_all poh,   po_headers_interface phi
                 WHERE poh.po_header_id =   phi.po_header_id
                   AND   phi.interface_header_id = l_iface_rec.interface_header_id;
             
                IF l_po_header_id IS NULL   THEN
                  l_return_status :=   'E';
                  FOR rec_msg IN (SELECT pie.error_message,   pie.interface_line_id
                                    FROM   po_interface_errors pie
                                   WHERE   pie.interface_header_id =
                                           l_iface_rec.interface_header_id) LOOP
                    l_return_msg :=   l_return_msg || rec_msg.error_message ||
                                      g_line_end;
                  END LOOP;
               
                END IF;
              ELSE
                FOR rec_msg IN (SELECT   pie.error_message, pie.interface_line_id
                                  FROM po_interface_errors   pie
                                 WHERE   pie.interface_header_id =
                                         l_iface_rec.interface_header_id) LOOP
               
                  l_return_msg :=   l_return_msg || rec_msg.error_message ||
                                    g_line_end;
               
                END LOOP;
              END IF;
           
            END IF;
         
            IF l_return_status != 'S'   THEN
              l_error_flag := TRUE;
            ELSE
              IF l_error_flag THEN
                l_return_status := 'P';
              END IF;
            END IF;
         
            UPDATE cux_2_po_blanket_headers   h
               SET h.process_status    = l_return_status,
                   h.process_message   = substrb(l_return_msg, 1, 4000),
                   h.last_updated_by   = fnd_global.user_id,
                   h.last_update_date  = SYSDATE,
                   h.last_update_login =   fnd_global.login_id
             WHERE h.org_name =   rec.org_name
               AND h.po_number = rec.po_number;
         
          END LOOP;
        END;
    建议开发中使用API替代PO接口,能有效控制事务一致性 何云 2013/12/31 PO/一揽子/创建
    207 12.x.x PO API方式创建标准采购订单 API po_docs_interface_sv5.process_po_headers_interface   DECLARE
          l_iface_rec       po_headers_interface%ROWTYPE;
          l_iface_lines_rec   po_lines_interface%ROWTYPE;
          l_iface_dis_rec   po_distributions_interface%ROWTYPE;
        BEGIN
       
          fnd_global.apps_initialize(user_id      => 1151,
                                       resp_id      => 50717,
                                       resp_appl_id => 201);
          mo_global.init('M');
       
          SELECT   po_headers_interface_s.nextval
            INTO l_iface_rec.interface_header_id
            FROM dual;
       
          l_iface_rec.org_id                := 81; --PO所属OU
          l_iface_rec.process_code          := 'PENDING';
          l_iface_rec.action                := 'ORIGINAL';
          l_iface_rec.document_type_code    := 'STANDARD'; --PO类型
          l_iface_rec.approval_status       := 'APPROVED'; --审批状态
          l_iface_rec.agent_id              := 61; --采购员
          l_iface_rec.vendor_id             := 2003; --供应商
          l_iface_rec.interface_source_code   := 'CUX:End Product Moving'; --接口来源标识
          l_iface_rec.created_by            := 1151; --Who字段
          l_iface_rec.creation_date         := SYSDATE; --Who字段
          l_iface_rec.last_update_date      := SYSDATE; --Who字段
          l_iface_rec.last_updated_by       := 1151; --Who字段
          l_iface_rec.last_update_login     := -1; --Who字段
       
          INSERT INTO po_headers_interface   VALUES l_iface_rec;
       
          SELECT   po_lines_interface_s.nextval
            INTO   l_iface_lines_rec.interface_line_id
            FROM dual;
       
            l_iface_lines_rec.interface_header_id    := l_iface_rec.interface_header_id;
          l_iface_lines_rec.process_code         := 'PENDING';
          l_iface_lines_rec.action               := 'ORIGINAL';
          l_iface_lines_rec.line_num             := '1'; --行号
          l_iface_lines_rec.shipment_num         := '1'; --发运号
          l_iface_lines_rec.item_id              := 1003; --物料
          l_iface_lines_rec.quantity             := 10; --数量
          l_iface_lines_rec.unit_price           := 100; --单价
          l_iface_lines_rec.promised_date        := SYSDATE + 1; --承诺日期
          l_iface_lines_rec.created_by           := 1151; --WHO字段
            l_iface_lines_rec.creation_date          := SYSDATE; --WHO字段
            l_iface_lines_rec.last_update_date       := SYSDATE; --WHO字段
            l_iface_lines_rec.last_updated_by        := 1151; --WHO字段
          l_iface_lines_rec.last_update_login    := -1; --WHO字段
            l_iface_lines_rec.receiving_routing_id := 3; --接收方式,3为直接入库
       
          INSERT INTO po_lines_interface   VALUES l_iface_lines_rec;
       
          SELECT   po_distributions_interface_s.nextval
            INTO   l_iface_dis_rec.interface_distribution_id
            FROM dual;
       
          l_iface_dis_rec.interface_header_id   := l_iface_rec.interface_header_id;
          l_iface_dis_rec.interface_line_id   :=   l_iface_lines_rec.interface_line_id;
            l_iface_dis_rec.distribution_num      := 1;
            l_iface_dis_rec.quantity_ordered      := 10;
          l_iface_dis_rec.created_by          := 1151;
          l_iface_dis_rec.creation_date       := SYSDATE;
            l_iface_dis_rec.last_update_date      := SYSDATE;
            l_iface_dis_rec.last_updated_by       := 1151;
            l_iface_dis_rec.last_update_login     := -1;
       
          INSERT INTO   po_distributions_interface VALUES l_iface_dis_rec;
       
            po_docs_interface_sv5.process_po_headers_interface(x_selected_batch_id          => NULL,
                                                               x_buyer_id                     => NULL,
                                                               x_document_type                => l_iface_rec.document_type_code,
                                                               x_document_subtype             => l_iface_rec.document_subtype,
                                                               x_create_items                 => 'N',
                                                               x_create_sourcing_rules_flag => NULL,
                                                               x_rel_gen_method               => NULL,
                                                               x_approved_status              => l_iface_rec.approval_status,
                                                               x_commit_interval            =>   1,
                                                               x_process_code                 => 'PENDING',
                                                               x_interface_header_id          => l_iface_rec.interface_header_id,
                                                               x_org_id_param                 => l_iface_rec.org_id,
                                                               x_ga_flag                      => NULL);
       
            dbms_output.put_line(l_iface_rec.interface_header_id);
       
          COMMIT;
        END;
    建议开发中使用API替代PO接口,能有效控制事务一致性 何云 2013/12/31 PO/标准采购订单/创建
    208 12.x.x INV 任务发退料 接口 INV.INCTCM   INSERT   INTO mtl_transactions_interface
          (source_code, --来源标识
           process_flag, -- 固定为1
           last_updated_by, -- g_user_id
           last_update_login, --   g_login_id
           transaction_quantity, --数量
           subinventory_code, -- 子库存
           transaction_type_id,   --发料固定为35,退料固定为43
           source_line_id, --来源行ID
           transaction_mode, -- 固定为3 ,
           creation_date, -- SYSDATE ,
           inventory_item_id, -- 物料
           revision, -- 物料版本
           transaction_uom, --单位
           locator_id, -- 货位
           transaction_source_type_id, --   固定为5   /* 任务或计划 */ ,
           wip_entity_type, -- 任务类型 ,
           source_header_id, --来源头ID ,
           last_update_date, -- SYSDATE   ,
           created_by, -- g_user_id ,
           organization_id, -- 库存组织
           transaction_date, -- 处理日期
           transaction_source_id, --   任务ID
           operation_seq_num, -- 工序序号
           transaction_interface_id, --   使用mtl_material_transactions_s.nextval
           transaction_reference, --参考
           attribute6, --弹性域字段
           attribute7,
           attribute8,
           attribute9,
           attribute_category)
        VALUES
          (v_source_code,
           1,
           g_user_id,
           g_login_id,
           -1 *   abs(wip_item_c.transaction_qty),
             wip_item_c.subinventory_code,
           35,
           wip_item_c.transaction_id,
           3,
           SYSDATE,
           wip_item_c.item_id,
           decode(v_revison_control, 2,   wip_item_c.item_revision, NULL),
           v_item_uom,
           wip_item_c.location_id,
           5 /* 任务或计划 */,
           1,
           wip_item_c.transaction_id,
           SYSDATE,
           g_user_id,
           wip_item_c.organization_id,
           wip_item_c.transaction_date,
           wip_item_c.wip_entity_id,
             wip_item_c.operation_seq_num,
           v_transaction_ifa_id,
             wip_item_c.transaction_reference,
           wip_item_c.source_reference,
           wip_item_c.attribute7,
           wip_item_c.attribute8,
           wip_item_c.attribute9,
           'LMS信息');
    插入标准物料事务接口表后提交接口请求 何云 2013/12/31 任务/发料/退料
    209 12.x.x WIP 任务工序移动 接口 WIP.WICTMS   DECLARE
          l_wip   wip_move_txn_interface%rowtype;
        BEGIN
          l_wip.creation_date :=   SYSDATE;
          l_wip.created_by := g_user_id;
          l_wip.last_update_date :=   SYSDATE;
          l_wip.last_update_login :=   g_login_id;
          l_wip.last_updated_by := g_user_id;
          l_wip.organization_id :=   rec_move.organization_id;--库存组织ID
          l_wip.organization_code :=   g_organization_code;--库存组织代码
          l_wip.fm_intraoperation_step_type   := rec_move.fm_intraoperation_step_type;--步骤状态从
          l_wip.fm_operation_seq_num :=   rec_move.fm_operation_seq_num;--工序序号从
          l_wip.to_intraoperation_step_type   := rec_move.to_intraoperation_step_type;--步骤状态至
          l_wip.to_operation_seq_num :=   rec_move.to_operation_seq_num;--工序序号至
          l_wip.transaction_quantity :=   rec_move.transaction_quantity;--移动数量
          l_wip.process_phase := 1;--固定
          l_wip.process_status :=   1;--固定
          l_wip.transaction_type :=   1;--固定
          l_wip.transaction_date :=   rec_move.transaction_date;--处理日期
          l_wip.transaction_uom :=   rec_move.transaction_uom;--单位
          l_wip.wip_entity_id :=   rec_move.wip_entity_id;--WIP任务ID
          l_wip.reference :=   NULL;--参考,可选
          l_wip.source_code := rec_move.source_code;--来源标识
          l_wip.source_line_id :=   rec_move.transaction_id;--来源行ID
          INSERT INTO   wip.wip_move_txn_interface VALUES l_wip;
        END;
    插入标准工序移动接口表后提交接口请求 何云 2013/12/31 任务/工序/移动
    210 12.x.x WSH 撤销交货号 API wsh_delivery_details_actions.unassign_detail_from_delivery p_detail_id--发运明细ID
        x_return_status--返回处理结果
        p_action_prms--wsh_delivery_details_grp.action_parameters_rec_type,此场景用不到
              wsh_delivery_details_actions.unassign_detail_from_delivery(p_detail_id     => l_delivery_detail_id,
                                                                             x_return_status => l_return_status,
                                                                             p_action_prms   =>   l_action_prms);
    用于回收已分配交货号但尚未发运的发运明细,对应标准FORM的“撤销交货号”功能 何云 2013/12/31 发运/交货号/撤销
    211 12.x.x WSH 更新发运明细 API wsh_delivery_details_pub.update_shipping_attributes p_changed_attributes--wsh_delivery_details_pub.changedattributetabtype,存放要更新的发运明细信息
        p_source_code--固定为OE
          /*此例为更新发运明细的发运数量*/
              l_rec_tbl(1).delivery_detail_id   := l_delivery_detail_id;
              l_rec_tbl(1).shipped_quantity   := rec.quantity;
           
                wsh_delivery_details_pub.update_shipping_attributes(p_api_version_number   => '1.0',
                                                                    p_init_msg_list      =>   fnd_api.g_false,
                                                                    p_commit             =>   fnd_api.g_false,
                                                                    x_return_status      =>   l_return_status,
                                                                    x_msg_count          =>   l_msg_count,
                                                                    x_msg_data           =>   l_msg_data,
                                                                    p_changed_attributes => l_rec_tbl,
                                                                    p_source_code        =>   'OE');
    用于更新发运明细信息 何云 2013/12/31 发运/更新明细
    212 12.x.x FND 获取并发并请求模板 API fnd_conc_templates.get_template_information fnd_conc_templates.get_template_information(:work_order.program_application_id,
                                                                      :work_order.application_short_name,
                                                                      :work_order.concurrent_program_name,
                                                                      :work_order.nls_language,
                                                                      :work_order.nls_territory,
                                                                      :world.current_nls_language,
                                                                      :world.current_nls_territory,
                                                                      l_template_obtained,
                                                                      l_template_name,
                                                                      l_template_language,
                                                                      l_format,
                                                                      l_request_language,
                                                                      l_iso_language,
                                                                      l_iso_territory,
                                                                      l_template_app_name,
                                                                      l_template_code,
                                                                      l_format_type);
       
        苏联章 2013/12/31 并发/模板
    213 11.0.0 WIP 工序移动 接口 WIP.WICTMS 接口表:wip_move_txn_interface  v_request_id :=   fnd_request.submit_request('WIP',
                                                         'WICTMS',
                                                         NULL,
                                                         NULL,
                                                         FALSE,
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '',
                                                         '');
      徐冲 2013/12/31 工序移动
    214 11.0.0 INV 导入物料 API ego_item_pub.process_items          ego_item_pub.process_items(p_api_version   => 1.0,
                                           p_init_msg_list => fnd_api.g_true,
                                           p_commit        =>   fnd_api.g_true,
                                           p_item_tbl      =>   l_item_tab,
                                           x_item_tbl      =>   l_out_item_tab,
                                           x_return_status => l_return_status,
                                           x_msg_count     => l_msg_count);
      徐冲 2013/12/31 物料导入/子组织
    215 11.0.0 INV 创建保留 API inv_reservation_pub.create_reservation           inv_reservation_pub.create_reservation(p_api_version_number       => 1,
                                                       p_init_msg_lst             =>   'T',
                                                       p_rsv_rec                  =>   l_rsv_rec,
                                                       p_serial_number            =>   l_serial_number,
                                                       p_partial_reservation_flag => l_partial_reservation_flag,
                                                       p_force_reservation_flag   =>   l_force_reservation_flag,
                                                       p_partial_rsv_exists       =>   l_partial_reservation_exists,
                                                       p_validation_flag          =>   l_validation_flag,
                                                       x_serial_number            =>   x_serial_number,
                                                       x_return_status            =>   x_return_status,
                                                       x_msg_count                =>   x_msg_count,
                                                       x_msg_data                 =>   x_msg_data,
                                                       x_quantity_reserved        =>   x_quantity_reserved,
                                                       x_reservation_id           =>   x_reservation_id);
            
      徐冲 2013/12/31 创建保留
    216 11.0.0 INV 查找保留 API inv_reservation_pub.query_reservation           inv_reservation_pub.query_reservation(p_api_version_number        => 1.0,
                                                      x_return_status               => l_return_status,
                                                      x_msg_count                   => x_msg_count,
                                                      x_msg_data                    => x_msg_data,
                                                      p_query_input                 => l_mtl_reservation_rec,
                                                      x_mtl_reservation_tbl         => l_mtl_reservation_tbl,
                                                      x_mtl_reservation_tbl_count => l_mtl_reservation_tbl_count,
                                                      x_error_code                  => l_error_code);
      徐冲 2013/12/31 查询保留
    217 11.0.0 INV 单位转换 API inv_convert.inv_um_convert        l_umconvert_trans_quantity :=   inv_convert.inv_um_convert(item_id         => l_mmtt_rec.inventory_item_id,
                                                                             PRECISION     => NULL,
                                                                             from_quantity => p_transaction_quantity,
                                                                             from_unit     =>   l_mmtt_rec.transaction_uom,
                                                                             to_unit       =>   l_primary_uom,
                                                                             from_name     => NULL,
                                                                             to_name       => NULL);
      徐冲 2013/12/31 单位转换
    218 11.0.0 INV 更新保留 API inv_reservation_pub.update_reservation             inv_reservation_pub.update_reservation(p_api_version_number     => 1.0,
                                                         x_return_status          =>   l_return_status,
                                                         x_msg_count              =>   x_msg_count,
                                                         x_msg_data               =>   x_msg_data,
                                                         p_original_rsv_rec       =>   l_mtl_reservation_rec,
                                                         p_to_rsv_rec             =>   l_mtl_reservation_tbl(1),
                                                         p_original_serial_number => l_original_serial_number,
                                                         p_to_serial_number       =>   l_to_serial_number);
      徐冲 2013/12/31 更新保留
    219 11.0.0 INV 删除物料搬运单分配 API inv_mo_line_detail_util.delete_row        inv_mo_line_detail_util.delete_row(x_return_status  => l_return_status,
                                                 p_line_id        =>   p_move_order_line_id,
                                                 p_line_detail_id => p_transaction_temp_id);
      徐冲 2013/12/31 删除MO行
    220 12.1.3 XLA 创建事件 API xla_events_pub_pkg.create_event       罗建波 2014/1/2 XLA/事件/创建事件
    221 12.1.3 XLA 生成分录 API xla_accounting_pub_pkg.accounting_program_document       罗建波 2014/1/2 XLA/事件/生成分录
    222 12.1.3 XLA 删除分录 API xla_journal_entries_pkg.delete_journal_entries       罗建波 2014/1/2 XLA/事件/删除分录
    223 12.1.3 GL 预算检查 API xla_je_funds_checker_pkg.check_funds       罗建波 2014/1/2 GL/预算/预算检查
    224 12.1.3 GL 预算保留 API xla_je_funds_checker_pkg.reserve_funds       罗建波 2014/1/2 GL/预算/预算保留
    225 12.1.3 FA 获取资产折旧信息 API fa_query_balances_pkg.query_balances       罗建波 2014/1/2 FA
    226 12.1.3 FA 资产报废 API fa_retirement_pub.do_retirement       罗建波 2014/1/2 FA
    227 12.1.3 FA 资产转移 API fa_transfer_pub.do_transfer       罗建波 2014/1/2 FA
    228 12.x.x PO 接受数量 API rcv_invoice_matching_sv.get_quantities       赵杨 2014/1/7 PO/接收/数量
    229 12.1.3 AR 收款冲销 API ar_receipt_api_pub.reverse    --初始化
            fnd_global.apps_initialize(user_id        => 1134,
                                       resp_id      => 50706,
                                       resp_appl_id => 222);
          mo_global.set_policy_context('S',   85);
         
         
          --p_reversal_category_code
          --select * from fnd_lookup_values where   lookup_type = 'REVERSAL_CATEGORY_TYPE'
         
          --p_reversal_reason_code
          --select * from fnd_lookup_values   where lookup_type = 'CKAJST_REASON'
       
          --冲销
          ar_receipt_api_pub.reverse( --   Standard API parameters.
                                       p_api_version      =>   1.0,
                                       p_init_msg_list    =>   fnd_api.g_true,
                                       p_commit           =>   fnd_api.g_false,
                                       p_validation_level => fnd_api.g_valid_level_full,
                                       x_return_status    =>   l_return_status,
                                     x_msg_count        => l_msg_count,
                                       x_msg_data         =>   l_msg_data,
                                     --   Receipt reversal related parameters
                                       p_cash_receipt_id        =>   1000,
                                       p_receipt_number         =>   'TEST_20131231_01',
                                       p_reversal_category_code => 'REV',
                                       p_reversal_category_name => 'Reverse Payment',
                                       p_reversal_gl_date       =>   to_date('20131231',
                                                                           'YYYYMMDD'),
                                       p_reversal_date          =>   to_date('20131231',
                                                                           'YYYYMMDD'),
                                       p_reversal_reason_code   =>   'PAYMENT REVERSAL',
                                       p_reversal_reason_name   =>   'Payment Reversal',
                                       p_reversal_comments      =>   'API TEST api test',
                                       p_called_from            =>   NULL,
                                       --p_attribute_rec           IN   attribute_rec_type DEFAULT attribute_rec_const,
                                       --p_global_attribute_rec    IN   global_attribute_rec_type_upd DEFAULT global_attribute_rec_upd_cons
                                       --p_global_attribute_rec    IN   global_attribute_rec_type DEFAULT global_attribute_rec_const  ,
                                       p_cancel_claims_flag => 'Y',
                                     p_org_id             => 85);
       
          IF l_return_status <>   fnd_api.g_ret_sts_success THEN
            dbms_output.put_line('Error');
              dbms_output.put_line(fnd_msg_pub.count_msg);
            FOR i IN 1 ..   fnd_msg_pub.count_msg LOOP
              fnd_msg_pub.get(p_msg_index     => i,
                              p_encoded       => fnd_api.g_false,
                              p_data          => l_msg_data,
                              p_msg_index_out   => l_msg_index);
              lv_message := lv_message ||   l_msg_data;
            END LOOP;
              dbms_output.put_line(lv_message);
          ELSE
            dbms_output.put_line('Ok');
          END IF;
      苏联章 2014/1/16 AR/收款/冲销
    230 12.x.x BOM 判断工作日 API bom_calendar_api_bk       赵杨 2014/1/16 工作日
    231 12.x.x PJM 创建seiban API pjm_seiban_pub.create_seiban   pjm_seiban_pub.create_seiban(p_api_version    => 1.0,
       
                                                   p_commit         => fnd_api.g_false,
       
                                                   x_return_status  =>   return_status,
       
                                                   x_msg_count      =>   msg_count,
       
                                                   x_msg_data       => msg_data,
       
                                                   p_seiban_number  =>   l_project_number,
       
                                                   p_seiban_name    =>   l_project_name,
       
                                                   p_operating_unit => fnd_profile.value('ORG_ID'),
       
                                                   p_planning_group => '',
       
                                                   p_dff            =>   dff,
       
                                                   p_org_list       =>   orglisttbl,
       
                                                   x_project_id     =>   p_project_id);
       
      赵杨 2014/2/24 PJM/SEIBAN
    232 12.x.x PJM 更新计划组 API pjm_project_param_pub.update_planning_group   pjm_project_param_pub.update_planning_group(p_api_version    => 1.0,
       
                                                                  p_init_msg_list  =>   fnd_api.g_false,
       
                                                                  p_commit         =>   fnd_api.g_false,
       
                                                                  x_return_status  =>   return_status,
       
                                                                  x_msg_count      =>   msg_count,
       
                                                                  x_msg_data       =>   msg_data,
       
                                                                  p_project_id     =>   p_project_id,
       
                                                                  p_planning_group => l_planning_group);
       
      赵杨 2014/2/24 PJM/计划组/更新
    233 12.x.x FND 设置并发请求对用户隐藏 API fnd_request.set_options   l_req_opts   := fnd_request.set_options(implicit => 'YES');   赵杨 2014/3/11 FND/并发/隐藏
    234 12.x.x FND 创建用户 API fnd_user_pkg.createuser   fnd_user_pkg.createuser   (
          x_user_name                 =>'test_user',
          x_owner                      =>'seed',
          x_unencrypted_password       =>'12345');
      苏联章 2014/8/8 FND/用户/创建
    235 12.x.x FND 更新用户 API fnd_user_pkg.updateuser   fnd_user_pkg.UpdateUser   (   苏联章 2014/8/8 FND/用户/更新
    236 12.x.x FND 创建用户party API fnd_user_pkg.createuserparty     x_user_name                 =>'test_user',   苏联章 2014/8/8 FND/用户/创建PARTY
    237 12.x.x FND 失效用户 API fnd_user_pkg.disableuser     x_owner                      =>'seed', 失效时间为sysdate 苏联章 2014/8/8 FND/用户/失效用户
    238 12.x.x FND 失效/启用用户 API fnd_user_pkg.EnableUser     x_unencrypted_password       =>'12345'); start_date默认sysdate,end_date默认空 苏联章 2014/8/8 FND/用户/失效用户/启用用户
    239 12.x.x FND 验证用户是否登录 API fnd_user_pkg.validatelogin   fnd_user_pkg.validatelogin(username   =>'test_user',
                                     password   =>'12345');
    返回boolean 苏联章 2014/8/8 FND/用户/验证用户登录
    240 12.x.x FND 更改密码 API fnd_user_pkg.changepassword   fnd_user_pkg.changepassword(username      =>'test_user',
                                      newpassword     =>'12345');
                                                   
        fnd_user_pkg.changepassword(username        =>'test_user',
                                      oldpassword   =>'abcd'
                                      newpassword   =>'12345');
    返回boolean 苏联章 2014/8/8 FND/用户/更改密码
    241 12.x.x FND 验证用户是否存在 API fnd_user_pkg.userexists   fnd_user_pkg.userexists   (x_user_name =>'test_user') 返回boolean 苏联章 2014/8/8 FND/用户/验证存在
    242 12.x.x HR 创建员工特殊信息 API hr_sit_api.create_sit   BEGIN
                  hr_sit_api.create_sit(p_validate                  => FALSE,
                                        p_person_id                   => l_intf_rec.person_id,
                                        p_business_group_id           => l_intf_rec.business_group_id,
                                        p_id_flex_num                 => l_intf_rec.id_flex_num,
                                      p_effective_date            => l_date_dummy,
                                        p_comments                    => l_intf_rec.comments,
                                        p_date_from                   => l_intf_rec.date_from,
                                        p_date_to                     => l_intf_rec.date_to,
                                        p_request_id                  => l_intf_rec.request_id,
                                        p_program_application_id      => l_intf_rec.program_application_id,
                                        p_program_id                  => l_intf_rec.program_id,
                                        p_program_update_date         => l_intf_rec.program_update_date,
                                        p_segment1                    => l_intf_rec.segment1,
                                        p_segment2                    => l_intf_rec.segment2,
                                        p_segment3                  =>   l_intf_rec.segment3,
                                        p_segment4                    => l_intf_rec.segment4,
                                        p_segment5                    => l_intf_rec.segment5,
                                        p_segment6                    => l_intf_rec.segment6,
                                        p_segment7                    => l_intf_rec.segment7,
                                        p_segment8                    => l_intf_rec.segment8,
                                        p_segment9                    => l_intf_rec.segment9,
                                        p_segment10                   => l_intf_rec.segment10,
                                        p_segment11                   => l_intf_rec.segment11,
                                        p_segment12                   => l_intf_rec.segment12,
                                        p_segment13                   => l_intf_rec.segment13,
                                        p_segment14                   => l_intf_rec.segment14,
                                        p_segment15                   => l_intf_rec.segment15,
                                        p_segment16                   => l_intf_rec.segment16,
                                        p_segment17                   => l_intf_rec.segment17,
                                        p_segment18                   => l_intf_rec.segment18,
                                        p_segment19                   => l_intf_rec.segment19,
                                        p_segment20                   => l_intf_rec.segment20,
                                        p_segment21                   => l_intf_rec.segment21,
                                        p_segment22                   => l_intf_rec.segment22,
                                        p_segment23                   => l_intf_rec.segment23,
                                        p_segment24                   => l_intf_rec.segment24,
                                        p_segment25                   => l_intf_rec.segment25,
                                        p_segment26                   => l_intf_rec.segment26,
                                        p_segment27                   => l_intf_rec.segment27,
                                        p_segment28                   => l_intf_rec.segment28,
                                        p_segment29                   => l_intf_rec.segment29,
                                        p_segment30                   => l_intf_rec.segment30,
                                        p_analysis_criteria_id        => l_intf_rec.analysis_criteria_id,
                                        p_person_analysis_id          => l_intf_rec.person_analysis_id,
                                        p_pea_object_version_number => l_intf_rec.pea_object_version_number);
             
                IF   l_intf_rec.analysis_criteria_id IS NOT NULL AND
                     l_intf_rec.person_analysis_id IS NOT NULL AND
                     l_intf_rec.pea_object_version_number IS NOT NULL THEN
                  l_intf_rec.process_status   := cux_hr_utl.g_ps_complete;
                ELSE
                  l_err_cnt                  := l_err_cnt + 1;
                  l_intf_rec.process_status  := cux_hr_utl.g_ps_error;
                  l_intf_rec.process_message   := 'Unexception Error';
                END IF;
             
              EXCEPTION
                WHEN OTHERS THEN
                  l_err_cnt                  := l_err_cnt + 1;
                    l_intf_rec.process_status  :=   cux_hr_utl.g_ps_error;
                  l_intf_rec.process_message   := REPLACE(dbms_utility.format_error_backtrace ||
                                                          dbms_utility.format_error_stack,
                                                          chr(10),
                                                          ';');
              END;
      苏联章 2014/9/15 HR/人员特殊信息/创建
    243 12.x.x HR 更新员工特殊信息 API hr_sit_api.update_sit       苏联章 2014/9/15 HR/人员特殊信息/更新
    244 12.x.x HR 删除员工特殊信息 API hr_sit_api.delete_sit       苏联章 2014/9/15 HR/人员特殊信息/删除
    245 12.x.x HR 根据HR职位弹性域生成职位名称 API hr_position_api.regenerate_position_name       苏联章 2014/9/15 HR/职位/生成名称
    246 12.x.x HR 更新HR职位 API hr_position_api.update_position       苏联章 2014/9/15 HR/职位/更新
    247 12.x.x HR 删除HR职位 API hr_position_api.delete_position       苏联章 2014/9/15 HR/职位/删除
    248 12.x.x HR 创建员工电话信息 API hr_phone_api.create_phone       苏联章 2014/9/15 HR/员工电话/创建
    249 12.x.x HR 创建或更新员工电话信息 API hr_phone_api.create_or_update_phone     This   API updates the phone record if exists, else creates a new phone 苏联章 2014/9/15 HR/员工电话/创建更新
    250 12.x.x HR 创建员工类型使用 API hr_person_type_usage_api.create_person_type_usage       苏联章 2014/9/15 HR/员工类型使用/创建
    251 12.x.x HR 检查员工类型使用 API hr_person_type_usage_api.check_person_type       苏联章 2014/9/15 HR/员工类型使用/检查
    252 12.x.x FND 获取系统session时间 API dt_fndate.get_dates     与HR   DateTrack有关 苏联章 2014/9/15 FND/HR/时间
    253 12.x.x FND 更改系统session时间 API dt_fndate.change_ses_date     与HR   DateTrack有关 苏联章 2014/9/15 FND/HR/session时间
    254 12.x.x FND 更改系统session有效时间 API dt_fndate.set_effective_date     与HR   DateTrack有关 苏联章 2014/9/15 FND/HR/effective_date
    255 12.x.x HR 创建人员分配 API hr_assignment_api.create_secondary_emp_asg     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/员工分配/创建
    256 12.x.x HR 创建HR组织 API hr_organization_api.create_organization     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/HR组织/创建
    257 12.x.x HR 创建HR组织分类明细 API hr_organization_api.create_org_classification     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/HR组织分类明细/创建
    258 12.x.x HR 启用HR组织分类明细 API hr_organization_api.enable_org_classification     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/HR组织分类明细/启用
    259 12.x.x HR 失效HR组织分类明细 API hr_organization_api.disable_org_classification     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/HR组织分类明细/失效
    260 12.x.x HR 创建业务组 API hr_organization_api.create_business_group     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/业务组/创建
    261 12.x.x HR 创建业务实体 API hr_organization_api.create_operating_unit     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/业务实体/创建
    262 12.x.x HR 创建法律实体 API hr_organization_api.create_legal_entity     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/法律实体/创建
    263 12.x.x HR 创建HR组织层次结构/父组织 API hr_hierarchy_element_api.create_hierarchy_element     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/HR组织层次/HR父组织/创建
    264 12.x.x HR 创建用户表定义 API pay_user_table_api.create_user_table     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/用户表定义/创建
    265 12.x.x HR 创建用户表列 API pay_user_column_api.create_user_column     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/用户表列/创建
    266 12.x.x HR 创建用户表行 API pay_user_row_api.create_user_row     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/用户表行/创建
    267 12.x.x HR 创建用户表结构值 API pay_user_column_instance_api.create_user_column_instance     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/用户表结构值/创建
    268 12.x.x HR 创建员工缺勤 API hr_person_absence_api.create_person_absence     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/员工缺勤/创建
    269 12.x.x HR 更新雇佣时间信息(终止雇佣) API hr_periods_of_service_api.update_pds_details     注意:这个API并没有使员工离职,离职需要再执行hr_ex_employee_api.actual_termination_emp   和 hr_ex_employee_api.final_process_emp 苏联章 2014/9/15 HR/员工雇佣时间信息/更新/终止雇佣
    270 12.x.x HR 员工离职最终处理 API hr_ex_employee_api.final_process_emp     员工离职操作:以此执行   hr_periods_of_service_api.update_pds_details   然后hr_ex_employee_api.actual_termination_emp   然后hr_ex_employee_api.final_process_emp 苏联章 2014/9/15 HR/员工离职/最终处理
    271 12.x.x HR 创建员工合同信息 API hr_contract_api.create_contract     注意effective_date对应HR   DateTrack Date 苏联章 2014/9/15 HR/员工合同/创建
    272 12.x.x INV 创建类别组合 API inv_item_category_pub.create_category   Declare
        v_category_rec    inv_item_category_pub.category_rec_type;
        begin
        v_category_rec              :=   NULL;
            v_category_rec.structure_id :=   50369;
            v_category_rec.summary_flag :=   'N';
            v_category_rec.enabled_flag :=   'Y';
            v_category_rec.segment1     := l_segment1;
            v_category_rec.segment2     := '000';
            v_category_rec.description  := p_category_description;
            -- Calling the api to create   category --
            inv_item_category_pub.create_category(p_api_version   => 1.0,
                                                    p_init_msg_list => fnd_api.g_true,
                                                    p_commit        =>   fnd_api.g_false,
                                                    x_return_status => x_return_status,
                                                    x_errorcode     =>   v_errorcode,
                                                    x_msg_count     =>   v_msg_count,
                                                    x_msg_data      =>   x_msg_data,
                                                    p_category_rec  =>   v_category_rec,
                                                    x_category_id   =>   v_category_id --returns category id
                                                    );
        End;
       
      赵杨 2014/10/7 INV/类别/创建类别组合
    273 12.x.x FND 取独立值集上限定词的说明 API fnd_flex_val_util.vtv_to_display_value     取独立值集上限定词的说明,谁有通用的取值方法 赵杨 2014/10/7 FND/值集/限定词说明
    274 12.x.x PO 获取物料采购模块的默认类别集 API po_core_s.get_item_category_structure   DECLARE
          a NUMBER;
          b NUMBER;
        BEGIN
            po_core_s.get_item_category_structure(x_category_set_id => a,
                                                  x_structure_id    =>   b);
          dbms_output.put_line(a || '->'   || b);
        END;
      赵杨 2014/10/7 PO/物料/默认类别集
    275 12.x.x AP 获取采购接收事务处理各种数量 API ap_matching_utils_pkg.get_receipt_quantities   AP_MATCHING_UTILS_PKG.Get_receipt_Quantities(
                                  X_rcv_transaction_id,
                                  l_ordered_qty,
                                  l_cancelled_qty,
                                  l_received_qty,
                                  l_corrected_qty,
                                  l_delivered_qty,
                                  l_transaction_qty,
                                l_billed_qty,
                                  l_accepted_qty,
                                  l_rejected_qty);
      赵杨 2014/10/7 AP/采购事物处理/数量
    276 12.x.x FND 统计数据收集 API fnd_stats.gather_table_stats     请求:统计数据收集表或统计数据收集模式 赵杨 2014/10/7 FND/统计数据收集
    277 12.2.4 EAM 创建、更新工作单创建、更新工序创建、更新物料需求创建、更新直接物料创建、更新工作单资源创建、更新资源实例 API eam_process_wo_pub.process_wo eam_process_wo_pub.eam_wo_rec_type;eam_process_wo_pub.eam_op_rec_type;eam_process_wo_pub.eam_mat_req_rec_type;   eam_process_wo_pub.eam_res_rec_type;eam_process_wo_pub.eam_res_inst_rec_type; eam_process_wo_pub.process_wo(p_bo_identifier        => 'EAM',
                                              p_api_version_number   => '1.0',
                                              p_init_msg_list        =>   FALSE,
                                              p_commit               =>   'N',
                                              p_eam_wo_rec           =>   l_eam_wo_rec,
                                              p_eam_op_tbl           =>   l_eam_op_tbl,
                                              p_eam_op_network_tbl   =>   l_eam_op_network_tbl,
                                              p_eam_res_tbl          =>   l_eam_res_tbl,
                                              p_eam_res_inst_tbl     =>   l_eam_res_inst_tbl,
                                              p_eam_sub_res_tbl      =>   l_eam_sub_res_tbl,
                                              p_eam_res_usage_tbl    =>   l_eam_res_usage_tbl,
                                              p_eam_mat_req_tbl      =>   l_eam_mat_req_tbl,
                                              p_eam_direct_items_tbl => l_eam_direct_items_tbl,
                                              x_eam_wo_rec           =>   x_eam_wo_rec,
                                              x_eam_op_tbl           =>   x_eam_op_tbl,
                                              x_eam_op_network_tbl   =>   x_eam_op_network_tbl,
                                              x_eam_res_tbl          =>   x_eam_res_tbl,
                                              x_eam_res_inst_tbl     =>   x_eam_res_inst_tbl,
                                              x_eam_sub_res_tbl      => x_eam_sub_res_tbl,
                                              x_eam_res_usage_tbl    =>   x_eam_res_usage_tbl,
                                              x_eam_mat_req_tbl      =>   x_eam_mat_req_tbl,
                                              x_eam_direct_items_tbl => x_eam_direct_items_tbl,
                                              x_return_status        =>   x_return_status,
                                              x_msg_count            =>   x_msg_count,
                                              p_debug                => 'N'   --'Y',
                                           --   p_output_dir           => '/usr/tmp',
                                           --   p_debug_filename       => 'CUX_EAM_WO_DEBUG.log',
                                         --   p_debug_file_mode      => 'w'
                                              );
      蒋金玲 2015/1/17 工作单创建/工作单更新
    278 12.2.4 EAM 工序完工 API eam_op_comp.op_comp   l_actual_duration   := p_actual_start_date - p_actual_end_date;
              eam_op_comp.op_comp(x_err_code            => x_msg_count,
                                  x_err_msg             =>   x_msg_data,
                                  p_wip_entity_id       =>   p_wip_entity_id,
                                  p_operation_seq_num   =>   p_operation_seq_num,
                                  p_transaction_type    =>   1,
                                  p_transaction_date    =>   SYSDATE,
                                  p_actual_start_date   =>   p_actual_start_date,
                                  p_actual_end_date     =>   p_actual_end_date,
                                  p_actual_duration     =>   l_actual_duration,
                                  p_shutdown_start_date => NULL,
                                  p_shutdown_end_date   =>   NULL,
                                  p_reconciliation_code => NULL,
                                  p_qa_collection_id    =>   NULL);
      蒋金玲 2015/1/17 工序完工
    279 12.2.4 EAM 工作单完工 API eam_completion.complete_work_order   l_actual_duration   := l_actual_start_date -   l_actual_end_date;
           
                eam_completion.complete_work_order(x_wip_entity_id       => l_wip_entity_id,
                                                   x_rebuild_jobs        =>   'N',
                                                   x_transaction_type    =>   1,
                                                   x_transaction_date    =>   SYSDATE,
                                                   x_user_id             =>   l_user_id,
                                                   x_actual_start_date   =>   l_actual_start_date,
                                                   x_actual_end_date     =>   l_actual_end_date,
                                                   x_actual_duration     =>   l_actual_duration,
                                                   x_shutdown_start_date => l_shutdown_start_date,
                                                   x_shutdown_end_date   =>   l_shutdown_end_date,
                                                   errcode               =>   x_msg_count,
                                                   errmsg                =>   x_msg_data);
      蒋金玲 2015/1/17 工作单完工
    280 12.2.4 EAM 创建、更新工作单故障信息 API eam_process_failure_entry_pub.process_failure_entry l_eam_failure_entry_record    eam_process_failure_entry_pub.eam_failure_entry_record_typ;
            l_eam_failure_codes_tbl_typ   eam_process_failure_entry_pub.eam_failure_codes_tbl_typ;
    eam_process_failure_entry_pub.process_failure_entry(p_api_version              => 1.0,
                                                                      p_init_msg_list            =>   fnd_api.g_true,
                                                                      p_commit                   =>   fnd_api.g_false,
                                                                      p_eam_failure_entry_record => l_eam_failure_entry_record,
                                                                      p_eam_failure_codes_tbl    =>   l_eam_failure_codes_tbl_typ,
                                                                      x_return_status            =>   x_return_status,
                                                                      x_msg_count                =>   x_msg_count,
                                                                      x_msg_data                 =>   x_msg_data,
                                                                      x_eam_failure_entry_record => x_eam_failure_entry_record,
                                                                      x_eam_failure_codes_tbl    =>   x_eam_failure_codes_tbl_typ);
      蒋金玲 2015/1/17 工作单故障创建/工作单故障更新
    281 12.2.4 EAM 资源事务处理 接口 wip_cost_txn_interface;wip_txn_interface_errors; l_iface_rec        wip.wip_cost_txn_interface%ROWTYPE;     蒋金玲 2015/1/17 资源事务处理
    282 12.2.4 EAM 创建工作单父子关系 API eam_process_wo_pub.process_master_child_wo l_eam_wo_relations_rec   eam_process_wo_pub.eam_wo_relations_rec_type; l_eam_wo_relations_rec.parent_object_id         :=    rec_int.parent_wo_id;
                l_eam_wo_relations_rec.parent_object_type_id    := 1;
                l_eam_wo_relations_rec.child_object_id          := rec_int.parent_wo_id;
                l_eam_wo_relations_rec.child_object_type_id     := 1;
                l_eam_wo_relations_rec.parent_relationship_type :=   rec_int.relation_type;
                l_eam_wo_relations_rec.relationship_status      := 2;
                l_eam_wo_relations_rec.transaction_type         :=   eam_process_wo_pvt.g_opr_create;
           
              l_eam_wo_relations_tbl(1) :=   l_eam_wo_relations_rec;
           
                eam_process_wo_pub.process_master_child_wo(p_eam_wo_relations_tbl   => l_eam_wo_relations_tbl,
                                                           p_eam_wo_tbl           =>   l_eam_wo_tbl,
                                                           p_eam_op_tbl           =>   l_eam_op_tbl,
                                                           p_eam_op_network_tbl   =>   l_eam_op_network_tbl,
                                                           p_eam_res_tbl          =>   l_eam_res_tbl,
                                                           p_eam_res_inst_tbl     =>   l_eam_res_inst_tbl,
                                                           p_eam_sub_res_tbl      =>   l_eam_sub_res_tbl,
                                                           p_eam_mat_req_tbl      =>   l_eam_mat_req_tbl,
                                                           p_eam_direct_items_tbl => l_eam_direct_items_tbl,
                                                           x_eam_wo_tbl           =>   x_eam_wo_tbl,
                                                           x_eam_wo_relations_tbl => x_eam_wo_relations_tbl,
                                                           x_eam_op_tbl           =>   x_eam_op_tbl,
                                                           x_eam_op_network_tbl   =>   x_eam_op_network_tbl,
                                                           x_eam_res_tbl          =>   x_eam_res_tbl,
                                                           x_eam_res_inst_tbl     =>   x_eam_res_inst_tbl,
                                                           x_eam_sub_res_tbl      =>   x_eam_sub_res_tbl,
                                                           x_eam_mat_req_tbl      =>   x_eam_mat_req_tbl,
                                                           x_eam_direct_items_tbl => x_eam_direct_items_tbl,
                                                           x_return_status        =>   x_return_status,
                                                           x_msg_count            =>   x_msg_count);
      蒋金玲 2015/1/17 工作单父子关系创建
    283 12.2.4 EAM 创建、更新工作请求 API wip_eam_workrequest_pub.work_request_import l_wip_eam_rec     wip_eam_work_requests%ROWTYPE; l_wip_eam_rec.asset_number             := l_asset_number;
              l_wip_eam_rec.asset_group              := l_asset_group_id;
                l_wip_eam_rec.organization_id            := rec_request.organization_id;
                l_wip_eam_rec.work_request_status_id     := rec_request.wr_status;
                l_wip_eam_rec.work_request_priority_id :=   rec_request.wr_priority;
              l_wip_eam_rec.work_request_owning_dept   := rec_request.department_id;
                l_wip_eam_rec.work_request_type_id       := rec_request.wr_type;
              l_wip_eam_rec.created_for              :=   get_user_id(rec_request.creation_person_id);
              l_wip_eam_rec.phone_number             :=   rec_request.contact_tel;
              l_wip_eam_rec.e_mail                   :=   rec_request.contact_email;
              l_wip_eam_rec.contact_preference       := NULL;
                l_wip_eam_rec.notify_originator          := NULL;
              l_wip_eam_rec.description              :=   rec_request.wr_description;
              l_wip_eam_rec.attribute1               := rec_request.person_id;
           
              IF l_work_request_id IS NOT   NULL THEN
                l_mode                        := 'UPDATE';
                l_wip_eam_rec.work_request_id   := l_work_request_id;
              ELSE
                l_mode                                 :=   'CREATE';
                  l_wip_eam_rec.expected_resolution_date := SYSDATE;
              END IF;
           
                wip_eam_workrequest_pub.work_request_import(p_api_version      => 1.0,
                                                            p_init_msg_list    =>   fnd_api.g_true,
                                                            p_commit           =>   fnd_api.g_false,
                                                            p_validation_level => fnd_api.g_valid_level_full,
                                                            x_return_status    =>   x_return_status,
                                                            x_msg_count        =>   x_msg_count,
                                                            x_msg_data         =>   x_msg_data,
                                                            p_mode             => l_mode,   --CREATE OR UPDATE
                                                            p_work_request_rec => l_wip_eam_rec,   --WIP_EAM_WORK_REQUESTS%ROWTYPE
                                                            p_request_log      =>   l_wip_eam_rec.description, --description
                                                            p_user_id          =>   l_wip_eam_rec.created_for,
                                                            x_work_request_id  =>   x_work_request_id);
    请求编号不能更新,编号跟id一致 蒋金玲 2015/1/17 工作请求创建/工作请求更新
    284 12.2.4 EAM 工作请求分配工作单 API eam_assign_work_pvt.assign_work       eam_assign_work_pvt.assign_work(p_api_version      => 1.0,
                                                  p_init_msg_list    =>   fnd_api.g_true,
                                                  p_commit           =>   fnd_api.g_true,
                                                  p_validation_level => fnd_api.g_valid_level_full,
                                                  x_return_status    =>   x_return_status,
                                                  x_msg_count        =>   x_msg_count,
                                                  x_msg_data         =>   x_msg_data,
                                                 
                                                  p_wip_entity_id => l_wip_entity_id,
                                                  p_req_type      => 1,
                                                  p_req_num       =>   l_work_request_id,
                                                  p_req_id        =>   l_work_request_id);
      蒋金玲 2015/1/17 工作单父子关系创建
    285 12.2.4 EAM 创建、更新物料清单 API bom_bo_pub.process_bom l_bom_header_rec         bom_bo_pub.bom_head_rec_type;
            l_bom_component_tbl      bom_bo_pub.bom_comps_tbl_type;
        蒋金玲 2015/1/17 物料清单创建/物料清单更新
    286 12.2.4 EAM 创建、更新活动工艺路线 API bom_rtg_pub.process_rtg l_rtg_header_rec   bom_rtg_pub.rtg_header_rec_type;
            l_operation_tbl    bom_rtg_pub.operation_tbl_type;
            l_op_resource_tbl  bom_rtg_pub.op_resource_tbl_type;
        蒋金玲 2015/1/17 活动工艺路线创建/活动工艺路线更新
    287 12.2.4 QA 创建qa计划 API qa_plans_pub.create_collection_plan       蒋金玲 2015/1/17 qa/计划
    288 12.2.4 QA 创建计划要素 API qa_plans_pub.add_plan_element       蒋金玲 2015/1/17 qa/计划要素
    289 12.2.4 QA 创建质量结果 接口 qa_results_interface;qa_interface_errors; l_iface_rec          qa_results_interface%ROWTYPE;     蒋金玲 2015/1/17 qa/质量结果
    290 12.1.2 FND 删除FNDLOAD中出错的安装对象,如菜单项下的功能提示带空格移植上去之后无法修改对应的提示,报错:FRM-40657   : 已更改记录或由另一用户删除 API fnd_menu_entries_pkg.delete_row   DECLARE
          l_function_name  VARCHAR2(32767) := 'CUX_CST_DIM_ACC';
          l_function_id    NUMBER;
          l_menu_name      VARCHAR2(32767) :=   'CUX_CST_DIMENSION_SETUP';
          l_menu_id        NUMBER;
          l_entry_sequence NUMBER;
       
        BEGIN
          SAVEPOINT delete_function;
          BEGIN
            SELECT fme.menu_id,   fme.entry_sequence
              INTO l_menu_id,   l_entry_sequence
              FROM fnd_menu_entries fme,   fnd_menus fm, fnd_form_functions fff
             WHERE fm.menu_name =   l_menu_name
               AND fm.menu_id =   fme.menu_id
               AND fme.function_id =   fff.function_id
               AND fff.function_name =   l_function_name;
          EXCEPTION
            WHEN no_data_found THEN
              NULL;
          END;
          IF l_menu_id IS NOT NULL AND   l_entry_sequence IS NOT NULL THEN
              fnd_menu_entries_pkg.delete_row(x_menu_id        => l_menu_id,
                                              x_entry_sequence => l_entry_sequence);
          END IF;
        EXCEPTION
          WHEN OTHERS THEN
            ROLLBACK TO   delete_function;
        END;
        / COMMIT;
       
    另,fnd_form_pkg、fnd_form_functions_pkg可用于更改对应的表单与功能定义 朱志瑜 2015/1/17 删除菜单定义下的功能项
    291 12.x.x FND 表数据量发生巨大变化时,对表进行收集 API dbms_stats.gather_table_stats    BEGIN
            dbms_stats.gather_table_stats('CUX','CUX_PUR_OUT_PMC_INT',cascade=>true);
        END;
      李定峰 2015/1/17 统计数据收集表
    292 12.x.x FND 批量授权某一职责给特定用户 API fnd_user_resp_groups_api.assignment_exists
        fnd_user_resp_groups_api.update_assignment
      DECLARE
         l_num_dummy NUMBER;
         userid      NUMBER;
         respid      NUMBER;
         appid       NUMBER;
         secid       NUMBER;
         startdate   DATE;
       
        BEGIN
       
       
         SELECT fu.user_id,
             frv.responsibility_id,
             frv.application_id,
             furg.security_group_id,
             furg.start_date
          INTO userid,
             respid,
             appid,
             secid,
             startdate
          FROM fnd_user                    fu,
             fnd_user_resp_groups_direct furg,
             fnd_responsibility_vl       frv
          WHERE 1 = 1
           AND fu.user_id = furg.user_id
           AND furg.responsibility_id =   frv.responsibility_id
           AND fu.start_date <=   SYSDATE
           AND nvl(fu.end_date, SYSDATE + 1)   > SYSDATE
           AND frv.start_date <=   SYSDATE
           AND nvl(frv.end_date, SYSDATE + 1)   >= SYSDATE
           AND fu.user_name = 'BZHAO'
           AND frv.responsibility_name =   '801_USA_Payables User';
       
       
         IF   (fnd_user_resp_groups_api.assignment_exists(userid,
                                   respid,
                                 appid,
                                 secid))   THEN
          dbms_output.put_line('Disable user   responsibility');
            fnd_user_resp_groups_api.update_assignment(user_id                       => userid,
                                  responsibility_id               => respid,
                                  responsibility_application_id => appid,
                                  security_group_id               => secid,
                                start_date                    => startdate,
                                end_date                      => SYSDATE -   2,
                                  description                     => NULL);
         END IF;
       
        EXCEPTION
         WHEN OTHERS THEN
          dbms_output.put_line('Error Msg: '   || SQLERRM);
        END;
       
      李定峰 2015/1/17 职责   批量授权
    293 12.1.3 OM 新建/更新价目表 API qp_price_list_pub.Process_Price_List       钟建明 2015/1/17 OM/价目表/更新
    294 12.1.3 HR 创建课程类别 API ota_category_usage_api.create_category   创建类别
          PROCEDURE   create_category(x_return_status        OUT VARCHAR2,
                                      x_msg_date           OUT   VARCHAR2,
                                      p_class_group        IN   VARCHAR2,
                                      x_parent_category_id OUT NUMBER,
                                      x_category_id        OUT NUMBER)   IS
            l_year_category         VARCHAR2(100);
            l_object_version_number   NUMBER;
          BEGIN
            x_return_status := 'S';
         
            --检查班组下是否存在 专项技能培训
            x_parent_category_id :=   check_category_exists(p_class_group, g_category);
            IF x_parent_category_id IS NULL   THEN
              x_return_status := 'E';
              x_msg_date      := p_class_group || ' 下不存在 ' ||   g_category;
              RETURN;
            END IF;
         
            --检查对应的班组下的   专项技能培训计划下是否存在年度专项技能培训
            l_year_category := g_year ||   g_category;
            BEGIN
              SELECT   t.category_usage_id
                INTO x_category_id
                FROM ota_category_usages   t
               WHERE t.category =   l_year_category
                 AND t.business_group_id =   g_business_group_id
                 AND t.parent_cat_usage_id =   x_parent_category_id;
            EXCEPTION
              WHEN OTHERS THEN
                x_category_id := NULL;
            END;
         
            IF x_category_id IS NOT NULL   THEN
              --如果已经存在则直接返回
              RETURN;
            ELSE
              --如果不存在年度专项技能培训则创建
              ota_category_usage_api.create_category(p_validate              => FALSE,
                                                       p_effective_date        =>   g_start_date,
                                                       p_business_group_id     =>   g_business_group_id,
                                                       p_category              =>   l_year_category,
                                                       p_type                  =>   'C',
                                                       p_description           =>   l_year_category,
                                                       p_parent_cat_usage_id   =>   x_parent_category_id,
                                                       p_synchronous_flag      =>   NULL,
                                                       p_start_date_active     =>   trunc(SYSDATE),
                                                       p_end_date_active       =>   g_year_end_date,
                                                       p_category_usage_id     =>   x_category_id,
                                                       p_object_version_number => l_object_version_number);
           
            END IF;
          EXCEPTION
            WHEN OTHERS THEN
              x_category_id   := NULL;
              x_return_status := 'N';
              x_msg_date      := '创建类别:' || SQLERRM;
          END create_category;
      刘宗 2015/1/17 HR/课程类别/创建
    295 12.1.3 HR 创建课程 API ota_activity_version_api.create_activity_version
        ota_activity_category_api.create_act_cat_inclusion
      PROCEDURE   create_activity_version(x_return_status         OUT NOCOPY VARCHAR2,
                                              x_msg_data            OUT NOCOPY   VARCHAR2,
                                              x_activity_version_id OUT NUMBER,
                                              p_category_id         IN   NUMBER,
                                              p_activity            IN   VARCHAR2) IS
            l_activity_id           NUMBER;
            l_object_version_number   NUMBER;
          BEGIN
            x_return_status := 'S';
         
            --检验类别
            BEGIN
              SELECT t.activity_id
                INTO l_activity_id
                FROM ota_activity_definitions   t
               WHERE t.business_group_id =   g_business_group_id
                 AND t.category_usage_id =   p_category_id;
            EXCEPTION
              WHEN OTHERS THEN
                x_return_status       := 'E';
                x_msg_data            := '类别:年度专项技能培训计划 不存在,请检查类别';
                x_activity_version_id :=   NULL;
                RETURN;
            END;
         
            --检验是否已存在课程
            BEGIN
              SELECT   tav.activity_version_id
                INTO   x_activity_version_id
                FROM ota_activity_versions   tav, ota_activity_versions_tl avt
               WHERE tav.activity_version_id   = avt.activity_version_id
                 AND avt.language =   'ZHS'
                 AND avt.version_name =   p_activity
                 AND tav.activity_id =   l_activity_id;
            EXCEPTION
              WHEN OTHERS THEN
                x_activity_version_id :=   NULL;
            END;
         
            --创建课程
            IF x_activity_version_id IS NULL   THEN
                ota_activity_version_api.create_activity_version(p_effective_date               => g_start_date,
                                                                 p_validate                       => FALSE,
                                                                 p_activity_id                    => l_activity_id,
                                                                 p_superseded_by_act_version_id => NULL,
                                                                 p_developer_organization_id      => g_business_group_id,
                                                                 p_controlling_person_id          => NULL,
                                                                 p_version_name                   => p_activity,
                                                                 p_comments                       => NULL,
                                                                 p_description                    => NULL,
                                                                 p_duration                       => NULL,
                                                                 p_duration_units                 => NULL,
                                                                 p_end_date                       => g_year_end_date,
                                                                 p_intended_audience              => NULL,
                                                                 p_language_id                    => NULL,
                                                                 p_maximum_attendees              => NULL,
                                                                 p_minimum_attendees              => NULL,
                                                                 p_objectives                     => NULL,
                                                                 p_start_date                     => g_start_date,
                                                                 p_success_criteria               => NULL,
                                                                 p_user_status                    => NULL,
                                                                 p_vendor_id                      => NULL,
                                                                 p_actual_cost                    => NULL,
                                                                 p_budget_cost                    => NULL,
                                                                 p_budget_currency_code           => 'CNY',
                                                                 p_expenses_allowed               => NULL,
                                                                 p_professional_credit_type       => NULL,
                                                                 p_professional_credits           => NULL,
                                                                 p_maximum_internal_attendees     => NULL,
                                                                 p_tav_information_category       => 'HD_COURSE_INFO',
                                                                 p_tav_information1               => '30',
                                                                 p_tav_information2               => '10',
                                                                 p_tav_information3               => '10',
                                                                 p_inventory_item_id              => NULL,
                                                                 p_organization_id                => NULL,
                                                                 p_rco_id                         => NULL,
                                                                 p_version_code                   => NULL,
                                                                 p_keywords                       => NULL,
                                                                 p_business_group_id              => g_business_group_id,
                                                                 p_activity_version_id            => x_activity_version_id,
                                                                 p_object_version_number          => l_object_version_number,
                                                                 p_data_source                    => 'OIL',
                                                                 p_competency_update_level        => NULL,
                                                                 p_eres_enabled                   => 'N');
           
              l_object_version_number :=   NULL;
              ota_activity_category_api.create_act_cat_inclusion(p_validate              => FALSE,
                                                                   p_effective_date        =>   g_start_date,
                                                                   p_activity_version_id   =>   x_activity_version_id,
                                                                   p_activity_category     =>   NULL,
                                                                   p_comments              =>   NULL,
                                                                   p_object_version_number => l_object_version_number,
                                                                   p_start_date_active     =>   g_start_date,
                                                                   p_end_date_active       =>   NULL,
                                                                   p_primary_flag          =>   'Y',
                                                                   p_category_usage_id     =>   p_category_id);
           
            END IF;
          EXCEPTION
            WHEN OTHERS THEN
              x_return_status := 'E';
              x_msg_data      := '创建课程:' || SQLERRM;
          END create_activity_version;
      刘宗 2015/1/17 HR/课程/创建
    296 12.1.3 HR 创建教程 API ota_offering_api.create_offering   PROCEDURE   create_offering(x_return_status         OUT VARCHAR2,
                                      x_msg_data            OUT   VARCHAR2,
                                      x_course_id           OUT   NUMBER,
                                      p_activity_version_id IN NUMBER,
                                      p_name                IN   VARCHAR2) IS
            l_object_version_number   NUMBER;
          BEGIN
            x_return_status := 'S';
            --检查教程是否已存在
            BEGIN
              SELECT ofr.offering_id
                INTO x_course_id
                FROM ota_offerings ofr,   ota_offerings_tl ofl
               WHERE ofr.offering_id =   ofl.offering_id
                 AND ofr.business_group_id =   g_business_group_id
                 AND ofl.language =   'ZHS'
                 AND ofl.name = p_name;
            EXCEPTION
              WHEN OTHERS THEN
                x_course_id := NULL;
            END;
         
            IF x_course_id IS NULL THEN
                ota_offering_api.create_offering(p_validate                   => FALSE,
                                                 p_effective_date               => SYSDATE,
                                                 p_business_group_id            => g_business_group_id,
                                                 p_name                         => p_name,
                                                 p_start_date                   => g_start_date,
                                                 p_activity_version_id          => p_activity_version_id,
                                                 p_end_date                     => g_year_end_date,
                                                 p_owner_id                     => NULL,
                                                 p_delivery_mode_id             => 2, --授课方式:ota_category_usages
                                                 p_language_id                  => NULL,
                                                 p_duration                     => NULL,
                                                 p_duration_units               => NULL,
                                                 p_learning_object_id           => NULL,
                                                 p_player_toolbar_flag          => NULL,
                                                 p_player_toolbar_bitset        => NULL,
                                                 p_player_new_window_flag       => NULL,
                                                 p_maximum_attendees            => NULL,
                                                 p_maximum_internal_attendees => NULL,
                                                 p_minimum_attendees            => NULL,
                                                 p_actual_cost                =>   NULL,
                                                 p_budget_cost                  => NULL,
                                                 p_budget_currency_code         => 'CNY',
                                                 p_price_basis                  => 'N',
                                                 p_currency_code                => NULL,
                                                 p_standard_price               => NULL,
                                                 p_offering_id                  => x_course_id,
                                                 p_object_version_number        => l_object_version_number,
                                                 p_data_source                  => 'OIL',
                                                 p_vendor_id                    => NULL,
                                                 p_description                  => NULL,
                                                 p_competency_update_level      => NULL,
                                                 p_language_code                => 'zh-CN');
           
            END IF;
          EXCEPTION
            WHEN OTHERS THEN
              x_return_status := 'E';
              x_msg_data      := '创建课程:' || SQLERRM;
          END create_offering;
      刘宗 2015/1/17 HR/教程创建
    297 12.1.3 HR 创建课 API ota_event_api.create_class   PROCEDURE   create_event(x_return_status     OUT   VARCHAR2,
                                   x_msg_data          OUT   VARCHAR2,
                                   x_event_id          OUT   NUMBER,
                                   p_active_version_id IN NUMBER,
                                   p_course_id         IN   NUMBER,
                                   p_event_name        IN VARCHAR2)   IS
            l_object_version_number   NUMBER;
          BEGIN
            x_return_status := 'S';
            --检查课是否存在
            BEGIN
              SELECT t.event_id
                INTO x_event_id
                FROM ota_events t
               WHERE t.activity_version_id =   p_active_version_id
                 AND t.business_group_id =   g_business_group_id
                 AND t.title =   p_event_name
                 AND t.parent_offering_id =   p_course_id;
            EXCEPTION
              WHEN OTHERS THEN
                x_event_id := NULL;
            END;
            debug('IN create_event');
            --创建课
            IF x_event_id IS NULL THEN
                ota_event_api.create_class(p_effective_date             => g_start_date,
                                           p_event_id                     => x_event_id,
                                           p_vendor_id                    => NULL,
                                           p_activity_version_id          => p_active_version_id,
                                           p_business_group_id            => g_business_group_id,
                                           p_organization_id              => g_business_group_id,
                                           p_event_type                   => 'SCHEDULED',
                                           p_object_version_number        => l_object_version_number,
                                           p_title                        => p_event_name,
                                           p_budget_cost                  => NULL,
                                           p_actual_cost                  => NULL,
                                           p_budget_currency_code         => 'CNY',
                                           p_centre                       => NULL,
                                           p_comments                     => NULL,
                                           p_course_end_date              => g_year_end_date,
                                           p_course_end_time              => NULL,
                                           p_course_start_date            => g_start_date,
                                           p_course_start_time            => NULL,
                                           p_duration                     => NULL,
                                           p_duration_units               => NULL,
                                           p_enrolment_end_date           => g_year_end_date,
                                           p_enrolment_start_date         => g_start_date,
                                           p_language_id                  => NULL,
                                           p_user_status                  => NULL,
                                           p_development_event_type       => NULL,
                                           p_event_status                 => 'N',
                                           p_price_basis                  => 'N',
                                           p_currency_code                => NULL,
                                           p_maximum_attendees            => NULL,
                                           p_maximum_internal_attendees => NULL,
                                           p_minimum_attendees            => NULL,
                                           p_standard_price               => NULL,
                                           p_category_code              =>   NULL,
                                           p_parent_event_id              => NULL,
                                           p_book_independent_flag        => 'N',
                                           p_public_event_flag            => 'N',
                                           p_secure_event_flag            => 'N',
                                           p_evt_information_category     => 'HD_TUTORIAL_INFO',
                                           p_evt_information1             => NULL,
                                           p_evt_information2             => '4',
                                           p_evt_information3             => '45',
                                           p_project_id                   => NULL,
                                           p_owner_id                     => NULL,
                                           p_line_id                      => NULL,
                                           p_org_id                       => NULL,
                                           p_training_center_id           => NULL,
                                           p_location_id                  => NULL,
                                           p_offering_id                  => NULL,
                                           p_timezone                     => 'Asia/Hong_Kong',
                                           p_parent_offering_id           => p_course_id,
                                           p_data_source                  => NULL,
                                           p_validate                     => FALSE,
                                           p_event_availability           => 'ALL');
            END IF;
         
          EXCEPTION
            WHEN OTHERS THEN
              x_return_status := 'E';
              x_msg_data      := '创建课:' || SQLERRM;
              x_event_id      := NULL;
          END create_event;
      刘宗 2015/1/17 HR/课/创建
    298 12.1.3 HR 学员注册课 API ota_delegate_booking_api.create_delegate_booking   PROCEDURE   create_delegate_booking(x_return_status OUT VARCHAR2,
                                              x_msg_data      OUT   VARCHAR2,
                                              x_booking_id    OUT   NUMBER,
                                              p_person_id     IN NUMBER,
                                           
      p_event_id      IN NUMBER)   IS
            l_finance_line_id       NUMBER;
            l_object_version_number   NUMBER;
          BEGIN
            x_return_status := 'S';
            --检查学员是否已注册
            BEGIN
              SELECT t.booking_id
                INTO x_booking_id
                FROM ota_delegate_bookings   t
               WHERE t.delegate_person_id =   p_person_id
                 AND t.business_group_id =   g_business_group_id
                 AND t.event_id =   p_event_id;
            EXCEPTION
              WHEN OTHERS THEN
                x_booking_id := NULL;
            END;
         
            IF x_booking_id IS NULL THEN
                ota_delegate_booking_api.create_delegate_booking(p_validate                     => FALSE,
                                                                 p_effective_date                 => g_start_date,
                                                                 p_booking_id                     => x_booking_id,
                                                                 p_booking_status_type_id         => 4,
                                                                 p_delegate_person_id             => p_person_id,
                                                                 p_contact_id                     => NULL,
                                                                 p_business_group_id              => g_business_group_id,
                                                                 p_event_id                       => p_event_id,
                                                                 p_customer_id                    => NULL,
                                                                 p_authorizer_person_id           => NULL,
                                                                 p_date_booking_placed            => SYSDATE,
                                                                 p_corespondent                   => NULL,
                                                                 p_internal_booking_flag          => 'Y',
                                                                 p_number_of_places               => 1,
                                                                 p_object_version_number          => l_object_version_number,
                                                                 p_administrator                  => g_user_id, --fnd_global.USER_ID
                                                                 p_booking_priority               => NULL,
                                                                 p_comments                       => NULL,
                                                                 p_contact_address_id             => NULL,
                                                                 p_delegate_contact_phone         => NULL,
                                                                 p_delegate_contact_fax           => NULL,
                                                                 p_third_party_customer_id        => NULL,
                                                                 p_third_party_contact_id         => NULL,
                                                                 p_third_party_address_id         => NULL,
                                                                 p_third_party_contact_phone      => NULL,
                                                                 p_third_party_contact_fax        => NULL,
                                                                 p_date_status_changed            => NULL,
                                                                 p_failure_reason                 => NULL,
                                                                 p_attendance_result              => NULL,
                                                                 p_language_id                    => NULL,
                                                                 p_source_of_booking              => NULL,
                                                                 p_special_booking_instructions => NULL,
                                                                 p_successful_attendance_flag     => NULL,
                                                                 p_create_finance_line            => NULL,
                                                                 p_finance_header_id              => NULL,
                                                                 p_currency_code                  => 'CNY',
                                                                 p_standard_amount                => NULL,
                                                                 p_unitary_amount                 => NULL,
                                                                 p_money_amount                   => NULL,
                                                                 p_booking_deal_id                => NULL,
                                                                 p_booking_deal_type              => NULL,
                                                                 p_finance_line_id                => l_finance_line_id,
                                                                 p_enrollment_type                => NULL,
                                                                 p_organization_id                => NULL,
                                                                 p_sponsor_person_id              => NULL,
                                                                 p_sponsor_assignment_id          => NULL,
                                                                 p_person_address_id              => NULL,
                                                                 p_delegate_assignment_id         => NULL,
                                                                 p_delegate_contact_id            => NULL,
                                                                 p_delegate_contact_email         => NULL,
                                                                 p_third_party_email              => NULL,
                                                                 p_person_address_type            => NULL,
                                                                 p_line_id                        => NULL,
                                                                 p_org_id                         => NULL,
                                                                 p_daemon_flag                    => NULL,
                                                                 p_daemon_type                    => NULL,
                                                                 p_old_event_id                   => NULL,
                                                                 p_quote_line_id                  => NULL,
                                                                 p_interface_source               => NULL,
                                                                 p_total_training_time            => NULL,
                                                                 p_content_player_status          => NULL,
                                                                 p_score                          => NULL,
                                                                 p_completed_content              => NULL,
                                                                 p_total_content                  => NULL,
                                                                 p_booking_justification_id       => NULL,
                                                                 p_is_history_flag                => NULL,
                                                                 p_override_prerequisites         => NULL,
                                                                 p_override_learner_access        => NULL,
                                                                 p_book_from                      => NULL,
                                                                 p_is_mandatory_enrollment        => 'N',
                                                                 p_sign_eval_status               => NULL);
           
            END IF;
          EXCEPTION
            WHEN OTHERS THEN
              x_return_status := 'E';
              x_msg_data      := '学员注册失败.' || SQLERRM;
          END create_delegate_booking;
      刘宗 2015/1/17 HR/学员注册课/创建
    299 12.1.3 HR 更新或更正员工基本信息 API hr_person_api.update_person   /*   =============================================
          *     PROCEDURE
          *     NAME : process_update
          *     DESCRIPTION:
          *       更新或更正员工基本信息
          *     ARGUMENT:
          *       p_line_number  行号
          *     RETURN:
          *       
          *     HISTORY:
          *     1.00 2014-08-20 zong.liu Creation
          *   =============================================*/
         PROCEDURE   process_update(p_line_number IN VARCHAR2) IS
         
          CURSOR   csr_per(p_business_group_id    IN   NUMBER,
                  p_person_id            IN NUMBER,
                  p_effective_start_date   DATE) IS
           SELECT ppf.effective_start_date,   --有效日期
               ppf.employee_number,
                 ppf.object_version_number,
                 decode(ppf.current_employee_flag,
                  'Y',
                  pps.date_start,
                    decode(ppf.current_npw_flag, 'Y', ppp.date_start, NULL))   hire_date
            FROM per_all_people_f         ppf,
               per_periods_of_service   pps,
               per_periods_of_placement   ppp
            WHERE ppf.person_id =   p_person_id
             AND ppf.business_group_id =   p_business_group_id
             AND pps.person_id(+) =   ppf.person_id
             AND ppp.person_id(+) = ppf.person_id
             AND ((ppf.employee_number IS   NULL) OR
               (ppf.employee_number IS NOT   NULL AND
               pps.date_start =
               (SELECT   MAX(pps1.date_start)
                 FROM per_periods_of_service   pps1
                 WHERE pps1.person_id =   ppf.person_id
                  AND pps1.date_start <=   ppf.effective_end_date)))
             AND ((ppf.npw_number IS NULL)   OR
               (ppf.npw_number IS NOT NULL   AND
               ppp.date_start =
               (SELECT   MAX(ppp1.date_start)
                 FROM per_periods_of_placement   ppp1
                 WHERE ppp1.person_id =   ppf.person_id
                  AND ppp1.date_start <=   ppf.effective_end_date)))
             AND nvl(p_effective_start_date,   SYSDATE) BETWEEN
               ppf.effective_start_date   AND
               nvl(ppf.effective_end_date,   SYSDATE);
         
          l_new_effective_date      per_all_people_f.effective_start_date%TYPE;
          l_employee_number         per_all_people_f.employee_number%TYPE;
          l_last_name               per_all_people_f.last_name%TYPE;
          l_sex                     per_all_people_f.sex%TYPE;
          l_person_type_id        per_all_people_f.person_type_id%TYPE;
          l_national_identifier     per_all_people_f.national_identifier%TYPE;
          l_date_of_birth           per_all_people_f.date_of_birth%TYPE;
          l_town_of_birth           per_all_people_f.town_of_birth%TYPE;
          l_region_of_birth         per_all_people_f.region_of_birth%TYPE;
          l_marital_status        per_all_people_f.marital_status%TYPE;
          l_email_address           per_all_people_f.email_address%TYPE;
          l_live_type_code          per_all_people_f.per_information4%TYPE;
          l_live_loc_code           per_all_people_f.per_information5%TYPE;
          l_high_edu                per_all_people_f.per_information6%TYPE;
          l_degree                per_all_people_f.per_information20%TYPE;
          l_child_cnt               per_all_people_f.per_information7%TYPE;
          l_health_status           per_all_people_f.per_information10%TYPE;
          l_rase_code               per_all_people_f.per_information17%TYPE;
          l_social_number           per_all_people_f.per_information18%TYPE;
          l_object_version_number   NUMBER;
         
          x_effective_start_date     DATE;
          x_effective_end_date       DATE;
          x_full_name                VARCHAR2(240);
          x_comment_id               NUMBER;
          x_name_combination_warning   BOOLEAN;
          x_assign_payroll_warning   BOOLEAN;
          x_orig_hire_warning        BOOLEAN;
          x_wrn_ee                   VARCHAR2(240);
          x_old_start_date           DATE;
         
          l_person_id         NUMBER;
          l_error_msg         VARCHAR2(2000);
          l_sql_code          VARCHAR2(30);
          l_data_mode         VARCHAR2(30);
          l_business_group_id NUMBER :=   81;
         
         BEGIN
         
          FOR rec_files_content IN   csr_pers_tmp(p_line_number) LOOP
         
           --出生日期
           IF rec_files_content.attribute8 IS   NOT NULL THEN
            l_date_of_birth :=   fnd_date.canonical_to_date(rec_files_content.attribute8);
           ELSE
            l_date_of_birth :=   hr_api.g_date;
           END IF;
         
           l_business_group_id :=   to_number(rec_files_content.converted_attribute10);
           l_person_id         :=   to_number(rec_files_content.converted_attribute11);
           l_data_mode         :=   rec_files_content.converted_attribute1;
         
           --有效日期
           IF rec_files_content.attribute2 IS   NOT NULL THEN
            l_new_effective_date :=   fnd_date.canonical_to_date(rec_files_content.attribute2);
           END IF;
         
           FOR rec IN csr_per(l_business_group_id,
                     l_person_id,
                     l_new_effective_date)   LOOP
            IF l_data_mode = 'CORRECTION' THEN
             l_new_effective_date :=   rec.effective_start_date;
            END IF;
            l_employee_number     := rec.employee_number;
            l_last_name           :=   nvl(rec_files_content.attribute4,
                             hr_api.g_varchar2);
            l_sex                 :=   nvl(rec_files_content.converted_attribute2,
                             hr_api.g_varchar2);
            l_person_type_id      :=   nvl(rec_files_content.converted_attribute3,
                           hr_api.g_number);
            l_national_identifier :=   nvl(rec_files_content.attribute7,
                             hr_api.g_varchar2);
          
            l_town_of_birth         :=   nvl(rec_files_content.attribute9,
                              hr_api.g_varchar2);
            l_region_of_birth       :=   nvl(rec_files_content.attribute10,
                              hr_api.g_varchar2);
            l_marital_status        :=   nvl(rec_files_content.converted_attribute8,
                              hr_api.g_varchar2);
            l_email_address         := hr_api.g_varchar2;
            l_live_type_code        := nvl(rec_files_content.converted_attribute4,
                              hr_api.g_varchar2);
            l_live_loc_code         := nvl(rec_files_content.converted_attribute5,
                              hr_api.g_varchar2);
            l_high_edu              :=   nvl(rec_files_content.converted_attribute6,
                              hr_api.g_varchar2);
            l_child_cnt             :=   nvl(rec_files_content.attribute18,
                              hr_api.g_varchar2);
            l_health_status         :=   nvl(rec_files_content.converted_attribute12,
                              hr_api.g_varchar2);
            l_rase_code             :=   nvl(rec_files_content.converted_attribute9,
                              hr_api.g_varchar2);
            l_social_number         :=   nvl(rec_files_content.attribute15,
                              hr_api.g_varchar2);
            l_degree                :=   nvl(rec_files_content.converted_attribute7,
                              hr_api.g_varchar2);
            x_old_start_date        := rec.hire_date;
            l_object_version_number :=   rec.object_version_number;
           END LOOP;
         
           BEGIN
              hr_person_api.update_person(p_validate                 => FALSE,
                          p_effective_date           => l_new_effective_date,
                            p_datetrack_update_mode    =>   l_data_mode,
                          p_person_id                => l_person_id,
                            p_object_version_number    =>   l_object_version_number,
                            p_employee_number          =>   l_employee_number,
                          p_last_name                => l_last_name,
                          p_sex                      => l_sex, --性别
                            p_person_type_id           =>   l_person_type_id, --人员类型ID
                            p_date_of_birth            =>   l_date_of_birth, --员工生日
                            p_email_address            =>   l_email_address, --邮箱
                            p_marital_status           =>   l_marital_status, --婚姻状况
                            p_national_identifier      =>   l_national_identifier, --身份证号
                            p_town_of_birth            =>   l_town_of_birth, --祖籍
                            p_region_of_birth          =>   l_region_of_birth,
                            p_per_information_category => 'CN',
                            p_per_information4         =>   l_live_type_code, --户口类型
                          p_per_information5         => l_live_loc_code, --户口地址
                            p_per_information6         =>   l_high_edu, --最高学历
                            p_per_information7         =>   l_child_cnt, --子女数
                          p_per_information10        => l_health_status, --健康状况
                            p_per_information17        =>   l_rase_code, --民族
                            p_per_information18        =>   l_social_number, --社会保险 IC 编号
                          p_per_information20        => l_degree, --学位
                            p_effective_start_date     =>   x_effective_start_date,
                            p_effective_end_date       =>   x_effective_end_date,
                          p_full_name                => x_full_name,
                          p_comment_id               => x_comment_id,
                            p_name_combination_warning => x_name_combination_warning,
                            p_assign_payroll_warning   =>   x_assign_payroll_warning,
                            p_orig_hire_warning        =>   x_orig_hire_warning);
          
            IF x_old_start_date <   l_new_effective_date THEN
               hr_change_start_date_api.update_start_date(p_validate       => FALSE,
                                     p_person_id      =>   l_person_id,
                                     p_old_start_date => x_old_start_date,
                                     p_new_start_date => l_new_effective_date,
                                     p_update_type    =>   'E',
                                     p_warn_ee        =>   x_wrn_ee);
            END IF;
           EXCEPTION
            WHEN OTHERS THEN
             l_error_msg := SQLERRM;
             l_sql_code  := SQLCODE;
             -- 更新有效起止日期 SQLCODE -20001   在原有日期与新建日期之间存在人员更改 可以忽略
             IF l_sql_code <> '-20001'   THEN
              UPDATE cux_common_imports_temp   pit
                SET pit.import_status  = g_invalid_code,
                  pit.import_message = '更新员工信息失败,错误信息:   SQLCODE:' ||
                            l_sql_code || ',   SQLERRM:' ||
                            l_error_msg
               WHERE pit.common_imports_id =   g_import_id
                AND pit.line_number =   p_line_number;
             END IF;
           END;
          END LOOP;
         
         END process_update;
      刘宗 2015/1/17 HR/员工信息/更新
    300 12.2.3 MRP 生产计划导入 接口 mrp_schedule_interface 目标表:
        MRP_SCHEDULE_DESIGNATORS(SCHEDULE_TYPE: 1.MDS,2.MPS)
        MRP_SCHEDULE_ITEMS
        MRP_SCHEDULE_DATES
        MRP_SCHEDULE_CONSUMPTIONS
       
    INSERT   INTO MRP_SCHEDULE_INTERFACE
        (SCHEDULE_DESIGNATOR,
        ORGANIZATION_ID,
        INVENTORY_ITEM_ID,
        SCHEDULE_DATE,
        SCHEDULE_QUANTITY,
        WORKDAY_CONTROL,
        PROCESS_STATUS, --插入时为2
        LAST_UPDATED_BY,
        LAST_UPDATE_DATE,
        CREATED_BY,
        CREATION_DATE
        )
       
      何为 2015/1/17 计划
    301 12.1.3 CST 成本导入 接口 接口表cst_item_cst_dtls_interface             v_item_cst_dtls_int_row.inventory_item_id :=   rec_data.inventory_item_id; l_request_id :=   fnd_request.submit_request('BOM',
                                                         'CSTPCIMP',
                                                         NULL,
                                                         NULL,
                                                         FALSE,
                                                         1 -- Only Item Cost Import
                                                        ,
                                                         2 -- Remove and replace cost informaion
                                                        ,
                                                         1 -- ALL(All Records)
                                                        ,
                                                         1 -- (Group Id Dummy)
                                                        ,
                                                         l_cst_lists_num --(Group Id)
                                                        ,
                                                         g_cost_type -- (Pending)
                                                        ,
                                                         1); -- delete records after successful import)
                  v_item_cst_dtls_int_row.cost_type_id      := l_cost_type_id;   --rec_data.cost_type_id;
                v_item_cst_dtls_int_row.last_update_date  := SYSDATE;
                  v_item_cst_dtls_int_row.last_updated_by   := g_user_id;
                  v_item_cst_dtls_int_row.creation_date     := SYSDATE;
                  v_item_cst_dtls_int_row.created_by        := g_user_id;
                  v_item_cst_dtls_int_row.last_update_login := g_login_id;
                  v_item_cst_dtls_int_row.group_id          := l_cst_lists_num;
                  v_item_cst_dtls_int_row.organization_id   := rec_data.organization_id;
                  v_item_cst_dtls_int_row.resource_id := l_resource_id;
                  v_item_cst_dtls_int_row.usage_rate_or_amount :=   rec_data.item_cost;
                  v_item_cst_dtls_int_row.basis_type           := l_basis_type;
                  v_item_cst_dtls_int_row.item_cost         := rec_data.item_cost;
                  v_item_cst_dtls_int_row.cost_element_id := l_cost_element_id;
                v_item_cst_dtls_int_row.request_id        := g_request_id;
                  v_item_cst_dtls_int_row.organization_code :=   rec_data.organization_code;
                  v_item_cst_dtls_int_row.cost_type         := l_cost_type;
                  v_item_cst_dtls_int_row.inventory_item    := rec_data.inventory_item;
                  v_item_cst_dtls_int_row.program_application_id :=   g_prog_appl_id;
                  v_item_cst_dtls_int_row.program_id               := g_conc_program_id;
                  v_item_cst_dtls_int_row.program_update_date    := SYSDATE;
                v_item_cst_dtls_int_row.process_flag   := 1; --rec_data.process_flag;
                  v_item_cst_dtls_int_row.item_number    := rec_data.item_number;
                  v_item_cst_dtls_int_row.based_on_rollup_flag := 2;
                INSERT INTO   cst_item_cst_dtls_interface
                VALUES   v_item_cst_dtls_int_row;
      李应健 2015/1/17 成本/导入
    302 12.1.3 PO 创建采购订单 API po_pdoi_grp.start_process       刘李清 2015/1/17 代购订单/创建
    303 12.1.3 PO 采购订单接收入库,联机处理 API fnd_transaction.synchronous       刘李清 2015/1/17 代购订单/入库
    304 12.1.3 PO 更新采购订单行 API po_document_update_grp.update_document       刘李清 2015/1/17 采购订单行/更新
    305 12.2.x INV 库存物理盘点导入 API INV_PHY_INV_PUB       赵杨 2015/3/5 库存/物理盘点
     
  • 相关阅读:
    SpringBoot之OAuth2.0学习之客户端快速上手
    SpringBoot之oauth2.0学习之服务端配置快速上手
    基于Docker+Prometheus+Grafana监控SpringBoot健康信息
    SpringBoot+kafka+ELK分布式日志收集
    springmvc的异步处理
    WebFlux基础之响应式编程
    Webflux快速入门
    深入理解Spring的ImportSelector接口
    深入理解Spring的异步机制
    SpringSecurity学习之自定义过滤器
  • 原文地址:https://www.cnblogs.com/shuihaya/p/14376361.html
Copyright © 2011-2022 走看看