[Home] [Help]
60: G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
61: G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
62:
63: G_JAI_APPLICATION_ID CONSTANT NUMBER := 7000;
64: G_PRODUCT_TABLE CONSTANT VARCHAR2(30) := 'JAI_CMN_DOCUMENT_TAXES';
65: G_MATCH_PRODUCT_TABLE CONSTANT VARCHAR2(30) := 'JAI_AP_MATCH_INV_TAXES';
66:
67:
68: --==========================================================================
287: END IF;
288:
289: -- add row level lock to the table
290: UPDATE
291: jai_cmn_document_taxes
292: SET
293: source_doc_id = pn_invoice_id
294: WHERE source_doc_id = pn_invoice_id
295: AND source_doc_type = jai_constants.g_ap_standalone_invoice;
298: NVL(MAX(source_doc_line_id), 0)
299: INTO
300: ln_max_line_number
301: FROM
302: jai_cmn_document_taxes
303: WHERE source_doc_id = pn_invoice_id
304: AND source_doc_type = jai_constants.g_ap_standalone_invoice;
305:
306:
447: lv_account_type VARCHAR2(1);
448: lv_tax_type VARCHAR2(2);
449: lv_assets_tracking_flag VARCHAR2(1);
450:
451: CURSOR c_jai_cmn_document_taxes
452: IS
453: SELECT ap_dist.invoice_distribution_id, ap_dist.amount, to_number(ap_line.REFERENCE_KEY1) tax_id
454: FROM AP_INVOICE_LINES_ALL ap_line,
455: AP_INVOICE_DISTRIBUTIONS_ALL ap_dist
457: AND ap_line.invoice_id = ap_dist.invoice_id
458: AND ap_dist.invoice_line_number = ap_line.line_number
459: AND ap_line.line_type_lookup_code = 'MISCELLANEOUS'
460: AND ap_line.application_id = 7000
461: AND ap_line.PRODUCT_TABLE = 'JAI_CMN_DOCUMENT_TAXES'
462: AND ap_line.REFERENCE_KEY2 = to_char(pn_line_number);
463:
464:
465: CURSOR get_tax_cur (pn_tax_id NUMBER) IS
475: WHERE tax_id = pn_tax_id;
476:
477: CURSOR get_ap_tax_dtl (cn_dist_id NUMBER)IS
478: SELECT modvat_flag
479: FROM JAI_CMN_DOCUMENT_TAXES a,
480: AP_INVOICE_DISTRIBUTIONS_ALL d
481: WHERE d.invoice_distribution_id = cn_dist_id
482: AND a.source_doc_id = pn_invoice_id
483: AND d.invoice_line_number = a.source_doc_line_id;
506: jai_cmn_utils_pkg.WRITE_FND_LOG(G_LEVEL_PROCEDURE, GV_MODULE_PREFIX || '.' || l_api_name || '.parameters', 'pn_location_id: ' || pn_location_id );
507:
508: IF (pn_org_id IS NOT NULL AND pn_location_id IS NOT NULL)
509: THEN
510: FOR r_jai_cmn_document_taxes IN c_jai_cmn_document_taxes
511: LOOP
512: jai_cmn_utils_pkg.WRITE_FND_LOG(G_LEVEL_PROCEDURE, GV_MODULE_PREFIX || '.' || l_api_name, 'tax id: ' || r_jai_cmn_document_taxes.tax_id);
513:
514: OPEN get_tax_cur (r_jai_cmn_document_taxes.tax_id);
508: IF (pn_org_id IS NOT NULL AND pn_location_id IS NOT NULL)
509: THEN
510: FOR r_jai_cmn_document_taxes IN c_jai_cmn_document_taxes
511: LOOP
512: jai_cmn_utils_pkg.WRITE_FND_LOG(G_LEVEL_PROCEDURE, GV_MODULE_PREFIX || '.' || l_api_name, 'tax id: ' || r_jai_cmn_document_taxes.tax_id);
513:
514: OPEN get_tax_cur (r_jai_cmn_document_taxes.tax_id);
515: FETCH get_tax_cur INTO tax_rec;
516: CLOSE get_tax_cur;
510: FOR r_jai_cmn_document_taxes IN c_jai_cmn_document_taxes
511: LOOP
512: jai_cmn_utils_pkg.WRITE_FND_LOG(G_LEVEL_PROCEDURE, GV_MODULE_PREFIX || '.' || l_api_name, 'tax id: ' || r_jai_cmn_document_taxes.tax_id);
513:
514: OPEN get_tax_cur (r_jai_cmn_document_taxes.tax_id);
515: FETCH get_tax_cur INTO tax_rec;
516: CLOSE get_tax_cur;
517: IF r_jai_cmn_document_taxes.amount < 0 THEN
518:
513:
514: OPEN get_tax_cur (r_jai_cmn_document_taxes.tax_id);
515: FETCH get_tax_cur INTO tax_rec;
516: CLOSE get_tax_cur;
517: IF r_jai_cmn_document_taxes.amount < 0 THEN
518:
519: ln_dist_acct_ccid := Get_ST_Reverse_Ccid
520: ( pn_invoice_id => pn_invoice_id
521: , pn_item_line_number => pn_line_number
526: , pv_tax_type => 'FR' -- for liability line, allways get CCID from regime setup
527: , pv_ac_type => GV_INTERIM_LIABILITY
528: );
529: ELSE
530: OPEN get_ap_tax_dtl (r_jai_cmn_document_taxes.invoice_distribution_id);
531: FETCH get_ap_tax_dtl INTO ap_tax_dtl_rec;
532: CLOSE get_ap_tax_dtl;
533: lv_tax_type := get_tax_type
534: ( pv_modvat_flag => ap_tax_dtl_rec.modvat_flag,
566: END IF;
567:
568: UPDATE ap_invoice_distributions_all
569: SET dist_code_combination_id = ln_dist_acct_ccid
570: WHERE invoice_distribution_id = r_jai_cmn_document_taxes.invoice_distribution_id;
571:
572: END LOOP;
573: COMMIT;
574: END IF;
2057: , MAX(jcdt.vendor_id) vendor_id
2058: , MAX(jcdt.source_doc_parent_line_no) source_doc_parent_line_no
2059: , MAX(jcta.inclusive_tax_flag) inc_tax_flag
2060: FROM
2061: jai_cmn_document_taxes jcdt
2062: , jai_cmn_taxes_all jcta --Added by Eric for Inclusive Tax
2063: WHERE jcdt.source_doc_id = pn_invoice_id
2064: AND jcdt.source_doc_parent_line_no = pn_parent_line_number
2065: AND jcdt.tax_id = jcta.tax_id --Added by Eric for Inclusive Tax
2122: , jcdt.vendor_id
2123: , jcdt.source_doc_parent_line_no
2124: , jcta.inclusive_tax_flag inc_tax_flag --Added by Eric for Inclusive Tax
2125: FROM
2126: jai_cmn_document_taxes jcdt
2127: , jai_cmn_taxes_all jcta --Added by Eric for Inclusive Tax
2128: WHERE jcdt.source_doc_id = pn_invoice_id
2129: AND jcdt.source_doc_parent_line_no = pn_parent_line_number
2130: AND jcdt.tax_id = jcta.tax_id --Added by Eric for Inclusive Tax
2186: , jcdt.object_version_number
2187: , jcdt.vendor_id
2188: , jcdt.source_doc_parent_line_no
2189: FROM
2190: jai_cmn_document_taxes jcdt
2191: WHERE jcdt.source_doc_id = pn_invoice_id
2192: AND jcdt.source_doc_line_id = pn_line_number
2193: AND jcdt.source_doc_parent_line_no = pn_line_number
2194: AND jcdt.source_doc_type = jai_constants.g_ap_standalone_invoice
2371: );
2372: END IF; --( ln_proc_level >= ln_dbg_level )
2373:
2374: --The below loops is to synchronize reverse charge service taxes information from
2375: --jai_cmn_document_taxes to other 3 tables
2376:
2377: --Loop 1, item level: Loop all item lines in the ap_invoice_lines
2378: FOR ap_invoice_lines_rec IN ap_invoice_lines_cur
2379: LOOP
2377: --Loop 1, item level: Loop all item lines in the ap_invoice_lines
2378: FOR ap_invoice_lines_rec IN ap_invoice_lines_cur
2379: LOOP
2380:
2381: --Loop 2,tax level:Loop all tax lines in jai_cmn_document_taxes
2382: FOR jai_doc_taxes_rec IN
2383: jai_doc_taxes_cur
2384: ( pn_invoice_id => ln_invoice_id
2385: , pn_parent_line_number => ap_invoice_lines_rec.line_number
2690: END IF;
2691: END LOOP; -- (all taxes for a given parent line number)
2692:
2693:
2694: --Loop 3,tax level:Loop all tax lines in jai_cmn_document_taxes
2695: --<
2696: -- Get line number
2697: jai_cmn_utils_pkg.WRITE_FND_LOG(G_LEVEL_STATEMENT, GV_MODULE_PREFIX || '.' || lv_proc_name,
2698: '@@Before insert reverse charege service tax liability lines.');
2691: END LOOP; -- (all taxes for a given parent line number)
2692:
2693:
2694: --Loop 3,tax level:Loop all tax lines in jai_cmn_document_taxes
2695: --<
2697: jai_cmn_utils_pkg.WRITE_FND_LOG(G_LEVEL_STATEMENT, GV_MODULE_PREFIX || '.' || lv_proc_name,
2698: '@@Before insert reverse charege service tax liability lines.');
2699:
5598: , taxes.tax_line_no
5599: , NVL(jcta.inclusive_tax_flag,'N') inc_tax_flag
5600: FROM
5601: jai_cmn_lines lines
5602: , jai_cmn_document_Taxes taxes
5603: , jai_cmn_taxes_all jcta
5604: WHERE lines.cmn_line_id = taxes.source_doc_line_id
5605: AND taxes.source_doc_type = 'ASBN'
5606: AND lines.po_line_location_id = p_line_location_id