157: l_log_msg FND_LOG_MESSAGES.MESSAGE_TEXT%TYPE;
158: l_enc_enabled VARCHAR2(1);
159: l_org_id NUMBER;
160:
161: -- bug13114217, added join with AP_INVOICES_ALL
162: -- changed the join conditions for XTE to pick up
163: -- index XLA_TRANSACTION_ENTITIES_N1
164: --
165: CURSOR c_get_unprocessed_events IS
165: CURSOR c_get_unprocessed_events IS
166: SELECT xla.event_id
167: FROM xla_events xla,
168: xla_transaction_entities xte,
169: ap_invoices_all ai
170: WHERE NVL(xla.budgetary_control_flag, 'N') ='Y'
171: AND xla.application_id = 200
172: AND xte.application_id = 200
173: AND xla.event_status_code <> 'P'
174: AND xla.process_status_code <> 'P'
175: AND xla.entity_id = xte.entity_id
176: AND xla.application_id = xte.application_id
177: AND NVL(xte.source_id_int_1, -99) = ai.invoice_id
178: AND xte.entity_code = 'AP_INVOICES'
179: AND xte.ledger_id = ai.set_of_books_id
180: AND ai.invoice_id = p_invoice_id;
181:
182: BEGIN
191: l_curr_calling_sequence := 'AP_FUNDS_CONTROL_PKG.'||'<-'||p_calling_sequence;
192:
193: SELECT org_id
194: INTO l_org_id
195: FROM ap_invoices_all
196: where invoice_id=p_invoice_id;
197:
198: SELECT nvl(purch_encumbrance_flag,'N')
199: INTO l_enc_enabled
568: p_inv_enc_type_id
569: FROM ap_system_parameters sp,
570: financials_system_parameters fp,
571: gl_sets_of_books gls,
572: ap_invoices ai
573: WHERE sp.set_of_books_id = gls.set_of_books_id
574: AND sp.set_of_books_id = ai.set_of_books_id
575: AND ai.invoice_id = p_invoice_id;
576:
736: NULL, --result_code
737: NULL, --status_code
738: 'N' self_assessed_flag --self_assessed_flag --bug7109594
739: FROM gl_period_statuses PER,
740: ap_invoices I,
741: ap_invoice_distributions_all D,
742: ap_invoice_lines L
743: WHERE D.invoice_id = I.invoice_id
744: AND D.invoice_line_number = L.line_number
781: NULL, --result_code
782: NULL, --status_code
783: 'N' self_assessed_flag --self_assessed_flag --bug7109594
784: FROM gl_period_statuses PER,
785: ap_invoices I,
786: ap_invoice_distributions_all D,
787: ap_invoice_lines L,
788: po_distributions_all pod
789: WHERE D.invoice_id = I.invoice_id
820: AND NOT EXISTS ( select 'Advance Exists'
821: from po_distributions_all pod,
822: po_headers_all poh,
823: ap_invoice_distributions_all ainvd,
824: ap_invoices_all ainv,
825: po_doc_style_headers pdsa
826: where pod.po_distribution_id = D.po_distribution_id
827: and poh.po_header_id = pod.po_header_id
828: and poh.style_id = pdsa.style_id
849: NULL, --result_code
850: NULL, --status_code
851: T.self_assessed_flag --self_assessed_flag --bug7109594
852: FROM gl_period_statuses PER,
853: ap_invoices I,
854: ap_self_assessed_tax_dist_all T
855: WHERE T.invoice_id = I.invoice_id
856: AND T.posted_flag in ('N', 'P')
857: AND nvl(T.encumbered_flag, 'N') in ('N', 'H', 'P')
890: NULL, --result_code
891: NULL, --status_code
892: T.self_assessed_flag --self_assessed_flag --bug7109594
893: FROM gl_period_statuses PER,
894: ap_invoices I,
895: ap_self_assessed_tax_dist_all T
896: WHERE T.invoice_id = I.invoice_id
897: AND T.posted_flag in ('N', 'P')
898: AND nvl(T.encumbered_flag, 'N') in ('N', 'H', 'P')
918: AND NOT EXISTS ( select 'Advance Exists'
919: from po_distributions_all pod,
920: po_headers_all poh,
921: ap_invoice_distributions_all ainvd,
922: ap_invoices_all ainv,
923: po_doc_style_headers pdsa
924: where pod.po_distribution_id = T.po_distribution_id
925: and poh.po_header_id = pod.po_header_id
926: and poh.style_id = pdsa.style_id
1002: END IF;
1003:
1004: SELECT org_id
1005: INTO l_org_id
1006: FROM AP_INVOICES_ALL
1007: WHERE invoice_id = p_invoice_id;
1008:
1009: IF (Encumbrance_Enabled(l_org_id)) THEN
1010:
2671: NULL, --result_code
2672: NULL, --status_code
2673: 'N' self_assessed_flag --self_assessed_flag --bug7109594
2674: FROM ap_invoice_distributions_all aid,
2675: ap_invoices_all ai,
2676: ap_invoice_lines_all ail,
2677: gl_period_statuses per
2678: WHERE ai.invoice_id = p_invoice_id
2679: AND aid.invoice_id = ai.invoice_id
2709: NULL, -- result_code
2710: NULL, -- status_code
2711: 'N' self_assessed_flag -- self_assessed_flag --bug7109594
2712: FROM ap_invoice_distributions_all aid,
2713: ap_invoices_all ai,
2714: ap_invoice_lines_all ail,
2715: gl_period_statuses per,
2716: po_distributions_all pod
2717: WHERE ai.invoice_id = p_invoice_id
2741: AND NOT EXISTS ( select 'Advance Exists'
2742: from po_distributions_all pod,
2743: po_headers_all poh,
2744: ap_invoice_distributions_all ainvd,
2745: ap_invoices_all ainv,
2746: po_doc_style_headers pdsa
2747: where pod.po_distribution_id = aid.po_distribution_id
2748: and poh.po_header_id = pod.po_header_id
2749: and poh.style_id = pdsa.style_id
2770: NULL, --result_code
2771: NULL, --status_code
2772: T.self_assessed_flag --self_assessed_flag --bug7109594
2773: FROM ap_self_assessed_tax_dist_all t,
2774: ap_invoices_all ai,
2775: gl_period_statuses per
2776: WHERE ai.invoice_id = p_invoice_id
2777: AND t.invoice_id = ai.invoice_id
2778: AND (p_inv_line_num IS NULL OR
2804: NULL, -- result_code
2805: NULL, -- status_code
2806: T.self_assessed_flag -- self_assessed_flag --bug7109594
2807: FROM ap_self_assessed_tax_dist_all t,
2808: ap_invoices_all ai,
2809: gl_period_statuses per
2810: WHERE ai.invoice_id = p_invoice_id
2811: AND t.invoice_id = ai.invoice_id
2812: AND (p_inv_line_num IS NULL OR
2825: AND NOT EXISTS ( select 'Advance Exists'
2826: from po_distributions_all pod,
2827: po_headers_all poh,
2828: ap_invoice_distributions_all ainvd,
2829: ap_invoices_all ainv,
2830: po_doc_style_headers pdsa
2831: where pod.po_distribution_id = t.po_distribution_id
2832: and poh.po_header_id = pod.po_header_id
2833: and poh.style_id = pdsa.style_id
2895: END IF;
2896:
2897: SELECT org_id
2898: INTO l_org_id
2899: FROM AP_INVOICES_ALL
2900: WHERE invoice_id = p_invoice_id;
2901:
2902:
2903: /*-----------------------------------------------------------------+
3336: ORDER BY decode(line_type_lookup_code,'ITEM',1,2), line_number;
3337:
3338: l_result NUMBER;
3339: l_success BOOLEAN := TRUE;
3340: t_inv_lines_table AP_INVOICES_PKG.t_invoice_lines_table;
3341: i NUMBER;
3342: l_holds AP_APPROVAL_PKG.HOLDSARRAY;
3343: l_hold_count AP_APPROVAL_PKG.COUNTARRAY;
3344: l_release_count AP_APPROVAL_PKG.COUNTARRAY;
3362: l_set_of_books_id NUMBER;
3363: l_error_code VARCHAR2(4000);
3364: l_insufficient_data_exist BOOLEAN := FALSE;
3365: l_batch_id AP_BATCHES.BATCH_ID%TYPE;
3366: l_invoice_date AP_INVOICES.INVOICE_DATE%TYPE;
3367: l_vendor_id AP_INVOICES.VENDOR_ID%TYPE;
3368: l_invoice_currency_code AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE;
3369: l_exchange_rate AP_INVOICES.EXCHANGE_RATE%TYPE;
3370: l_exchange_rate_type AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE;
3363: l_error_code VARCHAR2(4000);
3364: l_insufficient_data_exist BOOLEAN := FALSE;
3365: l_batch_id AP_BATCHES.BATCH_ID%TYPE;
3366: l_invoice_date AP_INVOICES.INVOICE_DATE%TYPE;
3367: l_vendor_id AP_INVOICES.VENDOR_ID%TYPE;
3368: l_invoice_currency_code AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE;
3369: l_exchange_rate AP_INVOICES.EXCHANGE_RATE%TYPE;
3370: l_exchange_rate_type AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE;
3371: l_exchange_date AP_INVOICES.EXCHANGE_DATE%TYPE;
3364: l_insufficient_data_exist BOOLEAN := FALSE;
3365: l_batch_id AP_BATCHES.BATCH_ID%TYPE;
3366: l_invoice_date AP_INVOICES.INVOICE_DATE%TYPE;
3367: l_vendor_id AP_INVOICES.VENDOR_ID%TYPE;
3368: l_invoice_currency_code AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE;
3369: l_exchange_rate AP_INVOICES.EXCHANGE_RATE%TYPE;
3370: l_exchange_rate_type AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE;
3371: l_exchange_date AP_INVOICES.EXCHANGE_DATE%TYPE;
3372: l_return_message_name FND_NEW_MESSAGES.MESSAGE_NAME%TYPE;
3365: l_batch_id AP_BATCHES.BATCH_ID%TYPE;
3366: l_invoice_date AP_INVOICES.INVOICE_DATE%TYPE;
3367: l_vendor_id AP_INVOICES.VENDOR_ID%TYPE;
3368: l_invoice_currency_code AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE;
3369: l_exchange_rate AP_INVOICES.EXCHANGE_RATE%TYPE;
3370: l_exchange_rate_type AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE;
3371: l_exchange_date AP_INVOICES.EXCHANGE_DATE%TYPE;
3372: l_return_message_name FND_NEW_MESSAGES.MESSAGE_NAME%TYPE;
3373: l_line_type_lookup_code AP_INVOICE_LINES.LINE_TYPE_LOOKUP_CODE%TYPE;
3366: l_invoice_date AP_INVOICES.INVOICE_DATE%TYPE;
3367: l_vendor_id AP_INVOICES.VENDOR_ID%TYPE;
3368: l_invoice_currency_code AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE;
3369: l_exchange_rate AP_INVOICES.EXCHANGE_RATE%TYPE;
3370: l_exchange_rate_type AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE;
3371: l_exchange_date AP_INVOICES.EXCHANGE_DATE%TYPE;
3372: l_return_message_name FND_NEW_MESSAGES.MESSAGE_NAME%TYPE;
3373: l_line_type_lookup_code AP_INVOICE_LINES.LINE_TYPE_LOOKUP_CODE%TYPE;
3374: l_line_number AP_INVOICE_LINES.LINE_NUMBER%TYPE;
3367: l_vendor_id AP_INVOICES.VENDOR_ID%TYPE;
3368: l_invoice_currency_code AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE;
3369: l_exchange_rate AP_INVOICES.EXCHANGE_RATE%TYPE;
3370: l_exchange_rate_type AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE;
3371: l_exchange_date AP_INVOICES.EXCHANGE_DATE%TYPE;
3372: l_return_message_name FND_NEW_MESSAGES.MESSAGE_NAME%TYPE;
3373: l_line_type_lookup_code AP_INVOICE_LINES.LINE_TYPE_LOOKUP_CODE%TYPE;
3374: l_line_number AP_INVOICE_LINES.LINE_NUMBER%TYPE;
3375: l_debug_info VARCHAR2(1000);
3413: l_invoice_currency_code,
3414: l_exchange_rate,
3415: l_exchange_rate_type,
3416: l_exchange_date
3417: FROM ap_invoices
3418: WHERE invoice_id = p_invoice_id;
3419:
3420: --If the funds check is called for a ITEM line, then
3421: --generate the candidate distributions for just that line,