135: p_last_update_login NUMBER) IS
136:
137: CURSOR C IS
138: SELECT rowid
139: FROM ZX_LINES_SUMMARY
140: WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
141:
142: BEGIN
143: g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
150:
151: IF (g_level_procedure >= g_current_runtime_level ) THEN
152: FND_LOG.STRING(g_level_procedure,
153: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row',
154: 'Insert into zx_lines_summary (+)');
155: END IF;
156:
157: INSERT INTO ZX_LINES_SUMMARY
158: (SUMMARY_TAX_LINE_ID,
153: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row',
154: 'Insert into zx_lines_summary (+)');
155: END IF;
156:
157: INSERT INTO ZX_LINES_SUMMARY
158: (SUMMARY_TAX_LINE_ID,
159: INTERNAL_ORGANIZATION_ID,
160: APPLICATION_ID,
161: ENTITY_CODE,
404:
405: IF (g_level_procedure >= g_current_runtime_level ) THEN
406: FND_LOG.STRING(g_level_procedure,
407: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row',
408: 'Insert into zx_lines_summary (-)');
409:
410: FND_LOG.STRING(g_level_procedure,
411: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row.END',
412: 'ZX_TRL_SUMMARY_OVERRIDE_PKG: Insert_Row (-)');
661: CREATION_DATE,
662: LAST_UPDATED_BY,
663: LAST_UPDATE_DATE,
664: LAST_UPDATE_LOGIN
665: FROM ZX_LINES_SUMMARY
666: WHERE ROWID = X_Rowid;
667:
668: Recinfo summary_lines_csr%ROWTYPE;
669: l_transaction_rec ZX_API_PUB.transaction_rec_type;
1009: l_transaction_rec.EVENT_CLASS_CODE := Recinfo.EVENT_CLASS_CODE;
1010: l_transaction_rec.TRX_ID := Recinfo.TRX_ID;
1011: l_transaction_rec.INTERNAL_ORGANIZATION_ID := Recinfo.INTERNAL_ORGANIZATION_ID;
1012:
1013: ZX_LINES_DET_FACTORS_PKG.lock_line_det_factors (
1014: l_transaction_rec,
1015: l_return_status );
1016:
1017: RETURN;
1045: l_transaction_rec.EVENT_CLASS_CODE := p_EVENT_CLASS_CODE;
1046: l_transaction_rec.TRX_ID := p_TRX_ID;
1047: l_transaction_rec.INTERNAL_ORGANIZATION_ID := p_INTERNAL_ORGANIZATION_ID;
1048:
1049: ZX_LINES_DET_FACTORS_PKG.lock_line_det_factors (
1050: l_transaction_rec,
1051: l_return_status );
1052:
1053: END;
1184: p_entity_code VARCHAR2,
1185: p_event_class_code VARCHAR2,
1186: p_trx_id NUMBER) IS
1187: SELECT trx_line_id, summary_tax_line_id
1188: FROM zx_lines
1189: WHERE application_id = p_application_id
1190: AND entity_code = p_entity_code
1191: AND event_class_code = p_event_class_code
1192: AND trx_id = p_trx_id;
1233: tax_exception_id,
1234: exception_rate,
1235: mrc_tax_line_flag,
1236: tax_only_line_flag
1237: FROM zx_lines
1238: WHERE application_id = p_application_id
1239: AND entity_code = p_entity_code
1240: AND event_class_code = p_event_class_code
1241: AND trx_id = p_trx_id
1544: object_version_number,
1545: last_updated_by,
1546: last_update_date,
1547: last_update_login
1548: FROM zx_lines
1549: WHERE application_id = p_application_id
1550: AND entity_code = p_entity_code
1551: AND event_class_code = p_event_class_code
1552: AND trx_id = p_trx_id
1555: ORDER by associated_child_frozen_flag DESC NULLS LAST;
1556:
1557: CURSOR existing_summary_tax_line(l_tax_rate NUMBER) IS
1558: SELECT summary_tax_line_id
1559: FROM zx_lines_summary
1560: WHERE application_id = p_application_id
1561: AND entity_code = p_entity_code
1562: AND event_class_code = p_event_class_code
1563: AND trx_id = p_trx_id
1645: END IF;
1646:
1647: BEGIN
1648: SELECT tax_amt, overridden_flag INTO l_summary_tax_amt, l_overridden_flag
1649: FROM zx_lines_summary
1650: WHERE summary_tax_line_id = p_summary_tax_line_id;
1651: EXCEPTION
1652: WHEN OTHERS THEN
1653: NULL;
1655:
1656: BEGIN
1657: SELECT sum(unrounded_tax_amt), SUM(unrounded_taxable_amt), COUNT(*)
1658: INTO l_total_detail_tax_amt, l_total_detail_taxable_amt, l_num_det_lines
1659: FROM zx_lines
1660: WHERE summary_tax_line_id = p_summary_tax_line_id
1661: AND application_id = p_application_id
1662: AND entity_code = p_entity_code
1663: AND event_class_code = p_event_class_code
1758:
1759: IF (g_level_procedure >= g_current_runtime_level ) THEN
1760: FND_LOG.STRING(g_level_procedure,
1761: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1762: 'Update zx_lines_summary (+)');
1763: END IF;
1764:
1765: FOR rec IN c2(p_application_id,
1766: p_entity_code,
1835: THEN
1836:
1837: IF NVL(rec.associated_child_frozen_flag,'N') = 'Y' THEN
1838:
1839: SELECT zx_lines_s.NEXTVAL INTO l_tax_line_id FROM DUAL;
1840:
1841: -- new changes
1842: IF l_summary_tax_line_id = p_summary_tax_line_id THEN
1843: SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
1839: SELECT zx_lines_s.NEXTVAL INTO l_tax_line_id FROM DUAL;
1840:
1841: -- new changes
1842: IF l_summary_tax_line_id = p_summary_tax_line_id THEN
1843: SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
1844: END IF;
1845: -- new changes
1846:
1847: SELECT max(abs(tax_apportionment_line_number))+1
1845: -- new changes
1846:
1847: SELECT max(abs(tax_apportionment_line_number))+1
1848: INTO l_tax_apportionment_line_num
1849: FROM zx_lines
1850: WHERE application_id = p_application_id
1851: AND entity_code = p_entity_code
1852: AND event_class_code = p_event_class_code
1853: AND trx_id = p_trx_id
1854: AND trx_line_id = rec.trx_line_id;
1855:
1856: SELECT nvl(max(tax_line_number),0)+1
1857: INTO l_tax_line_number
1858: FROM zx_lines
1859: WHERE application_id = p_application_id
1860: AND entity_code = p_entity_code
1861: AND event_class_code = p_event_class_code
1862: AND trx_id = p_trx_id
1862: AND trx_id = p_trx_id
1863: AND trx_level_type = rec.trx_level_type
1864: AND trx_line_id = rec.trx_line_id;
1865:
1866: UPDATE ZX_LINES
1867: SET cancel_flag = 'Y',
1868: tax_apportionment_line_number = -1*l_tax_apportionment_line_num,
1869: tax_amt = 0,
1870: tax_amt_tax_curr = 0,
1886: IF rec.offset_tax_rate_code IS NOT NULL THEN
1887: BEGIN
1888:
1889: SELECT tax_line_id INTO l_offset_tax_line_id
1890: FROM zx_lines
1891: WHERE application_id = p_application_id
1892: AND entity_code = p_entity_code
1893: AND event_class_code = p_event_class_code
1894: AND trx_id = p_trx_id
1895: AND trx_level_type = rec.trx_level_type
1896: AND offset_link_to_tax_line_id = rec.tax_line_id;
1897:
1898: SELECT trx_line_id INTO l_offset_trx_line_id
1899: FROM zx_lines
1900: WHERE tax_line_id = l_offset_tax_line_id;
1901:
1902: SELECT MAX(ABS(tax_apportionment_line_number)) + 1
1903: INTO l_tax_apportionment_line_num
1900: WHERE tax_line_id = l_offset_tax_line_id;
1901:
1902: SELECT MAX(ABS(tax_apportionment_line_number)) + 1
1903: INTO l_tax_apportionment_line_num
1904: FROM zx_lines
1905: WHERE application_id = p_application_id
1906: AND entity_code = p_entity_code
1907: AND event_class_code = p_event_class_code
1908: AND trx_id = p_trx_id
1907: AND event_class_code = p_event_class_code
1908: AND trx_id = p_trx_id
1909: AND trx_line_id = l_offset_trx_line_id;
1910:
1911: UPDATE ZX_LINES
1912: SET cancel_flag = 'Y',
1913: tax_amt = 0,
1914: tax_apportionment_line_number = -1*l_tax_apportionment_line_num,
1915: unrounded_tax_amt = 0,
2275: IF l_existing_summary_tax_line_id is NULL AND NOT(l_had_frozen_dists)
2276: THEN
2277:
2278: SELECT count(*) INTO l_num_canceled_detail_lines
2279: FROM zx_lines
2280: WHERE application_id = p_application_id
2281: AND entity_code = p_entity_code
2282: AND event_class_code = p_event_class_code
2283: AND trx_id = p_trx_id
2289: -- OR l_existing_summary_tax_line_id is NOT NULL
2290: THEN
2291: l_had_frozen_dists := TRUE;
2292: IF l_summary_tax_line_id = p_summary_tax_line_id THEN
2293: SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
2294: END IF;
2295: END IF;
2296:
2297: -- update detail tax line with the new summary tax line id
2297: -- update detail tax line with the new summary tax line id
2298: --
2299: IF l_summary_tax_line_id <> p_summary_tax_line_id THEN
2300: BEGIN
2301: UPDATE ZX_LINES
2302: SET summary_tax_line_id = l_summary_tax_line_id
2303: WHERE tax_line_id = rec.tax_line_id;
2304: EXCEPTION
2305: WHEN OTHERS THEN
2314: END LOOP;
2315:
2316: IF l_allow_update_flag = 'Y' THEN
2317: IF l_existing_summary_tax_line_id is NULL THEN
2318: UPDATE ZX_LINES_SUMMARY
2319: SET TAX_STATUS_CODE = p_tax_status_code,
2320: TAX_RATE_ID = p_tax_rate_Id,
2321: SUMMARY_TAX_LINE_ID = nvl(l_summary_tax_line_id,p_summary_tax_line_id) ,
2322: TAX_RATE_CODE = p_tax_rate_code,
2360: FND_LOG.STRING(g_level_statement,
2361: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2362: 'No. of Det Lines 1');
2363: END IF;
2364: UPDATE ZX_LINES
2365: SET UNROUNDED_TAX_AMT = p_tax_amt
2366: WHERE APPLICATION_ID = p_application_id
2367: AND ENTITY_CODE = p_entity_code
2368: AND EVENT_CLASS_CODE = p_event_class_code
2375: FND_LOG.STRING(g_level_statement,
2376: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2377: 'Total_detail_tax_amt <> 0');
2378: END IF;
2379: UPDATE ZX_LINES
2380: SET UNROUNDED_TAX_AMT = decode(nvl(p_cancel_flag,'N'), 'N', ((unrounded_tax_amt * p_tax_amt)/l_total_detail_tax_amt), 0)
2381: WHERE APPLICATION_ID = p_application_id
2382: AND ENTITY_CODE = p_entity_code
2383: AND EVENT_CLASS_CODE = p_event_class_code
2389: FND_LOG.STRING(g_level_statement,
2390: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2391: 'Total_detail_taxable_amt <> 0');
2392: END IF;
2393: UPDATE ZX_LINES
2394: SET UNROUNDED_TAX_AMT = decode(nvl(p_cancel_flag,'N'), 'N', ((unrounded_taxable_amt * p_tax_amt)/l_total_detail_taxable_amt), 0)
2395: WHERE APPLICATION_ID = p_application_id
2396: AND ENTITY_CODE = p_entity_code
2397: AND EVENT_CLASS_CODE = p_event_class_code
2420: END IF;
2421: END IF; -- nvl(l_num_det_lines,0) = 1
2422: END IF; -- cancel_flag ='N'
2423:
2424: --Recalculation flag for records in zx_lines
2425: -- manual entered tax line:
2426: IF nvl(p_manually_entered_flag,'N') = 'N' THEN
2427: -- this is system generated tax line :
2428: IF nvl(p_tax_amt_included_flag,'N') = 'Y' THEN
2426: IF nvl(p_manually_entered_flag,'N') = 'N' THEN
2427: -- this is system generated tax line :
2428: IF nvl(p_tax_amt_included_flag,'N') = 'Y' THEN
2429: IF l_ctrl_ef_ov_cal_line_flag = 'Y' THEN
2430: UPDATE ZX_LINES
2431: SET RECALC_REQUIRED_FLAG = 'Y'
2432: WHERE APPLICATION_ID = p_application_id
2433: AND ENTITY_CODE = p_entity_code
2434: AND EVENT_CLASS_CODE = p_event_class_code
2440:
2441: ELSE
2442: -- tax_amt_included_flag = 'N'
2443: IF nvl(p_compounding_tax_flag,'N') = 'Y' THEN
2444: UPDATE ZX_LINES
2445: SET RECALC_REQUIRED_FLAG = 'Y'
2446: WHERE APPLICATION_ID = p_application_id
2447: AND ENTITY_CODE = p_entity_code
2448: AND EVENT_CLASS_CODE = p_event_class_code
2453: END IF;
2454: END IF;
2455: END IF;
2456:
2457: UPDATE ZX_LINES
2458: SET ORIG_TAX_STATUS_ID = nvl(ORIG_TAX_STATUS_ID, TAX_STATUS_ID),
2459: ORIG_TAX_STATUS_CODE = nvl(ORIG_TAX_STATUS_CODE, TAX_STATUS_CODE),
2460: ORIG_TAX_RATE_ID = nvl(ORIG_TAX_RATE_ID, TAX_RATE_ID),
2461: ORIG_TAX_RATE_CODE = nvl(ORIG_TAX_RATE_CODE, TAX_RATE_CODE),
2504:
2505: IF (g_level_procedure >= g_current_runtime_level ) THEN
2506: FND_LOG.STRING(g_level_procedure,
2507: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2508: 'Update zx_lines_summary (-)');
2509: END IF;
2510:
2511: IF (g_level_procedure >= g_current_runtime_level ) THEN
2512: FND_LOG.STRING(g_level_procedure,
2651:
2652: IF (g_level_procedure >= g_current_runtime_level ) THEN
2653: FND_LOG.STRING(g_level_procedure,
2654: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2655: 'Update zx_lines_summary for DELETE (+)');
2656: END IF;
2657:
2658: UPDATE ZX_LINES_SUMMARY
2659: SET DELETE_FLAG = 'Y',
2654: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2655: 'Update zx_lines_summary for DELETE (+)');
2656: END IF;
2657:
2658: UPDATE ZX_LINES_SUMMARY
2659: SET DELETE_FLAG = 'Y',
2660: OBJECT_VERSION_NUMBER = NVL(p_object_version_number, OBJECT_VERSION_NUMBER + 1)
2661: WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
2662:
2659: SET DELETE_FLAG = 'Y',
2660: OBJECT_VERSION_NUMBER = NVL(p_object_version_number, OBJECT_VERSION_NUMBER + 1)
2661: WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
2662:
2663: UPDATE ZX_LINES
2664: SET DELETE_FLAG = 'Y',
2665: SYNC_WITH_PRVDR_FLAG = DECODE(p_tax_provider_id,
2666: NULL, 'N', 'Y'),
2667: OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1
2677:
2678: IF (g_level_procedure >= g_current_runtime_level ) THEN
2679: FND_LOG.STRING(g_level_procedure,
2680: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2681: 'Update zx_lines_summary for DELETE (-)');
2682: FND_LOG.STRING(g_level_procedure,
2683: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row.END',
2684: 'ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row (-)');
2685: END IF;
2706:
2707: IF (g_level_procedure >= g_current_runtime_level ) THEN
2708: FND_LOG.STRING(g_level_procedure,
2709: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2710: 'Update zx_lines_det_factors (+)');
2711: END IF;
2712:
2713: UPDATE ZX_LINES_DET_FACTORS
2714: SET EVENT_ID = p_event_id
2709: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2710: 'Update zx_lines_det_factors (+)');
2711: END IF;
2712:
2713: UPDATE ZX_LINES_DET_FACTORS
2714: SET EVENT_ID = p_event_id
2715: WHERE APPLICATION_ID = p_application_id
2716: AND ENTITY_CODE = p_entity_code
2717: AND EVENT_CLASS_CODE = p_event_class_code
2717: AND EVENT_CLASS_CODE = p_event_class_code
2718: AND TRX_ID = p_trx_id
2719: AND (TRX_LINE_ID, TRX_LEVEL_TYPE)
2720: IN (SELECT TRX_LINE_ID, TRX_LEVEL_TYPE
2721: FROM ZX_LINES
2722: WHERE APPLICATION_ID = p_application_id
2723: AND ENTITY_CODE = p_entity_code
2724: AND EVENT_CLASS_CODE = p_event_class_code
2725: AND TRX_ID = p_trx_id
2727:
2728: IF (g_level_procedure >= g_current_runtime_level ) THEN
2729: FND_LOG.STRING(g_level_procedure,
2730: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2731: 'Update zx_lines_det_factors (-)');
2732: END IF;
2733:
2734: IF (g_level_procedure >= g_current_runtime_level ) THEN
2735: FND_LOG.STRING(g_level_procedure,
2770: --tax if such a tax line already exists for the transaction line
2771: --Validation for logical primary key
2772: SELECT count(*)
2773: INTO l_key_check
2774: FROM ZX_LINES_SUMMARY LS
2775: WHERE APPLICATION_ID = p_application_id
2776: AND ENTITY_CODE = p_entity_code
2777: AND EVENT_CLASS_CODE = p_event_class_code
2778: AND INTERNAL_ORGANIZATION_ID = p_internal_organization_id
2813: c_event_class_code VARCHAR2,
2814: c_entity_code VARCHAR2,
2815: c_trx_id NUMBER) IS
2816: SELECT *
2817: FROM ZX_LINES_SUMMARY
2818: WHERE application_id = c_application_id
2819: AND entity_code = c_entity_code
2820: AND event_class_code = c_event_class_code
2821: AND trx_id = c_trx_id