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 (SUMMARY_TAX_LINE_ID,
158: INTERNAL_ORGANIZATION_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 (SUMMARY_TAX_LINE_ID,
158: INTERNAL_ORGANIZATION_ID,
159: APPLICATION_ID,
160: ENTITY_CODE,
161: EVENT_CLASS_CODE,
401:
402: IF (g_level_procedure >= g_current_runtime_level ) THEN
403: FND_LOG.STRING(g_level_procedure,
404: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row',
405: 'Insert into zx_lines_summary (-)');
406:
407: FND_LOG.STRING(g_level_procedure,
408: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row.END',
409: 'ZX_TRL_SUMMARY_OVERRIDE_PKG: Insert_Row (-)');
658: CREATION_DATE,
659: LAST_UPDATED_BY,
660: LAST_UPDATE_DATE,
661: LAST_UPDATE_LOGIN
662: FROM ZX_LINES_SUMMARY
663: WHERE ROWID = X_Rowid;
664:
665: Recinfo summary_lines_csr%ROWTYPE;
666: l_transaction_rec ZX_API_PUB.transaction_rec_type;
1006: l_transaction_rec.EVENT_CLASS_CODE := Recinfo.EVENT_CLASS_CODE;
1007: l_transaction_rec.TRX_ID := Recinfo.TRX_ID;
1008: l_transaction_rec.INTERNAL_ORGANIZATION_ID := Recinfo.INTERNAL_ORGANIZATION_ID;
1009:
1010: ZX_LINES_DET_FACTORS_PKG.lock_line_det_factors (
1011: l_transaction_rec,
1012: l_return_status );
1013:
1014: RETURN;
1040: l_transaction_rec.EVENT_CLASS_CODE := p_EVENT_CLASS_CODE;
1041: l_transaction_rec.TRX_ID := p_TRX_ID;
1042: l_transaction_rec.INTERNAL_ORGANIZATION_ID := p_INTERNAL_ORGANIZATION_ID;
1043:
1044: ZX_LINES_DET_FACTORS_PKG.lock_line_det_factors (
1045: l_transaction_rec,
1046: l_return_status );
1047:
1048: END;
1178: Cursor c_det ( p_application_id NUMBER,
1179: p_entity_code VARCHAR2,
1180: p_event_class_code VARCHAR2,
1181: p_trx_id NUMBER)
1182: is select trx_line_id, summary_tax_line_id from zx_lines
1183: where application_id = p_application_id
1184: and entity_code = p_entity_code
1185: and event_class_code = p_event_class_code
1186: and trx_id = p_trx_id;
1227: tax_exception_id,
1228: exception_rate,
1229: mrc_tax_line_flag,
1230: tax_only_line_flag
1231: FROM zx_lines
1232: WHERE application_id = p_application_id
1233: AND entity_code = p_entity_code
1234: AND event_class_code = p_event_class_code
1235: AND trx_id = p_trx_id
1538: object_version_number ,
1539: last_updated_by ,
1540: last_update_date ,
1541: last_update_login
1542: FROM zx_lines
1543: WHERE application_id = p_application_id
1544: AND entity_code = p_entity_code
1545: AND event_class_code = p_event_class_code
1546: AND trx_id = p_trx_id
1549: ORDER by associated_child_frozen_flag DESC NULLS LAST;
1550:
1551: CURSOR existing_summary_tax_line(l_tax_rate NUMBER) IS
1552: SELECT summary_tax_line_id
1553: FROM zx_lines_summary
1554: WHERE application_id = p_application_id
1555: AND entity_code = p_entity_code
1556: AND event_class_code = p_event_class_code
1557: AND trx_id = p_trx_id
1638: END IF;
1639:
1640: BEGIN
1641: SELECT tax_amt, overridden_flag INTO l_summary_tax_amt, l_overridden_flag
1642: FROM zx_lines_summary
1643: WHERE summary_tax_line_id = p_summary_tax_line_id;
1644: EXCEPTION
1645: WHEN OTHERS THEN
1646: NULL;
1648:
1649: BEGIN
1650: SELECT sum(unrounded_tax_amt), SUM(unrounded_taxable_amt), COUNT(*)
1651: INTO l_total_detail_tax_amt, l_total_detail_taxable_amt, l_num_det_lines
1652: FROM zx_lines
1653: WHERE summary_tax_line_id = p_summary_tax_line_id
1654: AND application_id = p_application_id
1655: AND entity_code = p_entity_code
1656: AND event_class_code = p_event_class_code
1735:
1736: IF (g_level_procedure >= g_current_runtime_level ) THEN
1737: FND_LOG.STRING(g_level_procedure,
1738: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1739: 'Update zx_lines_summary (+)');
1740: END IF;
1741:
1742: FOR rec IN c2(p_application_id,
1743: p_entity_code,
1799: THEN
1800:
1801: IF NVL(rec.associated_child_frozen_flag,'N') = 'Y' THEN
1802:
1803: SELECT zx_lines_s.NEXTVAL INTO l_tax_line_id FROM DUAL;
1804:
1805: -- new changes
1806: IF l_summary_tax_line_id = p_summary_tax_line_id THEN
1807: SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
1803: SELECT zx_lines_s.NEXTVAL INTO l_tax_line_id FROM DUAL;
1804:
1805: -- new changes
1806: IF l_summary_tax_line_id = p_summary_tax_line_id THEN
1807: SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
1808: END IF;
1809: -- new changes
1810:
1811: SELECT max(abs(tax_apportionment_line_number))+1
1809: -- new changes
1810:
1811: SELECT max(abs(tax_apportionment_line_number))+1
1812: INTO l_tax_apportionment_line_num
1813: FROM zx_lines
1814: WHERE application_id = p_application_id
1815: AND entity_code = p_entity_code
1816: AND event_class_code = p_event_class_code
1817: AND trx_id = p_trx_id
1818: AND trx_line_id = rec.trx_line_id;
1819:
1820: SELECT nvl(max(tax_line_number),0)+1
1821: INTO l_tax_line_number
1822: FROM zx_lines
1823: WHERE application_id = p_application_id
1824: AND entity_code = p_entity_code
1825: AND event_class_code = p_event_class_code
1826: AND trx_id = p_trx_id
1826: AND trx_id = p_trx_id
1827: AND trx_line_id = rec.trx_line_id
1828: AND trx_level_type = rec.trx_level_type;
1829:
1830: UPDATE ZX_LINES
1831: SET cancel_flag = 'Y',
1832: tax_apportionment_line_number = -1*l_tax_apportionment_line_num,
1833: tax_amt = 0,
1834: tax_amt_tax_curr = 0,
1843: END IF;
1844:
1845: BEGIN
1846: select tax_line_id into l_offset_tax_line_id
1847: FROM zx_lines
1848: where application_id = p_application_id
1849: and entity_code = p_entity_code
1850: and event_class_code = p_event_class_code
1851: and offset_link_to_tax_line_id = rec.tax_line_id;
1850: and event_class_code = p_event_class_code
1851: and offset_link_to_tax_line_id = rec.tax_line_id;
1852:
1853: SELECT trx_line_id into l_offset_trx_line_id
1854: FROM zx_lines
1855: WHERE tax_line_id = l_offset_tax_line_id;
1856:
1857: SELECT MAX(ABS(tax_apportionment_line_number)) + 1
1858: INTO l_tax_apportionment_line_num
1855: WHERE tax_line_id = l_offset_tax_line_id;
1856:
1857: SELECT MAX(ABS(tax_apportionment_line_number)) + 1
1858: INTO l_tax_apportionment_line_num
1859: FROM zx_lines
1860: WHERE application_id = p_application_id
1861: AND entity_code = p_entity_code
1862: AND event_class_code = p_event_class_code
1863: AND trx_id = p_trx_id
1862: AND event_class_code = p_event_class_code
1863: AND trx_id = p_trx_id
1864: AND trx_line_id = l_offset_trx_line_id;
1865:
1866: UPDATE ZX_LINES
1867: SET cancel_flag = 'Y',
1868: tax_amt = 0,
1869: tax_apportionment_line_number = -1*l_tax_apportionment_line_num,
1870: unrounded_tax_amt = 0,
2220: IF l_existing_summary_tax_line_id is NULL AND NOT(l_had_frozen_dists)
2221: THEN
2222:
2223: SELECT count(*) INTO l_num_canceled_detail_lines
2224: FROM zx_lines
2225: WHERE application_id = p_application_id
2226: AND entity_code = p_entity_code
2227: AND event_class_code = p_event_class_code
2228: AND trx_id = p_trx_id
2234: -- OR l_existing_summary_tax_line_id is NOT NULL
2235: THEN
2236: l_had_frozen_dists := TRUE;
2237: IF l_summary_tax_line_id = p_summary_tax_line_id THEN
2238: SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
2239: END IF;
2240: END IF;
2241:
2242: -- update detail tax line with the new summary tax line id
2242: -- update detail tax line with the new summary tax line id
2243: --
2244: IF l_summary_tax_line_id <> p_summary_tax_line_id THEN
2245: BEGIN
2246: UPDATE ZX_LINES
2247: SET summary_tax_line_id = l_summary_tax_line_id
2248: WHERE tax_line_id = rec.tax_line_id;
2249: EXCEPTION
2250: WHEN OTHERS THEN
2258: END IF; -- tax_only_line_flag
2259: END LOOP;
2260:
2261: IF l_existing_summary_tax_line_id is NULL THEN
2262: UPDATE ZX_LINES_SUMMARY
2263: SET TAX_STATUS_CODE = p_tax_status_code,
2264: TAX_RATE_ID = p_tax_rate_Id,
2265: SUMMARY_TAX_LINE_ID = nvl(l_summary_tax_line_id,p_summary_tax_line_id) ,
2266: TAX_RATE_CODE = p_tax_rate_code,
2309: FND_LOG.STRING(g_level_statement,
2310: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row.BEGIN',
2311: 'no of det lines 1');
2312: END IF;
2313: UPDATE ZX_LINES
2314: SET UNROUNDED_TAX_AMT = p_tax_amt
2315: WHERE APPLICATION_ID = p_application_id
2316: AND ENTITY_CODE = p_entity_code
2317: AND EVENT_CLASS_CODE = p_event_class_code
2324: FND_LOG.STRING(g_level_statement,
2325: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row.BEGIN',
2326: 'tot det tax amt <> 0');
2327: END IF;
2328: UPDATE ZX_LINES
2329: SET UNROUNDED_TAX_AMT = decode(nvl(p_cancel_flag,'N'), 'N', ((unrounded_tax_amt * p_tax_amt)/l_total_detail_tax_amt), 0)
2330: WHERE APPLICATION_ID = p_application_id
2331: AND ENTITY_CODE = p_entity_code
2332: AND EVENT_CLASS_CODE = p_event_class_code
2338: FND_LOG.STRING(g_level_statement,
2339: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row.BEGIN',
2340: 'tot det taxable amt <> 0');
2341: END IF;
2342: UPDATE ZX_LINES
2343: SET UNROUNDED_TAX_AMT = decode(nvl(p_cancel_flag,'N'), 'N', ((unrounded_taxable_amt * p_tax_amt)/l_total_detail_taxable_amt), 0)
2344: WHERE APPLICATION_ID = p_application_id
2345: AND ENTITY_CODE = p_entity_code
2346: AND EVENT_CLASS_CODE = p_event_class_code
2374: FND_LOG.STRING(g_level_procedure,
2375: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2376: 'before manually entered flag = N');
2377: END IF;
2378: --Recalculation flag for records in zx_lines
2379: -- manual entered tax line:
2380: IF nvl(p_manually_entered_flag,'N') = 'N' THEN
2381: -- this is system generated tax line :
2382: IF nvl(p_tax_amt_included_flag,'N') = 'Y' THEN
2380: IF nvl(p_manually_entered_flag,'N') = 'N' THEN
2381: -- this is system generated tax line :
2382: IF nvl(p_tax_amt_included_flag,'N') = 'Y' THEN
2383: IF l_ctrl_ef_ov_cal_line_flag = 'Y' THEN
2384: UPDATE ZX_LINES
2385: SET RECALC_REQUIRED_FLAG = 'Y'
2386: WHERE APPLICATION_ID = p_application_id
2387: AND ENTITY_CODE = p_entity_code
2388: AND EVENT_CLASS_CODE = p_event_class_code
2394:
2395: ELSE
2396: -- tax_amt_included_flag = 'N'
2397: IF nvl(p_compounding_tax_flag,'N') = 'Y' THEN
2398: UPDATE ZX_LINES
2399: SET RECALC_REQUIRED_FLAG = 'Y'
2400: WHERE APPLICATION_ID = p_application_id
2401: AND ENTITY_CODE = p_entity_code
2402: AND EVENT_CLASS_CODE = p_event_class_code
2407: END IF;
2408: END IF;
2409: END IF;
2410:
2411: UPDATE ZX_LINES
2412: SET ORIG_TAX_STATUS_ID = nvl(ORIG_TAX_STATUS_ID, TAX_STATUS_ID),
2413: ORIG_TAX_STATUS_CODE = nvl(ORIG_TAX_STATUS_CODE, TAX_STATUS_CODE),
2414: ORIG_TAX_RATE_ID = nvl(ORIG_TAX_RATE_ID, TAX_RATE_ID),
2415: ORIG_TAX_RATE_CODE = nvl(ORIG_TAX_RATE_CODE, TAX_RATE_CODE),
2446:
2447: IF (g_level_procedure >= g_current_runtime_level ) THEN
2448: FND_LOG.STRING(g_level_procedure,
2449: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2450: 'Update zx_lines_summary (-)');
2451: END IF;
2452:
2453: IF (g_level_procedure >= g_current_runtime_level ) THEN
2454: FND_LOG.STRING(g_level_procedure,
2593:
2594: IF (g_level_procedure >= g_current_runtime_level ) THEN
2595: FND_LOG.STRING(g_level_procedure,
2596: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2597: 'Update zx_lines_summary for DELETE (+)');
2598: END IF;
2599:
2600: UPDATE ZX_LINES_SUMMARY
2601: SET DELETE_FLAG = 'Y',
2596: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2597: 'Update zx_lines_summary for DELETE (+)');
2598: END IF;
2599:
2600: UPDATE ZX_LINES_SUMMARY
2601: SET DELETE_FLAG = 'Y',
2602: OBJECT_VERSION_NUMBER = NVL(p_object_version_number, OBJECT_VERSION_NUMBER + 1)
2603: WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
2604:
2601: SET DELETE_FLAG = 'Y',
2602: OBJECT_VERSION_NUMBER = NVL(p_object_version_number, OBJECT_VERSION_NUMBER + 1)
2603: WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
2604:
2605: UPDATE ZX_LINES
2606: SET DELETE_FLAG = 'Y',
2607: SYNC_WITH_PRVDR_FLAG = DECODE(p_tax_provider_id,
2608: NULL, 'N', 'Y'),
2609: OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1
2619:
2620: IF (g_level_procedure >= g_current_runtime_level ) THEN
2621: FND_LOG.STRING(g_level_procedure,
2622: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2623: 'Update zx_lines_summary for DELETE (-)');
2624: FND_LOG.STRING(g_level_procedure,
2625: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row.END',
2626: 'ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row (-)');
2627: END IF;
2648:
2649: IF (g_level_procedure >= g_current_runtime_level ) THEN
2650: FND_LOG.STRING(g_level_procedure,
2651: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2652: 'Update zx_lines_det_factors (+)');
2653: END IF;
2654:
2655: UPDATE ZX_LINES_DET_FACTORS
2656: SET EVENT_ID = p_event_id
2651: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2652: 'Update zx_lines_det_factors (+)');
2653: END IF;
2654:
2655: UPDATE ZX_LINES_DET_FACTORS
2656: SET EVENT_ID = p_event_id
2657: WHERE APPLICATION_ID = p_application_id
2658: AND ENTITY_CODE = p_entity_code
2659: AND EVENT_CLASS_CODE = p_event_class_code
2659: AND EVENT_CLASS_CODE = p_event_class_code
2660: AND TRX_ID = p_trx_id
2661: AND (TRX_LINE_ID, TRX_LEVEL_TYPE)
2662: IN (SELECT TRX_LINE_ID, TRX_LEVEL_TYPE
2663: FROM ZX_LINES
2664: WHERE APPLICATION_ID = p_application_id
2665: AND ENTITY_CODE = p_entity_code
2666: AND EVENT_CLASS_CODE = p_event_class_code
2667: AND TRX_ID = p_trx_id
2669:
2670: IF (g_level_procedure >= g_current_runtime_level ) THEN
2671: FND_LOG.STRING(g_level_procedure,
2672: 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2673: 'Update zx_lines_det_factors (-)');
2674: END IF;
2675:
2676: IF (g_level_procedure >= g_current_runtime_level ) THEN
2677: FND_LOG.STRING(g_level_procedure,
2712: --tax if such a tax line already exists for the transaction line
2713: --Validation for logical primary key
2714: SELECT count(*)
2715: INTO l_key_check
2716: FROM ZX_LINES_SUMMARY LS
2717: WHERE APPLICATION_ID = p_application_id
2718: AND ENTITY_CODE = p_entity_code
2719: AND EVENT_CLASS_CODE = p_event_class_code
2720: AND INTERNAL_ORGANIZATION_ID = p_internal_organization_id
2755: c_event_class_code VARCHAR2,
2756: c_entity_code VARCHAR2,
2757: c_trx_id NUMBER) IS
2758: SELECT *
2759: FROM ZX_LINES_SUMMARY
2760: WHERE application_id = c_application_id
2761: AND entity_code = c_entity_code
2762: AND event_class_code = c_event_class_code
2763: AND trx_id = c_trx_id