zoukankan      html  css  js  c++  java
  • AP INVOICES IMPORT API(NOT request)

    PROCEDURE process_cux_to_ap(x_return_status OUT NOCOPY VARCHAR2,
                                   x_msg_count     OUT NOCOPY NUMBER,
                                   x_msg_data      OUT NOCOPY VARCHAR2) IS
          l_api_name CONSTANT VARCHAR2(30) := 'PROCESS_CUX_TO_AP';
          x_party_id     NUMBER;
          x_profile_id   NUMBER;
          l_order_number VARCHAR2(240);
       
          CURSOR cur_ch IS
             SELECT ch.header_id,
                    ch.org_id,
                    ch.invoice_type,
                    ch.prepayment_type_code,
                    ch.vendor_id,
                    ch.vendor_site_id,
                    ch.invoice_date,
                    ch.gl_date,
                    ch.invoice_number,
                    ch.currency_code,
                    ch.invoice_amount,
                    ch.exchange_rate,
                    ch.exchange_rate_type,
                    ch.exchange_date,
                    ch.payment_currency_code,
                    ch.payment_rate_type,
                    ch.payment_rate,
                    ch.payment_rate_date,
                    ch.payment_method_lookup_code,
                    ch.pay_schedule_date,
                    ch.terms_id,
                    ch.pay_group_lookup_code,
                    ch.exp_report_id,
                    ch.apply_employee_name,
                    ch.invoice_id,
                    ch.description,
                    ch.source_code,
                    ch.source_line_id,
                    ch.source_reference,
                    ch.process_group_id,
                    ch.process_status,
                    ch.process_date,
                    ch.process_message,
                    ch.object_version_number,
                    ch.creation_date,
                    ch.created_by,
                    ch.last_updated_by,
                    ch.last_update_date,
                    ch.last_update_login,
                    ch.attribute_category,
                    ch.attribute1,
                    ch.attribute2,
                    ch.attribute3,
                    ch.attribute4,
                    ch.attribute5,
                    ch.attribute6,
                    ch.attribute7,
                    ch.attribute8,
                    ch.attribute9,
                    ch.attribute10,
                    ch.attribute11,
                    ch.attribute12,
                    ch.attribute13,
                    ch.attribute14,
                    ch.attribute15
               FROM cux_oa_ap_invoice_header ch
              WHERE (ch.process_status = 'PENDING' OR
                    ch.process_status = 'ERROR')
                FOR UPDATE NOWAIT;
       
          CURSOR cur_cl(p_header_id IN NUMBER) IS
             SELECT cl.line_id,
                    cl.header_id,
                    cl.line_num,
                    cl.line_type_lookup_code,
                    cl.amount,
                    cl.accounting_date,
                    cl.inventory_item_id,
                    cl.line_description,
                    cl.tax_code,
                    cl.tax_code_id,
                    cl.amount_includes_tax_flag,
                    cl.dist_code_combination_id,
                    cl.exp_item_id,
                    cl.item_id,
                    cl.invoice_id,
                    cl.invoice_line_number,
                    cl.source_code,
                    cl.source_line_id,
                    cl.source_reference,
                    cl.process_group_id,
                    cl.process_status,
                    cl.process_date,
                    cl.process_message,
                    cl.object_version_number,
                    cl.creation_date,
                    cl.created_by,
                    cl.last_updated_by,
                    cl.last_update_date,
                    cl.last_update_login,
                    cl.attribute_category,
                    cl.attribute1,
                    cl.attribute2,
                    cl.attribute3,
                    cl.attribute4,
                    cl.attribute5,
                    cl.attribute6,
                    cl.attribute7,
                    cl.attribute8,
                    cl.attribute9,
                    cl.attribute10,
                    cl.attribute11,
                    cl.attribute12,
                    cl.attribute13,
                    cl.attribute14,
                    cl.attribute15
               FROM cux_oa_ap_invoice_line cl
              WHERE cl.header_id = p_header_id
                AND (cl.process_status = 'PENDING' OR
                    cl.process_status = 'ERROR')
              ORDER BY cl.line_num
                FOR UPDATE NOWAIT;
       
          l_rec_invoice_ifc      ap_invoices_interface%ROWTYPE;
          l_rec_invoice_line_ifc ap_invoice_lines_interface%ROWTYPE;
       
          l_project_num          VARCHAR2(100);
          l_return_status        VARCHAR2(1);
          l_msg_data             VARCHAR2(240);
          l_msg_count            NUMBER;
          l_group_id             NUMBER := cux_doc_sequence_utl.next_seq_number(p_doc_type    => 'CUX_OA_AP_IMP',
                                                                                p_init_number => 1);
          l_line_number          NUMBER;
          l_batch_error_flag     VARCHAR2(30);
          l_invoices_fetched     NUMBER;
          l_invoices_created     NUMBER;
          l_total_invoice_amount NUMBER;
          l_print_batch          VARCHAR2(30);
          l_ret_bool             BOOLEAN;
          l_ret_status           VARCHAR2(1);
       
          l_invoice_batch VARCHAR2(30);
          v_invoice_id    NUMBER;
       
       BEGIN
       
          x_return_status := cux_api.start_activity(p_pkg_name      => g_pkg_name,
                                                    p_api_name      => l_api_name,
                                                    p_init_msg_list => fnd_api.g_true);
          raise_exception(x_return_status);
       
          -- INIT
       
          BEGIN
             mo_global.init('SQLAP');
             fnd_global.apps_initialize(user_id => 1370,
                                        
                                        resp_id => 50717,
                                        
                                        resp_appl_id => 20005);
          
          END;
       
          FOR rec_ch IN cur_ch LOOP
             l_line_number := 0;
          
             l_rec_invoice_ifc.invoice_id                    := ap_invoices_interface_s.nextval;
             l_rec_invoice_ifc.invoice_num                   := rec_ch.invoice_number;
             l_rec_invoice_ifc.invoice_type_lookup_code      := rec_ch.invoice_type; -- test REDO 
             l_rec_invoice_ifc.invoice_date                  := rec_ch.invoice_date;
             l_rec_invoice_ifc.po_number                     := NULL;
             l_rec_invoice_ifc.vendor_id                     := rec_ch.vendor_id;
             l_rec_invoice_ifc.vendor_num                    := NULL;
             l_rec_invoice_ifc.vendor_name                   := NULL;
             l_rec_invoice_ifc.vendor_site_id                := rec_ch.vendor_site_id;
             l_rec_invoice_ifc.vendor_site_code              := NULL;
             l_rec_invoice_ifc.invoice_amount                := rec_ch.invoice_amount;
             l_rec_invoice_ifc.invoice_currency_code         := rec_ch.currency_code;
             l_rec_invoice_ifc.exchange_rate                 := NULL;
             l_rec_invoice_ifc.exchange_rate_type            := NULL;
             l_rec_invoice_ifc.exchange_date                 := NULL;
             l_rec_invoice_ifc.terms_id                      := NULL;
             l_rec_invoice_ifc.terms_name                    := NULL;
             l_rec_invoice_ifc.description                   := rec_ch.description;
             l_rec_invoice_ifc.awt_group_id                  := NULL;
             l_rec_invoice_ifc.awt_group_name                := NULL;
             l_rec_invoice_ifc.last_update_date              := SYSDATE;
             l_rec_invoice_ifc.last_updated_by               := g_user_id;
             l_rec_invoice_ifc.last_update_login             := g_login_id;
             l_rec_invoice_ifc.creation_date                 := SYSDATE;
             l_rec_invoice_ifc.created_by                    := g_user_id;
             l_rec_invoice_ifc.attribute_category            := NULL;
             l_rec_invoice_ifc.attribute1                    := 'OA';
             l_rec_invoice_ifc.attribute2                    := rec_ch.source_line_id;
             l_rec_invoice_ifc.attribute3                    := NULL;
             l_rec_invoice_ifc.attribute4                    := NULL;
             l_rec_invoice_ifc.attribute5                    := NULL;
             l_rec_invoice_ifc.attribute6                    := NULL;
             l_rec_invoice_ifc.attribute7                    := NULL;
             l_rec_invoice_ifc.attribute8                    := NULL;
             l_rec_invoice_ifc.attribute9                    := NULL;
             l_rec_invoice_ifc.attribute10                   := NULL;
             l_rec_invoice_ifc.attribute11                   := NULL;
             l_rec_invoice_ifc.attribute12                   := NULL;
             l_rec_invoice_ifc.attribute13                   := NULL;
             l_rec_invoice_ifc.attribute14                   := NULL;
             l_rec_invoice_ifc.attribute15                   := NULL;
             l_rec_invoice_ifc.global_attribute_category     := NULL;
             l_rec_invoice_ifc.global_attribute1             := NULL;
             l_rec_invoice_ifc.global_attribute2             := NULL;
             l_rec_invoice_ifc.global_attribute3             := NULL;
             l_rec_invoice_ifc.global_attribute4             := NULL;
             l_rec_invoice_ifc.global_attribute5             := NULL;
             l_rec_invoice_ifc.global_attribute6             := NULL;
             l_rec_invoice_ifc.global_attribute7             := NULL;
             l_rec_invoice_ifc.global_attribute8             := NULL;
             l_rec_invoice_ifc.global_attribute9             := NULL;
             l_rec_invoice_ifc.global_attribute10            := NULL;
             l_rec_invoice_ifc.global_attribute11            := NULL;
             l_rec_invoice_ifc.global_attribute12            := NULL;
             l_rec_invoice_ifc.global_attribute13            := NULL;
             l_rec_invoice_ifc.global_attribute14            := NULL;
             l_rec_invoice_ifc.global_attribute15            := NULL;
             l_rec_invoice_ifc.global_attribute16            := NULL;
             l_rec_invoice_ifc.global_attribute17            := NULL;
             l_rec_invoice_ifc.global_attribute18            := NULL;
             l_rec_invoice_ifc.global_attribute19            := NULL;
             l_rec_invoice_ifc.global_attribute20            := NULL;
             l_rec_invoice_ifc.status                        := NULL;
             l_rec_invoice_ifc.source                        := 'OA_IMPORT';
             l_rec_invoice_ifc.group_id                      := 'OA_IMPORT' ||
                                                                l_group_id;
             l_rec_invoice_ifc.request_id                    := NULL;
             l_rec_invoice_ifc.payment_cross_rate_type       := NULL;
             l_rec_invoice_ifc.payment_cross_rate_date       := NULL;
             l_rec_invoice_ifc.payment_cross_rate            := NULL;
             l_rec_invoice_ifc.payment_currency_code         := NULL;
             l_rec_invoice_ifc.workflow_flag                 := NULL;
             l_rec_invoice_ifc.doc_category_code             := NULL;
             l_rec_invoice_ifc.voucher_num                   := NULL;
             l_rec_invoice_ifc.payment_method_lookup_code    := NULL;
             l_rec_invoice_ifc.pay_group_lookup_code         := NULL;
             l_rec_invoice_ifc.goods_received_date           := NULL;
             l_rec_invoice_ifc.invoice_received_date         := NULL;
             l_rec_invoice_ifc.gl_date                       := rec_ch.gl_date;
             l_rec_invoice_ifc.accts_pay_code_combination_id := NULL;
             l_rec_invoice_ifc.ussgl_transaction_code        := NULL;
             l_rec_invoice_ifc.exclusive_payment_flag        := NULL;
             l_rec_invoice_ifc.org_id                        := rec_ch.org_id;
             l_rec_invoice_ifc.amount_applicable_to_discount := NULL;
             l_rec_invoice_ifc.prepay_num                    := NULL;
             l_rec_invoice_ifc.prepay_dist_num               := NULL;
             l_rec_invoice_ifc.prepay_apply_amount           := NULL;
             l_rec_invoice_ifc.prepay_gl_date                := NULL;
             l_rec_invoice_ifc.invoice_includes_prepay_flag  := NULL;
             l_rec_invoice_ifc.no_xrate_base_amount          := NULL;
             l_rec_invoice_ifc.vendor_email_address          := NULL;
             l_rec_invoice_ifc.terms_date                    := NULL;
             l_rec_invoice_ifc.requester_id                  := NULL;
             l_rec_invoice_ifc.ship_to_location              := NULL;
             l_rec_invoice_ifc.external_doc_ref              := NULL;
             l_rec_invoice_ifc.prepay_line_num               := NULL;
             l_rec_invoice_ifc.requester_first_name          := NULL;
             l_rec_invoice_ifc.requester_last_name           := NULL;
             l_rec_invoice_ifc.application_id                := NULL;
             l_rec_invoice_ifc.product_table                 := NULL;
             l_rec_invoice_ifc.reference_key1                := NULL;
             l_rec_invoice_ifc.reference_key2                := NULL;
             l_rec_invoice_ifc.reference_key3                := NULL;
             l_rec_invoice_ifc.reference_key4                := NULL;
             l_rec_invoice_ifc.reference_key5                := NULL;
             l_rec_invoice_ifc.apply_advances_flag           := NULL;
             l_rec_invoice_ifc.calc_tax_during_import_flag   := NULL;
             l_rec_invoice_ifc.control_amount                := NULL;
             l_rec_invoice_ifc.add_tax_to_inv_amt_flag       := NULL;
             l_rec_invoice_ifc.tax_related_invoice_id        := NULL;
             l_rec_invoice_ifc.taxation_country              := NULL;
             l_rec_invoice_ifc.document_sub_type             := NULL;
             l_rec_invoice_ifc.supplier_tax_invoice_number   := NULL;
             l_rec_invoice_ifc.supplier_tax_invoice_date     := NULL;
             l_rec_invoice_ifc.supplier_tax_exchange_rate    := NULL;
             l_rec_invoice_ifc.tax_invoice_recording_date    := NULL;
             l_rec_invoice_ifc.tax_invoice_internal_seq      := NULL;
             l_rec_invoice_ifc.legal_entity_id               := NULL;
             l_rec_invoice_ifc.legal_entity_name             := NULL;
             l_rec_invoice_ifc.reference_1                   := NULL;
             l_rec_invoice_ifc.reference_2                   := NULL;
             l_rec_invoice_ifc.operating_unit                := NULL;
             l_rec_invoice_ifc.bank_charge_bearer            := NULL;
             l_rec_invoice_ifc.remittance_message1           := NULL;
             l_rec_invoice_ifc.remittance_message2           := NULL;
             l_rec_invoice_ifc.remittance_message3           := NULL;
             l_rec_invoice_ifc.unique_remittance_identifier  := NULL;
             l_rec_invoice_ifc.uri_check_digit               := NULL;
             l_rec_invoice_ifc.settlement_priority           := NULL;
             l_rec_invoice_ifc.payment_reason_code           := NULL;
             l_rec_invoice_ifc.payment_reason_comments       := NULL;
             l_rec_invoice_ifc.payment_method_code           := NULL;
             l_rec_invoice_ifc.delivery_channel_code         := NULL;
             l_rec_invoice_ifc.paid_on_behalf_employee_id    := NULL;
             l_rec_invoice_ifc.net_of_retainage_flag         := NULL;
             l_rec_invoice_ifc.requester_employee_num        := NULL;
             l_rec_invoice_ifc.cust_registration_code        := NULL;
             l_rec_invoice_ifc.cust_registration_number      := NULL;
             l_rec_invoice_ifc.party_id                      := NULL;
             l_rec_invoice_ifc.party_site_id                 := NULL;
             l_rec_invoice_ifc.pay_proc_trxn_type_code       := NULL;
             l_rec_invoice_ifc.payment_function              := NULL;
             l_rec_invoice_ifc.payment_priority              := NULL;
             l_rec_invoice_ifc.port_of_entry_code            := NULL;
             l_rec_invoice_ifc.external_bank_account_id      := NULL;
             l_rec_invoice_ifc.accts_pay_code_concatenated   := NULL;
             l_rec_invoice_ifc.pay_awt_group_id              := NULL;
             l_rec_invoice_ifc.pay_awt_group_name            := NULL;
             l_rec_invoice_ifc.original_invoice_amount       := NULL;
             l_rec_invoice_ifc.dispute_reason                := NULL;
             l_rec_invoice_ifc.remit_to_supplier_name        := NULL;
             l_rec_invoice_ifc.remit_to_supplier_id          := NULL;
             l_rec_invoice_ifc.remit_to_supplier_site        := NULL;
             l_rec_invoice_ifc.remit_to_supplier_site_id     := NULL;
             l_rec_invoice_ifc.relationship_id               := NULL;
             l_rec_invoice_ifc.remit_to_supplier_num         := NULL;
          
             INSERT INTO ap_invoices_interface VALUES l_rec_invoice_ifc;
          
             FOR rec_cl IN cur_cl(p_header_id => rec_ch.header_id) LOOP
             
                l_line_number := l_line_number + 1;
             
                l_rec_invoice_line_ifc.invoice_id                  := ap_invoices_interface_s.currval;
                l_rec_invoice_line_ifc.invoice_line_id             := ap_invoice_lines_interface_s.nextval;
                l_rec_invoice_line_ifc.line_number                 := l_line_number;
                l_rec_invoice_line_ifc.line_type_lookup_code       := rec_cl.line_type_lookup_code;
                l_rec_invoice_line_ifc.line_group_number           := NULL;
                l_rec_invoice_line_ifc.amount                      := rec_cl.amount;
                l_rec_invoice_line_ifc.accounting_date             := rec_cl.accounting_date;
                l_rec_invoice_line_ifc.description                 := rec_cl.line_description;
                l_rec_invoice_line_ifc.amount_includes_tax_flag    := NULL;
                l_rec_invoice_line_ifc.prorate_across_flag         := NULL;
                l_rec_invoice_line_ifc.tax_code                    := NULL;
                l_rec_invoice_line_ifc.final_match_flag            := NULL;
                l_rec_invoice_line_ifc.po_header_id                := NULL;
                l_rec_invoice_line_ifc.po_number                   := NULL;
                l_rec_invoice_line_ifc.po_line_id                  := NULL;
                l_rec_invoice_line_ifc.po_line_number              := NULL;
                l_rec_invoice_line_ifc.po_line_location_id         := NULL;
                l_rec_invoice_line_ifc.po_shipment_num             := NULL;
                l_rec_invoice_line_ifc.po_distribution_id          := NULL;
                l_rec_invoice_line_ifc.po_distribution_num         := NULL;
                l_rec_invoice_line_ifc.po_unit_of_measure          := NULL;
                l_rec_invoice_line_ifc.inventory_item_id           := NULL;
                l_rec_invoice_line_ifc.item_description            := NULL;
                l_rec_invoice_line_ifc.quantity_invoiced           := NULL;
                l_rec_invoice_line_ifc.ship_to_location_code       := NULL;
                l_rec_invoice_line_ifc.unit_price                  := NULL;
                l_rec_invoice_line_ifc.distribution_set_id         := NULL;
                l_rec_invoice_line_ifc.distribution_set_name       := NULL;
                l_rec_invoice_line_ifc.dist_code_concatenated      := NULL;
                l_rec_invoice_line_ifc.dist_code_combination_id    := rec_cl.dist_code_combination_id;
                l_rec_invoice_line_ifc.awt_group_id                := NULL;
                l_rec_invoice_line_ifc.awt_group_name              := NULL;
                l_rec_invoice_line_ifc.last_updated_by             := g_user_id;
                l_rec_invoice_line_ifc.last_update_date            := SYSDATE;
                l_rec_invoice_line_ifc.last_update_login           := g_login_id;
                l_rec_invoice_line_ifc.created_by                  := g_user_id;
                l_rec_invoice_line_ifc.creation_date               := SYSDATE;
                l_rec_invoice_line_ifc.attribute_category          := NULL;
                l_rec_invoice_line_ifc.attribute1                  := NULL;
                l_rec_invoice_line_ifc.attribute2                  := NULL;
                l_rec_invoice_line_ifc.attribute3                  := NULL;
                l_rec_invoice_line_ifc.attribute4                  := NULL;
                l_rec_invoice_line_ifc.attribute5                  := NULL;
                l_rec_invoice_line_ifc.attribute6                  := NULL;
                l_rec_invoice_line_ifc.attribute7                  := NULL;
                l_rec_invoice_line_ifc.attribute8                  := NULL;
                l_rec_invoice_line_ifc.attribute9                  := NULL;
                l_rec_invoice_line_ifc.attribute10                 := NULL;
                l_rec_invoice_line_ifc.attribute11                 := NULL;
                l_rec_invoice_line_ifc.attribute12                 := NULL;
                l_rec_invoice_line_ifc.attribute13                 := NULL;
                l_rec_invoice_line_ifc.attribute14                 := NULL;
                l_rec_invoice_line_ifc.attribute15                 := NULL;
                l_rec_invoice_line_ifc.global_attribute_category   := NULL;
                l_rec_invoice_line_ifc.global_attribute1           := NULL;
                l_rec_invoice_line_ifc.global_attribute2           := NULL;
                l_rec_invoice_line_ifc.global_attribute3           := NULL;
                l_rec_invoice_line_ifc.global_attribute4           := NULL;
                l_rec_invoice_line_ifc.global_attribute5           := NULL;
                l_rec_invoice_line_ifc.global_attribute6           := NULL;
                l_rec_invoice_line_ifc.global_attribute7           := NULL;
                l_rec_invoice_line_ifc.global_attribute8           := NULL;
                l_rec_invoice_line_ifc.global_attribute9           := NULL;
                l_rec_invoice_line_ifc.global_attribute10          := NULL;
                l_rec_invoice_line_ifc.global_attribute11          := NULL;
                l_rec_invoice_line_ifc.global_attribute12          := NULL;
                l_rec_invoice_line_ifc.global_attribute13          := NULL;
                l_rec_invoice_line_ifc.global_attribute14          := NULL;
                l_rec_invoice_line_ifc.global_attribute15          := NULL;
                l_rec_invoice_line_ifc.global_attribute16          := NULL;
                l_rec_invoice_line_ifc.global_attribute17          := NULL;
                l_rec_invoice_line_ifc.global_attribute18          := NULL;
                l_rec_invoice_line_ifc.global_attribute19          := NULL;
                l_rec_invoice_line_ifc.global_attribute20          := NULL;
                l_rec_invoice_line_ifc.po_release_id               := NULL;
                l_rec_invoice_line_ifc.release_num                 := NULL;
                l_rec_invoice_line_ifc.account_segment             := NULL;
                l_rec_invoice_line_ifc.balancing_segment           := NULL;
                l_rec_invoice_line_ifc.cost_center_segment         := NULL;
                l_rec_invoice_line_ifc.project_id                  := NULL;
                l_rec_invoice_line_ifc.task_id                     := NULL;
                l_rec_invoice_line_ifc.expenditure_type            := NULL;
                l_rec_invoice_line_ifc.expenditure_item_date       := NULL;
                l_rec_invoice_line_ifc.expenditure_organization_id := NULL;
                l_rec_invoice_line_ifc.project_accounting_context  := NULL;
                l_rec_invoice_line_ifc.pa_addition_flag            := NULL;
                l_rec_invoice_line_ifc.pa_quantity                 := NULL;
                l_rec_invoice_line_ifc.ussgl_transaction_code      := NULL;
                l_rec_invoice_line_ifc.stat_amount                 := NULL;
                l_rec_invoice_line_ifc.type_1099                   := NULL;
                l_rec_invoice_line_ifc.income_tax_region           := NULL;
                l_rec_invoice_line_ifc.assets_tracking_flag        := NULL;
                l_rec_invoice_line_ifc.price_correction_flag       := NULL;
                l_rec_invoice_line_ifc.org_id                      := rec_ch.org_id;
                l_rec_invoice_line_ifc.receipt_number              := NULL;
                l_rec_invoice_line_ifc.receipt_line_number         := NULL;
                l_rec_invoice_line_ifc.match_option                := NULL;
                l_rec_invoice_line_ifc.packing_slip                := NULL;
                l_rec_invoice_line_ifc.rcv_transaction_id          := NULL;
                l_rec_invoice_line_ifc.pa_cc_ar_invoice_id         := NULL;
                l_rec_invoice_line_ifc.pa_cc_ar_invoice_line_num   := NULL;
                l_rec_invoice_line_ifc.reference_1                 := NULL;
                l_rec_invoice_line_ifc.reference_2                 := NULL;
                l_rec_invoice_line_ifc.pa_cc_processed_code        := NULL;
                l_rec_invoice_line_ifc.tax_recovery_rate           := NULL;
                l_rec_invoice_line_ifc.tax_recovery_override_flag  := NULL;
                l_rec_invoice_line_ifc.tax_recoverable_flag        := NULL;
                l_rec_invoice_line_ifc.tax_code_override_flag      := NULL;
                l_rec_invoice_line_ifc.tax_code_id                 := NULL;
                l_rec_invoice_line_ifc.credit_card_trx_id          := NULL;
                l_rec_invoice_line_ifc.award_id                    := NULL;
                l_rec_invoice_line_ifc.vendor_item_num             := NULL;
                l_rec_invoice_line_ifc.taxable_flag                := NULL;
                l_rec_invoice_line_ifc.price_correct_inv_num       := NULL;
                l_rec_invoice_line_ifc.external_doc_line_ref       := NULL;
                l_rec_invoice_line_ifc.serial_number               := NULL;
                l_rec_invoice_line_ifc.manufacturer                := NULL;
                l_rec_invoice_line_ifc.model_number                := NULL;
                l_rec_invoice_line_ifc.warranty_number             := NULL;
                l_rec_invoice_line_ifc.deferred_acctg_flag         := NULL;
                l_rec_invoice_line_ifc.def_acctg_start_date        := NULL;
                l_rec_invoice_line_ifc.def_acctg_end_date          := NULL;
                l_rec_invoice_line_ifc.def_acctg_number_of_periods := NULL;
                l_rec_invoice_line_ifc.def_acctg_period_type       := NULL;
                l_rec_invoice_line_ifc.unit_of_meas_lookup_code    := NULL;
                l_rec_invoice_line_ifc.price_correct_inv_line_num  := NULL;
                l_rec_invoice_line_ifc.asset_book_type_code        := NULL;
                l_rec_invoice_line_ifc.asset_category_id           := NULL;
                l_rec_invoice_line_ifc.requester_id                := NULL;
                l_rec_invoice_line_ifc.requester_first_name        := NULL;
                l_rec_invoice_line_ifc.requester_last_name         := NULL;
                l_rec_invoice_line_ifc.requester_employee_num      := NULL;
                l_rec_invoice_line_ifc.application_id              := NULL;
                l_rec_invoice_line_ifc.product_table               := NULL;
                l_rec_invoice_line_ifc.reference_key1              := NULL;
                l_rec_invoice_line_ifc.reference_key2              := NULL;
                l_rec_invoice_line_ifc.reference_key3              := NULL;
                l_rec_invoice_line_ifc.reference_key4              := NULL;
                l_rec_invoice_line_ifc.reference_key5              := NULL;
                l_rec_invoice_line_ifc.purchasing_category         := NULL;
                l_rec_invoice_line_ifc.purchasing_category_id      := NULL;
                l_rec_invoice_line_ifc.cost_factor_id              := NULL;
                l_rec_invoice_line_ifc.cost_factor_name            := NULL;
                l_rec_invoice_line_ifc.control_amount              := NULL;
                l_rec_invoice_line_ifc.assessable_value            := NULL;
                l_rec_invoice_line_ifc.default_dist_ccid           := NULL;
                l_rec_invoice_line_ifc.primary_intended_use        := NULL;
                l_rec_invoice_line_ifc.ship_to_location_id         := NULL;
                l_rec_invoice_line_ifc.product_type                := NULL;
                l_rec_invoice_line_ifc.product_category            := NULL;
                l_rec_invoice_line_ifc.product_fisc_classification := NULL;
                l_rec_invoice_line_ifc.user_defined_fisc_class     := NULL;
                l_rec_invoice_line_ifc.trx_business_category       := NULL;
                l_rec_invoice_line_ifc.tax_regime_code             := NULL;
                l_rec_invoice_line_ifc.tax                         := NULL;
                l_rec_invoice_line_ifc.tax_jurisdiction_code       := NULL;
                l_rec_invoice_line_ifc.tax_status_code             := NULL;
                l_rec_invoice_line_ifc.tax_rate_id                 := NULL;
                l_rec_invoice_line_ifc.tax_rate_code               := NULL;
                l_rec_invoice_line_ifc.tax_rate                    := NULL;
                l_rec_invoice_line_ifc.incl_in_taxable_line_flag   := NULL;
                l_rec_invoice_line_ifc.source_application_id       := NULL;
                l_rec_invoice_line_ifc.source_entity_code          := NULL;
                l_rec_invoice_line_ifc.source_event_class_code     := NULL;
                l_rec_invoice_line_ifc.source_trx_id               := NULL;
                l_rec_invoice_line_ifc.source_line_id              := NULL;
                l_rec_invoice_line_ifc.source_trx_level_type       := NULL;
                l_rec_invoice_line_ifc.tax_classification_code     := NULL;
                l_rec_invoice_line_ifc.cc_reversal_flag            := NULL;
                l_rec_invoice_line_ifc.company_prepaid_invoice_id  := NULL;
                l_rec_invoice_line_ifc.expense_group               := NULL;
                l_rec_invoice_line_ifc.justification               := NULL;
                l_rec_invoice_line_ifc.merchant_document_number    := NULL;
                l_rec_invoice_line_ifc.merchant_name               := NULL;
                l_rec_invoice_line_ifc.merchant_reference          := NULL;
                l_rec_invoice_line_ifc.merchant_tax_reg_number     := NULL;
                l_rec_invoice_line_ifc.merchant_taxpayer_id        := NULL;
                l_rec_invoice_line_ifc.receipt_currency_code       := NULL;
                l_rec_invoice_line_ifc.receipt_conversion_rate     := NULL;
                l_rec_invoice_line_ifc.receipt_currency_amount     := NULL;
                l_rec_invoice_line_ifc.country_of_supply           := NULL;
                l_rec_invoice_line_ifc.pay_awt_group_id            := NULL;
                l_rec_invoice_line_ifc.pay_awt_group_name          := NULL;
                l_rec_invoice_line_ifc.expense_start_date          := NULL;
                l_rec_invoice_line_ifc.expense_end_date            := NULL;
             
                INSERT INTO ap_invoice_lines_interface
                VALUES l_rec_invoice_line_ifc;
             
             END LOOP; --FOR REC_CL IN cur_cl (P_HEADER_ID =>REC_CH.HEADER_ID) LOOP
          
             --开始导入
          
             BEGIN
             
                l_ret_bool := ap_import_invoices_pkg.import_invoices(p_batch_name           => l_invoice_batch,
                                                                     p_gl_date              => NULL,
                                                                     p_hold_code            => NULL,
                                                                     p_hold_reason          => NULL,
                                                                     p_commit_cycles        => NULL,
                                                                     p_source               => 'OA_IMPORT',
                                                                     p_group_id             => 'OA_IMPORT' ||
                                                                                               l_group_id,
                                                                     p_conc_request_id      => fnd_global.conc_request_id,
                                                                     p_debug_switch         => 'N',
                                                                     p_org_id               => NULL,
                                                                     p_batch_error_flag     => l_batch_error_flag, --OUT
                                                                     p_invoices_fetched     => l_invoices_fetched, --OUT
                                                                     p_invoices_created     => l_invoices_created, --OUT
                                                                     p_total_invoice_amount => l_total_invoice_amount, --OUT  for bug 989221
                                                                     p_print_batch          => l_print_batch,
                                                                     p_calling_sequence     => g_pkg_name || '.' ||
                                                                                               l_api_name);
             
                --获取导入的发票ID
                SELECT i.invoice_id
                  INTO v_invoice_id
                  FROM ap_invoices_all i
                 WHERE i.attribute1 = rec_ch.source_code
                   AND i.attribute2 = to_char(rec_ch.source_line_id)
                   AND i.invoice_num = rec_ch.invoice_number
                   AND i.invoice_type_lookup_code = rec_ch.invoice_type;
             
                UPDATE cux_oa_ap_invoice_header h
                   SET h.process_status    = 'COMPLETE',
                       h.invoice_id        = v_invoice_id,
                       h.last_updated_by   = g_user_id,
                       h.last_update_date  = SYSDATE,
                       h.last_update_login = g_login_id
                 WHERE h.header_id = rec_ch.header_id;
             
                UPDATE oa_ap_invoices_header h
                   SET h.ebs_process_status = 'COMPLETE'
                 WHERE h.header_id = rec_ch.source_line_id;
             
                UPDATE cux_oa_ap_invoice_line l
                   SET l.process_status    = 'COMPLETE',
                       l.invoice_id        = v_invoice_id,
                       l.last_updated_by   = g_user_id,
                       l.last_update_date  = SYSDATE,
                       l.last_update_login = g_login_id
                 WHERE l.header_id = rec_ch.header_id;
             
                UPDATE oa_ap_invoices_line l
                   SET l.ebs_process_status = 'COMPLETE'
                 WHERE l.header_id = rec_ch.source_line_id;
             
             EXCEPTION
                WHEN no_data_found THEN
                   --没有找到,导入失败
                   UPDATE cux_oa_ap_invoice_header h
                      SET h.process_message   = get_interface_reject(l_rec_invoice_ifc.invoice_id,
                                                                     l_rec_invoice_line_ifc.invoice_line_id),
                          h.process_status    = 'ERROR',
                          h.last_updated_by   = g_user_id,
                          h.last_update_date  = SYSDATE,
                          h.last_update_login = g_login_id
                    WHERE h.header_id = rec_ch.header_id;
                
                   UPDATE oa_ap_invoices_header h
                      SET h.ebs_process_status  = 'ERROR',
                          h.ebs_process_message = get_interface_reject(l_rec_invoice_ifc.invoice_id,
                                                                       l_rec_invoice_line_ifc.invoice_line_id)
                    WHERE h.header_id = rec_ch.source_line_id;
                
                   UPDATE cux_oa_ap_invoice_line l
                      SET l.process_status    = 'ERROR',
                          l.last_updated_by   = g_user_id,
                          l.last_update_date  = SYSDATE,
                          l.last_update_login = g_login_id,
                          l.process_message   = '参考头表错误信息'
                    WHERE l.header_id = rec_ch.header_id;
                
                   UPDATE oa_ap_invoices_line l
                      SET l.ebs_process_status  = 'ERROR',
                          l.ebs_process_message = '参考头表错误信息'
                    WHERE l.header_id = rec_ch.source_line_id;
                
                WHEN OTHERS THEN
                   l_msg_data := SQLERRM;
                   UPDATE cux_oa_ap_invoice_header h
                      SET h.process_message   = l_msg_data,
                          h.process_status    = 'ERROR',
                          h.last_updated_by   = g_user_id,
                          h.last_update_date  = SYSDATE,
                          h.last_update_login = g_login_id
                    WHERE h.header_id = rec_ch.header_id;
                
                   UPDATE oa_ap_invoices_header h
                      SET h.ebs_process_status  = 'ERROR',
                          h.ebs_process_message = l_msg_data
                    WHERE h.header_id = rec_ch.source_line_id;
                
                   UPDATE cux_oa_ap_invoice_line l
                      SET l.process_status    = 'ERROR',
                          l.last_updated_by   = g_user_id,
                          l.last_update_date  = SYSDATE,
                          l.last_update_login = g_login_id,
                          l.process_message   = '参考头表错误信息'
                    WHERE l.header_id = rec_ch.header_id;
                
                   UPDATE oa_ap_invoices_line l
                      SET l.ebs_process_status  = 'ERROR',
                          l.ebs_process_message = '参考头表错误信息'
                    WHERE l.header_id = rec_ch.source_line_id;
             END; ----开始导入
          
          END LOOP; --FOR REC_CH IN cur_ch LOOP
       
          x_return_status := cux_api.end_activity(p_pkg_name  => g_pkg_name,
                                                  p_api_name  => l_api_name,
                                                  x_msg_count => x_msg_count,
                                                  x_msg_data  => x_msg_data);
       EXCEPTION
          WHEN fnd_api.g_exc_error THEN
             x_return_status := cux_api.handle_exceptions(p_pkg_name  => g_pkg_name,
                                                          p_api_name  => l_api_name,
                                                          p_exc_name  => cux_api.g_exc_name_error,
                                                          x_msg_count => x_msg_count,
                                                          x_msg_data  => x_msg_data);
          WHEN fnd_api.g_exc_unexpected_error THEN
             x_return_status := cux_api.handle_exceptions(p_pkg_name  => g_pkg_name,
                                                          p_api_name  => l_api_name,
                                                          p_exc_name  => cux_api.g_exc_name_unexp,
                                                          x_msg_count => x_msg_count,
                                                          x_msg_data  => x_msg_data);
          WHEN OTHERS THEN
             x_return_status := cux_api.handle_exceptions(p_pkg_name  => g_pkg_name,
                                                          p_api_name  => l_api_name,
                                                          p_exc_name  => cux_api.g_exc_name_others,
                                                          x_msg_count => x_msg_count,
                                                          x_msg_data  => x_msg_data);
       END process_cux_to_ap;

  • 相关阅读:
    CF1439E
    CF1446
    CSP2020 游记
    CF1442
    CF1444E
    CF1444
    CF850F Rainbow Balls
    A
    uoj266[清华集训2016]Alice和Bob又在玩游戏(SG函数)
    loj536「LibreOJ Round #6」花札(二分图博弈)
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299132.html
Copyright © 2011-2022 走看看