1: PACKAGE BODY AP_IMPORT_INVOICES_PKG AS
2: /* $Header: apiimptb.pls 120.100.12020000.11 2013/04/16 15:18:33 nbshaik ship $ */
3:
4:
5: G_CURRENT_RUNTIME_LEVEL CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
36: EXCEPTION
37:
38: WHEN OTHERS then
39: IF (SQLCODE < 0) then
40: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
41: AP_IMPORT_UTILITIES_PKG.Print(
42: AP_IMPORT_INVOICES_PKG.g_debug_switch, SQLERRM);
43: END IF;
44: END IF;
38: WHEN OTHERS then
39: IF (SQLCODE < 0) then
40: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
41: AP_IMPORT_UTILITIES_PKG.Print(
42: AP_IMPORT_INVOICES_PKG.g_debug_switch, SQLERRM);
43: END IF;
44: END IF;
45: RETURN 0;
46: END delete_attachments;
499: vendor_site_code,
500: invoice_num
501: For UPDATE of invoice_id NOWAIT;
502:
503: l_invoice_rec AP_IMPORT_INVOICES_PKG.r_invoice_info_rec;
504: l_invoice_lines_tab AP_IMPORT_INVOICES_PKG.t_lines_table;
505: l_default_last_updated_by NUMBER;
506: l_default_last_update_login NUMBER;
507: l_multi_currency_flag VARCHAR2(1);
500: invoice_num
501: For UPDATE of invoice_id NOWAIT;
502:
503: l_invoice_rec AP_IMPORT_INVOICES_PKG.r_invoice_info_rec;
504: l_invoice_lines_tab AP_IMPORT_INVOICES_PKG.t_lines_table;
505: l_default_last_updated_by NUMBER;
506: l_default_last_update_login NUMBER;
507: l_multi_currency_flag VARCHAR2(1);
508: l_make_rate_mandatory_flag VARCHAR2(1);
608: l_reset_match_status VARCHAR2(50);
609: l_liability_adjusted_flag VARCHAR2(50);
610: l_revalidate_ps VARCHAR2(50);
611: -- Bug 5448579
612: l_moac_org_table AP_IMPORT_INVOICES_PKG.moac_ou_tab_type;
613: l_fsp_org_table AP_IMPORT_INVOICES_PKG.fsp_org_tab_type;
614: l_index_org_id NUMBER;
615: l_asset_book_type FA_BOOK_CONTROLS.book_type_code%TYPE;
616:
609: l_liability_adjusted_flag VARCHAR2(50);
610: l_revalidate_ps VARCHAR2(50);
611: -- Bug 5448579
612: l_moac_org_table AP_IMPORT_INVOICES_PKG.moac_ou_tab_type;
613: l_fsp_org_table AP_IMPORT_INVOICES_PKG.fsp_org_tab_type;
614: l_index_org_id NUMBER;
615: l_asset_book_type FA_BOOK_CONTROLS.book_type_code%TYPE;
616:
617: -- Bug 5645581.
636: --Bug8876668
637: l_reject_status_code VARCHAR2(1) :='Y';
638: l_period_name gl_period_statuses.period_name%TYPE := ''; /* Added for bug#12356854 */
639: --bug 15862708 start
640: tab_invoice_table AP_IMPORT_INVOICES_PKG.t_invoice_table;
641: tab_lines_table AP_IMPORT_INVOICES_PKG.t_lines_table;
642: l_inv_index NUMBER := 0;
643: l_line_index NUMBER := 0;
644: k NUMBER := 0;
637: l_reject_status_code VARCHAR2(1) :='Y';
638: l_period_name gl_period_statuses.period_name%TYPE := ''; /* Added for bug#12356854 */
639: --bug 15862708 start
640: tab_invoice_table AP_IMPORT_INVOICES_PKG.t_invoice_table;
641: tab_lines_table AP_IMPORT_INVOICES_PKG.t_lines_table;
642: l_inv_index NUMBER := 0;
643: l_line_index NUMBER := 0;
644: k NUMBER := 0;
645: j NUMBER := 0;
642: l_inv_index NUMBER := 0;
643: l_line_index NUMBER := 0;
644: k NUMBER := 0;
645: j NUMBER := 0;
646: l_get_info_rec AP_IMPORT_INVOICES_PKG.get_info_rec;
647: calculate_tax_failure EXCEPTION; --bug 15862708
648: LINES_TAB AP_IMPORT_INVOICES_PKG.LINES_TABLE := AP_IMPORT_INVOICES_PKG.LINES_TABLE();
649: k_fir NUMBER := 0;
650: --bug 15862708 ends
644: k NUMBER := 0;
645: j NUMBER := 0;
646: l_get_info_rec AP_IMPORT_INVOICES_PKG.get_info_rec;
647: calculate_tax_failure EXCEPTION; --bug 15862708
648: LINES_TAB AP_IMPORT_INVOICES_PKG.LINES_TABLE := AP_IMPORT_INVOICES_PKG.LINES_TABLE();
649: k_fir NUMBER := 0;
650: --bug 15862708 ends
651: l_invoices_created NUMBER:=0; --bug 14530013
652: BEGIN
650: --bug 15862708 ends
651: l_invoices_created NUMBER:=0; --bug 14530013
652: BEGIN
653: /*Bug 14723659:Start*/
654: AP_IMPORT_INVOICES_PKG.g_inv_sysdate := TRUNC(sysdate);
655: /*Bug 14723659:End*/
656:
657: --bug 15862708 start
658: debug_info := '(Import_invoices start time:'||to_char(sysdate, 'DD-Mon-YYYY HH24:MI:SS');
655: /*Bug 14723659:End*/
656:
657: --bug 15862708 start
658: debug_info := '(Import_invoices start time:'||to_char(sysdate, 'DD-Mon-YYYY HH24:MI:SS');
659: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
660: AP_IMPORT_UTILITIES_PKG.Print(
661: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
662: END IF;
663: --bug 15862708 ends
657: --bug 15862708 start
658: debug_info := '(Import_invoices start time:'||to_char(sysdate, 'DD-Mon-YYYY HH24:MI:SS');
659: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
660: AP_IMPORT_UTILITIES_PKG.Print(
661: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
662: END IF;
663: --bug 15862708 ends
664: -- Update the calling sequence and initialize variables
665:
667:
668: p_batch_error_flag := 'N';
669: l_gl_date_from_get_info := TRUNC(p_gl_date);
670:
671: AP_IMPORT_INVOICES_PKG.g_debug_switch := p_debug_switch;
672: AP_IMPORT_INVOICES_PKG.g_source := p_source;
673: AP_IMPORT_INVOICES_PKG.g_program_application_id := FND_GLOBAL.prog_appl_id;
674: AP_IMPORT_INVOICES_PKG.g_program_id := FND_GLOBAL.conc_program_id;
675: AP_IMPORT_INVOICES_PKG.g_conc_request_id := p_conc_request_id;
668: p_batch_error_flag := 'N';
669: l_gl_date_from_get_info := TRUNC(p_gl_date);
670:
671: AP_IMPORT_INVOICES_PKG.g_debug_switch := p_debug_switch;
672: AP_IMPORT_INVOICES_PKG.g_source := p_source;
673: AP_IMPORT_INVOICES_PKG.g_program_application_id := FND_GLOBAL.prog_appl_id;
674: AP_IMPORT_INVOICES_PKG.g_program_id := FND_GLOBAL.conc_program_id;
675: AP_IMPORT_INVOICES_PKG.g_conc_request_id := p_conc_request_id;
676:
669: l_gl_date_from_get_info := TRUNC(p_gl_date);
670:
671: AP_IMPORT_INVOICES_PKG.g_debug_switch := p_debug_switch;
672: AP_IMPORT_INVOICES_PKG.g_source := p_source;
673: AP_IMPORT_INVOICES_PKG.g_program_application_id := FND_GLOBAL.prog_appl_id;
674: AP_IMPORT_INVOICES_PKG.g_program_id := FND_GLOBAL.conc_program_id;
675: AP_IMPORT_INVOICES_PKG.g_conc_request_id := p_conc_request_id;
676:
677: --bug 16656238
670:
671: AP_IMPORT_INVOICES_PKG.g_debug_switch := p_debug_switch;
672: AP_IMPORT_INVOICES_PKG.g_source := p_source;
673: AP_IMPORT_INVOICES_PKG.g_program_application_id := FND_GLOBAL.prog_appl_id;
674: AP_IMPORT_INVOICES_PKG.g_program_id := FND_GLOBAL.conc_program_id;
675: AP_IMPORT_INVOICES_PKG.g_conc_request_id := p_conc_request_id;
676:
677: --bug 16656238
678: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
671: AP_IMPORT_INVOICES_PKG.g_debug_switch := p_debug_switch;
672: AP_IMPORT_INVOICES_PKG.g_source := p_source;
673: AP_IMPORT_INVOICES_PKG.g_program_application_id := FND_GLOBAL.prog_appl_id;
674: AP_IMPORT_INVOICES_PKG.g_program_id := FND_GLOBAL.conc_program_id;
675: AP_IMPORT_INVOICES_PKG.g_conc_request_id := p_conc_request_id;
676:
677: --bug 16656238
678: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
679: AP_IMPORT_INVOICES_PKG.g_debug_switch := 'Y';
675: AP_IMPORT_INVOICES_PKG.g_conc_request_id := p_conc_request_id;
676:
677: --bug 16656238
678: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
679: AP_IMPORT_INVOICES_PKG.g_debug_switch := 'Y';
680: END IF;
681:
682: debug_info := 'Request_id'||p_conc_request_id;
683: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
679: AP_IMPORT_INVOICES_PKG.g_debug_switch := 'Y';
680: END IF;
681:
682: debug_info := 'Request_id'||p_conc_request_id;
683: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
684: AP_IMPORT_UTILITIES_PKG.Print(
685: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
686: END IF;
687: -- Retropricing
681:
682: debug_info := 'Request_id'||p_conc_request_id;
683: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
684: AP_IMPORT_UTILITIES_PKG.Print(
685: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
686: END IF;
687: -- Retropricing
688: IF AP_IMPORT_INVOICES_PKG.g_source = 'PPA' THEN
689: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_PPA_INVOICES_GT';
684: AP_IMPORT_UTILITIES_PKG.Print(
685: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
686: END IF;
687: -- Retropricing
688: IF AP_IMPORT_INVOICES_PKG.g_source = 'PPA' THEN
689: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_PPA_INVOICES_GT';
690: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_PPA_INVOICE_LINES_GT';
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
685: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
686: END IF;
687: -- Retropricing
688: IF AP_IMPORT_INVOICES_PKG.g_source = 'PPA' THEN
689: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_PPA_INVOICES_GT';
690: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_PPA_INVOICE_LINES_GT';
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
693: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_INVOICES_INTERFACE';
686: END IF;
687: -- Retropricing
688: IF AP_IMPORT_INVOICES_PKG.g_source = 'PPA' THEN
689: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_PPA_INVOICES_GT';
690: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_PPA_INVOICE_LINES_GT';
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
693: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_INVOICES_INTERFACE';
694: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_INVOICE_LINES_INTERFACE';
687: -- Retropricing
688: IF AP_IMPORT_INVOICES_PKG.g_source = 'PPA' THEN
689: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_PPA_INVOICES_GT';
690: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_PPA_INVOICE_LINES_GT';
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
693: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_INVOICES_INTERFACE';
694: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_INVOICE_LINES_INTERFACE';
695: AP_IMPORT_INVOICES_PKG.g_instructions_table := NULL;
689: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_PPA_INVOICES_GT';
690: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_PPA_INVOICE_LINES_GT';
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
693: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_INVOICES_INTERFACE';
694: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_INVOICE_LINES_INTERFACE';
695: AP_IMPORT_INVOICES_PKG.g_instructions_table := NULL;
696: END IF;
697:
690: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_PPA_INVOICE_LINES_GT';
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
693: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_INVOICES_INTERFACE';
694: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_INVOICE_LINES_INTERFACE';
695: AP_IMPORT_INVOICES_PKG.g_instructions_table := NULL;
696: END IF;
697:
698: -- Bug 5448579
691: AP_IMPORT_INVOICES_PKG.g_instructions_table := 'AP_PPA_INSTRUCTIONS_GT';
692: ELSE
693: AP_IMPORT_INVOICES_PKG.g_invoices_table := 'AP_INVOICES_INTERFACE';
694: AP_IMPORT_INVOICES_PKG.g_invoice_lines_table := 'AP_INVOICE_LINES_INTERFACE';
695: AP_IMPORT_INVOICES_PKG.g_instructions_table := NULL;
696: END IF;
697:
698: -- Bug 5448579
699: ----------------------------------------------------------------
697:
698: -- Bug 5448579
699: ----------------------------------------------------------------
700: debug_info := '(Import_invoice 0.1) Calling Caching Function for Org Id/Name';
701: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
702: AP_IMPORT_UTILITIES_PKG.Print(
703: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
704: END IF;
705: IF (AP_IMPORT_UTILITIES_PKG.Cache_Org_Id_Name (
699: ----------------------------------------------------------------
700: debug_info := '(Import_invoice 0.1) Calling Caching Function for Org Id/Name';
701: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
702: AP_IMPORT_UTILITIES_PKG.Print(
703: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
704: END IF;
705: IF (AP_IMPORT_UTILITIES_PKG.Cache_Org_Id_Name (
706: P_Moac_Org_Table => AP_IMPORT_INVOICES_PKG.g_moac_ou_tab,
707: P_Fsp_Org_Table => AP_IMPORT_INVOICES_PKG.g_fsp_ou_tab,
702: AP_IMPORT_UTILITIES_PKG.Print(
703: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
704: END IF;
705: IF (AP_IMPORT_UTILITIES_PKG.Cache_Org_Id_Name (
706: P_Moac_Org_Table => AP_IMPORT_INVOICES_PKG.g_moac_ou_tab,
707: P_Fsp_Org_Table => AP_IMPORT_INVOICES_PKG.g_fsp_ou_tab,
708: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
709: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
710: AP_IMPORT_UTILITIES_PKG.Print(
703: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
704: END IF;
705: IF (AP_IMPORT_UTILITIES_PKG.Cache_Org_Id_Name (
706: P_Moac_Org_Table => AP_IMPORT_INVOICES_PKG.g_moac_ou_tab,
707: P_Fsp_Org_Table => AP_IMPORT_INVOICES_PKG.g_fsp_ou_tab,
708: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
709: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
710: AP_IMPORT_UTILITIES_PKG.Print(
711: AP_IMPORT_INVOICES_PKG.g_debug_switch,
705: IF (AP_IMPORT_UTILITIES_PKG.Cache_Org_Id_Name (
706: P_Moac_Org_Table => AP_IMPORT_INVOICES_PKG.g_moac_ou_tab,
707: P_Fsp_Org_Table => AP_IMPORT_INVOICES_PKG.g_fsp_ou_tab,
708: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
709: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
710: AP_IMPORT_UTILITIES_PKG.Print(
711: AP_IMPORT_INVOICES_PKG.g_debug_switch,
712: 'Cache_Org_Id_Name <-'||current_calling_sequence);
713: END IF;
707: P_Fsp_Org_Table => AP_IMPORT_INVOICES_PKG.g_fsp_ou_tab,
708: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
709: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
710: AP_IMPORT_UTILITIES_PKG.Print(
711: AP_IMPORT_INVOICES_PKG.g_debug_switch,
712: 'Cache_Org_Id_Name <-'||current_calling_sequence);
713: END IF;
714: Raise import_invoice_failure;
715: END IF;
715: END IF;
716:
717:
718: debug_info := '(Import_Invoices 0.2) Calling Caching Function for Currency';
719: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
720: AP_IMPORT_UTILITIES_PKG.Print(
721: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
722: END IF;
723: IF (AP_IMPORT_UTILITIES_PKG.Cache_Fnd_Currency (
717:
718: debug_info := '(Import_Invoices 0.2) Calling Caching Function for Currency';
719: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
720: AP_IMPORT_UTILITIES_PKG.Print(
721: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
722: END IF;
723: IF (AP_IMPORT_UTILITIES_PKG.Cache_Fnd_Currency (
724: P_Fnd_Currency_Table => AP_IMPORT_INVOICES_PKG.g_fnd_currency_tab,
725: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
720: AP_IMPORT_UTILITIES_PKG.Print(
721: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
722: END IF;
723: IF (AP_IMPORT_UTILITIES_PKG.Cache_Fnd_Currency (
724: P_Fnd_Currency_Table => AP_IMPORT_INVOICES_PKG.g_fnd_currency_tab,
725: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
726: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
727: AP_IMPORT_UTILITIES_PKG.Print(
728: AP_IMPORT_INVOICES_PKG.g_debug_switch,
722: END IF;
723: IF (AP_IMPORT_UTILITIES_PKG.Cache_Fnd_Currency (
724: P_Fnd_Currency_Table => AP_IMPORT_INVOICES_PKG.g_fnd_currency_tab,
725: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
726: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
727: AP_IMPORT_UTILITIES_PKG.Print(
728: AP_IMPORT_INVOICES_PKG.g_debug_switch,
729: 'Cache_Fnd_Currency <-'||current_calling_sequence);
730: END IF;
724: P_Fnd_Currency_Table => AP_IMPORT_INVOICES_PKG.g_fnd_currency_tab,
725: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
726: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
727: AP_IMPORT_UTILITIES_PKG.Print(
728: AP_IMPORT_INVOICES_PKG.g_debug_switch,
729: 'Cache_Fnd_Currency <-'||current_calling_sequence);
730: END IF;
731: Raise import_invoice_failure;
732: END IF;
732: END IF;
733:
734:
735: debug_info := '(Import_Invoices 0.3) Calling Caching Function for Payment Method';
736: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
737: AP_IMPORT_UTILITIES_PKG.Print(
738: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
739: END IF;
740: IF (AP_IMPORT_UTILITIES_PKG.Cache_Payment_Method (
734:
735: debug_info := '(Import_Invoices 0.3) Calling Caching Function for Payment Method';
736: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
737: AP_IMPORT_UTILITIES_PKG.Print(
738: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
739: END IF;
740: IF (AP_IMPORT_UTILITIES_PKG.Cache_Payment_Method (
741: P_Payment_Method_Table => AP_IMPORT_INVOICES_PKG.g_payment_method_tab,
742: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
737: AP_IMPORT_UTILITIES_PKG.Print(
738: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
739: END IF;
740: IF (AP_IMPORT_UTILITIES_PKG.Cache_Payment_Method (
741: P_Payment_Method_Table => AP_IMPORT_INVOICES_PKG.g_payment_method_tab,
742: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
743: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
744: AP_IMPORT_UTILITIES_PKG.Print(
745: AP_IMPORT_INVOICES_PKG.g_debug_switch,
739: END IF;
740: IF (AP_IMPORT_UTILITIES_PKG.Cache_Payment_Method (
741: P_Payment_Method_Table => AP_IMPORT_INVOICES_PKG.g_payment_method_tab,
742: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
743: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
744: AP_IMPORT_UTILITIES_PKG.Print(
745: AP_IMPORT_INVOICES_PKG.g_debug_switch,
746: 'Cache_Payment_Method <-'||current_calling_sequence);
747: END IF;
741: P_Payment_Method_Table => AP_IMPORT_INVOICES_PKG.g_payment_method_tab,
742: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
743: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
744: AP_IMPORT_UTILITIES_PKG.Print(
745: AP_IMPORT_INVOICES_PKG.g_debug_switch,
746: 'Cache_Payment_Method <-'||current_calling_sequence);
747: END IF;
748: Raise import_invoice_failure;
749: END IF;
748: Raise import_invoice_failure;
749: END IF;
750:
751: debug_info := '(Import_Invoices 0.4) Calling Caching Function for Payment Group';
752: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
753: AP_IMPORT_UTILITIES_PKG.Print(
754: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
755: END IF;
756: IF (AP_IMPORT_UTILITIES_PKG.Cache_Pay_Group (
750:
751: debug_info := '(Import_Invoices 0.4) Calling Caching Function for Payment Group';
752: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
753: AP_IMPORT_UTILITIES_PKG.Print(
754: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
755: END IF;
756: IF (AP_IMPORT_UTILITIES_PKG.Cache_Pay_Group (
757: P_Pay_Group_Table => AP_IMPORT_INVOICES_PKG.g_pay_group_tab,
758: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
753: AP_IMPORT_UTILITIES_PKG.Print(
754: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
755: END IF;
756: IF (AP_IMPORT_UTILITIES_PKG.Cache_Pay_Group (
757: P_Pay_Group_Table => AP_IMPORT_INVOICES_PKG.g_pay_group_tab,
758: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
759: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
760: AP_IMPORT_UTILITIES_PKG.Print(
761: AP_IMPORT_INVOICES_PKG.g_debug_switch,
755: END IF;
756: IF (AP_IMPORT_UTILITIES_PKG.Cache_Pay_Group (
757: P_Pay_Group_Table => AP_IMPORT_INVOICES_PKG.g_pay_group_tab,
758: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
759: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
760: AP_IMPORT_UTILITIES_PKG.Print(
761: AP_IMPORT_INVOICES_PKG.g_debug_switch,
762: 'Cache_Pay_Group <-'||current_calling_sequence);
763: END IF;
757: P_Pay_Group_Table => AP_IMPORT_INVOICES_PKG.g_pay_group_tab,
758: P_Calling_Sequence => current_calling_sequence ) <> TRUE) THEN
759: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
760: AP_IMPORT_UTILITIES_PKG.Print(
761: AP_IMPORT_INVOICES_PKG.g_debug_switch,
762: 'Cache_Pay_Group <-'||current_calling_sequence);
763: END IF;
764: Raise import_invoice_failure;
765: END IF;
764: Raise import_invoice_failure;
765: END IF;
766:
767: debug_info := '(Import_Invoices 0.5) Caching Structure Id';
768: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
769: AP_IMPORT_UTILITIES_PKG.Print(
770: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
771: END IF;
772:
766:
767: debug_info := '(Import_Invoices 0.5) Caching Structure Id';
768: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
769: AP_IMPORT_UTILITIES_PKG.Print(
770: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
771: END IF;
772:
773: BEGIN
774:
772:
773: BEGIN
774:
775: SELECT structure_id
776: INTO AP_IMPORT_INVOICES_PKG.g_structure_id
777: FROM mtl_default_sets_view
778: WHERE functional_area_id = 2;
779:
780: EXCEPTION WHEN OTHERS THEN
816: --------------------------------------------------------
817:
818: debug_info := '(Import_invoice 1) Check control table for the import batch';
819:
820: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
821: AP_IMPORT_UTILITIES_PKG.Print(
822: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
823: END IF;
824: /*
818: debug_info := '(Import_invoice 1) Check control table for the import batch';
819:
820: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
821: AP_IMPORT_UTILITIES_PKG.Print(
822: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
823: END IF;
824: /*
825: IF (AP_IMPORT_UTILITIES_PKG.check_control_table(
826: p_source,
826: p_source,
827: p_group_id,
828: current_calling_sequence) <> TRUE) THEN
829:
830: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
831: AP_IMPORT_UTILITIES_PKG.Print(
832: AP_IMPORT_INVOICES_PKG.g_debug_switch,'check_control_table<-'
833: ||current_calling_sequence);
834: END IF;
828: current_calling_sequence) <> TRUE) THEN
829:
830: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
831: AP_IMPORT_UTILITIES_PKG.Print(
832: AP_IMPORT_INVOICES_PKG.g_debug_switch,'check_control_table<-'
833: ||current_calling_sequence);
834: END IF;
835: Raise import_invoice_failure;
836: END IF;
841: -- get default last updated by and last update login information.
842: --------------------------------------------------------
843: debug_info := '(Import_invoice 2) Print Source';
844:
845: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
846: AP_IMPORT_UTILITIES_PKG.Print(
847: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
848: END IF;
849:
843: debug_info := '(Import_invoice 2) Print Source';
844:
845: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
846: AP_IMPORT_UTILITIES_PKG.Print(
847: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
848: END IF;
849:
850: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
851: AP_IMPORT_UTILITIES_PKG.Print(
846: AP_IMPORT_UTILITIES_PKG.Print(
847: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
848: END IF;
849:
850: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
851: AP_IMPORT_UTILITIES_PKG.Print(
852: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'p_source' || p_source);
853: END IF;
854:
848: END IF;
849:
850: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
851: AP_IMPORT_UTILITIES_PKG.Print(
852: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'p_source' || p_source);
853: END IF;
854:
855: l_default_last_updated_by := to_number(FND_GLOBAL.USER_ID);
856: l_default_last_update_login := to_number(FND_GLOBAL.LOGIN_ID);
861: ----------------------------------------------------------------
862:
863: debug_info := '(Import Invoice 3) Delete Rejections from previous failed '||
864: 'imports';
865: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
866: AP_IMPORT_UTILITIES_PKG.Print(
867: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
868: END IF;
869:
863: debug_info := '(Import Invoice 3) Delete Rejections from previous failed '||
864: 'imports';
865: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
866: AP_IMPORT_UTILITIES_PKG.Print(
867: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
868: END IF;
869:
870: debug_info := '(Check_lines 3a) Select all the Rejected Invoices';
871: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
867: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
868: END IF;
869:
870: debug_info := '(Check_lines 3a) Select all the Rejected Invoices';
871: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
872: AP_IMPORT_UTILITIES_PKG.Print(
873: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
874: END IF;
875:
869:
870: debug_info := '(Check_lines 3a) Select all the Rejected Invoices';
871: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
872: AP_IMPORT_UTILITIES_PKG.Print(
873: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
874: END IF;
875:
876: -- Bug 4145391. To improve the performance of the import program coding two
877: -- different select stmts based on the parameter p_group_id
950: /* BUG 8237318 - End modified the existing query to dynamic sql to skip the null checks
951: for passing parameters in the query. */
952: debug_info := '(Check_lines 3b) Delete invoices from ap_interface_rejections';
953:
954: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
955: AP_IMPORT_UTILITIES_PKG.Print(
956: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
957: END IF;
958:
952: debug_info := '(Check_lines 3b) Delete invoices from ap_interface_rejections';
953:
954: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
955: AP_IMPORT_UTILITIES_PKG.Print(
956: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
957: END IF;
958:
959: -- Retropricing
960: --The PPA Rejections will be deleted from ap_interface_rejections
975: END IF;
976: --Start of Bug 6801046
977: debug_info := '(Check_lines 3c) Update requestid on the Selected Invoices';
978:
979: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
980: AP_IMPORT_UTILITIES_PKG.Print(
981: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
982: END IF;
983:
977: debug_info := '(Check_lines 3c) Update requestid on the Selected Invoices';
978:
979: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
980: AP_IMPORT_UTILITIES_PKG.Print(
981: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
982: END IF;
983:
984: IF enums.COUNT > 0 THEN
985: ForALL i IN enums.FIRST .. enums.LAST
983:
984: IF enums.COUNT > 0 THEN
985: ForALL i IN enums.FIRST .. enums.LAST
986: UPDATE AP_INVOICES_INTERFACE
987: SET request_id = AP_IMPORT_INVOICES_PKG.g_conc_request_id
988: WHERE invoice_id = enums(i);
989: END IF;
990: --End of Bug 6801046
991: ----------------------------------------------------------------
992: -- Step 4 Update the org_id whenever null IF operating unit
993: -- is not null.
994: ----------------------------------------------------------------
995: debug_info := '(Import Invoice 4) Update the org_id';
996: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
997: AP_IMPORT_UTILITIES_PKG.Print(
998: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
999: END IF;
1000:
994: ----------------------------------------------------------------
995: debug_info := '(Import Invoice 4) Update the org_id';
996: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
997: AP_IMPORT_UTILITIES_PKG.Print(
998: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
999: END IF;
1000:
1001: debug_info := '(Import_Invoices 4a) Updating Interface WHERE org_id '||
1002: 'is null but operating unit is not null';
999: END IF;
1000:
1001: debug_info := '(Import_Invoices 4a) Updating Interface WHERE org_id '||
1002: 'is null but operating unit is not null';
1003: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1004: AP_IMPORT_UTILITIES_PKG.Print(
1005: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1006: END IF;
1007:
1001: debug_info := '(Import_Invoices 4a) Updating Interface WHERE org_id '||
1002: 'is null but operating unit is not null';
1003: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1004: AP_IMPORT_UTILITIES_PKG.Print(
1005: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1006: END IF;
1007:
1008:
1009: --Bug 6839034 Added additional filters to the update below
1079: for passing parameters in the query. */
1080:
1081: debug_info := '(Import_Invoices 4b) Getting Deafult Operating Unit '||
1082: 'Information';
1083: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1084: AP_IMPORT_UTILITIES_PKG.Print(
1085: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1086: END IF;
1087:
1081: debug_info := '(Import_Invoices 4b) Getting Deafult Operating Unit '||
1082: 'Information';
1083: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1084: AP_IMPORT_UTILITIES_PKG.Print(
1085: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1086: END IF;
1087:
1088:
1089: Mo_Utils.get_default_ou(
1095: -- Step 5 Get number of invoices to process.
1096: ----------------------------------------------------------------
1097: debug_info := '(Import Invoices 5) Get The Total Number of Invoices '||
1098: 'In Interface';
1099: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1100: AP_IMPORT_UTILITIES_PKG.Print(
1101: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1102: END IF;
1103:
1097: debug_info := '(Import Invoices 5) Get The Total Number of Invoices '||
1098: 'In Interface';
1099: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1100: AP_IMPORT_UTILITIES_PKG.Print(
1101: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1102: END IF;
1103:
1104: -- Bug 4145391. To improve the performance of the import program coding two
1105: -- different select stmts based on the parameter p_group_id
1135: l_stmt := l_stmt || ' AND nvl(workflow_flag,''D'') = ''D'' ';
1136:
1137: --Bug13616489 - added debug stmt
1138: debug_info := '(Import_Invoices 5a) Total Invoices l_stmt:'||l_stmt;
1139: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1140: AP_IMPORT_UTILITIES_PKG.Print(
1141: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1142: END IF;
1143:
1137: --Bug13616489 - added debug stmt
1138: debug_info := '(Import_Invoices 5a) Total Invoices l_stmt:'||l_stmt;
1139: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1140: AP_IMPORT_UTILITIES_PKG.Print(
1141: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1142: END IF;
1143:
1144: BEGIN
1145: EXECUTE IMMEDIATE l_stmt INTO l_total_count;
1149: END IF;
1150:
1151: --Bug13616489 - added debug stmt
1152: debug_info := '(Import_Invoices 4c) Total Invoices: l_total_count:'||l_total_count;
1153: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1154: AP_IMPORT_UTILITIES_PKG.Print(
1155: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1156: END IF;
1157: --Bug13616489 - added debug stmt
1151: --Bug13616489 - added debug stmt
1152: debug_info := '(Import_Invoices 4c) Total Invoices: l_total_count:'||l_total_count;
1153: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1154: AP_IMPORT_UTILITIES_PKG.Print(
1155: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1156: END IF;
1157: --Bug13616489 - added debug stmt
1158: debug_info := '(Import_Invoices 4d) l_continue_flag:'||l_continue_flag;
1159: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1155: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1156: END IF;
1157: --Bug13616489 - added debug stmt
1158: debug_info := '(Import_Invoices 4d) l_continue_flag:'||l_continue_flag;
1159: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1160: AP_IMPORT_UTILITIES_PKG.Print(
1161: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1162: END IF;
1163:
1157: --Bug13616489 - added debug stmt
1158: debug_info := '(Import_Invoices 4d) l_continue_flag:'||l_continue_flag;
1159: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1160: AP_IMPORT_UTILITIES_PKG.Print(
1161: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1162: END IF;
1163:
1164: EXCEPTION
1165: WHEN NO_DATA_FOUND THEN
1238: for passing parameters in the query. */
1239:
1240: -- Bug 5448579
1241: debug_info := '(Import_invoice 5.5) Unwinding Caching Org Id/Name';
1242: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1243: AP_IMPORT_UTILITIES_PKG.Print(
1244: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1245: END IF;
1246:
1240: -- Bug 5448579
1241: debug_info := '(Import_invoice 5.5) Unwinding Caching Org Id/Name';
1242: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1243: AP_IMPORT_UTILITIES_PKG.Print(
1244: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1245: END IF;
1246:
1247: FOR i IN 1..g_moac_ou_tab.COUNT
1248: LOOP
1253: debug_info := 'Index Value: '||l_index_org_id
1254: ||', MOAC Cached Org_Id: '||l_moac_org_table(l_index_org_id).org_id
1255: ||', MOAC Cached Operating Unit: '|| l_moac_org_table(l_index_org_id).org_name;
1256:
1257: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1258: AP_IMPORT_UTILITIES_PKG.Print(
1259: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1260: END IF;
1261: END LOOP;
1255: ||', MOAC Cached Operating Unit: '|| l_moac_org_table(l_index_org_id).org_name;
1256:
1257: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1258: AP_IMPORT_UTILITIES_PKG.Print(
1259: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1260: END IF;
1261: END LOOP;
1262:
1263: FOR i IN 1..g_fsp_ou_tab.COUNT
1267:
1268: debug_info := 'Index Value: '||l_index_org_id
1269: ||', FSP Cached Org_Id: '||l_fsp_org_table(l_index_org_id).org_id;
1270:
1271: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1272: AP_IMPORT_UTILITIES_PKG.Print(
1273: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1274: END IF;
1275:
1269: ||', FSP Cached Org_Id: '||l_fsp_org_table(l_index_org_id).org_id;
1270:
1271: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1272: AP_IMPORT_UTILITIES_PKG.Print(
1273: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1274: END IF;
1275:
1276: END LOOP;
1277:
1291:
1292: --bug 15862708 ends
1293:
1294: debug_info := '(Import_invoice 6) Open import_invoices cursor';
1295: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1296: AP_IMPORT_UTILITIES_PKG.Print(
1297: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1298: END IF;
1299:
1293:
1294: debug_info := '(Import_invoice 6) Open import_invoices cursor';
1295: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1296: AP_IMPORT_UTILITIES_PKG.Print(
1297: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1298: END IF;
1299:
1300: -- Bug 4145391. To improve the performance of the import program coding two
1301: -- different cursors based on the parameter p_group_id
1307:
1308: debug_info := '(Import_invoice -->Execution started for first loop:'
1309: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
1310:
1311: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
1312: AP_IMPORT_UTILITIES_PKG.Print(
1313: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1314: END IF;
1315:
1309: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
1310:
1311: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
1312: AP_IMPORT_UTILITIES_PKG.Print(
1313: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1314: END IF;
1315:
1316: LOOP
1317: BEGIN --veramach bug 7121842
1321: -- Step 7 FETCH invoice interface record INTO invoice record
1322: ---------------------------------------------------------------
1323:
1324: debug_info := '(Import_invoice 7) FETCH import_invoices';
1325: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1326: AP_IMPORT_UTILITIES_PKG.Print(
1327: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1328: END IF;
1329:
1323:
1324: debug_info := '(Import_invoice 7) FETCH import_invoices';
1325: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1326: AP_IMPORT_UTILITIES_PKG.Print(
1327: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1328: END IF;
1329:
1330: -- Bug 4145391
1331: IF (p_group_id IS NULL) THEN
1338: OR import_invoices_group%NOTFOUND IS NULL;
1339: END IF;
1340:
1341: -- reset global variable for each invoice. bug 10158760
1342: --AP_IMPORT_INVOICES_PKG.g_inv_has_tax_line := 'N'; --bug 15862708
1343: l_invoice_rec.inv_has_tax_line :='N';
1344: --
1345: AP_IMPORT_INVOICES_PKG.g_inv_sysdate := TRUNC(sysdate);
1346:
1341: -- reset global variable for each invoice. bug 10158760
1342: --AP_IMPORT_INVOICES_PKG.g_inv_has_tax_line := 'N'; --bug 15862708
1343: l_invoice_rec.inv_has_tax_line :='N';
1344: --
1345: AP_IMPORT_INVOICES_PKG.g_inv_sysdate := TRUNC(sysdate);
1346:
1347: -- Set invoice counter to get invoice count for fetched invoices
1348:
1349: l_invoices_fetched := l_invoices_fetched + 1;
1348:
1349: l_invoices_fetched := l_invoices_fetched + 1;
1350: -- show output values (only IF debug_switch = 'Y')
1351:
1352: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1353: AP_IMPORT_UTILITIES_PKG.Print(
1354: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1355: '------------------> invoice_id = '
1356: ||to_char(l_invoice_rec.invoice_id)
1350: -- show output values (only IF debug_switch = 'Y')
1351:
1352: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1353: AP_IMPORT_UTILITIES_PKG.Print(
1354: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1355: '------------------> invoice_id = '
1356: ||to_char(l_invoice_rec.invoice_id)
1357: ||' invoice_num = ' ||l_invoice_rec.invoice_num
1358: ||' invoice_type_lookup_code = '
1456: ---------------------------------------------------------------
1457: -- Step 8 Check for inconsistent OU
1458: ----------------------------------------------------------------
1459: debug_info := '(Import Invoices 8) Checking for Inconsistent OU';
1460: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1461: AP_IMPORT_UTILITIES_PKG.Print(
1462: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1463: END IF;
1464:
1458: ----------------------------------------------------------------
1459: debug_info := '(Import Invoices 8) Checking for Inconsistent OU';
1460: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1461: AP_IMPORT_UTILITIES_PKG.Print(
1462: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1463: END IF;
1464:
1465: IF l_invoice_rec.org_id is NULL THEN
1466:
1465: IF l_invoice_rec.org_id is NULL THEN
1466:
1467: IF (l_ou_count > 1 AND p_org_id is NULL) THEN
1468: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1469: (AP_IMPORT_INVOICES_PKG.g_invoices_table,
1470: l_invoice_rec.invoice_id,
1471: 'NO OPERATING UNIT',
1472: l_default_last_updated_by,
1473: l_default_last_update_login,
1472: l_default_last_updated_by,
1473: l_default_last_update_login,
1474: current_calling_sequence) <> TRUE) THEN
1475:
1476: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1477: AP_IMPORT_UTILITIES_PKG.Print(
1478: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1479: 'insert_rejections<- '||current_calling_sequence);
1480: END IF;
1474: current_calling_sequence) <> TRUE) THEN
1475:
1476: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1477: AP_IMPORT_UTILITIES_PKG.Print(
1478: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1479: 'insert_rejections<- '||current_calling_sequence);
1480: END IF;
1481:
1482: Raise import_invoice_failure;
1513: AND l_invoice_rec.org_id IS NOT NULL) THEN
1514:
1515: l_derived_operating_unit := l_moac_org_table(l_invoice_rec.org_id).org_name;
1516: debug_info := 'When org_id of invoice is null, Derived Operating Unit: '||l_derived_operating_unit;
1517: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1518: AP_IMPORT_UTILITIES_PKG.Print(
1519: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1520: END IF;
1521:
1515: l_derived_operating_unit := l_moac_org_table(l_invoice_rec.org_id).org_name;
1516: debug_info := 'When org_id of invoice is null, Derived Operating Unit: '||l_derived_operating_unit;
1517: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1518: AP_IMPORT_UTILITIES_PKG.Print(
1519: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1520: END IF;
1521:
1522: IF l_invoice_rec.operating_unit <> l_derived_operating_unit THEN
1523: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1520: END IF;
1521:
1522: IF l_invoice_rec.operating_unit <> l_derived_operating_unit THEN
1523: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1524: (AP_IMPORT_INVOICES_PKG.g_invoices_table,
1525: l_invoice_rec.invoice_id,
1526: 'INCONSISTENT OPERATING UNITS',
1527: l_default_last_updated_by,
1528: l_default_last_update_login,
1527: l_default_last_updated_by,
1528: l_default_last_update_login,
1529: current_calling_sequence) <> TRUE) THEN
1530:
1531: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1532: AP_IMPORT_UTILITIES_PKG.Print(
1533: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1534: 'insert_rejections<- '||current_calling_sequence);
1535: END IF;
1529: current_calling_sequence) <> TRUE) THEN
1530:
1531: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1532: AP_IMPORT_UTILITIES_PKG.Print(
1533: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1534: 'insert_rejections<- '||current_calling_sequence);
1535: END IF;
1536:
1537: Raise import_invoice_failure;
1561:
1562: EXCEPTION
1563: WHEN NO_DATA_FOUND THEN
1564: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1565: (AP_IMPORT_INVOICES_PKG.g_invoices_table,
1566: l_invoice_rec.invoice_id,
1567: 'UNDEFINED OPERATING UNIT',
1568: l_default_last_updated_by,
1569: l_default_last_update_login,
1568: l_default_last_updated_by,
1569: l_default_last_update_login,
1570: current_calling_sequence) <> TRUE) THEN
1571:
1572: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1573: AP_IMPORT_UTILITIES_PKG.Print(
1574: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1575: 'insert_rejections<- '||current_calling_sequence);
1576: END IF;
1570: current_calling_sequence) <> TRUE) THEN
1571:
1572: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1573: AP_IMPORT_UTILITIES_PKG.Print(
1574: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1575: 'insert_rejections<- '||current_calling_sequence);
1576: END IF;
1577: Raise import_invoice_failure;
1578: END IF; -- Insert rejections
1588:
1589: ELSE
1590:
1591: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1592: (AP_IMPORT_INVOICES_PKG.g_invoices_table,
1593: l_invoice_rec.invoice_id,
1594: 'UNDEFINED OPERATING UNIT',
1595: l_default_last_updated_by,
1596: l_default_last_update_login,
1595: l_default_last_updated_by,
1596: l_default_last_update_login,
1597: current_calling_sequence) <> TRUE) THEN
1598:
1599: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1600: AP_IMPORT_UTILITIES_PKG.Print(
1601: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1602: 'insert_rejections<- '||current_calling_sequence);
1603: END IF;
1597: current_calling_sequence) <> TRUE) THEN
1598:
1599: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1600: AP_IMPORT_UTILITIES_PKG.Print(
1601: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1602: 'insert_rejections<- '||current_calling_sequence);
1603: END IF;
1604: RAISE import_invoice_failure;
1605: END IF; -- Insert rejections
1615: -- mo_global.get_ou_name(l_invoice_rec.org_id);
1616: l_derived_operating_unit := l_moac_org_table(l_invoice_rec.org_id).org_name;
1617:
1618: debug_info := ' Derived Operating Unit: '||l_derived_operating_unit;
1619: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1620: AP_IMPORT_UTILITIES_PKG.Print(
1621: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1622: END IF;
1623:
1617:
1618: debug_info := ' Derived Operating Unit: '||l_derived_operating_unit;
1619: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1620: AP_IMPORT_UTILITIES_PKG.Print(
1621: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1622: END IF;
1623:
1624: IF l_invoice_rec.operating_unit <> l_derived_operating_unit THEN
1625: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1622: END IF;
1623:
1624: IF l_invoice_rec.operating_unit <> l_derived_operating_unit THEN
1625: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
1626: (AP_IMPORT_INVOICES_PKG.g_invoices_table,
1627: l_invoice_rec.invoice_id,
1628: 'INCONSISTENT OPERATING UNITS',
1629: l_default_last_updated_by,
1630: l_default_last_update_login,
1629: l_default_last_updated_by,
1630: l_default_last_update_login,
1631: current_calling_sequence) <> TRUE) THEN
1632:
1633: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1634: AP_IMPORT_UTILITIES_PKG.Print(
1635: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1636: 'insert_rejections<- '||current_calling_sequence);
1637: END IF;
1631: current_calling_sequence) <> TRUE) THEN
1632:
1633: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1634: AP_IMPORT_UTILITIES_PKG.Print(
1635: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1636: 'insert_rejections<- '||current_calling_sequence);
1637: END IF;
1638:
1639: Raise import_invoice_failure;
1664: -- AND parameters. IF batch control enabled, get batch
1665: -- id IF org id has changed.
1666: -----------------------------------------------------
1667: debug_info := '(Import Invoice 9a) Setting the org Context';
1668: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1669: AP_IMPORT_UTILITIES_PKG.Print(
1670: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1671: END IF;
1672:
1666: -----------------------------------------------------
1667: debug_info := '(Import Invoice 9a) Setting the org Context';
1668: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1669: AP_IMPORT_UTILITIES_PKG.Print(
1670: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1671: END IF;
1672:
1673: -- Commented l_invoice_status condition for Bug 9452076.
1674: -- AP_IMPORT_UTILITIES_PKG.get_info needs to be invoked to fetch
1688: END;
1689:
1690: debug_info := '(Import_invoice 9b) Call get_info to get '||
1691: 'required info';
1692: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1693: AP_IMPORT_UTILITIES_PKG.Print(
1694: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1695: END IF;
1696: -- bug 15862708 commented the below procedure and added new procedure which will return
1690: debug_info := '(Import_invoice 9b) Call get_info to get '||
1691: 'required info';
1692: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1693: AP_IMPORT_UTILITIES_PKG.Print(
1694: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1695: END IF;
1696: -- bug 15862708 commented the below procedure and added new procedure which will return
1697: -- record type as output instead of local variables
1698: /*
1724: l_freight_code_combination_id, -- OUT NOCOPY
1725: l_allow_interest_invoices, -- OUT NOCOPY
1726: l_add_days_settlement_date, -- OUT NOCOPY --bug4930111
1727: l_disc_is_inv_less_tax_flag, -- OUT NOCOPY --bug4931755
1728: AP_IMPORT_INVOICES_PKG.g_source, -- IN --bug5382889 LE TimeZone
1729: l_invoice_rec.invoice_date, -- IN --bug5382889 LE TimeZone
1730: l_invoice_rec.goods_received_date, -- IN --bug5382889 LE TimeZone
1731: l_asset_book_type -- OUT NOCOPY --Bug 5448579
1732: ) <> TRUE) THEN
1729: l_invoice_rec.invoice_date, -- IN --bug5382889 LE TimeZone
1730: l_invoice_rec.goods_received_date, -- IN --bug5382889 LE TimeZone
1731: l_asset_book_type -- OUT NOCOPY --Bug 5448579
1732: ) <> TRUE) THEN
1733: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1734: AP_IMPORT_UTILITIES_PKG.Print(
1735: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1736: 'get_info<-'||current_calling_sequence);
1737: END IF;
1731: l_asset_book_type -- OUT NOCOPY --Bug 5448579
1732: ) <> TRUE) THEN
1733: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1734: AP_IMPORT_UTILITIES_PKG.Print(
1735: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1736: 'get_info<-'||current_calling_sequence);
1737: END IF;
1738: Raise import_invoice_failure;
1739: END IF;
1738: Raise import_invoice_failure;
1739: END IF;
1740: */
1741: --bug 15862708 replaced above proc with the below one
1742: IF (AP_IMPORT_INVOICES_PKG.get_info_1 (
1743: l_invoice_rec.org_id , --IN
1744: l_gl_date_from_get_info , --IN OUT
1745: p_calling_sequence , --IN
1746: p_source , --IN --bug 5382889. LE TimeZone
1747: l_invoice_rec.invoice_date , --IN -- bug 5382889. LE TimeZone
1748: l_invoice_rec.goods_received_date, --IN -- bug 5382889. LE TimeZone
1749: l_get_info_rec -- OUT
1750: ) <> TRUE) THEN
1751: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1752: AP_IMPORT_UTILITIES_PKG.Print(
1753: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1754: 'get_info<-'||current_calling_sequence);
1755: END IF;
1749: l_get_info_rec -- OUT
1750: ) <> TRUE) THEN
1751: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1752: AP_IMPORT_UTILITIES_PKG.Print(
1753: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1754: 'get_info<-'||current_calling_sequence);
1755: END IF;
1756: RAISE import_invoice_failure;
1757: END IF;
1754: 'get_info<-'||current_calling_sequence);
1755: END IF;
1756: RAISE import_invoice_failure;
1757: END IF;
1758: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1759: AP_IMPORT_UTILITIES_PKG.Print(
1760: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1761: '------------------> '
1762: ||' p_org_id = '||to_char(l_invoice_rec.org_id)
1756: RAISE import_invoice_failure;
1757: END IF;
1758: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1759: AP_IMPORT_UTILITIES_PKG.Print(
1760: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1761: '------------------> '
1762: ||' p_org_id = '||to_char(l_invoice_rec.org_id)
1763: ||' p_set_of_books_id = '|| to_char(l_set_of_books_id)
1764: ||' l_multi_currency_flag = '||l_multi_currency_flag
1790: ||' l_allow_interest_invoices = ' ||l_allow_interest_invoices);
1791: END IF;
1792:
1793: -- Retek Integration bug 6349739
1794: IF AP_IMPORT_INVOICES_PKG.g_source = 'RETEK' THEN
1795: -- get the segment delimiter
1796: AP_IMPORT_INVOICES_PKG.g_segment_delimiter := FND_FLEX_EXT.GET_DELIMITER(
1797: 'SQLGL',
1798: 'GL#',
1792:
1793: -- Retek Integration bug 6349739
1794: IF AP_IMPORT_INVOICES_PKG.g_source = 'RETEK' THEN
1795: -- get the segment delimiter
1796: AP_IMPORT_INVOICES_PKG.g_segment_delimiter := FND_FLEX_EXT.GET_DELIMITER(
1797: 'SQLGL',
1798: 'GL#',
1799: l_chart_of_accounts_id);
1800: END IF;
1814: )
1815: THEN
1816: debug_info := '(Import_invoice 9c) Get batch_id IF '||
1817: 'batch_control is on';
1818: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1819: AP_IMPORT_UTILITIES_PKG.Print(
1820: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1821: END IF;
1822:
1816: debug_info := '(Import_invoice 9c) Get batch_id IF '||
1817: 'batch_control is on';
1818: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1819: AP_IMPORT_UTILITIES_PKG.Print(
1820: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1821: END IF;
1822:
1823: IF (AP_IMPORT_UTILITIES_PKG.get_batch_id(
1824: p_batch_name,
1825: l_batch_id,
1826: l_batch_type,
1827: current_calling_sequence) <> TRUE) THEN
1828:
1829: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1830: AP_IMPORT_UTILITIES_PKG.Print(
1831: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1832: 'get_batch_id<-'||current_calling_sequence);
1833: END IF;
1827: current_calling_sequence) <> TRUE) THEN
1828:
1829: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1830: AP_IMPORT_UTILITIES_PKG.Print(
1831: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1832: 'get_batch_id<-'||current_calling_sequence);
1833: END IF;
1834:
1835: /*Added following code to raise fatal error in case when
1843:
1844: /* RAISE import_invoice_failure; */ /*Commented for bug 16554255*/
1845: END IF;
1846: --
1847: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1848: AP_IMPORT_UTILITIES_PKG.Print(
1849: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1850: '------------------> l_batch_id = ' || to_char(l_batch_id)
1851: ||' l_batch_type = '||l_batch_type);
1845: END IF;
1846: --
1847: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1848: AP_IMPORT_UTILITIES_PKG.Print(
1849: AP_IMPORT_INVOICES_PKG.g_debug_switch,
1850: '------------------> l_batch_id = ' || to_char(l_batch_id)
1851: ||' l_batch_type = '||l_batch_type);
1852: END IF;
1853:
1871:
1872: ----------------------------------------------------------------
1873: -- Retropricing: IF source = 'PPA' Go to Step 16.
1874: ----------------------------------------------------------------
1875: IF AP_IMPORT_INVOICES_PKG.g_source <> 'PPA' THEN
1876: --
1877: -----------------------------------------------------
1878: -- Step 10 Get GL Date
1879: -----------------------------------------------------
1879: -----------------------------------------------------
1880: --
1881: IF (l_invoice_rec.gl_date is NOT NULL) THEN
1882: debug_info := '(Import Invoice 10a) Default GL Date From Invoice ';
1883: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1884: AP_IMPORT_UTILITIES_PKG.Print(
1885: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1886: END IF;
1887: ELSE
1881: IF (l_invoice_rec.gl_date is NOT NULL) THEN
1882: debug_info := '(Import Invoice 10a) Default GL Date From Invoice ';
1883: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1884: AP_IMPORT_UTILITIES_PKG.Print(
1885: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1886: END IF;
1887: ELSE
1888: debug_info := '(Import Invoice 10b) Default GL Date Based on Calculation ';
1889: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1885: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1886: END IF;
1887: ELSE
1888: debug_info := '(Import Invoice 10b) Default GL Date Based on Calculation ';
1889: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1890: AP_IMPORT_UTILITIES_PKG.Print(
1891: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1892: END IF;
1893:
1887: ELSE
1888: debug_info := '(Import Invoice 10b) Default GL Date Based on Calculation ';
1889: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1890: AP_IMPORT_UTILITIES_PKG.Print(
1891: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1892: END IF;
1893:
1894: -- Bug 5654581. Moving Gl_Date Related code here
1895: /* Added AND condition to following IF for bug 9804420 */
1892: END IF;
1893:
1894: -- Bug 5654581. Moving Gl_Date Related code here
1895: /* Added AND condition to following IF for bug 9804420 */
1896: IF (AP_IMPORT_INVOICES_PKG.g_source = 'ERS'
1897: AND p_gl_date IS NULL) THEN -- bug 5382889, LE TimeZone
1898: debug_info := 'Determine gl_date for ERS invoice';
1899:
1900: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1896: IF (AP_IMPORT_INVOICES_PKG.g_source = 'ERS'
1897: AND p_gl_date IS NULL) THEN -- bug 5382889, LE TimeZone
1898: debug_info := 'Determine gl_date for ERS invoice';
1899:
1900: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1901: AP_IMPORT_UTILITIES_PKG.Print
1902: (AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
1903: END IF;
1904:
1898: debug_info := 'Determine gl_date for ERS invoice';
1899:
1900: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1901: AP_IMPORT_UTILITIES_PKG.Print
1902: (AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
1903: END IF;
1904:
1905: l_rts_txn_le_date := INV_LE_TIMEZONE_PUB.Get_Le_Day_For_Ou(
1906: p_trxn_date => nvl(l_invoice_rec.goods_received_date,
1924: Note here that the Invoice date is no longer the same as the receipt_date,
1925: i.e. the RETURN tranasaction_date , so case I and N are no longer the same */
1926:
1927: debug_info := 'Determine invoice gl_date from LE Timezone API ';
1928: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1929: AP_IMPORT_UTILITIES_PKG.Print
1930: (AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
1931: END IF;
1932:
1926:
1927: debug_info := 'Determine invoice gl_date from LE Timezone API ';
1928: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1929: AP_IMPORT_UTILITIES_PKG.Print
1930: (AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
1931: END IF;
1932:
1933: IF (l_get_info_rec.p_gl_date_from_receipt_flag = 'I') THEN
1934: l_inv_gl_date := l_inv_le_date;
1947: IF p_gl_date IS NULL THEN
1948:
1949: IF (l_get_info_rec.p_gl_date_from_receipt_flag IN ('S', 'Y')) THEN
1950: debug_info := ' GL Date is Sysdate based on gl_date_reciept_flaf option';
1951: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1952: AP_IMPORT_UTILITIES_PKG.Print
1953: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1954: END IF;
1955:
1949: IF (l_get_info_rec.p_gl_date_from_receipt_flag IN ('S', 'Y')) THEN
1950: debug_info := ' GL Date is Sysdate based on gl_date_reciept_flaf option';
1951: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1952: AP_IMPORT_UTILITIES_PKG.Print
1953: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1954: END IF;
1955:
1956: l_invoice_rec.gl_date := AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
1957:
1952: AP_IMPORT_UTILITIES_PKG.Print
1953: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1954: END IF;
1955:
1956: l_invoice_rec.gl_date := AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
1957:
1958: ELSE
1959:
1960: IF l_invoice_rec.invoice_date is NOT NULL THEN
1958: ELSE
1959:
1960: IF l_invoice_rec.invoice_date is NOT NULL THEN
1961: debug_info := ' GL Date is Invoice Date';
1962: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1963: AP_IMPORT_UTILITIES_PKG.Print
1964: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1965: END IF;
1966:
1960: IF l_invoice_rec.invoice_date is NOT NULL THEN
1961: debug_info := ' GL Date is Invoice Date';
1962: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1963: AP_IMPORT_UTILITIES_PKG.Print
1964: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1965: END IF;
1966:
1967: /* l_invoice_rec.gl_date := l_invoice_rec.invoice_date; Commented for bug#12356854 */
1968: /* Added for bug#12356854 Start */
1977: /* Added for bug#12356854 End */
1978:
1979: ELSE
1980: debug_info := ' GL Date is Sysdate Date';
1981: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1982: AP_IMPORT_UTILITIES_PKG.Print
1983: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1984: END IF;
1985:
1979: ELSE
1980: debug_info := ' GL Date is Sysdate Date';
1981: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1982: AP_IMPORT_UTILITIES_PKG.Print
1983: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1984: END IF;
1985:
1986: l_invoice_rec.gl_date := AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
1987: END IF;
1982: AP_IMPORT_UTILITIES_PKG.Print
1983: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1984: END IF;
1985:
1986: l_invoice_rec.gl_date := AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
1987: END IF;
1988:
1989: END IF;
1990:
1990:
1991: ELSE
1992:
1993: debug_info := ' GL Date is Parameter Gl Date';
1994: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1995: AP_IMPORT_UTILITIES_PKG.Print
1996: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1997: END IF;
1998:
1992:
1993: debug_info := ' GL Date is Parameter Gl Date';
1994: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
1995: AP_IMPORT_UTILITIES_PKG.Print
1996: (AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
1997: END IF;
1998:
1999: l_invoice_rec.gl_date := p_gl_date;
2000: END IF;
2005: IF l_gl_date_from_get_info is NULL THEN
2006: IF l_invoice_rec.invoice_date is NOT NULL THEN
2007: l_invoice_rec.gl_date := l_invoice_rec.invoice_date;
2008: ELSE
2009: l_invoice_rec.gl_date := AP_IMPORT_INVOICES_PKG.g_inv_sysdate;
2010: END IF;
2011: ELSIF l_gl_date_from_get_info is NOT NULL THEN
2012: l_invoice_rec.gl_date := l_gl_date_from_get_info;
2013: END IF; */
2045: -- Validate invoice level
2046: ----------------------------
2047:
2048: debug_info := '(Import_invoice 11) Validate invoice ';
2049: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2050: AP_IMPORT_UTILITIES_PKG.Print(
2051: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2052: END IF;
2053: AP_IMPORT_UTILITIES_PKG.Print(
2047:
2048: debug_info := '(Import_invoice 11) Validate invoice ';
2049: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2050: AP_IMPORT_UTILITIES_PKG.Print(
2051: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2052: END IF;
2053: AP_IMPORT_UTILITIES_PKG.Print(
2054: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||
2055: l_invoice_rec.set_of_books_id);
2050: AP_IMPORT_UTILITIES_PKG.Print(
2051: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2052: END IF;
2053: AP_IMPORT_UTILITIES_PKG.Print(
2054: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||
2055: l_invoice_rec.set_of_books_id);
2056:
2057:
2058: IF (AP_IMPORT_VALIDATION_PKG.v_check_invoice_validation
2100: --l_allow_interest_invoices, -- IN --bug 15862708
2101: l_get_info_rec.p_allow_interest_invoices, -- IN
2102: current_calling_sequence) <> TRUE) THEN
2103:
2104: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2105: AP_IMPORT_UTILITIES_PKG.Print(
2106: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2107: 'v_check_invoice_validation<-'||current_calling_sequence);
2108: END IF;
2102: current_calling_sequence) <> TRUE) THEN
2103:
2104: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2105: AP_IMPORT_UTILITIES_PKG.Print(
2106: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2107: 'v_check_invoice_validation<-'||current_calling_sequence);
2108: END IF;
2109: Raise import_invoice_failure;
2110: END IF;
2121: --bug 16092065 ends
2122: --
2123: -- show output values (only IF debug_switch = 'Y')
2124: --
2125: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2126: AP_IMPORT_UTILITIES_PKG.Print( AP_IMPORT_INVOICES_PKG.g_debug_switch,
2127: '------------------> vendor_id = '||to_char(l_invoice_rec.vendor_id)
2128: ||' vendor_site_id = ' ||to_char(l_invoice_rec.vendor_site_id)
2129: ||' invoice_status = ' ||l_invoice_status
2122: --
2123: -- show output values (only IF debug_switch = 'Y')
2124: --
2125: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2126: AP_IMPORT_UTILITIES_PKG.Print( AP_IMPORT_INVOICES_PKG.g_debug_switch,
2127: '------------------> vendor_id = '||to_char(l_invoice_rec.vendor_id)
2128: ||' vendor_site_id = ' ||to_char(l_invoice_rec.vendor_site_id)
2129: ||' invoice_status = ' ||l_invoice_status
2130: ||' terms_id = ' ||to_char(l_invoice_rec.terms_id)
2141: -- Step 12
2142: -- Validate invoice lines
2143: --------------------------
2144: debug_info := '(Import_invoice 12) Validate line';
2145: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2146: AP_IMPORT_UTILITIES_PKG.Print(
2147: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2148: END IF;
2149: AP_IMPORT_UTILITIES_PKG.Print(
2143: --------------------------
2144: debug_info := '(Import_invoice 12) Validate line';
2145: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2146: AP_IMPORT_UTILITIES_PKG.Print(
2147: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2148: END IF;
2149: AP_IMPORT_UTILITIES_PKG.Print(
2150: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
2151:
2146: AP_IMPORT_UTILITIES_PKG.Print(
2147: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2148: END IF;
2149: AP_IMPORT_UTILITIES_PKG.Print(
2150: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
2151:
2152: IF (AP_IMPORT_VALIDATION_PKG.v_check_lines_validation (
2153: l_invoice_rec, -- IN
2154: l_invoice_lines_tab, -- OUT NOCOPY
2187: l_default_last_update_login, -- IN
2188: l_invoice_status, -- OUT NOCOPY
2189: current_calling_sequence) <> TRUE) THEN
2190:
2191: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2192: AP_IMPORT_UTILITIES_PKG.Print(
2193: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2194: 'v_check_lines_validation<-'||current_calling_sequence);
2195: END IF;
2189: current_calling_sequence) <> TRUE) THEN
2190:
2191: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2192: AP_IMPORT_UTILITIES_PKG.Print(
2193: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2194: 'v_check_lines_validation<-'||current_calling_sequence);
2195: END IF;
2196: Raise import_invoice_failure;
2197: END IF;
2198: END IF;
2199:
2200:
2201: AP_IMPORT_UTILITIES_PKG.Print(
2202: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'invoice_status is:'||l_invoice_status);
2203:
2204: -- assigning the following variable that was included in the
2205: -- header rec (denormalized)
2206: -- this variable will be used by Tax
2235: -- Step 17.1. Change the invoice status to 'REJECTING'
2236: -----------------------------------------------------
2237: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
2238: 'REJECTING';
2239: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2240: AP_IMPORT_UTILITIES_PKG.Print(
2241: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2242: END IF;
2243:
2237: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
2238: 'REJECTING';
2239: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2240: AP_IMPORT_UTILITIES_PKG.Print(
2241: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2242: END IF;
2243:
2244: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2245: 'REJECTING',
2244: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2245: 'REJECTING',
2246: l_invoice_rec.invoice_id,
2247: current_calling_sequence) <> TRUE) THEN
2248: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2249: AP_IMPORT_UTILITIES_PKG.Print(
2250: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2251: 'change_invoice_status<-'||current_calling_sequence);
2252: END IF;
2246: l_invoice_rec.invoice_id,
2247: current_calling_sequence) <> TRUE) THEN
2248: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2249: AP_IMPORT_UTILITIES_PKG.Print(
2250: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2251: 'change_invoice_status<-'||current_calling_sequence);
2252: END IF;
2253: Raise import_invoice_failure;
2254: END IF;
2257: -- Step 17.2 Change the invoice status to 'PROCESSING'
2258: ------------------------------------------------------
2259: debug_info := '(Import_invoice 17.2) Change the invoice status to '||
2260: 'PROCESSING';
2261: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2262: AP_IMPORT_UTILITIES_PKG.Print(
2263: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2264: END IF;
2265:
2259: debug_info := '(Import_invoice 17.2) Change the invoice status to '||
2260: 'PROCESSING';
2261: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2262: AP_IMPORT_UTILITIES_PKG.Print(
2263: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2264: END IF;
2265:
2266: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2267: 'PROCESSING',
2266: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2267: 'PROCESSING',
2268: l_invoice_rec.invoice_id,
2269: current_calling_sequence) <> TRUE) THEN
2270: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2271: AP_IMPORT_UTILITIES_PKG.Print(
2272: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2273: 'change_invoice_status<-'||current_calling_sequence);
2274: END IF;
2268: l_invoice_rec.invoice_id,
2269: current_calling_sequence) <> TRUE) THEN
2270: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2271: AP_IMPORT_UTILITIES_PKG.Print(
2272: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2273: 'change_invoice_status<-'||current_calling_sequence);
2274: END IF;
2275: Raise import_invoice_failure;
2276: END IF;
2291: -- Step 17.2 Change the invoice status to 'PROCESSING' for PPA invoices
2292: -------------------------------------------------------------------
2293: debug_info := '(Import_invoice 17.2) Change the invoice status to '||
2294: 'PROCESSING';
2295: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2296: AP_IMPORT_UTILITIES_PKG.Print(
2297: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2298: END IF;
2299:
2293: debug_info := '(Import_invoice 17.2) Change the invoice status to '||
2294: 'PROCESSING';
2295: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2296: AP_IMPORT_UTILITIES_PKG.Print(
2297: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2298: END IF;
2299:
2300: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2301: 'PROCESSING',
2300: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2301: 'PROCESSING',
2302: l_invoice_rec.invoice_id,
2303: current_calling_sequence) <> TRUE) THEN
2304: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2305: AP_IMPORT_UTILITIES_PKG.Print(
2306: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2307: 'change_invoice_status<-'||current_calling_sequence);
2308: END IF;
2302: l_invoice_rec.invoice_id,
2303: current_calling_sequence) <> TRUE) THEN
2304: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2305: AP_IMPORT_UTILITIES_PKG.Print(
2306: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2307: 'change_invoice_status<-'||current_calling_sequence);
2308: END IF;
2309: Raise import_invoice_failure;
2310: END IF;
2319: -- Step 17.1. Change the invoice status to 'REJECTING'
2320: -----------------------------------------------------
2321: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
2322: 'REJECTING';
2323: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2324: AP_IMPORT_UTILITIES_PKG.Print(
2325: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2326: END IF;
2327:
2321: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
2322: 'REJECTING';
2323: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2324: AP_IMPORT_UTILITIES_PKG.Print(
2325: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2326: END IF;
2327:
2328: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2329: 'REJECTING',
2328: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2329: 'REJECTING',
2330: l_invoice_rec.invoice_id,
2331: current_calling_sequence) <> TRUE) THEN
2332: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2333: AP_IMPORT_UTILITIES_PKG.Print(
2334: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2335: 'change_invoice_status<-'||current_calling_sequence);
2336: END IF;
2330: l_invoice_rec.invoice_id,
2331: current_calling_sequence) <> TRUE) THEN
2332: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2333: AP_IMPORT_UTILITIES_PKG.Print(
2334: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2335: 'change_invoice_status<-'||current_calling_sequence);
2336: END IF;
2337: Raise import_invoice_failure;
2338: END IF;
2340: --veramach bug 7121842 end
2341: END LOOP; -- invoice LOOP
2342:
2343: debug_info := '(Import_invoice) CLOSE import_invoices';
2344: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2345: AP_IMPORT_UTILITIES_PKG.Print(
2346: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2347: END IF;
2348:
2342:
2343: debug_info := '(Import_invoice) CLOSE import_invoices';
2344: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2345: AP_IMPORT_UTILITIES_PKG.Print(
2346: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2347: END IF;
2348:
2349: debug_info := '(Import_invoice -->Execution completed for first loop:'
2350: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2348:
2349: debug_info := '(Import_invoice -->Execution completed for first loop:'
2350: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2351:
2352: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2353: AP_IMPORT_UTILITIES_PKG.Print(
2354: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2355: END IF;
2356:
2350: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2351:
2352: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2353: AP_IMPORT_UTILITIES_PKG.Print(
2354: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2355: END IF;
2356:
2357: -- Bug 4145391
2358: IF (p_group_id IS NULL) THEN
2373: -- tax information for taxable and tax lines.
2374: --------------------------------------------------------------
2375: debug_info := '(Import_invoice 13) Validate tax info for '||
2376: 'tax and taxable lines';
2377: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2378: AP_IMPORT_UTILITIES_PKG.Print(
2379: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2380: END IF;
2381:
2375: debug_info := '(Import_invoice 13) Validate tax info for '||
2376: 'tax and taxable lines';
2377: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2378: AP_IMPORT_UTILITIES_PKG.Print(
2379: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2380: END IF;
2381:
2382:
2383: AP_IMPORT_UTILITIES_PKG.Print(
2380: END IF;
2381:
2382:
2383: AP_IMPORT_UTILITIES_PKG.Print(
2384: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
2385: --------------------------------------------------------------
2386: -- Call validate eTax API. This API will validate tax info
2387: -- for taxable and tax lines.
2388: --------------------------------------------------------------
2386: -- Call validate eTax API. This API will validate tax info
2387: -- for taxable and tax lines.
2388: --------------------------------------------------------------
2389: debug_info := '(Import_invoice 13.1) Header table count '||tab_invoice_table.COUNT;
2390: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2391: AP_IMPORT_UTILITIES_PKG.Print(
2392: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2393: END IF;
2394:
2388: --------------------------------------------------------------
2389: debug_info := '(Import_invoice 13.1) Header table count '||tab_invoice_table.COUNT;
2390: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2391: AP_IMPORT_UTILITIES_PKG.Print(
2392: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2393: END IF;
2394:
2395:
2396:
2414: p_invoice_status => l_invoice_status,
2415: p_error_code => l_error_code,
2416: p_calling_sequence => current_calling_sequence)) THEN
2417:
2418: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2419: AP_IMPORT_UTILITIES_PKG.Print(
2420: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2421: 'ap_etax_services_pkg.validate_default_import<-'||current_calling_sequence);
2422: END IF;
2416: p_calling_sequence => current_calling_sequence)) THEN
2417:
2418: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2419: AP_IMPORT_UTILITIES_PKG.Print(
2420: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2421: 'ap_etax_services_pkg.validate_default_import<-'||current_calling_sequence);
2422: END IF;
2423:
2424: --bug 14009019 starts
2427: LOOP
2428: tab_invoice_table(i).import_status := 'N';
2429:
2430: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
2431: (AP_IMPORT_INVOICES_PKG.g_invoices_table, -- Bug 9452076.
2432: tab_invoice_table(i).invoice_id,
2433: 'VALIDATE DEFAULT IMPORT FAIL',
2434: l_default_last_updated_by,
2435: l_default_last_update_login,
2433: 'VALIDATE DEFAULT IMPORT FAIL',
2434: l_default_last_updated_by,
2435: l_default_last_update_login,
2436: current_calling_sequence) <> TRUE ) Then
2437: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
2438: AP_IMPORT_UTILITIES_PKG.Print(
2439: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2440: 'insert_rejections<- ' ||current_calling_sequence);
2441: END IF;
2435: l_default_last_update_login,
2436: current_calling_sequence) <> TRUE ) Then
2437: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
2438: AP_IMPORT_UTILITIES_PKG.Print(
2439: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2440: 'insert_rejections<- ' ||current_calling_sequence);
2441: END IF;
2442:
2443: END IF;
2446: -- Step 17.1. Change the invoice status to 'REJECTING'
2447: -----------------------------------------------------
2448: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
2449: 'REJECTING';
2450: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2451: AP_IMPORT_UTILITIES_PKG.Print(
2452: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2453: END IF;
2454:
2448: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
2449: 'REJECTING';
2450: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2451: AP_IMPORT_UTILITIES_PKG.Print(
2452: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2453: END IF;
2454:
2455: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2456: 'REJECTING',
2455: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
2456: 'REJECTING',
2457: tab_invoice_table(i).invoice_id,
2458: current_calling_sequence) <> TRUE) THEN
2459: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2460: AP_IMPORT_UTILITIES_PKG.Print(
2461: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2462: 'change_invoice_status<-'||current_calling_sequence);
2463: END IF;
2457: tab_invoice_table(i).invoice_id,
2458: current_calling_sequence) <> TRUE) THEN
2459: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2460: AP_IMPORT_UTILITIES_PKG.Print(
2461: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2462: 'change_invoice_status<-'||current_calling_sequence);
2463: END IF;
2464: Raise import_invoice_failure;
2465: END IF;
2504: -- END IF; --bug 14009019 if commented for bulk call
2505: EXCEPTION
2506: WHEN import_invoice_failure THEN
2507: debug_info := 'Exception occured in the validate default import '||sqlerrm;
2508: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2509: AP_IMPORT_UTILITIES_PKG.Print(
2510: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2511: END IF;
2512: END;
2506: WHEN import_invoice_failure THEN
2507: debug_info := 'Exception occured in the validate default import '||sqlerrm;
2508: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2509: AP_IMPORT_UTILITIES_PKG.Print(
2510: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2511: END IF;
2512: END;
2513: -- END IF; --bug 15862708 if commented for bulk call
2514:
2513: -- END IF; --bug 15862708 if commented for bulk call
2514:
2515: debug_info := '(Import_invoice 13) Validate tax info for '||
2516: 'tax and taxable lines completed: ' ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2517: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2518: AP_IMPORT_UTILITIES_PKG.Print(
2519: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2520: END IF;
2521:
2515: debug_info := '(Import_invoice 13) Validate tax info for '||
2516: 'tax and taxable lines completed: ' ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2517: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2518: AP_IMPORT_UTILITIES_PKG.Print(
2519: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2520: END IF;
2521:
2522: l_invoice_lines_tab.delete;
2523:
2524:
2525: debug_info := '(Import_invoice -->Execution started for second loop:'
2526: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2527:
2528: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2529: AP_IMPORT_UTILITIES_PKG.Print(
2530: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2531: END IF;
2532:
2526: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
2527:
2528: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2529: AP_IMPORT_UTILITIES_PKG.Print(
2530: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2531: END IF;
2532:
2533:
2534: --bug 15862708 loop after validate_default_import call
2542:
2543: IF nvl(tab_invoice_table(i).import_status,'Y') = 'Y' then
2544:
2545: debug_info := '(Import_invoice 13.3) check Invoice Status Loop 1 '||tab_invoice_table(i).invoice_id;
2546: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2547: AP_IMPORT_UTILITIES_PKG.Print(
2548: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2549: END IF;
2550:
2544:
2545: debug_info := '(Import_invoice 13.3) check Invoice Status Loop 1 '||tab_invoice_table(i).invoice_id;
2546: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2547: AP_IMPORT_UTILITIES_PKG.Print(
2548: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2549: END IF;
2550:
2551:
2552: l_invoice_status := 'Y';
2559: l_old_org_id := l_invoice_rec.org_id;
2560: END IF;
2561:
2562: BEGIN
2563: IF AP_IMPORT_INVOICES_PKG.g_source <> 'PPA' THEN
2564: debug_info := '(Import_invoice 13.3.1) Deleting the LINES_TAB collection';
2565: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2566: AP_IMPORT_UTILITIES_PKG.Print(
2567: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2561:
2562: BEGIN
2563: IF AP_IMPORT_INVOICES_PKG.g_source <> 'PPA' THEN
2564: debug_info := '(Import_invoice 13.3.1) Deleting the LINES_TAB collection';
2565: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2566: AP_IMPORT_UTILITIES_PKG.Print(
2567: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2568: END IF;
2569:
2563: IF AP_IMPORT_INVOICES_PKG.g_source <> 'PPA' THEN
2564: debug_info := '(Import_invoice 13.3.1) Deleting the LINES_TAB collection';
2565: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2566: AP_IMPORT_UTILITIES_PKG.Print(
2567: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2568: END IF;
2569:
2570:
2571: debug_info := '(Import_invoice 13.4) Before loop 2 ';
2568: END IF;
2569:
2570:
2571: debug_info := '(Import_invoice 13.4) Before loop 2 ';
2572: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2573: AP_IMPORT_UTILITIES_PKG.Print(
2574: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2575: END IF;
2576: debug_info := '(Import_invoice 13.4) Before loop 2 '||tab_lines_table.count;
2570:
2571: debug_info := '(Import_invoice 13.4) Before loop 2 ';
2572: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2573: AP_IMPORT_UTILITIES_PKG.Print(
2574: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2575: END IF;
2576: debug_info := '(Import_invoice 13.4) Before loop 2 '||tab_lines_table.count;
2577: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2578: AP_IMPORT_UTILITIES_PKG.Print(
2573: AP_IMPORT_UTILITIES_PKG.Print(
2574: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2575: END IF;
2576: debug_info := '(Import_invoice 13.4) Before loop 2 '||tab_lines_table.count;
2577: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2578: AP_IMPORT_UTILITIES_PKG.Print(
2579: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2580: END IF;
2581:
2575: END IF;
2576: debug_info := '(Import_invoice 13.4) Before loop 2 '||tab_lines_table.count;
2577: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2578: AP_IMPORT_UTILITIES_PKG.Print(
2579: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2580: END IF;
2581:
2582: FOR j IN tab_lines_table.FIRST .. tab_lines_table.LAST LOOP
2583:
2581:
2582: FOR j IN tab_lines_table.FIRST .. tab_lines_table.LAST LOOP
2583:
2584: debug_info := '(Import_invoice 13.5) Lines Loop 2 ';
2585: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2586: AP_IMPORT_UTILITIES_PKG.Print(
2587: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2588: END IF;
2589:
2583:
2584: debug_info := '(Import_invoice 13.5) Lines Loop 2 ';
2585: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2586: AP_IMPORT_UTILITIES_PKG.Print(
2587: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2588: END IF;
2589:
2590: IF tab_lines_table(j).invoice_id=l_invoice_rec.invoice_id then
2591: --l_invoice_lines_tab(k) := tab_lines_table(j);
2591: --l_invoice_lines_tab(k) := tab_lines_table(j);
2592:
2593:
2594: debug_info := '(Import_invoice 13.5.1) Assign Lines Collection,Lines Loop 2 '||tab_lines_table(j).line_number;
2595: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2596: AP_IMPORT_UTILITIES_PKG.Print(
2597: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2598: END IF;
2599: lines_tab.extend(1);
2593:
2594: debug_info := '(Import_invoice 13.5.1) Assign Lines Collection,Lines Loop 2 '||tab_lines_table(j).line_number;
2595: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2596: AP_IMPORT_UTILITIES_PKG.Print(
2597: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2598: END IF;
2599: lines_tab.extend(1);
2600:
2601: debug_info := '(Import_invoice 13.5.2) Assign Lines Collection,Lines Loop 2 '||lines_tab.count;
2598: END IF;
2599: lines_tab.extend(1);
2600:
2601: debug_info := '(Import_invoice 13.5.2) Assign Lines Collection,Lines Loop 2 '||lines_tab.count;
2602: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2603: AP_IMPORT_UTILITIES_PKG.Print(
2604: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2605: END IF;
2606:
2600:
2601: debug_info := '(Import_invoice 13.5.2) Assign Lines Collection,Lines Loop 2 '||lines_tab.count;
2602: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2603: AP_IMPORT_UTILITIES_PKG.Print(
2604: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2605: END IF;
2606:
2607: BEGIN
2608: SELECT DECODE(tab_lines_table(j).line_type_lookup_code, 'ITEM',
2713: lines_tab(k).CREDIT_CARD_TRX_ID := tab_lines_table(j).CREDIT_CARD_TRX_ID ;
2714: lines_tab(k).COMPANY_PREPAID_INVOICE_ID := tab_lines_table(j).COMPANY_PREPAID_INVOICE_ID ;
2715: lines_tab(k).CC_REVERSAL_FLAG := tab_lines_table(j).CC_REVERSAL_FLAG ;
2716: /*Bug 14271140 Start*/
2717: lines_tab(k).CREATION_DATE := nvl(tab_lines_table(j).CREATION_DATE,AP_IMPORT_INVOICES_PKG.g_inv_sysdate);
2718: lines_tab(k).CREATED_BY := nvl(tab_lines_table(j).CREATED_BY,L_default_last_updated_by);
2719: lines_tab(k).LAST_UPDATED_BY := nvl(tab_lines_table(j).LAST_UPDATED_BY,L_default_last_updated_by);
2720: lines_tab(k).LAST_UPDATE_DATE := nvl(tab_lines_table(j).LAST_UPDATE_DATE,AP_IMPORT_INVOICES_PKG.g_inv_sysdate ) ;
2721: lines_tab(k).LAST_UPDATE_LOGIN := nvl(tab_lines_table(j).LAST_UPDATE_LOGIN,l_default_last_update_login) ;
2716: /*Bug 14271140 Start*/
2717: lines_tab(k).CREATION_DATE := nvl(tab_lines_table(j).CREATION_DATE,AP_IMPORT_INVOICES_PKG.g_inv_sysdate);
2718: lines_tab(k).CREATED_BY := nvl(tab_lines_table(j).CREATED_BY,L_default_last_updated_by);
2719: lines_tab(k).LAST_UPDATED_BY := nvl(tab_lines_table(j).LAST_UPDATED_BY,L_default_last_updated_by);
2720: lines_tab(k).LAST_UPDATE_DATE := nvl(tab_lines_table(j).LAST_UPDATE_DATE,AP_IMPORT_INVOICES_PKG.g_inv_sysdate ) ;
2721: lines_tab(k).LAST_UPDATE_LOGIN := nvl(tab_lines_table(j).LAST_UPDATE_LOGIN,l_default_last_update_login) ;
2722: /*Bug 14271140 End*/
2723: lines_tab(k).PROGRAM_APPLICATION_ID := AP_IMPORT_INVOICES_PKG.g_program_application_id ;
2724: lines_tab(k).PROGRAM_ID := AP_IMPORT_INVOICES_PKG.g_program_id ;
2719: lines_tab(k).LAST_UPDATED_BY := nvl(tab_lines_table(j).LAST_UPDATED_BY,L_default_last_updated_by);
2720: lines_tab(k).LAST_UPDATE_DATE := nvl(tab_lines_table(j).LAST_UPDATE_DATE,AP_IMPORT_INVOICES_PKG.g_inv_sysdate ) ;
2721: lines_tab(k).LAST_UPDATE_LOGIN := nvl(tab_lines_table(j).LAST_UPDATE_LOGIN,l_default_last_update_login) ;
2722: /*Bug 14271140 End*/
2723: lines_tab(k).PROGRAM_APPLICATION_ID := AP_IMPORT_INVOICES_PKG.g_program_application_id ;
2724: lines_tab(k).PROGRAM_ID := AP_IMPORT_INVOICES_PKG.g_program_id ;
2725: lines_tab(k).PROGRAM_UPDATE_DATE := AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
2726: lines_tab(k).REQUEST_ID := AP_IMPORT_INVOICES_PKG.g_conc_request_id ;
2727: lines_tab(k).ATTRIBUTE_CATEGORY := tab_lines_table(j).ATTRIBUTE_CATEGORY ;
2720: lines_tab(k).LAST_UPDATE_DATE := nvl(tab_lines_table(j).LAST_UPDATE_DATE,AP_IMPORT_INVOICES_PKG.g_inv_sysdate ) ;
2721: lines_tab(k).LAST_UPDATE_LOGIN := nvl(tab_lines_table(j).LAST_UPDATE_LOGIN,l_default_last_update_login) ;
2722: /*Bug 14271140 End*/
2723: lines_tab(k).PROGRAM_APPLICATION_ID := AP_IMPORT_INVOICES_PKG.g_program_application_id ;
2724: lines_tab(k).PROGRAM_ID := AP_IMPORT_INVOICES_PKG.g_program_id ;
2725: lines_tab(k).PROGRAM_UPDATE_DATE := AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
2726: lines_tab(k).REQUEST_ID := AP_IMPORT_INVOICES_PKG.g_conc_request_id ;
2727: lines_tab(k).ATTRIBUTE_CATEGORY := tab_lines_table(j).ATTRIBUTE_CATEGORY ;
2728: lines_tab(k).ATTRIBUTE1 := tab_lines_table(j).ATTRIBUTE1 ;
2721: lines_tab(k).LAST_UPDATE_LOGIN := nvl(tab_lines_table(j).LAST_UPDATE_LOGIN,l_default_last_update_login) ;
2722: /*Bug 14271140 End*/
2723: lines_tab(k).PROGRAM_APPLICATION_ID := AP_IMPORT_INVOICES_PKG.g_program_application_id ;
2724: lines_tab(k).PROGRAM_ID := AP_IMPORT_INVOICES_PKG.g_program_id ;
2725: lines_tab(k).PROGRAM_UPDATE_DATE := AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
2726: lines_tab(k).REQUEST_ID := AP_IMPORT_INVOICES_PKG.g_conc_request_id ;
2727: lines_tab(k).ATTRIBUTE_CATEGORY := tab_lines_table(j).ATTRIBUTE_CATEGORY ;
2728: lines_tab(k).ATTRIBUTE1 := tab_lines_table(j).ATTRIBUTE1 ;
2729: lines_tab(k).ATTRIBUTE2 := tab_lines_table(j).ATTRIBUTE2 ;
2722: /*Bug 14271140 End*/
2723: lines_tab(k).PROGRAM_APPLICATION_ID := AP_IMPORT_INVOICES_PKG.g_program_application_id ;
2724: lines_tab(k).PROGRAM_ID := AP_IMPORT_INVOICES_PKG.g_program_id ;
2725: lines_tab(k).PROGRAM_UPDATE_DATE := AP_IMPORT_INVOICES_PKG.g_inv_sysdate ;
2726: lines_tab(k).REQUEST_ID := AP_IMPORT_INVOICES_PKG.g_conc_request_id ;
2727: lines_tab(k).ATTRIBUTE_CATEGORY := tab_lines_table(j).ATTRIBUTE_CATEGORY ;
2728: lines_tab(k).ATTRIBUTE1 := tab_lines_table(j).ATTRIBUTE1 ;
2729: lines_tab(k).ATTRIBUTE2 := tab_lines_table(j).ATTRIBUTE2 ;
2730: lines_tab(k).ATTRIBUTE3 := tab_lines_table(j).ATTRIBUTE3 ;
2821: lines_tab(k).AIL_INVOICE_ID4 := NULL ;
2822: lines_tab(k).PAY_AWT_GROUP_ID := tab_lines_table(j).PAY_AWT_GROUP_ID ;
2823:
2824: debug_info := '(Import_invoice 13.5) Assign Lines Collection,Lines Loop 2 end';
2825: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2826: AP_IMPORT_UTILITIES_PKG.Print(
2827: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2828: END IF;
2829:
2823:
2824: debug_info := '(Import_invoice 13.5) Assign Lines Collection,Lines Loop 2 end';
2825: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
2826: AP_IMPORT_UTILITIES_PKG.Print(
2827: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2828: END IF;
2829:
2830: k := k+1;
2831:
2838: -- Step 14
2839: -- Call Sequential Numbering Routine
2840: ------------------------------------
2841: debug_info := '(Import_invoice 14) Get Doc Sequence';
2842: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2843: AP_IMPORT_UTILITIES_PKG.Print(
2844: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2845: END IF;
2846:
2840: ------------------------------------
2841: debug_info := '(Import_invoice 14) Get Doc Sequence';
2842: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2843: AP_IMPORT_UTILITIES_PKG.Print(
2844: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2845: END IF;
2846:
2847: AP_IMPORT_UTILITIES_PKG.Print(
2848: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
2844: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2845: END IF;
2846:
2847: AP_IMPORT_UTILITIES_PKG.Print(
2848: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
2849:
2850: IF (AP_IMPORT_UTILITIES_PKG.get_doc_sequence (
2851: l_invoice_rec, -- IN OUT
2852: /*l_inv_doc_cat_override, -- IN
2851: l_invoice_rec, -- IN OUT
2852: /*l_inv_doc_cat_override, -- IN
2853: l_set_of_books_id, -- IN
2854: l_sequence_numbering, -- IN */ --bug 15862708
2855: NVL(AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_inv_doc_cat_override,'N'), -- IN
2856: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id, -- IN
2857: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_sequence_numbering, -- IN
2858: l_default_last_updated_by, -- IN
2859: l_default_last_update_login, -- IN
2852: /*l_inv_doc_cat_override, -- IN
2853: l_set_of_books_id, -- IN
2854: l_sequence_numbering, -- IN */ --bug 15862708
2855: NVL(AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_inv_doc_cat_override,'N'), -- IN
2856: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id, -- IN
2857: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_sequence_numbering, -- IN
2858: l_default_last_updated_by, -- IN
2859: l_default_last_update_login, -- IN
2860: l_seqval, -- OUT NOCOPY
2853: l_set_of_books_id, -- IN
2854: l_sequence_numbering, -- IN */ --bug 15862708
2855: NVL(AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_inv_doc_cat_override,'N'), -- IN
2856: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id, -- IN
2857: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_sequence_numbering, -- IN
2858: l_default_last_updated_by, -- IN
2859: l_default_last_update_login, -- IN
2860: l_seqval, -- OUT NOCOPY
2861: l_dbseqnm, -- OUT NOCOPY
2862: l_dbseqid, -- OUT NOCOPY
2863: l_invoice_status, -- OUT NOCOPY
2864: current_calling_sequence)<> TRUE) THEN
2865:
2866: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2867: AP_IMPORT_UTILITIES_PKG.Print(
2868: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2869: 'get_doc_sequence<-'||current_calling_sequence);
2870: END IF;
2864: current_calling_sequence)<> TRUE) THEN
2865:
2866: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2867: AP_IMPORT_UTILITIES_PKG.Print(
2868: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2869: 'get_doc_sequence<-'||current_calling_sequence);
2870: END IF;
2871: Raise import_invoice_failure;
2872: END IF;
2872: END IF;
2873:
2874: -- show output values (only IF debug_switch = 'Y')
2875:
2876: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2877: AP_IMPORT_UTILITIES_PKG.Print(
2878: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2879: '------------------> l_invoice_status = '|| l_invoice_status
2880: ||' l_seqval = '||to_char(l_seqval)
2874: -- show output values (only IF debug_switch = 'Y')
2875:
2876: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2877: AP_IMPORT_UTILITIES_PKG.Print(
2878: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2879: '------------------> l_invoice_status = '|| l_invoice_status
2880: ||' l_seqval = '||to_char(l_seqval)
2881: ||' l_dbseqnm = '||l_dbseqnm
2882: ||' l_dbseqid = '||to_char(l_dbseqid));
2894: -- Get some required fields for creating invoices
2895: -- most of them are from po_vendor_sites
2896: -----------------------------------------------------
2897: debug_info := '(Import_invoice 15.1a) Call get_invoice_info';
2898: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2899: AP_IMPORT_UTILITIES_PKG.Print(
2900: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2901: END IF;
2902:
2896: -----------------------------------------------------
2897: debug_info := '(Import_invoice 15.1a) Call get_invoice_info';
2898: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2899: AP_IMPORT_UTILITIES_PKG.Print(
2900: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2901: END IF;
2902:
2903: IF (AP_IMPORT_UTILITIES_PKG.get_invoice_info(
2904: l_invoice_rec, -- IN OUT NOCOPY
2910: l_hold_future_payments_flag, -- OUT NOCOPY
2911: l_supplier_hold_reason, -- OUT NOCOPY
2912: l_exclude_freight_from_disc, -- OUT NOCOPY /* bug 4931755 */
2913: current_calling_sequence ) <> TRUE) THEN
2914: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2915: AP_IMPORT_UTILITIES_PKG.Print(
2916: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2917: 'get_invoice_info<-'||current_calling_sequence);
2918: END IF;
2912: l_exclude_freight_from_disc, -- OUT NOCOPY /* bug 4931755 */
2913: current_calling_sequence ) <> TRUE) THEN
2914: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2915: AP_IMPORT_UTILITIES_PKG.Print(
2916: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2917: 'get_invoice_info<-'||current_calling_sequence);
2918: END IF;
2919: Raise import_invoice_failure;
2920:
2921: END IF;
2922:
2923: -- show output values (only IF debug_switch = 'Y')
2924:
2925: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2926: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
2927: '------------------> l_pay_curr_invoice_amount = '
2928: ||to_char(l_pay_curr_invoice_amount)
2929: ||' l_payment_priority = ' ||to_char(l_payment_priority)
2922:
2923: -- show output values (only IF debug_switch = 'Y')
2924:
2925: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2926: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
2927: '------------------> l_pay_curr_invoice_amount = '
2928: ||to_char(l_pay_curr_invoice_amount)
2929: ||' l_payment_priority = ' ||to_char(l_payment_priority)
2930: ||' l_invoice_amount_limit = ' ||to_char(l_invoice_amount_limit)
2940: -- Update global_context_code with the right
2941: -- value corresponding to flexfield JG_AP_INVOICES
2942: -----------------------------------------------------
2943: debug_info := '(Import_invoice 15.1b) Update global context code';
2944: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2945: AP_IMPORT_UTILITIES_PKG.Print(
2946: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2947: END IF;
2948:
2942: -----------------------------------------------------
2943: debug_info := '(Import_invoice 15.1b) Update global context code';
2944: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2945: AP_IMPORT_UTILITIES_PKG.Print(
2946: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
2947: END IF;
2948:
2949: -- > IN global context code in interface table
2950: -- > OUT NOCOPY global context code in base table
2954: l_invoice_rec.global_attribute_category) <> TRUE) THEN
2955: --Bug8876668
2956: jg_globe_flex_val.reject_invalid_context_code(
2957: 'APXIIMPT',
2958: AP_IMPORT_INVOICES_PKG.g_invoices_table,
2959: l_invoice_rec.invoice_id,
2960: l_default_last_updated_by,
2961: l_default_last_update_login,
2962: l_invoice_rec.global_attribute_category,
2963: l_reject_status_code,
2964: current_calling_sequence);
2965:
2966: IF (l_reject_status_code <> 'Y') THEN
2967: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2968: AP_IMPORT_UTILITIES_PKG.Print(
2969: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2970: 'reassign_context_code<-'||current_calling_sequence);
2971: END IF;
2965:
2966: IF (l_reject_status_code <> 'Y') THEN
2967: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2968: AP_IMPORT_UTILITIES_PKG.Print(
2969: AP_IMPORT_INVOICES_PKG.g_debug_switch,
2970: 'reassign_context_code<-'||current_calling_sequence);
2971: END IF;
2972: Raise import_invoice_failure;
2973: END IF;
2980: -- Step 15.2
2981: -- Insert record INTO ap_invoices
2982: ----------------------------------------------------------
2983: debug_info := '(Import_invoice 15.2) Insert record INTO ap_invoices';
2984: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2985: AP_IMPORT_UTILITIES_PKG.Print(
2986: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2987: END IF;
2988:
2982: ----------------------------------------------------------
2983: debug_info := '(Import_invoice 15.2) Insert record INTO ap_invoices';
2984: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
2985: AP_IMPORT_UTILITIES_PKG.Print(
2986: AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
2987: END IF;
2988:
2989: -- Payment Request: Added p_needs_invoice_approval for payment requests
2990: IF (AP_IMPORT_UTILITIES_PKG.insert_ap_invoices(
2990: IF (AP_IMPORT_UTILITIES_PKG.insert_ap_invoices(
2991: l_invoice_rec, -- IN OUT
2992: l_base_invoice_id, -- OUT NOCOPY
2993: --l_set_of_books_id, -- IN --bug 15862708
2994: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id, -- IN
2995: l_dbseqid, -- IN
2996: l_seqval, -- IN
2997: l_batch_id, -- IN
2998: l_pay_curr_invoice_amount, -- IN
2996: l_seqval, -- IN
2997: l_batch_id, -- IN
2998: l_pay_curr_invoice_amount, -- IN
2999: --l_approval_workflow_flag, -- IN --bug 15862708
3000: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_approval_workflow_flag, -- IN
3001: p_needs_invoice_approval,
3002: /*l_add_days_settlement_date, -- IN --bug 4930111
3003: l_disc_is_inv_less_tax_flag, -- IN --bug 4931755 */ --bug 15862708
3004: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_add_days_settlement_date, -- IN --bug 4930111
3000: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_approval_workflow_flag, -- IN
3001: p_needs_invoice_approval,
3002: /*l_add_days_settlement_date, -- IN --bug 4930111
3003: l_disc_is_inv_less_tax_flag, -- IN --bug 4931755 */ --bug 15862708
3004: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_add_days_settlement_date, -- IN --bug 4930111
3005: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_disc_is_inv_less_tax_flag, -- IN --bug 4931755
3006: l_exclude_freight_from_disc, -- IN --bug 4931755
3007: current_calling_sequence) <> TRUE) THEN
3008: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3001: p_needs_invoice_approval,
3002: /*l_add_days_settlement_date, -- IN --bug 4930111
3003: l_disc_is_inv_less_tax_flag, -- IN --bug 4931755 */ --bug 15862708
3004: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_add_days_settlement_date, -- IN --bug 4930111
3005: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_disc_is_inv_less_tax_flag, -- IN --bug 4931755
3006: l_exclude_freight_from_disc, -- IN --bug 4931755
3007: current_calling_sequence) <> TRUE) THEN
3008: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3009: AP_IMPORT_UTILITIES_PKG.Print(
3004: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_add_days_settlement_date, -- IN --bug 4930111
3005: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_disc_is_inv_less_tax_flag, -- IN --bug 4931755
3006: l_exclude_freight_from_disc, -- IN --bug 4931755
3007: current_calling_sequence) <> TRUE) THEN
3008: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3009: AP_IMPORT_UTILITIES_PKG.Print(
3010: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3011: '<-'||current_calling_sequence);
3012: END IF;
3006: l_exclude_freight_from_disc, -- IN --bug 4931755
3007: current_calling_sequence) <> TRUE) THEN
3008: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3009: AP_IMPORT_UTILITIES_PKG.Print(
3010: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3011: '<-'||current_calling_sequence);
3012: END IF;
3013:
3014: Raise import_invoice_failure;
3024: l_invoice_rec.invoice_amount;
3025:
3026: g_invoice_id := l_base_invoice_id;
3027:
3028: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3029: AP_IMPORT_UTILITIES_PKG.Print(
3030: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3031: '------------------> l_base_invoice_id = '
3032: || to_char(l_base_invoice_id)
3026: g_invoice_id := l_base_invoice_id;
3027:
3028: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3029: AP_IMPORT_UTILITIES_PKG.Print(
3030: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3031: '------------------> l_base_invoice_id = '
3032: || to_char(l_base_invoice_id)
3033: ||' l_valid_invoices_count = '||to_char(l_valid_invoices_count));
3034: END IF;
3039: ---------------------------------------------------------------
3040:
3041: debug_info := '(Import_invoice 15.3) Insert payment schedules '||
3042: 'from terms';
3043: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3044: AP_IMPORT_UTILITIES_PKG.Print(
3045: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3046: END IF;
3047:
3041: debug_info := '(Import_invoice 15.3) Insert payment schedules '||
3042: 'from terms';
3043: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3044: AP_IMPORT_UTILITIES_PKG.Print(
3045: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3046: END IF;
3047:
3048: AP_CREATE_PAY_SCHEDS_PKG.Create_payment_schedules(
3049: p_invoice_id =>l_base_invoice_id,
3068: -- There are 2 holds FROM supplier site AND 1 hold FROM input
3069: -- parameter.
3070: -------------------------------------------------------------
3071: debug_info := '(Import_invoice 15.4) Insert holds for this invoice';
3072: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3073: AP_IMPORT_UTILITIES_PKG.Print(
3074: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3075: END IF;
3076:
3070: -------------------------------------------------------------
3071: debug_info := '(Import_invoice 15.4) Insert holds for this invoice';
3072: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3073: AP_IMPORT_UTILITIES_PKG.Print(
3074: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3075: END IF;
3076:
3077: IF (AP_IMPORT_UTILITIES_PKG.insert_holds(
3078: l_base_invoice_id,
3088: l_invoice_rec.invoice_currency_code)),
3089: l_invoice_rec.last_updated_by,
3090: current_calling_sequence ) <> TRUE) THEN
3091:
3092: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3093: AP_IMPORT_UTILITIES_PKG.Print(
3094: AP_IMPORT_INVOICES_PKG.g_debug_switch,'<-'||
3095: current_calling_sequence);
3096: END IF;
3090: current_calling_sequence ) <> TRUE) THEN
3091:
3092: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3093: AP_IMPORT_UTILITIES_PKG.Print(
3094: AP_IMPORT_INVOICES_PKG.g_debug_switch,'<-'||
3095: current_calling_sequence);
3096: END IF;
3097: Raise import_invoice_failure;
3098: END IF;
3101: -- Step 15.5:
3102: -- Create invoice lines
3103: --------------------------------------------------------------
3104: debug_info := '(Import_invoice 15.5) Create invoice lines';
3105: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3106: AP_IMPORT_UTILITIES_PKG.Print(
3107: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3108: END IF;
3109:
3103: --------------------------------------------------------------
3104: debug_info := '(Import_invoice 15.5) Create invoice lines';
3105: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3106: AP_IMPORT_UTILITIES_PKG.Print(
3107: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3108: END IF;
3109:
3110:
3111: AP_IMPORT_UTILITIES_PKG.Print(
3108: END IF;
3109:
3110:
3111: AP_IMPORT_UTILITIES_PKG.Print(
3112: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
3113:
3114: debug_info := '(Import_invoice 15.5) Create invoice lines '||lines_tab.count;
3115: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3116: AP_IMPORT_UTILITIES_PKG.Print(
3111: AP_IMPORT_UTILITIES_PKG.Print(
3112: AP_IMPORT_INVOICES_PKG.g_debug_switch, 'SOBID is :'||l_invoice_rec.set_of_books_id);
3113:
3114: debug_info := '(Import_invoice 15.5) Create invoice lines '||lines_tab.count;
3115: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3116: AP_IMPORT_UTILITIES_PKG.Print(
3117: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3118: END IF;
3119:
3113:
3114: debug_info := '(Import_invoice 15.5) Create invoice lines '||lines_tab.count;
3115: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3116: AP_IMPORT_UTILITIES_PKG.Print(
3117: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3118: END IF;
3119:
3120: IF (AP_IMPORT_UTILITIES_PKG.create_lines(
3121: l_batch_id,
3123: lines_tab, --bug 15862708
3124: /*l_base_currency_code,
3125: l_set_of_books_id,
3126: l_approval_workflow_flag, */ --bug 15862708
3127: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code,
3128: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id,
3129: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_approval_workflow_flag,
3130: l_invoice_rec.tax_only_flag,
3131: l_invoice_rec.tax_only_rcv_matched_flag,
3124: /*l_base_currency_code,
3125: l_set_of_books_id,
3126: l_approval_workflow_flag, */ --bug 15862708
3127: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code,
3128: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id,
3129: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_approval_workflow_flag,
3130: l_invoice_rec.tax_only_flag,
3131: l_invoice_rec.tax_only_rcv_matched_flag,
3132: l_default_last_updated_by,
3125: l_set_of_books_id,
3126: l_approval_workflow_flag, */ --bug 15862708
3127: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code,
3128: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_set_of_books_id,
3129: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_approval_workflow_flag,
3130: l_invoice_rec.tax_only_flag,
3131: l_invoice_rec.tax_only_rcv_matched_flag,
3132: l_default_last_updated_by,
3133: l_default_last_update_login,
3132: l_default_last_updated_by,
3133: l_default_last_update_login,
3134: current_calling_sequence) <> TRUE) THEN
3135:
3136: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3137: AP_IMPORT_UTILITIES_PKG.Print(
3138: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3139: 'create_lines<-'||current_calling_sequence);
3140: Raise import_invoice_failure;
3134: current_calling_sequence) <> TRUE) THEN
3135:
3136: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3137: AP_IMPORT_UTILITIES_PKG.Print(
3138: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3139: 'create_lines<-'||current_calling_sequence);
3140: Raise import_invoice_failure;
3141: END IF;
3142: END IF;
3146: -- Execute the Argentine/Colombian defaulting procedure
3147: --------------------------------------------------------------
3148: debug_info := '(Import_invoice 15.6) Execute the '||
3149: 'Argentine/Colombian defaulting procedure';
3150: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3151: AP_IMPORT_UTILITIES_PKG.Print(
3152: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3153: END IF;
3154:
3148: debug_info := '(Import_invoice 15.6) Execute the '||
3149: 'Argentine/Colombian defaulting procedure';
3150: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3151: AP_IMPORT_UTILITIES_PKG.Print(
3152: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3153: END IF;
3154:
3155: --Bugfix:4674229
3156: DECLARE
3163: P_calling_module => 'IMPORT',
3164: P_Parent_Dist_Id => NULL,
3165: P_Awt_Success => l_awt_success);
3166: IF (l_awt_success <> 'SUCCESS') THEN
3167: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3168: AP_IMPORT_UTILITIES_PKG.Print(
3169: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3170: 'ap_ext_withholding_default<-'||current_calling_sequence);
3171: END IF;
3165: P_Awt_Success => l_awt_success);
3166: IF (l_awt_success <> 'SUCCESS') THEN
3167: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3168: AP_IMPORT_UTILITIES_PKG.Print(
3169: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3170: 'ap_ext_withholding_default<-'||current_calling_sequence);
3171: END IF;
3172: Raise import_invoice_failure;
3173: END IF;
3185:
3186: debug_info := '(Import_invoice 15.7) Call import before any prepayment '||
3187: 'application if the user intention is to import TAX';
3188:
3189: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3190: AP_IMPORT_UTILITIES_PKG.Print(
3191: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3192: END IF;
3193:
3187: 'application if the user intention is to import TAX';
3188:
3189: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3190: AP_IMPORT_UTILITIES_PKG.Print(
3191: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3192: END IF;
3193:
3194:
3195: IF ( l_invoice_rec.calc_tax_during_import_flag = 'N') THEN
3200: -- recovery right after because tax-only lines had been created
3201: --------------------------------------------------------------
3202: debug_info := '(Import_invoice 15.7a) User intention is to import TAX';
3203:
3204: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3205: AP_IMPORT_UTILITIES_PKG.Print(
3206: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3207: END IF;
3208:
3202: debug_info := '(Import_invoice 15.7a) User intention is to import TAX';
3203:
3204: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3205: AP_IMPORT_UTILITIES_PKG.Print(
3206: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3207: END IF;
3208:
3209: IF ( NVL(l_invoice_rec.tax_only_rcv_matched_flag, 'N') = 'Y') THEN
3210: -----------------------------------------------------------------
3214:
3215: debug_info := '(Import_invoice 15.7b) Invoice is tax only and is matched to receipt '||
3216: 'so calculate shoould be called instead of import';
3217:
3218: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3219: AP_IMPORT_UTILITIES_PKG.Print(
3220: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3221: END IF;
3222:
3216: 'so calculate shoould be called instead of import';
3217:
3218: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3219: AP_IMPORT_UTILITIES_PKG.Print(
3220: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3221: END IF;
3222:
3223: IF NOT (ap_etax_pkg.calling_etax(
3224: p_invoice_id => l_base_invoice_id,
3232:
3233: -- If the call to calculate fails, the import process will
3234: -- fail. In this case the invoice cannot be imported since
3235: -- user is trying to import tax lines
3236: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3237: AP_IMPORT_UTILITIES_PKG.Print(
3238: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3239: 'ap_etax_pkg.calling_etax(CALCULATE IMPORT)<-'||current_calling_sequence);
3240:
3234: -- fail. In this case the invoice cannot be imported since
3235: -- user is trying to import tax lines
3236: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3237: AP_IMPORT_UTILITIES_PKG.Print(
3238: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3239: 'ap_etax_pkg.calling_etax(CALCULATE IMPORT)<-'||current_calling_sequence);
3240:
3241: END IF;
3242:
3280:
3281: debug_info := '(Import_invoice 15.7c) Invoice is tax only '||
3282: 'but not matched to receipt so call IMPORT TAX';
3283:
3284: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3285: AP_IMPORT_UTILITIES_PKG.Print(
3286: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3287: END IF;
3288:
3282: 'but not matched to receipt so call IMPORT TAX';
3283:
3284: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3285: AP_IMPORT_UTILITIES_PKG.Print(
3286: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3287: END IF;
3288:
3289: IF NOT (ap_etax_pkg.calling_etax(
3290: p_invoice_id => l_base_invoice_id,
3296: p_error_code => l_error_code,
3297: p_calling_sequence => current_calling_sequence)) THEN
3298:
3299: -- If the import of tax fails, the import process will fail.
3300: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3301: AP_IMPORT_UTILITIES_PKG.Print(
3302: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3303: 'ap_etax_pkg.calling_etax(IMPORT INTERFACE)<-'||current_calling_sequence);
3304:
3298:
3299: -- If the import of tax fails, the import process will fail.
3300: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3301: AP_IMPORT_UTILITIES_PKG.Print(
3302: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3303: 'ap_etax_pkg.calling_etax(IMPORT INTERFACE)<-'||current_calling_sequence);
3304:
3305: END IF;
3306:
3339: IF (NVL(l_invoice_rec.tax_only_flag, 'N') = 'Y') THEN
3340: debug_info := '(Import_invoice 15.7d) Invoice is tax only so we will '||
3341: 'call determine_recovery';
3342:
3343: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3344: AP_IMPORT_UTILITIES_PKG.Print(
3345: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3346: END IF;
3347:
3341: 'call determine_recovery';
3342:
3343: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3344: AP_IMPORT_UTILITIES_PKG.Print(
3345: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3346: END IF;
3347:
3348: IF NOT (ap_etax_pkg.calling_etax(
3349: p_invoice_id => l_base_invoice_id,
3357:
3358: -- If the call to determine recovery fails, the import process
3359: -- will fail. In this case the invoice cannot be imported since
3360: -- user is trying to import tax lines
3361: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3362: AP_IMPORT_UTILITIES_PKG.Print(
3363: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3364: 'ap_etax_pkg.calling_etax(DISTRIBUTE IMPORT)<-'||current_calling_sequence);
3365:
3359: -- will fail. In this case the invoice cannot be imported since
3360: -- user is trying to import tax lines
3361: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3362: AP_IMPORT_UTILITIES_PKG.Print(
3363: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3364: 'ap_etax_pkg.calling_etax(DISTRIBUTE IMPORT)<-'||current_calling_sequence);
3365:
3366: END IF;
3367:
3400: -- if the invoice has tax line we need to call
3401: -- ZX_API_PUB.IMPORT_DOCUMENT_WITH_TAX (thru' 'CALCULATE')
3402: IF (NVL(l_invoice_rec.tax_only_flag, 'N') = 'N' AND
3403: NVL(l_invoice_rec.tax_only_rcv_matched_flag, 'N') = 'N' AND
3404: -- AP_IMPORT_INVOICES_PKG.g_inv_has_tax_line = 'Y' --bug 15862708
3405: l_invoice_rec.inv_has_tax_line = 'Y'
3406: ) THEN
3407:
3408: debug_info := '(Import_invoice 15.7e) Invoice is tax line '||
3407:
3408: debug_info := '(Import_invoice 15.7e) Invoice is tax line '||
3409: 'call IMPORT INTERFACE';
3410:
3411: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3412: AP_IMPORT_UTILITIES_PKG.Print(
3413: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3414: END IF;
3415:
3409: 'call IMPORT INTERFACE';
3410:
3411: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3412: AP_IMPORT_UTILITIES_PKG.Print(
3413: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3414: END IF;
3415:
3416: IF NOT (ap_etax_pkg.calling_etax(
3417: p_invoice_id => l_base_invoice_id,
3423: p_error_code => l_error_code,
3424: p_calling_sequence => current_calling_sequence)) THEN
3425:
3426: -- If the import of tax fails, the import process will fail.
3427: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3428: AP_IMPORT_UTILITIES_PKG.Print(
3429: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3430: 'ap_etax_pkg.calling_etax(IMPORT INTERFACE)<-'||current_calling_sequence);
3431:
3425:
3426: -- If the import of tax fails, the import process will fail.
3427: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3428: AP_IMPORT_UTILITIES_PKG.Print(
3429: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3430: 'ap_etax_pkg.calling_etax(IMPORT INTERFACE)<-'||current_calling_sequence);
3431:
3432: END IF;
3433:
3455: END IF; -- if l_error_code is not null
3456: --RAISE import_invoice_failure; --bug 15862708
3457: RAISE calculate_tax_failure;
3458: END IF; -- end of call to IMPORT INTERFACE
3459: END IF; -- end of IF AP_IMPORT_INVOICES_PKG.g_inv_has_tax_line = 'Y'
3460: -- bug 10158760: end
3461:
3462: END IF; -- calc_tax_during_import_flag is N. User expects import TAX
3463: -- to be called
3473:
3474: debug_info := '(Import_invoice 15.8) Call calculate or the prepayment '||
3475: 'application';
3476:
3477: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3478: AP_IMPORT_UTILITIES_PKG.Print(
3479: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3480: END IF;
3481:
3475: 'application';
3476:
3477: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3478: AP_IMPORT_UTILITIES_PKG.Print(
3479: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3480: END IF;
3481:
3482: IF ( l_invoice_rec.prepay_num IS NULL AND
3483: l_invoice_rec.prepay_line_num IS NULL AND
3501: -- ap_invoice_lines_all table
3502: --------------------------------------------------------------
3503: debug_info := '(Import_invoice 15.8a) calc_tax_during_import_flag = Y, Call calculate tax';
3504:
3505: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3506: AP_IMPORT_UTILITIES_PKG.Print(
3507: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3508: END IF;
3509:
3503: debug_info := '(Import_invoice 15.8a) calc_tax_during_import_flag = Y, Call calculate tax';
3504:
3505: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3506: AP_IMPORT_UTILITIES_PKG.Print(
3507: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3508: END IF;
3509:
3510: IF NOT (ap_etax_pkg.calling_etax(
3511: p_invoice_id => l_base_invoice_id,
3521: -- anyway, and the error(s) will be included in the log file.
3522: -- Tax can be later be calculated from the invoice workbench or
3523: -- during the validation of the invoice.
3524:
3525: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3526: AP_IMPORT_UTILITIES_PKG.Print(
3527: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3528: 'ap_etax_pkg.calling_etax(CALCULATE IMPORT)<-'||current_calling_sequence);
3529:
3523: -- during the validation of the invoice.
3524:
3525: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3526: AP_IMPORT_UTILITIES_PKG.Print(
3527: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3528: 'ap_etax_pkg.calling_etax(CALCULATE IMPORT)<-'||current_calling_sequence);
3529:
3530: END IF;
3531:
3569: -- Fix using invoice record
3570: --------------------------------------------------------------
3571: debug_info := '(Import_invoice 15.8b) Apply Prepayment(s) to invoice.';
3572:
3573: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3574: AP_IMPORT_UTILITIES_PKG.Print(
3575: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3576: END IF;
3577:
3571: debug_info := '(Import_invoice 15.8b) Apply Prepayment(s) to invoice.';
3572:
3573: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3574: AP_IMPORT_UTILITIES_PKG.Print(
3575: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3576: END IF;
3577:
3578:
3579: SELECT sum(nvl(amount_remaining,0))
3607: p_calling_sequence => current_calling_sequence,
3608: p_prepay_appl_log => l_prepay_appl_log);
3609: ELSE
3610: IF (AP_IMPORT_UTILITIES_PKG.insert_rejections
3611: (AP_IMPORT_INVOICES_PKG.g_invoices_table,
3612: l_invoice_rec.invoice_id,
3613: 'AP_INV_CANNOT_APPLY_CRDR_IMPRT',
3614: l_default_last_updated_by,
3615: l_default_last_update_login,
3614: l_default_last_updated_by,
3615: l_default_last_update_login,
3616: current_calling_sequence) <> TRUE) THEN
3617:
3618: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3619:
3620: AP_IMPORT_UTILITIES_PKG.Print(
3621: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3622: 'insert_rejections<- '||current_calling_sequence);
3617:
3618: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3619:
3620: AP_IMPORT_UTILITIES_PKG.Print(
3621: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3622: 'insert_rejections<- '||current_calling_sequence);
3623: END IF;
3624:
3625: Raise import_invoice_failure;
3639: 'if flag add_tax_to_inv_amt_flag is set with the '||
3640: 'total of the exclusive tax lines created for the '||
3641: 'invoice';
3642:
3643: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3644: AP_IMPORT_UTILITIES_PKG.Print(
3645: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3646: END IF;
3647:
3641: 'invoice';
3642:
3643: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3644: AP_IMPORT_UTILITIES_PKG.Print(
3645: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3646: END IF;
3647:
3648: IF (NVL(l_invoice_rec.add_tax_to_inv_amt_flag, 'N') = 'Y') THEN
3649:
3684:
3685: -- Bug 7282839 start
3686: -- Calculate the tax amount in base currency
3687: l_base_exclusive_tax_amount := 0;
3688: IF (AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code <> l_invoice_rec.invoice_currency_code) THEN
3689:
3690: -- Retreive the exchange rate for the invoice from record
3691: IF ( l_invoice_rec.exchange_rate IS NOT NULL) THEN
3692: l_exchange_rate := l_invoice_rec.exchange_rate;
3697: where invoice_id=l_base_invoice_id;
3698: END IF;
3699:
3700: IF ( l_exchange_rate IS NOT NULL
3701: AND AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code IS NOT NULL ) THEN
3702: l_base_exclusive_tax_amount :=AP_UTILITIES_PKG.AP_ROUND_CURRENCY(
3703: l_exclusive_tax_amount * l_exchange_rate,
3704: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code);
3705: END IF;
3700: IF ( l_exchange_rate IS NOT NULL
3701: AND AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code IS NOT NULL ) THEN
3702: l_base_exclusive_tax_amount :=AP_UTILITIES_PKG.AP_ROUND_CURRENCY(
3703: l_exclusive_tax_amount * l_exchange_rate,
3704: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(l_invoice_rec.org_id).p_base_currency_code);
3705: END IF;
3706: END IF;
3707:
3708: UPDATE ap_invoices_all ai
3736: --------------------------------------------------------------
3737: debug_info := '(Import_invoice 15.10) Delete the contents of '||
3738: 'the l_invoice_lines_tab Lines Table';
3739:
3740: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3741: AP_IMPORT_UTILITIES_PKG.Print(
3742: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3743: END IF;
3744:
3738: 'the l_invoice_lines_tab Lines Table';
3739:
3740: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3741: AP_IMPORT_UTILITIES_PKG.Print(
3742: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3743: END IF;
3744:
3745: --l_invoice_lines_tab.DELETE;
3746:
3750: --------------------------------------------------------------
3751: debug_info := '(Import_invoice 15.11) Delete the contents of '||
3752: 'the eTax global temp tables';
3753:
3754: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3755: AP_IMPORT_UTILITIES_PKG.Print(
3756: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3757: END IF;
3758: /* --commented for bug 16656238
3752: 'the eTax global temp tables';
3753:
3754: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3755: AP_IMPORT_UTILITIES_PKG.Print(
3756: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3757: END IF;
3758: /* --commented for bug 16656238
3759: BEGIN DELETE zx_trx_headers_gt;
3760: EXCEPTION WHEN NO_DATA_FOUND THEN null;
3780: ----------------------------------------------------------------
3781: ELSE
3782:
3783: debug_info := '(Import Invoice 16) Import_Retroprice_Adjustments';
3784: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3785: AP_IMPORT_UTILITIES_PKG.Print(
3786: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3787: END IF;
3788: --
3782:
3783: debug_info := '(Import Invoice 16) Import_Retroprice_Adjustments';
3784: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3785: AP_IMPORT_UTILITIES_PKG.Print(
3786: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3787: END IF;
3788: --
3789: IF (AP_RETRO_PRICING_PKG.Import_Retroprice_Adjustments(
3790: l_invoice_rec, -- IN p_instr_header_rec
3787: END IF;
3788: --
3789: IF (AP_RETRO_PRICING_PKG.Import_Retroprice_Adjustments(
3790: l_invoice_rec, -- IN p_instr_header_rec
3791: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_currency_code, -- IN
3792: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_multi_currency_flag, -- IN
3793: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_set_of_books_id, -- IN
3794: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_default_exchange_rate_type, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3788: --
3789: IF (AP_RETRO_PRICING_PKG.Import_Retroprice_Adjustments(
3790: l_invoice_rec, -- IN p_instr_header_rec
3791: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_currency_code, -- IN
3792: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_multi_currency_flag, -- IN
3793: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_set_of_books_id, -- IN
3794: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_default_exchange_rate_type, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3796: l_invoice_rec.gl_date, -- IN
3789: IF (AP_RETRO_PRICING_PKG.Import_Retroprice_Adjustments(
3790: l_invoice_rec, -- IN p_instr_header_rec
3791: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_currency_code, -- IN
3792: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_multi_currency_flag, -- IN
3793: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_set_of_books_id, -- IN
3794: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_default_exchange_rate_type, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3796: l_invoice_rec.gl_date, -- IN
3797: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_gl_date_from_receipt_flag, -- IN
3790: l_invoice_rec, -- IN p_instr_header_rec
3791: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_currency_code, -- IN
3792: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_multi_currency_flag, -- IN
3793: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_set_of_books_id, -- IN
3794: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_default_exchange_rate_type, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3796: l_invoice_rec.gl_date, -- IN
3797: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_gl_date_from_receipt_flag, -- IN
3798: l_invoice_rec.positive_price_tolerance, -- IN
3791: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_currency_code, -- IN
3792: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_multi_currency_flag, -- IN
3793: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_set_of_books_id, -- IN
3794: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_default_exchange_rate_type, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3796: l_invoice_rec.gl_date, -- IN
3797: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_gl_date_from_receipt_flag, -- IN
3798: l_invoice_rec.positive_price_tolerance, -- IN
3799: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_pa_installed, -- IN
3793: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_set_of_books_id, -- IN
3794: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_default_exchange_rate_type, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3796: l_invoice_rec.gl_date, -- IN
3797: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_gl_date_from_receipt_flag, -- IN
3798: l_invoice_rec.positive_price_tolerance, -- IN
3799: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_pa_installed, -- IN
3800: l_invoice_rec.qty_tolerance, -- IN
3801: l_invoice_rec.max_qty_ord_tolerance, -- IN
3795: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_make_rate_mandatory_flag, -- IN
3796: l_invoice_rec.gl_date, -- IN
3797: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_gl_date_from_receipt_flag, -- IN
3798: l_invoice_rec.positive_price_tolerance, -- IN
3799: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_pa_installed, -- IN
3800: l_invoice_rec.qty_tolerance, -- IN
3801: l_invoice_rec.max_qty_ord_tolerance, -- IN
3802: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_min_acct_unit, -- IN
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3798: l_invoice_rec.positive_price_tolerance, -- IN
3799: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_pa_installed, -- IN
3800: l_invoice_rec.qty_tolerance, -- IN
3801: l_invoice_rec.max_qty_ord_tolerance, -- IN
3802: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_min_acct_unit, -- IN
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3804: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_chart_of_accounts_id, -- IN
3805: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_freight_code_combination_id, -- IN
3806: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_purch_encumbrance_flag, -- IN
3799: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_pa_installed, -- IN
3800: l_invoice_rec.qty_tolerance, -- IN
3801: l_invoice_rec.max_qty_ord_tolerance, -- IN
3802: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_min_acct_unit, -- IN
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3804: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_chart_of_accounts_id, -- IN
3805: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_freight_code_combination_id, -- IN
3806: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_purch_encumbrance_flag, -- IN
3807: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_calc_user_xrate, -- IN
3800: l_invoice_rec.qty_tolerance, -- IN
3801: l_invoice_rec.max_qty_ord_tolerance, -- IN
3802: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_min_acct_unit, -- IN
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3804: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_chart_of_accounts_id, -- IN
3805: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_freight_code_combination_id, -- IN
3806: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_purch_encumbrance_flag, -- IN
3807: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_calc_user_xrate, -- IN
3808: l_default_last_updated_by, -- IN
3801: l_invoice_rec.max_qty_ord_tolerance, -- IN
3802: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_min_acct_unit, -- IN
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3804: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_chart_of_accounts_id, -- IN
3805: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_freight_code_combination_id, -- IN
3806: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_purch_encumbrance_flag, -- IN
3807: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_calc_user_xrate, -- IN
3808: l_default_last_updated_by, -- IN
3809: l_default_last_update_login, -- IN
3802: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_min_acct_unit, -- IN
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3804: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_chart_of_accounts_id, -- IN
3805: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_freight_code_combination_id, -- IN
3806: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_purch_encumbrance_flag, -- IN
3807: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_calc_user_xrate, -- IN
3808: l_default_last_updated_by, -- IN
3809: l_default_last_update_login, -- IN
3810: l_invoice_status, -- OUT instr_status_flag
3803: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_base_precision, -- IN
3804: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_chart_of_accounts_id, -- IN
3805: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_freight_code_combination_id, -- IN
3806: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_purch_encumbrance_flag, -- IN
3807: AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_calc_user_xrate, -- IN
3808: l_default_last_updated_by, -- IN
3809: l_default_last_update_login, -- IN
3810: l_invoice_status, -- OUT instr_status_flag
3811: l_valid_invoices_count, -- OUT p_invoices_count
3811: l_valid_invoices_count, -- OUT p_invoices_count
3812: l_total_invoice_amount, -- OUT p_invoices_total
3813: current_calling_sequence) <> TRUE) THEN
3814: --
3815: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3816: AP_IMPORT_UTILITIES_PKG.Print(
3817: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3818: 'Import_Retroprice_Adjustments<-'||current_calling_sequence);
3819: END IF;
3813: current_calling_sequence) <> TRUE) THEN
3814: --
3815: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3816: AP_IMPORT_UTILITIES_PKG.Print(
3817: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3818: 'Import_Retroprice_Adjustments<-'||current_calling_sequence);
3819: END IF;
3820: Raise import_invoice_failure;
3821: --
3831: -- Ideally they shud be the same.
3832: l_actual_invoice_total := l_total_invoice_amount;
3833: l_invoices_created := l_valid_invoices_count; --bug 14530013
3834: --
3835: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3836: AP_IMPORT_UTILITIES_PKG.Print(
3837: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3838: '------------------> l_instruction_id = '
3839: || to_char(l_invoice_rec.invoice_id));
3833: l_invoices_created := l_valid_invoices_count; --bug 14530013
3834: --
3835: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
3836: AP_IMPORT_UTILITIES_PKG.Print(
3837: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3838: '------------------> l_instruction_id = '
3839: || to_char(l_invoice_rec.invoice_id));
3840: END IF;
3841: --
3859: -- Step 17.1. Change the invoice status to 'REJECTING'
3860: -----------------------------------------------------
3861: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
3862: 'REJECTING';
3863: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3864: AP_IMPORT_UTILITIES_PKG.Print(
3865: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3866: END IF;
3867:
3861: debug_info := '(Import_invoice 17.1) Change the invoice status to '||
3862: 'REJECTING';
3863: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3864: AP_IMPORT_UTILITIES_PKG.Print(
3865: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3866: END IF;
3867:
3868: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
3869: 'REJECTING',
3868: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
3869: 'REJECTING',
3870: l_invoice_rec.invoice_id,
3871: current_calling_sequence) <> TRUE) THEN
3872: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3873: AP_IMPORT_UTILITIES_PKG.Print(
3874: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3875: 'change_invoice_status<-'||current_calling_sequence);
3876: END IF;
3870: l_invoice_rec.invoice_id,
3871: current_calling_sequence) <> TRUE) THEN
3872: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3873: AP_IMPORT_UTILITIES_PKG.Print(
3874: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3875: 'change_invoice_status<-'||current_calling_sequence);
3876: END IF;
3877: Raise import_invoice_failure;
3878: END IF;
3881: -- Step 17.2 Change the invoice status to 'PROCESSING'
3882: ------------------------------------------------------
3883: debug_info := '(Import_invoice 17.2) Change the invoice status to '||
3884: 'PROCESSING';
3885: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3886: AP_IMPORT_UTILITIES_PKG.Print(
3887: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3888: END IF;
3889:
3883: debug_info := '(Import_invoice 17.2) Change the invoice status to '||
3884: 'PROCESSING';
3885: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3886: AP_IMPORT_UTILITIES_PKG.Print(
3887: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3888: END IF;
3889:
3890: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
3891: 'PROCESSING',
3890: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
3891: 'PROCESSING',
3892: l_invoice_rec.invoice_id,
3893: current_calling_sequence) <> TRUE) THEN
3894: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3895: AP_IMPORT_UTILITIES_PKG.Print(
3896: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3897: 'change_invoice_status<-'||current_calling_sequence);
3898: END IF;
3892: l_invoice_rec.invoice_id,
3893: current_calling_sequence) <> TRUE) THEN
3894: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3895: AP_IMPORT_UTILITIES_PKG.Print(
3896: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3897: 'change_invoice_status<-'||current_calling_sequence);
3898: END IF;
3899: Raise import_invoice_failure;
3900: END IF;
3911: debug_info := '(Import_invoice 17.1) Change the status to '||
3912: 'REJECTING for invoice rejected by validate_default_import '
3913: || l_invoice_rec.invoice_id;
3914:
3915: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3916: AP_IMPORT_UTILITIES_PKG.Print(
3917: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3918: END IF;
3919:
3913: || l_invoice_rec.invoice_id;
3914:
3915: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3916: AP_IMPORT_UTILITIES_PKG.Print(
3917: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3918: END IF;
3919:
3920: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
3921: 'REJECTING',
3920: IF (AP_IMPORT_UTILITIES_PKG.change_invoice_status(
3921: 'REJECTING',
3922: l_invoice_rec.invoice_id,
3923: current_calling_sequence) <> TRUE) THEN
3924: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3925: AP_IMPORT_UTILITIES_PKG.Print(
3926: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3927: 'change_invoice_status<-'||current_calling_sequence);
3928: END IF;
3922: l_invoice_rec.invoice_id,
3923: current_calling_sequence) <> TRUE) THEN
3924: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3925: AP_IMPORT_UTILITIES_PKG.Print(
3926: AP_IMPORT_INVOICES_PKG.g_debug_switch,
3927: 'change_invoice_status<-'||current_calling_sequence);
3928: END IF;
3929: Raise import_invoice_failure;
3930: END IF;
3937:
3938: debug_info := '(Import_invoice -->Execution completed for second loop:'
3939: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
3940:
3941: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3942: AP_IMPORT_UTILITIES_PKG.Print(
3943: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3944: END IF;
3945:
3939: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
3940:
3941: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3942: AP_IMPORT_UTILITIES_PKG.Print(
3943: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3944: END IF;
3945:
3946: debug_info := '(Import_invoice) CLOSE import_invoices';
3947: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3943: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3944: END IF;
3945:
3946: debug_info := '(Import_invoice) CLOSE import_invoices';
3947: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3948: AP_IMPORT_UTILITIES_PKG.Print(
3949: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3950: END IF;
3951: --bug 15862708
3945:
3946: debug_info := '(Import_invoice) CLOSE import_invoices';
3947: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3948: AP_IMPORT_UTILITIES_PKG.Print(
3949: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3950: END IF;
3951: --bug 15862708
3952: -- Bug 4145391
3953: /* IF (p_group_id IS NULL) THEN
3962: -- Create batch only the first time, in subsequent commit cycles
3963: -- do not try to create the batch again.
3964: ---------------------------------------------------------------------
3965: debug_info := '(Import_invoice 18a) Get/Initialize batch name';
3966: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3967: AP_IMPORT_UTILITIES_PKG.Print(
3968: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3969: END IF;
3970:
3964: ---------------------------------------------------------------------
3965: debug_info := '(Import_invoice 18a) Get/Initialize batch name';
3966: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3967: AP_IMPORT_UTILITIES_PKG.Print(
3968: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
3969: END IF;
3970:
3971: BEGIN--veramach bug 7121842
3972: IF (p_batch_name IS NULL AND
3994: (l_valid_invoices_count >0 ) AND
3995: (l_batch_type = 'NEW BATCH')) THEN
3996:
3997: debug_info := '(Import_invoice 18b) Create ap_batches';
3998: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3999: AP_IMPORT_UTILITIES_PKG.Print(
4000: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4001: END IF;
4002:
3996:
3997: debug_info := '(Import_invoice 18b) Create ap_batches';
3998: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
3999: AP_IMPORT_UTILITIES_PKG.Print(
4000: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4001: END IF;
4002:
4003: IF (AP_IMPORT_UTILITIES_PKG.Insert_ap_batches(
4004: l_batch_id,
4008: l_valid_invoices_count,-- bug1721820
4009: l_actual_invoice_total,-- bug1721820
4010: l_default_last_updated_by,
4011: current_calling_sequence) <> TRUE) THEN
4012: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4013: AP_IMPORT_UTILITIES_PKG.Print(
4014: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4015: 'Insert_ap_batches<-'||current_calling_sequence);
4016: END IF;
4010: l_default_last_updated_by,
4011: current_calling_sequence) <> TRUE) THEN
4012: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4013: AP_IMPORT_UTILITIES_PKG.Print(
4014: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4015: 'Insert_ap_batches<-'||current_calling_sequence);
4016: END IF;
4017: Raise import_invoice_failure;
4018: END IF;
4017: Raise import_invoice_failure;
4018: END IF;
4019:
4020: debug_info := '(Import_invoice 18c) Set batch exists flag to Y';
4021: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4022: AP_IMPORT_UTILITIES_PKG.Print(
4023: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4024: END IF;
4025:
4019:
4020: debug_info := '(Import_invoice 18c) Set batch exists flag to Y';
4021: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4022: AP_IMPORT_UTILITIES_PKG.Print(
4023: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4024: END IF;
4025:
4026: l_batch_exists_flag := 'Y';
4027:
4025:
4026: l_batch_exists_flag := 'Y';
4027:
4028: ELSIF --(NVL(l_batch_control_flag,'N') = 'Y' AND --bug 15862708
4029: (NVL(AP_IMPORT_INVOICES_PKG.tab_get_info_rec(nvl(p_org_id,l_invoice_rec.org_id)).p_batch_control_flag,'N') = 'Y' AND
4030: (l_batch_id is NOT NULL) AND
4031: (l_batch_name is NOT NULL) AND
4032: ((l_batch_exists_flag = 'Y') OR
4033: (l_batch_type = 'OLD BATCH')) AND
4033: (l_batch_type = 'OLD BATCH')) AND
4034: (l_valid_invoices_count >0 )) THEN
4035:
4036: debug_info := '(Import_invoice 18d) Create ap_batches';
4037: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4038: AP_IMPORT_UTILITIES_PKG.Print(
4039: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4040: END IF;
4041:
4035:
4036: debug_info := '(Import_invoice 18d) Create ap_batches';
4037: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4038: AP_IMPORT_UTILITIES_PKG.Print(
4039: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4040: END IF;
4041:
4042: IF (AP_IMPORT_UTILITIES_PKG.Update_Ap_Batches(
4043: l_batch_id,
4045: l_valid_invoices_count,
4046: l_actual_invoice_total,
4047: l_default_last_updated_by,
4048: current_calling_sequence) <> TRUE) THEN
4049: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4050: AP_IMPORT_UTILITIES_PKG.Print(
4051: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4052: 'Update_Ap_Batches<-'||current_calling_sequence);
4053: END IF;
4047: l_default_last_updated_by,
4048: current_calling_sequence) <> TRUE) THEN
4049: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4050: AP_IMPORT_UTILITIES_PKG.Print(
4051: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4052: 'Update_Ap_Batches<-'||current_calling_sequence);
4053: END IF;
4054: Raise import_invoice_failure;
4055: END IF;
4054: Raise import_invoice_failure;
4055: END IF;
4056:
4057: debug_info := '(Import_invoice 18e) Set batch exists flag to Y';
4058: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4059: AP_IMPORT_UTILITIES_PKG.Print(
4060: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4061: END IF;
4062:
4056:
4057: debug_info := '(Import_invoice 18e) Set batch exists flag to Y';
4058: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4059: AP_IMPORT_UTILITIES_PKG.Print(
4060: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4061: END IF;
4062:
4063: l_batch_exists_flag := 'Y';
4064: ELSE
4062:
4063: l_batch_exists_flag := 'Y';
4064: ELSE
4065: debug_info := '(Import_invoice 18f) Do Not create batch';
4066: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4067: AP_IMPORT_UTILITIES_PKG.Print(
4068: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4069: END IF;
4070: END IF;
4064: ELSE
4065: debug_info := '(Import_invoice 18f) Do Not create batch';
4066: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4067: AP_IMPORT_UTILITIES_PKG.Print(
4068: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4069: END IF;
4070: END IF;
4071:
4072: -----------------------------------------------------------
4073: -- Step 19
4074: -- For each commit cycle, do a commit.
4075: -----------------------------------------------------------
4076: debug_info := '(Import_invoice 19) COMMIT to the database';
4077: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4078: AP_IMPORT_UTILITIES_PKG.Print(
4079: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4080: END IF;
4081:
4075: -----------------------------------------------------------
4076: debug_info := '(Import_invoice 19) COMMIT to the database';
4077: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4078: AP_IMPORT_UTILITIES_PKG.Print(
4079: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4080: END IF;
4081:
4082: IF NVL(p_commit,'Y') = 'Y' THEN
4083: COMMIT;
4087: -- Step 20 Check IF there's still any record left
4088: --
4089: -----------------------------------------------------
4090: debug_info := '(Import_purge 20) Check IF there is still any record left';
4091: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4092: AP_IMPORT_UTILITIES_PKG.Print(
4093: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4094: END IF;
4095:
4089: -----------------------------------------------------
4090: debug_info := '(Import_purge 20) Check IF there is still any record left';
4091: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4092: AP_IMPORT_UTILITIES_PKG.Print(
4093: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4094: END IF;
4095:
4096: IF l_total_count > l_invoices_fetched THEN
4097: l_continue_flag := 'Y';
4100: END IF;
4101:
4102: --Bug13616489 - added debug stmt
4103: debug_info := '(Import_invoice 20a) l_invoices_fetched:'||l_invoices_fetched;
4104: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4105: AP_IMPORT_UTILITIES_PKG.Print(
4106: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4107: END IF;
4108:
4102: --Bug13616489 - added debug stmt
4103: debug_info := '(Import_invoice 20a) l_invoices_fetched:'||l_invoices_fetched;
4104: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4105: AP_IMPORT_UTILITIES_PKG.Print(
4106: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4107: END IF;
4108:
4109: --Bug13616489 - added debug stmt
4110: debug_info := '(Import_Invoices 20b) l_total_count:'||l_total_count;
4107: END IF;
4108:
4109: --Bug13616489 - added debug stmt
4110: debug_info := '(Import_Invoices 20b) l_total_count:'||l_total_count;
4111: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4112: AP_IMPORT_UTILITIES_PKG.Print(
4113: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4114: END IF;
4115:
4109: --Bug13616489 - added debug stmt
4110: debug_info := '(Import_Invoices 20b) l_total_count:'||l_total_count;
4111: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4112: AP_IMPORT_UTILITIES_PKG.Print(
4113: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4114: END IF;
4115:
4116: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4117: AP_IMPORT_UTILITIES_PKG.Print(
4112: AP_IMPORT_UTILITIES_PKG.Print(
4113: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4114: END IF;
4115:
4116: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4117: AP_IMPORT_UTILITIES_PKG.Print(
4118: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4119: '------------------> l_continue_flag = '|| l_continue_flag);
4120: END IF;
4114: END IF;
4115:
4116: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4117: AP_IMPORT_UTILITIES_PKG.Print(
4118: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4119: '------------------> l_continue_flag = '|| l_continue_flag);
4120: END IF;
4121: --veramach bug 7121842 start
4122: EXCEPTION
4127: l_continue_flag := 'N';
4128: END IF; --Bug8587808 End
4129: --Bug13616489 - added debug stmt
4130: debug_info := '(Import_Invoices ****EXCEPTION) l_continue_flag:'||l_continue_flag;
4131: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4132: AP_IMPORT_UTILITIES_PKG.Print(
4133: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4134: END IF;
4135: END;
4129: --Bug13616489 - added debug stmt
4130: debug_info := '(Import_Invoices ****EXCEPTION) l_continue_flag:'||l_continue_flag;
4131: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4132: AP_IMPORT_UTILITIES_PKG.Print(
4133: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4134: END IF;
4135: END;
4136: --veramach bug 7121842 end
4137:
4139:
4140: debug_info := '(Import_invoice -->Execute outer while loop end:'
4141: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
4142:
4143: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4144: AP_IMPORT_UTILITIES_PKG.Print(
4145: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4146: END IF;
4147:
4141: ||to_char(sysdate,'YY-MON-DD HH24:MI:SS');
4142:
4143: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4144: AP_IMPORT_UTILITIES_PKG.Print(
4145: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4146: END IF;
4147:
4148: ----------------------------------------------------------------------
4149: -- Step 21
4152: -- 'REJECTING' to 'REJECTED'
4153: ----------------------------------------------------------------------
4154:
4155: debug_info := '(Import_invoice 21) Update temporary status';
4156: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4157: AP_IMPORT_UTILITIES_PKG.Print(
4158: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4159: END IF;
4160: BEGIN--veramach bug 7121842
4154:
4155: debug_info := '(Import_invoice 21) Update temporary status';
4156: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4157: AP_IMPORT_UTILITIES_PKG.Print(
4158: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4159: END IF;
4160: BEGIN--veramach bug 7121842
4161: IF (AP_IMPORT_UTILITIES_PKG.Update_temp_invoice_status(
4162: p_source,
4161: IF (AP_IMPORT_UTILITIES_PKG.Update_temp_invoice_status(
4162: p_source,
4163: p_group_id,
4164: current_calling_sequence) <> TRUE) THEN
4165: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4166: AP_IMPORT_UTILITIES_PKG.Print(
4167: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4168: 'Update_temp_invoice_statu<-'||current_calling_sequence);
4169: END IF;
4163: p_group_id,
4164: current_calling_sequence) <> TRUE) THEN
4165: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4166: AP_IMPORT_UTILITIES_PKG.Print(
4167: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4168: 'Update_temp_invoice_statu<-'||current_calling_sequence);
4169: END IF;
4170: Raise import_invoice_failure;
4171: END IF;
4181: p_total_invoice_amount := l_total_invoice_amount; -- for bug 989221
4182:
4183: debug_info := '(Import_invoice 22) Return No of invoices fetched '||
4184: 'during process ,p_invoices_fetched'||l_invoices_fetched;
4185: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4186: AP_IMPORT_UTILITIES_PKG.Print(
4187: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4188: END IF;
4189:
4183: debug_info := '(Import_invoice 22) Return No of invoices fetched '||
4184: 'during process ,p_invoices_fetched'||l_invoices_fetched;
4185: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4186: AP_IMPORT_UTILITIES_PKG.Print(
4187: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4188: END IF;
4189:
4190:
4191: debug_info := 'Now Block to Raise the Business event to pass the Concurrent request_id'
4188: END IF;
4189:
4190:
4191: debug_info := 'Now Block to Raise the Business event to pass the Concurrent request_id'
4192: ||AP_IMPORT_INVOICES_PKG.g_conc_request_id;
4193: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4194: AP_IMPORT_UTILITIES_PKG.Print(
4195: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4196: END IF;
4189:
4190:
4191: debug_info := 'Now Block to Raise the Business event to pass the Concurrent request_id'
4192: ||AP_IMPORT_INVOICES_PKG.g_conc_request_id;
4193: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4194: AP_IMPORT_UTILITIES_PKG.Print(
4195: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4196: END IF;
4197:
4191: debug_info := 'Now Block to Raise the Business event to pass the Concurrent request_id'
4192: ||AP_IMPORT_INVOICES_PKG.g_conc_request_id;
4193: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4194: AP_IMPORT_UTILITIES_PKG.Print(
4195: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4196: END IF;
4197:
4198: --7567527 PL/SQL Block for Enhancement to raise Business events after invoices are imported
4199: BEGIN
4199: BEGIN
4200:
4201:
4202: l_parameter_list := wf_parameter_list_t( wf_parameter_t('REQUEST_ID',
4203: to_char(AP_IMPORT_INVOICES_PKG.g_conc_request_id)
4204: )
4205: );
4206:
4207:
4222:
4223: debug_info := 'After raising workflow event : '
4224: || 'event_name = ' || l_event_name
4225: || ' event_key = ' || l_event_key ;
4226: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4227: AP_IMPORT_UTILITIES_PKG.Print(
4228: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4229: END IF;
4230:
4224: || 'event_name = ' || l_event_name
4225: || ' event_key = ' || l_event_key ;
4226: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4227: AP_IMPORT_UTILITIES_PKG.Print(
4228: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4229: END IF;
4230:
4231: EXCEPTION
4232:
4231: EXCEPTION
4232:
4233: WHEN OTHERS THEN
4234: debug_info := 'Error Was Raised in raising event';
4235: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4236: AP_IMPORT_UTILITIES_PKG.Print(
4237: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4238: END IF;
4239: WF_CORE.CONTEXT('AP_IMPORT_INVOICES_PKG', 'IMPORT_INVOICES', l_event_name,
4233: WHEN OTHERS THEN
4234: debug_info := 'Error Was Raised in raising event';
4235: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4236: AP_IMPORT_UTILITIES_PKG.Print(
4237: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4238: END IF;
4239: WF_CORE.CONTEXT('AP_IMPORT_INVOICES_PKG', 'IMPORT_INVOICES', l_event_name,
4240: l_event_key);
4241: RAISE;
4235: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4236: AP_IMPORT_UTILITIES_PKG.Print(
4237: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4238: END IF;
4239: WF_CORE.CONTEXT('AP_IMPORT_INVOICES_PKG', 'IMPORT_INVOICES', l_event_name,
4240: l_event_key);
4241: RAISE;
4242: END;
4243: debug_info := 'Returned True';
4240: l_event_key);
4241: RAISE;
4242: END;
4243: debug_info := 'Returned True';
4244: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4245: AP_IMPORT_UTILITIES_PKG.Print(
4246: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4247: END IF;
4248: RETURN (TRUE);
4242: END;
4243: debug_info := 'Returned True';
4244: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4245: AP_IMPORT_UTILITIES_PKG.Print(
4246: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4247: END IF;
4248: RETURN (TRUE);
4249: EXCEPTION
4250: WHEN OTHERS THEN
4248: RETURN (TRUE);
4249: EXCEPTION
4250: WHEN OTHERS THEN
4251: IF (SQLCODE < 0) THEN
4252: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4253: AP_IMPORT_UTILITIES_PKG.Print(
4254: AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
4255: END IF;
4256: END IF;
4250: WHEN OTHERS THEN
4251: IF (SQLCODE < 0) THEN
4252: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4253: AP_IMPORT_UTILITIES_PKG.Print(
4254: AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
4255: END IF;
4256: END IF;
4257:
4258: IF (SQLCODE = -54) THEN
4255: END IF;
4256: END IF;
4257:
4258: IF (SQLCODE = -54) THEN
4259: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4260: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
4261: '(Import_invoice:EXCEPTION) The invoices to be SELECTed by this ' ||
4262: 'process are locked');
4263: END IF;
4256: END IF;
4257:
4258: IF (SQLCODE = -54) THEN
4259: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4260: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
4261: '(Import_invoice:EXCEPTION) The invoices to be SELECTed by this ' ||
4262: 'process are locked');
4263: END IF;
4264: END IF;
4346: current_calling_sequence := 'Import_purge<- '||p_calling_sequence;
4347:
4348: debug_info := '(Import_purge ) Deleting records in interface tables...';
4349:
4350: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4351: AP_IMPORT_UTILITIES_PKG.Print(
4352: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4353: END IF;
4354:
4348: debug_info := '(Import_purge ) Deleting records in interface tables...';
4349:
4350: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4351: AP_IMPORT_UTILITIES_PKG.Print(
4352: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4353: END IF;
4354:
4355: -- Outside while loop for commit cycle
4356:
4401: -- Step 1, Open cursor
4402: ---------------------------------------------------------------
4403:
4404: debug_info := '(Import_purge 1) Open purge_invoices cursor';
4405: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4406: AP_IMPORT_UTILITIES_PKG.Print(
4407: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4408: END IF;
4409:
4403:
4404: debug_info := '(Import_purge 1) Open purge_invoices cursor';
4405: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4406: AP_IMPORT_UTILITIES_PKG.Print(
4407: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4408: END IF;
4409:
4410: -- Bug 4145391. To improve the performance of the import program coding two
4411: -- different cursors based on the parameter p_group_id
4423: -- Step 2, Fetch invoice interface record into local variables
4424: --
4425: ----------------------------------------------------------------
4426: debug_info := '(Import_puege 2) Fetch purge_invoices';
4427: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4428: AP_IMPORT_UTILITIES_PKG.Print(
4429: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4430: END IF;
4431:
4425: ----------------------------------------------------------------
4426: debug_info := '(Import_puege 2) Fetch purge_invoices';
4427: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4428: AP_IMPORT_UTILITIES_PKG.Print(
4429: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4430: END IF;
4431:
4432: -- Bug 4145391
4433: IF (p_group_id IS NULL) THEN
4443: --
4444: -- show output values (only if debug_switch = 'Y')
4445: --
4446: debug_info := '---------> l_invoice_id = '|| to_char(l_invoice_id);
4447: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4448: AP_IMPORT_UTILITIES_PKG.Print(
4449: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4450: END IF;
4451:
4445: --
4446: debug_info := '---------> l_invoice_id = '|| to_char(l_invoice_id);
4447: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4448: AP_IMPORT_UTILITIES_PKG.Print(
4449: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4450: END IF;
4451:
4452: ------------------------------------------------------------------------
4453: -- Step 3, Delete records for ap_invoice_lines_interface
4454: -- Multiple lines
4455: ------------------------------------------------------------------------
4456: debug_info := '(Import_purge 3) Delete records in ' ||
4457: 'ap_invoice_lines_interface...';
4458: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4459: AP_IMPORT_UTILITIES_PKG.Print(
4460: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4461: END IF;
4462:
4456: debug_info := '(Import_purge 3) Delete records in ' ||
4457: 'ap_invoice_lines_interface...';
4458: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4459: AP_IMPORT_UTILITIES_PKG.Print(
4460: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4461: END IF;
4462:
4463: DELETE FROM AP_INVOICE_LINES_INTERFACE
4464: WHERE invoice_id = l_invoice_id;
4468: -- Only one line
4469: ------------------------------------------------------------------------
4470: -- also delete attachments if any
4471: debug_info := '(Import_purge 4.1) Delete attachments if any...';
4472: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4473: AP_IMPORT_UTILITIES_PKG.Print(
4474: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4475: END IF;
4476:
4470: -- also delete attachments if any
4471: debug_info := '(Import_purge 4.1) Delete attachments if any...';
4472: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4473: AP_IMPORT_UTILITIES_PKG.Print(
4474: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4475: END IF;
4476:
4477: -- delete attachments for the invoice
4478: debug_info := '(Import_purge 4.2) before delete attachments: '||
4476:
4477: -- delete attachments for the invoice
4478: debug_info := '(Import_purge 4.2) before delete attachments: '||
4479: 'source = ' || p_source || ', invoice_id = ' || l_invoice_id;
4480: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4481: AP_IMPORT_UTILITIES_PKG.Print(
4482: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4483: END IF;
4484:
4478: debug_info := '(Import_purge 4.2) before delete attachments: '||
4479: 'source = ' || p_source || ', invoice_id = ' || l_invoice_id;
4480: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4481: AP_IMPORT_UTILITIES_PKG.Print(
4482: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4483: END IF;
4484:
4485: -- not necessary to restrict to souce
4486: l_attachments_count := delete_attachments(l_invoice_id);
4485: -- not necessary to restrict to souce
4486: l_attachments_count := delete_attachments(l_invoice_id);
4487: debug_info := '(Import_purge 4.2) delete attachments done: '||
4488: l_attachments_count;
4489: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4490: AP_IMPORT_UTILITIES_PKG.Print(
4491: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4492: END IF;
4493:
4487: debug_info := '(Import_purge 4.2) delete attachments done: '||
4488: l_attachments_count;
4489: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4490: AP_IMPORT_UTILITIES_PKG.Print(
4491: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4492: END IF;
4493:
4494: -- delete the invoice_interface record now
4495: debug_info := '(Import_purge 4) Delete records in ' ||
4493:
4494: -- delete the invoice_interface record now
4495: debug_info := '(Import_purge 4) Delete records in ' ||
4496: 'ap_invoices_interface...';
4497: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4498: AP_IMPORT_UTILITIES_PKG.Print(
4499: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4500: END IF;
4501:
4495: debug_info := '(Import_purge 4) Delete records in ' ||
4496: 'ap_invoices_interface...';
4497: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4498: AP_IMPORT_UTILITIES_PKG.Print(
4499: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4500: END IF;
4501:
4502: DELETE FROM AP_INVOICES_INTERFACE
4503: WHERE invoice_id = l_invoice_id
4516:
4517: END LOOP; -- invoice loop
4518:
4519: debug_info := '(Import_purge ) Close purge_invoices cursor';
4520: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4521: AP_IMPORT_UTILITIES_PKG.Print(
4522: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4523: END IF;
4524:
4518:
4519: debug_info := '(Import_purge ) Close purge_invoices cursor';
4520: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4521: AP_IMPORT_UTILITIES_PKG.Print(
4522: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4523: END IF;
4524:
4525: -- Bug 4145391
4526: IF (p_group_id IS NULL) THEN
4532: -----------------------------------------------------
4533: -- Step 5, COMMIT for each commit cycle
4534: -----------------------------------------------------
4535: debug_info := '(Import_purge 5) Commit to the database';
4536: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4537: AP_IMPORT_UTILITIES_PKG.Print(
4538: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4539: END IF;
4540: COMMIT;
4534: -----------------------------------------------------
4535: debug_info := '(Import_purge 5) Commit to the database';
4536: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4537: AP_IMPORT_UTILITIES_PKG.Print(
4538: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4539: END IF;
4540: COMMIT;
4541:
4542: -----------------------------------------------------
4542: -----------------------------------------------------
4543: -- Step 6, Check if there's still any record left
4544: -----------------------------------------------------
4545: debug_info := '(Import_purge 6) Check if there is still any record left';
4546: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4547: AP_IMPORT_UTILITIES_PKG.Print(
4548: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4549: END IF;
4550:
4544: -----------------------------------------------------
4545: debug_info := '(Import_purge 6) Check if there is still any record left';
4546: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4547: AP_IMPORT_UTILITIES_PKG.Print(
4548: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4549: END IF;
4550:
4551: If l_total_count > l_counter THEN
4552: l_continue_flag := 'Y';
4554: l_continue_flag := 'N';
4555: End If;
4556:
4557: debug_info := '---------> l_continue_flag = '|| l_continue_flag;
4558: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4559: AP_IMPORT_UTILITIES_PKG.Print(
4560: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4561: END IF;
4562: END LOOP; -- Outside commit cycle loop
4556:
4557: debug_info := '---------> l_continue_flag = '|| l_continue_flag;
4558: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4559: AP_IMPORT_UTILITIES_PKG.Print(
4560: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4561: END IF;
4562: END LOOP; -- Outside commit cycle loop
4563: RETURN (TRUE);
4564:
4564:
4565: EXCEPTION
4566: WHEN OTHERS THEN
4567:
4568: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4569: AP_IMPORT_UTILITIES_PKG.Print(
4570: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4571: END IF;
4572:
4566: WHEN OTHERS THEN
4567:
4568: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4569: AP_IMPORT_UTILITIES_PKG.Print(
4570: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4571: END IF;
4572:
4573: IF (SQLCODE < 0) then
4574: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4570: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4571: END IF;
4572:
4573: IF (SQLCODE < 0) then
4574: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4575: AP_IMPORT_UTILITIES_PKG.Print(
4576: AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
4577: END IF;
4578: END IF;
4572:
4573: IF (SQLCODE < 0) then
4574: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4575: AP_IMPORT_UTILITIES_PKG.Print(
4576: AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
4577: END IF;
4578: END IF;
4579:
4580: IF (purge_invoices%ISOPEN) THEN
4605: -- update calling_sequence
4606: current_calling_sequence := 'xml_import_purge<--'||p_calling_sequence;
4607:
4608: debug_info := '(XML Import Purge 1) before getting list of invoice_id';
4609: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4610: AP_IMPORT_UTILITIES_PKG.Print(
4611: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4612: END IF;
4613:
4607:
4608: debug_info := '(XML Import Purge 1) before getting list of invoice_id';
4609: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4610: AP_IMPORT_UTILITIES_PKG.Print(
4611: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4612: END IF;
4613:
4614: -- get all XML invoices with supplier rejections
4615:
4660:
4661:
4662: debug_info := '(XML Import Purge 1.1) number of invoices to delete: '
4663: || nvl(h_list.count,0);
4664: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4665: AP_IMPORT_UTILITIES_PKG.Print(
4666: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4667: END IF;
4668:
4662: debug_info := '(XML Import Purge 1.1) number of invoices to delete: '
4663: || nvl(h_list.count,0);
4664: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4665: AP_IMPORT_UTILITIES_PKG.Print(
4666: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4667: END IF;
4668:
4669: debug_info := '(XML Import Purge 2) before deleting header rejections';
4670: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4666: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4667: END IF;
4668:
4669: debug_info := '(XML Import Purge 2) before deleting header rejections';
4670: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4671: AP_IMPORT_UTILITIES_PKG.Print(
4672: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4673: END IF;
4674:
4668:
4669: debug_info := '(XML Import Purge 2) before deleting header rejections';
4670: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4671: AP_IMPORT_UTILITIES_PKG.Print(
4672: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4673: END IF;
4674:
4675: FORALL i IN nvl(h_list.FIRST,0) .. nvl(h_list.LAST,-1)
4676: DELETE FROM ap_interface_rejections r
4677: WHERE r.parent_id = h_list(i)
4678: AND r.parent_table = 'AP_INVOICES_INTERFACE';
4679:
4680: debug_info := '(XML Import Purge 3) before deleting line rejections';
4681: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4682: AP_IMPORT_UTILITIES_PKG.Print(
4683: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4684: END IF;
4685:
4679:
4680: debug_info := '(XML Import Purge 3) before deleting line rejections';
4681: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4682: AP_IMPORT_UTILITIES_PKG.Print(
4683: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4684: END IF;
4685:
4686: FORALL i IN nvl(h_list.FIRST,0) .. nvl(h_list.LAST,-1)
4687: DELETE FROM ap_interface_rejections r
4690: WHERE l.invoice_id = h_list(i) )
4691: AND r.parent_table = 'AP_INVOICE_LINES_INTERFACE';
4692:
4693: debug_info := '(XML Import Purge 4) before deleting header interface';
4694: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4695: AP_IMPORT_UTILITIES_PKG.Print(
4696: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4697: END IF;
4698:
4692:
4693: debug_info := '(XML Import Purge 4) before deleting header interface';
4694: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4695: AP_IMPORT_UTILITIES_PKG.Print(
4696: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4697: END IF;
4698:
4699: -- Delete from ap_invoice_lines_interface table
4700: FORALL i IN nvl(h_list.FIRST,0) .. nvl(h_list.LAST,-1)
4701: DELETE FROM ap_invoice_lines_interface l
4702: WHERE l.invoice_id = h_list(i);
4703:
4704: debug_info := '(XML Import Purge 5) before deleting line interface';
4705: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4706: AP_IMPORT_UTILITIES_PKG.Print(
4707: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4708: END IF;
4709:
4703:
4704: debug_info := '(XML Import Purge 5) before deleting line interface';
4705: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4706: AP_IMPORT_UTILITIES_PKG.Print(
4707: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4708: END IF;
4709:
4710: -- Delete from ap_invoices_interface table
4711: FORALL i IN nvl(h_list.FIRST,0) .. nvl(h_list.LAST,-1)
4712: DELETE FROM ap_invoices_interface h
4713: WHERE h.invoice_id = h_list(i);
4714:
4715: debug_info := '(XML Import Purge 6) COMMIT';
4716: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4717: AP_IMPORT_UTILITIES_PKG.Print(
4718: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4719: END IF;
4720:
4714:
4715: debug_info := '(XML Import Purge 6) COMMIT';
4716: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4717: AP_IMPORT_UTILITIES_PKG.Print(
4718: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4719: END IF;
4720:
4721: COMMIT;
4722:
4725: EXCEPTION
4726: WHEN OTHERS THEN
4727:
4728: debug_info := 'Failed after ' || debug_info;
4729: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4730: AP_IMPORT_UTILITIES_PKG.Print(
4731: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4732: END IF;
4733: RETURN(false);
4727:
4728: debug_info := 'Failed after ' || debug_info;
4729: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4730: AP_IMPORT_UTILITIES_PKG.Print(
4731: AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
4732: END IF;
4733: RETURN(false);
4734:
4735: END xml_import_purge;
4798:
4799: -- Give error message if the interface invoice id is not provided
4800: IF p_invoice_interface_id IS NULL THEN
4801:
4802: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4803: AP_IMPORT_UTILITIES_PKG.Print(
4804: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4805: 'No invoice_id<- '||current_calling_sequence);
4806: END IF;
4800: IF p_invoice_interface_id IS NULL THEN
4801:
4802: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4803: AP_IMPORT_UTILITIES_PKG.Print(
4804: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4805: 'No invoice_id<- '||current_calling_sequence);
4806: END IF;
4807:
4808: FND_MESSAGE.Set_Name('SQLAP', 'AP_IMP_NO_INVOICE_ID');
4818: FROM ap_invoices_interface
4819: WHERE invoice_id = p_invoice_interface_id;
4820:
4821:
4822: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4823: AP_IMPORT_UTILITIES_PKG.Print(
4824: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4825: 'Calling Import_Invoices<- '||current_calling_sequence);
4826: END IF;
4820:
4821:
4822: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4823: AP_IMPORT_UTILITIES_PKG.Print(
4824: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4825: 'Calling Import_Invoices<- '||current_calling_sequence);
4826: END IF;
4827:
4828: -- Calling the import invoices routine to import the payment request
4847: p_invoice_interface_id,
4848: p_needs_invoice_approval,
4849: p_commit) <> TRUE) THEN
4850:
4851: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4852: AP_IMPORT_UTILITIES_PKG.Print(
4853: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4854: 'Error during import<- '||current_calling_sequence);
4855: END IF;
4849: p_commit) <> TRUE) THEN
4850:
4851: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4852: AP_IMPORT_UTILITIES_PKG.Print(
4853: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4854: 'Error during import<- '||current_calling_sequence);
4855: END IF;
4856:
4857: Raise payment_request_failure;
4861: -- If no invoices are created then get the list of rejections and
4862: -- send rejections to the calling routine
4863: IF l_invoices_created = 0 THEN
4864:
4865: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4866: AP_IMPORT_UTILITIES_PKG.Print(
4867: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4868: 'No invoices created<- '||current_calling_sequence);
4869: END IF;
4863: IF l_invoices_created = 0 THEN
4864:
4865: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4866: AP_IMPORT_UTILITIES_PKG.Print(
4867: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4868: 'No invoices created<- '||current_calling_sequence);
4869: END IF;
4870:
4871: x_return_status := 'R';
4884:
4885: l_invoice_id := g_invoice_id;
4886: p_invoice_id := g_invoice_id;
4887:
4888: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4889: AP_IMPORT_UTILITIES_PKG.Print(
4890: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4891: 'Calling invoice validation<- '||current_calling_sequence);
4892: END IF;
4886: p_invoice_id := g_invoice_id;
4887:
4888: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4889: AP_IMPORT_UTILITIES_PKG.Print(
4890: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4891: 'Calling invoice validation<- '||current_calling_sequence);
4892: END IF;
4893:
4894:
4916: p_commit);
4917:
4918: x_return_status := 'S';
4919:
4920: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4921: AP_IMPORT_UTILITIES_PKG.Print(
4922: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4923: 'Validation complete<- '||current_calling_sequence);
4924: END IF;
4918: x_return_status := 'S';
4919:
4920: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
4921: AP_IMPORT_UTILITIES_PKG.Print(
4922: AP_IMPORT_INVOICES_PKG.g_debug_switch,
4923: 'Validation complete<- '||current_calling_sequence);
4924: END IF;
4925:
4926: END IF;
4936: x_return_status := 'F';
4937:
4938: WHEN OTHERS THEN
4939: IF (SQLCODE < 0) THEN
4940: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4941: AP_IMPORT_UTILITIES_PKG.Print(
4942: AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
4943: END IF;
4944: x_msg_data := SQLERRM;
4938: WHEN OTHERS THEN
4939: IF (SQLCODE < 0) THEN
4940: IF AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y' THEN
4941: AP_IMPORT_UTILITIES_PKG.Print(
4942: AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
4943: END IF;
4944: x_msg_data := SQLERRM;
4945: x_return_status := 'F';
4946: END IF;
4953: p_calling_sequence IN VARCHAR2,
4954: p_source IN VARCHAR2, --bug 5382889. LE TimeZone
4955: p_invoice_date IN DATE, -- bug 5382889. LE TimeZone
4956: p_goods_received_date IN DATE, -- bug 5382889. LE TimeZone
4957: p_get_info_rec OUT NOCOPY AP_IMPORT_INVOICES_PKG.get_info_rec
4958: )
4959: RETURN BOOLEAN
4960: IS
4961:
4977: l_inv_le_date DATE; --Bug 5382889. LE Timezone
4978: l_sys_le_date DATE; --Bug 5382889. LE Timezone
4979:
4980: l_asset_book_count NUMBER;
4981: --tab_get_info_rec AP_IMPORT_INVOICES_PKG.table_get_info_rec; --bug 15862708
4982:
4983: p_set_of_books_id ap_system_parameters_all.set_of_books_id%TYPE;
4984: p_multi_currency_flag ap_system_parameters_all.multi_currency_flag%TYPE;
4985: p_make_rate_mandatory_flag ap_system_parameters_all.make_rate_mandatory_flag%TYPE;
5048:
5049: else
5050:
5051: debug_info := '(Get_info 1) Read from ap_system_parameters';
5052: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5053: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5054: END IF;
5055:
5056: begin
5049: else
5050:
5051: debug_info := '(Get_info 1) Read from ap_system_parameters';
5052: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5053: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5054: END IF;
5055:
5056: begin
5057: SELECT
5107: l_base_currency_code:=p_base_currency_code ;
5108: l_set_of_books_id := p_set_of_books_id ;
5109:
5110: debug_info := '(Get_info 2) Get Batch Control Profile Option';
5111: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5112: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5113: END IF;
5114:
5115: BEGIN
5108: l_set_of_books_id := p_set_of_books_id ;
5109:
5110: debug_info := '(Get_info 2) Get Batch Control Profile Option';
5111: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5112: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5113: END IF;
5114:
5115: BEGIN
5116: FND_PROFILE.GET('AP_USE_INV_BATCH_CONTROLS',tab_get_info_rec(p_org_id).p_batch_control_flag);
5120: p_batch_control_flag := 'N';
5121: END ;
5122:
5123: debug_info := '(Get_info 3) Get encumbrance option';
5124: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5125: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5126: END IF;
5127:
5128: SELECT purch_encumbrance_flag, retainage_code_combination_id
5121: END ;
5122:
5123: debug_info := '(Get_info 3) Get encumbrance option';
5124: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5125: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5126: END IF;
5127:
5128: SELECT purch_encumbrance_flag, retainage_code_combination_id
5129: INTO p_purch_encumbrance_flag,
5131: FROM financials_system_params_all
5132: WHERE org_id = p_org_id;
5133:
5134: debug_info := '(Get_info 4) Get minimum_accountable_unit';
5135: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
5136: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5137: END IF;
5138:
5139: FND_CURRENCY.GET_INFO(
5132: WHERE org_id = p_org_id;
5133:
5134: debug_info := '(Get_info 4) Get minimum_accountable_unit';
5135: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') then
5136: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5137: END IF;
5138:
5139: FND_CURRENCY.GET_INFO(
5140: l_base_currency_code ,
5142: l_ext_precision ,
5143: p_base_min_acct_unit);
5144:
5145: debug_info := '(Get_info 5) Get p_sequence_numbering';
5146: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5147: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5148: END IF;
5149:
5150: p_sequence_numbering := FND_PROFILE.VALUE('UNIQUE:SEQ_NUMBERS');
5143: p_base_min_acct_unit);
5144:
5145: debug_info := '(Get_info 5) Get p_sequence_numbering';
5146: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5147: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5148: END IF;
5149:
5150: p_sequence_numbering := FND_PROFILE.VALUE('UNIQUE:SEQ_NUMBERS');
5151:
5150: p_sequence_numbering := FND_PROFILE.VALUE('UNIQUE:SEQ_NUMBERS');
5151:
5152:
5153: debug_info := '(Get_info 6) Get gl_date based on report parameters';
5154: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5155: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5156: END IF;
5157:
5158: -- Bug 5645581. Gl_date will calculated at the Import_Invoices
5151:
5152:
5153: debug_info := '(Get_info 6) Get gl_date based on report parameters';
5154: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5155: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5156: END IF;
5157:
5158: -- Bug 5645581. Gl_date will calculated at the Import_Invoices
5159: -- Procedure in the Main Package
5160: /*IF p_source = 'ERS' THEN -- bug 5382889, LE TimeZone
5161:
5162: debug_info := 'Determine gl_date from ERS invoice';
5163:
5164: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5165: Print(AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
5166: END IF;
5167:
5168: l_rts_txn_le_date := INV_LE_TIMEZONE_PUB.Get_Le_Day_For_Ou(
5161:
5162: debug_info := 'Determine gl_date from ERS invoice';
5163:
5164: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5165: Print(AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
5166: END IF;
5167:
5168: l_rts_txn_le_date := INV_LE_TIMEZONE_PUB.Get_Le_Day_For_Ou(
5169: p_trxn_date => nvl(p_goods_received_date, p_invoice_date)
5186: -- Note here that the Invoice date is no longer the same as the receipt_date,
5187: -- i.e. the RETURN tranasaction_date , so case I and N are no longer the same
5188:
5189: debug_info := 'Determine invoice gl_date from LE Timezone API ';
5190: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5191: Print(AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
5192: END IF;
5193:
5194: If (p_gl_date_from_receipt_flag = 'I') Then
5187: -- i.e. the RETURN tranasaction_date , so case I and N are no longer the same
5188:
5189: debug_info := 'Determine invoice gl_date from LE Timezone API ';
5190: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5191: Print(AP_IMPORT_INVOICES_PKG.g_debug_switch, debug_info);
5192: END IF;
5193:
5194: If (p_gl_date_from_receipt_flag = 'I') Then
5195: l_inv_gl_date := l_inv_le_date;
5206: ELSE
5207: IF (p_gl_date IS NULL) THEN
5208: IF (p_gl_date_from_receipt_flag IN ('S','Y')) THEN
5209: debug_info := '(Get_info 6a) GL Date is Sysdate';
5210: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5211: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5212: END IF;
5213:
5214: p_gl_date := sysdate;
5207: IF (p_gl_date IS NULL) THEN
5208: IF (p_gl_date_from_receipt_flag IN ('S','Y')) THEN
5209: debug_info := '(Get_info 6a) GL Date is Sysdate';
5210: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5211: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5212: END IF;
5213:
5214: p_gl_date := sysdate;
5215:
5214: p_gl_date := sysdate;
5215:
5216: ELSE
5217: debug_info := '(Get_info 6b) GL Date should be Invoice Date';
5218: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5219: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5220: END IF;
5221: END IF;
5222: END IF;
5215:
5216: ELSE
5217: debug_info := '(Get_info 6b) GL Date should be Invoice Date';
5218: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5219: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5220: END IF;
5221: END IF;
5222: END IF;
5223: END IF;
5223: END IF;
5224:
5225: p_gl_date := trunc(p_gl_date); */
5226: debug_info := '(Get_info 7) Check if PA is installed';
5227: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5228: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5229: END IF;
5230:
5231: IF (FND_INSTALLATION.GET(275, 275, l_status, l_industry)) THEN
5224:
5225: p_gl_date := trunc(p_gl_date); */
5226: debug_info := '(Get_info 7) Check if PA is installed';
5227: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5228: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5229: END IF;
5230:
5231: IF (FND_INSTALLATION.GET(275, 275, l_status, l_industry)) THEN
5232: IF (l_status <> 'I') THEN
5232: IF (l_status <> 'I') THEN
5233: P_PA_INSTALLED := 'N';
5234: ELSE
5235: P_PA_INSTALLED := 'Y';
5236: AP_IMPORT_INVOICES_PKG.g_pa_allows_overrides :=
5237: NVL(FND_PROFILE.VALUE('PA_ALLOW_FLEXBUILDER_OVERRIDES'), 'N');
5238: END IF;
5239: ELSE
5240: RAISE get_info_failure;
5239: ELSE
5240: RAISE get_info_failure;
5241: END IF;
5242:
5243: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5244: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
5245: '------------------> l_status = '|| l_status
5246: ||' l_industry = ' ||l_industry
5247: ||' p_pa_installed = '||tab_get_info_rec(p_org_id).p_pa_installed);
5240: RAISE get_info_failure;
5241: END IF;
5242:
5243: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5244: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,
5245: '------------------> l_status = '|| l_status
5246: ||' l_industry = ' ||l_industry
5247: ||' p_pa_installed = '||tab_get_info_rec(p_org_id).p_pa_installed);
5248: END IF;
5247: ||' p_pa_installed = '||tab_get_info_rec(p_org_id).p_pa_installed);
5248: END IF;
5249:
5250: debug_info := '(Get_info 8) Get chart_of_accounts_id from p_set_of_books_id';
5251: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5252: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5253: END IF;
5254:
5255: SELECT chart_of_accounts_id
5248: END IF;
5249:
5250: debug_info := '(Get_info 8) Get chart_of_accounts_id from p_set_of_books_id';
5251: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5252: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5253: END IF;
5254:
5255: SELECT chart_of_accounts_id
5256: INTO p_chart_of_accounts_id
5259:
5260:
5261: -- Bug 5448579
5262: /* debug_info := '(Get_info 9) Get Asset Book Type Code';
5263: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5264: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5265: END IF;
5266: BEGIN
5267: SELECT count(*)
5260:
5261: -- Bug 5448579
5262: /* debug_info := '(Get_info 9) Get Asset Book Type Code';
5263: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5264: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5265: END IF;
5266: BEGIN
5267: SELECT count(*)
5268: INTO l_asset_book_count
5324:
5325:
5326:
5327: debug_info := '(Get_info 9) Get system tolerances';
5328: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5329: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5330: END IF;
5331:
5332: p_get_info_rec := tab_get_info_rec(p_org_id);
5325:
5326:
5327: debug_info := '(Get_info 9) Get system tolerances';
5328: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5329: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5330: END IF;
5331:
5332: p_get_info_rec := tab_get_info_rec(p_org_id);
5333:
5337:
5338:
5339: EXCEPTION
5340: WHEN OTHERS then
5341: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5342: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5343: END IF;
5344:
5345: IF (SQLCODE < 0) then
5338:
5339: EXCEPTION
5340: WHEN OTHERS then
5341: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5342: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5343: END IF;
5344:
5345: IF (SQLCODE < 0) then
5346: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5342: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,debug_info);
5343: END IF;
5344:
5345: IF (SQLCODE < 0) then
5346: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5347: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
5348: END IF;
5349: END IF;
5350:
5343: END IF;
5344:
5345: IF (SQLCODE < 0) then
5346: IF (AP_IMPORT_INVOICES_PKG.g_debug_switch = 'Y') THEN
5347: AP_IMPORT_UTILITIES_PKG.Print(AP_IMPORT_INVOICES_PKG.g_debug_switch,SQLERRM);
5348: END IF;
5349: END IF;
5350:
5351: RETURN (FALSE);
5351: RETURN (FALSE);
5352:
5353: END get_info_1;
5354:
5355: END AP_IMPORT_INVOICES_PKG;