168: l_sum_basiscoef_qua := 0;
169: l_sum_constcoef := 0;
170:
171: -- Bug#5520167- get line amt from trx line
172: --l_line_amt:= ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_begin_index).line_amt;
173: l_line_amt:= ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(p_structure_index);
174:
175: IF p_begin_index IS NULL OR p_end_index IS NULL THEN
176: p_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
196: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
197: 'Processing Tax Line '||TO_CHAR(i));
198: END IF;
199: -- Added Condition for Bug#12884787 to skip processing for cancel tax lines
200: IF NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).cancel_flag,'N') = 'Y'
201: THEN
202: IF (g_level_statement >= g_current_runtime_level) THEN
203: FND_LOG.STRING(g_level_statement,
204: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
205: 'Canceled Tax Line ... Do Nothing.');
206: END IF;
207: NULL;
208:
209: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
210: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
212: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
213: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
206: END IF;
207: NULL;
208:
209: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
210: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
212: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
213: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
214: THEN
207: NULL;
208:
209: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
210: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
212: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
213: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
214: THEN
215: IF (g_level_statement >= g_current_runtime_level) THEN
208:
209: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
210: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
212: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
213: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
214: THEN
215: IF (g_level_statement >= g_current_runtime_level) THEN
216: FND_LOG.STRING(g_level_statement,
209: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
210: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
212: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
213: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
214: THEN
215: IF (g_level_statement >= g_current_runtime_level) THEN
216: FND_LOG.STRING(g_level_statement,
217: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
219: END IF;
220: NULL;
221:
222: ELSE
223: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
224: l_tax_rate_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id;
225: l_tax_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date;
226: l_tax_determine_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date;
227: l_taxable_basis_rule_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).Taxable_Basis_Rule_Flag;
220: NULL;
221:
222: ELSE
223: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
224: l_tax_rate_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id;
225: l_tax_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date;
226: l_tax_determine_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date;
227: l_taxable_basis_rule_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).Taxable_Basis_Rule_Flag;
228: l_def_formula := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).def_taxable_basis_formula;
221:
222: ELSE
223: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
224: l_tax_rate_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id;
225: l_tax_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date;
226: l_tax_determine_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date;
227: l_taxable_basis_rule_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).Taxable_Basis_Rule_Flag;
228: l_def_formula := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).def_taxable_basis_formula;
229:
222: ELSE
223: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
224: l_tax_rate_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id;
225: l_tax_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date;
226: l_tax_determine_date := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date;
227: l_taxable_basis_rule_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).Taxable_Basis_Rule_Flag;
228: l_def_formula := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).def_taxable_basis_formula;
229:
230: -- Do not re-determine tax_amt_included_flag if
232: -- bug 5391084: manual tax line
233: --
234: -- changed the following condition out for bug 5525890 and bug 5525816
235: -- Commented the code for Bug 7438875 to populate inclusive flag even if last_manual_entry is set to TAX_AMOUNT
236: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
237: i).orig_tax_amt_included_flag IS NULL AND
238: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
239: i).manually_entered_flag, 'N') ='N'
240: -- (
234: -- changed the following condition out for bug 5525890 and bug 5525816
235: -- Commented the code for Bug 7438875 to populate inclusive flag even if last_manual_entry is set to TAX_AMOUNT
236: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
237: i).orig_tax_amt_included_flag IS NULL AND
238: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
239: i).manually_entered_flag, 'N') ='N'
240: -- (
241: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
242: -- i).last_manual_entry, 'X') <> 'TAX_AMOUNT'
237: i).orig_tax_amt_included_flag IS NULL AND
238: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
239: i).manually_entered_flag, 'N') ='N'
240: -- (
241: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
242: -- i).last_manual_entry, 'X') <> 'TAX_AMOUNT'
243: -- OR
244: -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ctrl_total_hdr_tx_amt(p_structure_index) is not null
245: -- OR
285: -- have recalculate_tax_flg ='Y'
286:
287: CASE
288: -- 1
289: WHEN (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).recalc_required_flag <> 'Y' AND
290: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX')
291: OR
292: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry, 'X') = 'TAX_AMOUNT')
293: OR
286:
287: CASE
288: -- 1
289: WHEN (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).recalc_required_flag <> 'Y' AND
290: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX')
291: OR
292: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry, 'X') = 'TAX_AMOUNT')
293: OR
294: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
288: -- 1
289: WHEN (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).recalc_required_flag <> 'Y' AND
290: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX')
291: OR
292: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry, 'X') = 'TAX_AMOUNT')
293: OR
294: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
295: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'P')
296: THEN
290: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX')
291: OR
292: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry, 'X') = 'TAX_AMOUNT')
293: OR
294: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
295: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'P')
296: THEN
297:
298: IF (g_level_statement >= g_current_runtime_level ) THEN
315: -- inclusive tax
316: --
317: parameter_tbl(l_tax_id).tax_id := l_tax_id;
318: parameter_tbl(l_tax_id).tax_rate :=
319: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
320: parameter_tbl(l_tax_id).formula_code :=
321: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula;
322:
323: IF (g_level_statement >= g_current_runtime_level) THEN
317: parameter_tbl(l_tax_id).tax_id := l_tax_id;
318: parameter_tbl(l_tax_id).tax_rate :=
319: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
320: parameter_tbl(l_tax_id).formula_code :=
321: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula;
322:
323: IF (g_level_statement >= g_current_runtime_level) THEN
324: FND_LOG.STRING(g_level_statement,
325: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
326: 'parameter_tbl('||TO_CHAR(l_tax_id)||').formula_code : '||
327: parameter_tbl(l_tax_id).formula_code);
328: END IF;
329:
330: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_amt_included_flag = 'S'
331: THEN
332: parameter_tbl(l_tax_id).weird_indicator:= 1;
333: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
334: i).tax_amt_included_flag := 'Y';
329:
330: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_amt_included_flag = 'S'
331: THEN
332: parameter_tbl(l_tax_id).weird_indicator:= 1;
333: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
334: i).tax_amt_included_flag := 'Y';
335: ELSE
336: parameter_tbl(l_tax_id).weird_indicator:= 0;
337: END IF;
337: END IF;
338:
339: IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt_includes_tax_flag(
340: p_structure_index) = 'I' OR
341: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
342: i).tax_amt_included_flag = 'Y'
343: THEN
344: parameter_tbl(l_tax_id).incl_indicator:= 1;
345: ELSE
361:
362: parameter_tbl(l_tax_id).basiscoef:= 0;
363: parameter_tbl(l_tax_id).constcoef:= 0;
364: parameter_tbl(l_tax_id).overrideconst:=
365: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt;
366:
367: -- l_sum_basiscoef:= l_sum_basiscoef + parameter_tbl(l_tax_id).composite_incl_indicator *
368: -- parameter_tbl(l_tax_id).basiscoef * parameter_tbl(l_tax_id).tax_rate / 100;
369:
379: ' sum_constcoef: ' || l_sum_constcoef);
380: END IF;
381:
382: -- 2
383: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NOT NULL OR
384: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag = 'Y'
385: THEN
386:
387: IF (g_level_statement >= g_current_runtime_level ) THEN
380: END IF;
381:
382: -- 2
383: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NOT NULL OR
384: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag = 'Y'
385: THEN
386:
387: IF (g_level_statement >= g_current_runtime_level ) THEN
388: FND_LOG.STRING(g_level_statement,
395: -- vice versa. Also, do not process tax lines which are marked for deletion.
396: NULL;
397:
398: -- 3
399: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE ='ADJUSTED' AND
400: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX' AND
401: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_structure_index) <> 'INTERCOMPANY_TRX' --Bug 10162888
402: THEN
403:
396: NULL;
397:
398: -- 3
399: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE ='ADJUSTED' AND
400: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX' AND
401: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_structure_index) <> 'INTERCOMPANY_TRX' --Bug 10162888
402: THEN
403:
404: IF (g_level_statement >= g_current_runtime_level ) THEN
414: -- this tax line.
415: NULL;
416:
417: --WHEN
418: -- (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
419: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT')
420: --THEN
421: -- In case of an override event on tax line, where the user has overridden tax amount,
422: -- we need not calculate multiplier for that tax line, the taxable amount will be
415: NULL;
416:
417: --WHEN
418: -- (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
419: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT')
420: --THEN
421: -- In case of an override event on tax line, where the user has overridden tax amount,
422: -- we need not calculate multiplier for that tax line, the taxable amount will be
423: -- computed as tax amount / tax rate in the next loop.
423: -- computed as tax amount / tax rate in the next loop.
424: --NULL;
425:
426: -- 4
427: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' AND
428: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y' AND
429: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
430: THEN
431:
424: --NULL;
425:
426: -- 4
427: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' AND
428: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y' AND
429: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
430: THEN
431:
432: IF (g_level_statement >= g_current_runtime_level ) THEN
425:
426: -- 4
427: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' AND
428: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y' AND
429: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
430: THEN
431:
432: IF (g_level_statement >= g_current_runtime_level ) THEN
433: FND_LOG.STRING(g_level_statement,
444: NULL;
445:
446: -- Comment out for bug fix 3391186
447: --WHEN
448: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
449: -- ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
450: -- OR
451: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' )
452: --THEN
445:
446: -- Comment out for bug fix 3391186
447: --WHEN
448: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
449: -- ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
450: -- OR
451: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' )
452: --THEN
453:
447: --WHEN
448: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
449: -- ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
450: -- OR
451: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' )
452: --THEN
453:
454: -- 5
455: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
451: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' )
452: --THEN
453:
454: -- 5
455: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
456: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
457: THEN
458:
459: IF (g_level_statement >= g_current_runtime_level ) THEN
452: --THEN
453:
454: -- 5
455: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
456: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
457: THEN
458:
459: IF (g_level_statement >= g_current_runtime_level ) THEN
460: FND_LOG.STRING(g_level_statement,
470: -- in this case.
471: NULL;
472:
473: -- 6
474: WHEN (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
475: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
476: OR
477: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
478: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R')
471: NULL;
472:
473: -- 6
474: WHEN (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
475: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
476: OR
477: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
478: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R')
479: OR
473: -- 6
474: WHEN (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
475: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
476: OR
477: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
478: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R')
479: OR
480: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
481: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y' AND
476: OR
477: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
478: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R')
479: OR
480: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
481: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y' AND
482: -- Bug fix 5525890
483: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'X') <> 'TAX_AMOUNT')
484: THEN
477: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
478: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R')
479: OR
480: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
481: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y' AND
482: -- Bug fix 5525890
483: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'X') <> 'TAX_AMOUNT')
484: THEN
485:
479: OR
480: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
481: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y' AND
482: -- Bug fix 5525890
483: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'X') <> 'TAX_AMOUNT')
484: THEN
485:
486: IF (g_level_statement >= g_current_runtime_level ) THEN
487: FND_LOG.STRING(g_level_statement,
490: END IF;
491:
492: -- Initialize compounding_dep_tax_flag and compounding_tax_miss_flag
493: --
494: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).compounding_dep_tax_flag := 'N';
495: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).compounding_tax_miss_flag := 'N';
496:
497: -- In case of manual tax lines or override with last manual entry
498: -- of tax_amount, calculate the taxable amount based on tax amount
491:
492: -- Initialize compounding_dep_tax_flag and compounding_tax_miss_flag
493: --
494: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).compounding_dep_tax_flag := 'N';
495: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).compounding_tax_miss_flag := 'N';
496:
497: -- In case of manual tax lines or override with last manual entry
498: -- of tax_amount, calculate the taxable amount based on tax amount
499: -- and line amount and not using the evaluation loop.
510: p_structure_index,
511: p_event_class_rec,
512: l_tax_id,
513: NULL,
514: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date,
515: NULL,
516: NULL,
517: l_zx_result_rec,
518: p_return_status,
557: END IF;
558:
559: l_formula_id:= l_zx_result_rec.numeric_result;
560:
561: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).basis_result_id:= l_zx_result_rec.result_id;
562: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_message_basis:=
563: ZX_TDS_CALC_SERVICES_PUB_PKG.get_rep_code_id(l_zx_result_rec.result_id,
564: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_date);
565:
558:
559: l_formula_id:= l_zx_result_rec.numeric_result;
560:
561: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).basis_result_id:= l_zx_result_rec.result_id;
562: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_message_basis:=
563: ZX_TDS_CALC_SERVICES_PUB_PKG.get_rep_code_id(l_zx_result_rec.result_id,
564: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_date);
565:
566: ELSE
559: l_formula_id:= l_zx_result_rec.numeric_result;
560:
561: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).basis_result_id:= l_zx_result_rec.result_id;
562: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_message_basis:=
563: ZX_TDS_CALC_SERVICES_PUB_PKG.get_rep_code_id(l_zx_result_rec.result_id,
564: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_date);
565:
566: ELSE
567: --use cache
560:
561: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).basis_result_id:= l_zx_result_rec.result_id;
562: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_message_basis:=
563: ZX_TDS_CALC_SERVICES_PUB_PKG.get_rep_code_id(l_zx_result_rec.result_id,
564: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_date);
565:
566: ELSE
567: --use cache
568: --OPEN get_formula_code_from_rate_csr(l_tax_rate_id);
594: END IF;
595: END IF;
596:
597: --Bug 8517610
598: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
599: l_formula_code IS NULL
600: THEN
601: l_formula_code := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula;
602: END IF;
597: --Bug 8517610
598: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
599: l_formula_code IS NULL
600: THEN
601: l_formula_code := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula;
602: END IF;
603:
604: IF l_formula_code IS NULL THEN
605: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
612: RETURN;
613: END IF;
614:
615: parameter_tbl(l_tax_id).tax_id:= l_tax_id;
616: parameter_tbl(l_tax_id).tax_rate:= ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
617: parameter_tbl(l_tax_id).formula_code:= l_formula_code;
618:
619: IF (g_level_statement >= g_current_runtime_level) THEN
620: FND_LOG.STRING(g_level_statement,
624: END IF;
625:
626: -- This is the end of getting formula code
627:
628: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Tax_Amt_Included_Flag = 'S' THEN
629: parameter_tbl(l_tax_id).weird_indicator:= 1;
630: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
631: i).tax_amt_included_flag := 'Y';
632: ELSE
626: -- This is the end of getting formula code
627:
628: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Tax_Amt_Included_Flag = 'S' THEN
629: parameter_tbl(l_tax_id).weird_indicator:= 1;
630: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
631: i).tax_amt_included_flag := 'Y';
632: ELSE
633: parameter_tbl(l_tax_id).weird_indicator:= 0;
634: END IF;
634: END IF;
635:
636: IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt_includes_tax_flag(
637: p_structure_index) = 'I' OR
638: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
639: i).tax_amt_included_flag = 'Y'
640: THEN
641: parameter_tbl(l_tax_id).incl_indicator:= 1;
642: ELSE
665: -- When formula code is STANDARD_TB, the rate type should be PERCENT.
666: -- When formula code is STANDARD_QUANTITY, the rate type should be QUANTITY. Otherwise
667: -- multiplying taxable basis by tax rate will give incorrect result.
668: IF (l_formula_code = 'STANDARD_TB' AND
669: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'PERCENTAGE')
670: -- Added following condition for bug fix 5481559
671: OR
672: (l_formula_code = 'STANDARD_QUANTITY' AND
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'QUANTITY')
669: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'PERCENTAGE')
670: -- Added following condition for bug fix 5481559
671: OR
672: (l_formula_code = 'STANDARD_QUANTITY' AND
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'QUANTITY')
674: THEN
675: p_return_status:= FND_API.G_RET_STS_ERROR;
676: FND_MESSAGE.SET_NAME('ZX','ZX_RATE_FORMULA_MISMATCH');
677: FND_MESSAGE.SET_TOKEN('RATE_TYPE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type);
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'QUANTITY')
674: THEN
675: p_return_status:= FND_API.G_RET_STS_ERROR;
676: FND_MESSAGE.SET_NAME('ZX','ZX_RATE_FORMULA_MISMATCH');
677: FND_MESSAGE.SET_TOKEN('RATE_TYPE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type);
678: FND_MESSAGE.SET_TOKEN('TAX',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax );
679: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', NVL(l_Taxable_Basis_Type_Code, 'PERCENTAGE') );
680: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
681:
674: THEN
675: p_return_status:= FND_API.G_RET_STS_ERROR;
676: FND_MESSAGE.SET_NAME('ZX','ZX_RATE_FORMULA_MISMATCH');
677: FND_MESSAGE.SET_TOKEN('RATE_TYPE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type);
678: FND_MESSAGE.SET_TOKEN('TAX',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax );
679: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', NVL(l_Taxable_Basis_Type_Code, 'PERCENTAGE') );
680: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
681:
682: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
678: FND_MESSAGE.SET_TOKEN('TAX',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax );
679: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', NVL(l_Taxable_Basis_Type_Code, 'PERCENTAGE') );
680: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
681:
682: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
683: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
684: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
685: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
686:
679: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', NVL(l_Taxable_Basis_Type_Code, 'PERCENTAGE') );
680: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
681:
682: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
683: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
684: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
685: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
686:
687: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
680: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
681:
682: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
683: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
684: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
685: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
686:
687: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
688:
681:
682: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
683: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
684: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
685: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
686:
687: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
688:
689: IF (g_level_error >= g_current_runtime_level ) THEN
683: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
684: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
685: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
686:
687: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
688:
689: IF (g_level_error >= g_current_runtime_level ) THEN
690: FND_LOG.STRING(g_level_error ,
691: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
701: -- applicable. Base rate modifier is set to 1
702: parameter_tbl(l_tax_id).discount:= 0;
703: parameter_tbl(l_tax_id).base_rate_modifier:= 1;
704:
705: -- IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT'
706: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
707: --
708: -- This is a case where user has overridden tax amt on the tax engine
709: -- calculated tax. Hence do not apply taxable basis formula again, but
702: parameter_tbl(l_tax_id).discount:= 0;
703: parameter_tbl(l_tax_id).base_rate_modifier:= 1;
704:
705: -- IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT'
706: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
707: --
708: -- This is a case where user has overridden tax amt on the tax engine
709: -- calculated tax. Hence do not apply taxable basis formula again, but
710: -- only set the overrideconst to overriddne tax amt.
711: --
712: -- parameter_tbl(l_tax_id).basiscoef:= 0;
713: -- parameter_tbl(l_tax_id).constcoef:= 0;
714: -- parameter_tbl(l_tax_id).overrideconst:=
715: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt;
716: --
717: -- ELSE
718: -- parameter_tbl(l_tax_id).basiscoef:= 1;
719: -- parameter_tbl(l_tax_id).constcoef:= 0;
770: IF parameter_tbl(l_tax_id).Taxable_Basis_Type_Code <> 'ASSESSABLE_VALUE' THEN
771: -- When Taxable Basis Type is not QUANTITY but the rate type is QUANTITY
772: -- then error should be raised, otherwise the tax calculation result will be incorrect.
773: IF (parameter_tbl(l_tax_id).Taxable_Basis_Type_Code <> 'QUANTITY' AND
774: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type = 'QUANTITY')
775: OR
776: (parameter_tbl(l_tax_id).Taxable_Basis_Type_Code = 'QUANTITY' AND
777: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'QUANTITY')
778: THEN
773: IF (parameter_tbl(l_tax_id).Taxable_Basis_Type_Code <> 'QUANTITY' AND
774: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type = 'QUANTITY')
775: OR
776: (parameter_tbl(l_tax_id).Taxable_Basis_Type_Code = 'QUANTITY' AND
777: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'QUANTITY')
778: THEN
779: p_return_status:= FND_API.G_RET_STS_ERROR;
780: FND_MESSAGE.SET_NAME('ZX','ZX_RATE_FORMULA_MISMATCH');
781: FND_MESSAGE.SET_TOKEN('RATE_TYPE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type);
777: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type <> 'QUANTITY')
778: THEN
779: p_return_status:= FND_API.G_RET_STS_ERROR;
780: FND_MESSAGE.SET_NAME('ZX','ZX_RATE_FORMULA_MISMATCH');
781: FND_MESSAGE.SET_TOKEN('RATE_TYPE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type);
782: FND_MESSAGE.SET_TOKEN('TAX',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax );
783: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', parameter_tbl(l_tax_id).Taxable_Basis_Type_Code);
784: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
785:
778: THEN
779: p_return_status:= FND_API.G_RET_STS_ERROR;
780: FND_MESSAGE.SET_NAME('ZX','ZX_RATE_FORMULA_MISMATCH');
781: FND_MESSAGE.SET_TOKEN('RATE_TYPE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_type);
782: FND_MESSAGE.SET_TOKEN('TAX',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax );
783: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', parameter_tbl(l_tax_id).Taxable_Basis_Type_Code);
784: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
785:
786: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
782: FND_MESSAGE.SET_TOKEN('TAX',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax );
783: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', parameter_tbl(l_tax_id).Taxable_Basis_Type_Code);
784: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
785:
786: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
787: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
788: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
789: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
790:
783: FND_MESSAGE.SET_TOKEN('TAXABLE_BASIS_TYPE', parameter_tbl(l_tax_id).Taxable_Basis_Type_Code);
784: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
785:
786: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
787: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
788: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
789: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
790:
791: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
784: FND_MESSAGE.SET_TOKEN('FORMULA_CODE', l_formula_code );
785:
786: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
787: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
788: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
789: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
790:
791: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
792:
785:
786: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
787: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
788: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
789: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
790:
791: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
792:
793: IF (g_level_error >= g_current_runtime_level ) THEN
787: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
788: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
789: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
790:
791: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
792:
793: IF (g_level_error >= g_current_runtime_level ) THEN
794: FND_LOG.STRING(g_level_error ,
795: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
851:
852: parameter_tbl(l_tax_id).discount:= nvl(l_discount_amt,0);
853: -- end of discount / charge
854:
855: --IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT'
856: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
857:
858: -- This is a case where user has overridden tax amt on the tax engine
859: -- calculated tax. Hence do not apply taxable basis formula again, but
852: parameter_tbl(l_tax_id).discount:= nvl(l_discount_amt,0);
853: -- end of discount / charge
854:
855: --IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT'
856: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
857:
858: -- This is a case where user has overridden tax amt on the tax engine
859: -- calculated tax. Hence do not apply taxable basis formula again, but
860: -- only set the overrideconst to overridden tax amt.
860: -- only set the overrideconst to overridden tax amt.
861: -- parameter_tbl(l_tax_id).basiscoef:= 0;
862: -- parameter_tbl(l_tax_id).constcoef:= 0;
863: -- parameter_tbl(l_tax_id).overrideconst:=
864: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt;
865: --ELSE
866:
867: parameter_tbl(l_tax_id).basiscoef := parameter_tbl(l_tax_id).base_rate_modifier;
868: parameter_tbl(l_tax_id).constcoef := parameter_tbl(l_tax_id).discount;
935: p_return_status:= FND_API.G_RET_STS_ERROR;
936: FND_MESSAGE.SET_NAME('ZX','ZX_COMPND_TAX_NOT_FOUND');
937: FND_MESSAGE.SET_TOKEN('TAX',l_compounding_tax);
938: FND_MESSAGE.SET_TOKEN('FORMULA_CODE',l_formula_code);
939: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
940:
941: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
942: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
943: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
937: FND_MESSAGE.SET_TOKEN('TAX',l_compounding_tax);
938: FND_MESSAGE.SET_TOKEN('FORMULA_CODE',l_formula_code);
939: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
940:
941: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
942: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
943: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
944: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
945:
938: FND_MESSAGE.SET_TOKEN('FORMULA_CODE',l_formula_code);
939: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
940:
941: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
942: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
943: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
944: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
945:
946: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
939: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
940:
941: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
942: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
943: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
944: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
945:
946: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
947:
940:
941: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
942: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
943: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
944: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
945:
946: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
947:
948: IF (g_level_error >= g_current_runtime_level ) THEN
942: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
943: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
944: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
945:
946: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
947:
948: IF (g_level_error >= g_current_runtime_level ) THEN
949: FND_LOG.STRING(g_level_error ,
950: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
974: -- Bug 8512848 - Adding the following condition for Quantity Based Taxes
975: IF parameter_tbl(l_compounding_tax_id).formula_code = 'STANDARD_QUANTITY'
976: AND l_line_amt <> 0 THEN -- Bug8840197
977: FOR j IN p_begin_index..p_end_index LOOP
978: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(j).tax_id = to_char(l_compounding_tax_id) THEN
979: l_source := j;
980: EXIT;
981: END IF;
982: END LOOP;
983:
984: parameter_tbl(l_tax_id).basiscoef :=
985: parameter_tbl(l_tax_id).basiscoef +
986: parameter_tbl(l_compounding_tax_id).basiscoef *
987: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).trx_line_quantity *
988: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).tax_rate / l_line_amt) * l_compounding_factor;
989:
990: parameter_tbl(l_tax_id).constcoef :=
991: parameter_tbl(l_tax_id).constcoef +
984: parameter_tbl(l_tax_id).basiscoef :=
985: parameter_tbl(l_tax_id).basiscoef +
986: parameter_tbl(l_compounding_tax_id).basiscoef *
987: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).trx_line_quantity *
988: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).tax_rate / l_line_amt) * l_compounding_factor;
989:
990: parameter_tbl(l_tax_id).constcoef :=
991: parameter_tbl(l_tax_id).constcoef +
992: parameter_tbl(l_compounding_tax_id).constcoef *
989:
990: parameter_tbl(l_tax_id).constcoef :=
991: parameter_tbl(l_tax_id).constcoef +
992: parameter_tbl(l_compounding_tax_id).constcoef *
993: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).trx_line_quantity *
994: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).tax_rate / l_line_amt) * l_compounding_factor +
995: parameter_tbl(l_compounding_tax_id).overrideconst * l_compounding_factor;
996: ELSE
997: parameter_tbl(l_tax_id).basiscoef :=
990: parameter_tbl(l_tax_id).constcoef :=
991: parameter_tbl(l_tax_id).constcoef +
992: parameter_tbl(l_compounding_tax_id).constcoef *
993: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).trx_line_quantity *
994: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(l_source).tax_rate / l_line_amt) * l_compounding_factor +
995: parameter_tbl(l_compounding_tax_id).overrideconst * l_compounding_factor;
996: ELSE
997: parameter_tbl(l_tax_id).basiscoef :=
998: parameter_tbl(l_tax_id).basiscoef +
1025: p_return_status:= FND_API.G_RET_STS_ERROR;
1026: FND_MESSAGE.SET_NAME('ZX','ZX_COMPND_TAX_NOT_FOUND');
1027: FND_MESSAGE.SET_TOKEN('TAX',l_compounding_tax);
1028: FND_MESSAGE.SET_TOKEN('FORMULA_CODE',l_formula_code);
1029: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
1030:
1031: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1032: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1033: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1027: FND_MESSAGE.SET_TOKEN('TAX',l_compounding_tax);
1028: FND_MESSAGE.SET_TOKEN('FORMULA_CODE',l_formula_code);
1029: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
1030:
1031: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1032: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1033: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1034: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1035:
1028: FND_MESSAGE.SET_TOKEN('FORMULA_CODE',l_formula_code);
1029: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
1030:
1031: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1032: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1033: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1034: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1035:
1036: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1029: FND_MESSAGE.SET_TOKEN('TRANSACTION_DATE',ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
1030:
1031: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1032: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1033: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1034: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1035:
1036: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1037:
1030:
1031: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1032: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1033: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1034: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1035:
1036: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1037:
1038: IF (g_level_error >= g_current_runtime_level ) THEN
1032: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1033: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1034: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1035:
1036: ZX_API_PUB.add_msg(ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1037:
1038: IF (g_level_error >= g_current_runtime_level ) THEN
1039: FND_LOG.STRING(g_level_error,
1040: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1047: RETURN;
1048: ELSE
1049: -- bug 3644541: set compounding_tax_miss_flag
1050: --
1051: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1052: i).compounding_tax_miss_flag := 'Y';
1053: END IF;
1054: END IF; -- parameter_tbl.exists
1055:
1074: AND l_line_amt <> 0 THEN
1075: l_sum_basiscoef_qua:= l_sum_basiscoef_qua +
1076: (parameter_tbl(l_tax_id).composite_incl_indicator
1077: * parameter_tbl(l_tax_id).basiscoef
1078: * ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_quantity
1079: * parameter_tbl(l_tax_id).tax_rate
1080: );
1081: l_sum_constcoef:= l_sum_constcoef + parameter_tbl(l_tax_id).composite_incl_indicator *
1082: parameter_tbl(l_tax_id).constcoef *
1079: * parameter_tbl(l_tax_id).tax_rate
1080: );
1081: l_sum_constcoef:= l_sum_constcoef + parameter_tbl(l_tax_id).composite_incl_indicator *
1082: parameter_tbl(l_tax_id).constcoef *
1083: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_quantity
1084: * parameter_tbl(l_tax_id).tax_rate / l_line_amt)
1085: + parameter_tbl(l_tax_id).composite_incl_indicator *
1086: parameter_tbl(l_tax_id).overrideconst;
1087: ELSE
1150: 'Starting Loop for Updating columns ...');
1151: END IF;
1152:
1153: FOR i IN p_begin_index..p_end_index LOOP
1154: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
1155:
1156: -- Update the columns only for those lines which were not marked for
1157: -- deletion and which were not marked for claculation by providers
1158: -- and which are not manual tax lines copied from reference document.
1168:
1169: CASE
1170: -- 1
1171: -- Added Condition for Bug#12884787 to skip processing for cancel tax lines
1172: WHEN NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).cancel_flag,'N') = 'Y'
1173: THEN
1174: IF (g_level_statement >= g_current_runtime_level ) THEN
1175: FND_LOG.STRING(g_level_statement,
1176: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1179: NULL;
1180:
1181: -- 2
1182: -- Added Condition for Bug#10184087 to skip processing for zero amount ref tax lines
1183: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
1184: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
1185: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
1186: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
1187: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
1180:
1181: -- 2
1182: -- Added Condition for Bug#10184087 to skip processing for zero amount ref tax lines
1183: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
1184: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
1185: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
1186: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
1187: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
1188: THEN
1181: -- 2
1182: -- Added Condition for Bug#10184087 to skip processing for zero amount ref tax lines
1183: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
1184: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
1185: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
1186: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
1187: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
1188: THEN
1189: IF (g_level_statement >= g_current_runtime_level) THEN
1182: -- Added Condition for Bug#10184087 to skip processing for zero amount ref tax lines
1183: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
1184: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
1185: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
1186: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
1187: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
1188: THEN
1189: IF (g_level_statement >= g_current_runtime_level) THEN
1190: FND_LOG.STRING(g_level_statement,
1183: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
1184: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
1185: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
1186: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
1187: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
1188: THEN
1189: IF (g_level_statement >= g_current_runtime_level) THEN
1190: FND_LOG.STRING(g_level_statement,
1191: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1193: END IF;
1194: NULL;
1195:
1196: -- 3
1197: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NOT NULL OR
1198: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag = 'Y'
1199: THEN
1200: IF (g_level_statement >= g_current_runtime_level ) THEN
1201: FND_LOG.STRING(g_level_statement,
1194: NULL;
1195:
1196: -- 3
1197: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NOT NULL OR
1198: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag = 'Y'
1199: THEN
1200: IF (g_level_statement >= g_current_runtime_level ) THEN
1201: FND_LOG.STRING(g_level_statement,
1202: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1206:
1207: -- Following 2 CASE conditions were present in the upper loop but were missing here
1208: -- added code to do nothing in case of these 2 conditions for Bug#13579802
1209: -- 4
1210: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE ='ADJUSTED' AND
1211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX' AND
1212: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_structure_index) <> 'INTERCOMPANY_TRX'
1213: THEN
1214: IF (g_level_statement >= g_current_runtime_level ) THEN
1207: -- Following 2 CASE conditions were present in the upper loop but were missing here
1208: -- added code to do nothing in case of these 2 conditions for Bug#13579802
1209: -- 4
1210: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE ='ADJUSTED' AND
1211: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX' AND
1212: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(p_structure_index) <> 'INTERCOMPANY_TRX'
1213: THEN
1214: IF (g_level_statement >= g_current_runtime_level ) THEN
1215: FND_LOG.STRING(g_level_statement,
1218: END IF;
1219: NULL;
1220:
1221: -- 5
1222: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' AND
1223: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y' AND
1224: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
1225: THEN
1226: IF (g_level_statement >= g_current_runtime_level ) THEN
1219: NULL;
1220:
1221: -- 5
1222: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' AND
1223: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y' AND
1224: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
1225: THEN
1226: IF (g_level_statement >= g_current_runtime_level ) THEN
1227: FND_LOG.STRING(g_level_statement,
1220:
1221: -- 5
1222: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG = 'Y' AND
1223: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y' AND
1224: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
1225: THEN
1226: IF (g_level_statement >= g_current_runtime_level ) THEN
1227: FND_LOG.STRING(g_level_statement,
1228: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1230: END IF;
1231: NULL;
1232:
1233: -- 6
1234: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'APPLIED_FROM' AND
1235: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'P' AND
1236: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX'
1237: THEN
1238: -- Proration Scenarios:
1232:
1233: -- 6
1234: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'APPLIED_FROM' AND
1235: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'P' AND
1236: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX'
1237: THEN
1238: -- Proration Scenarios:
1239: -- In the following cases, taxable basis is not calculated using taxable
1240: -- basis formula, but proration is done based on reference / applied from
1262: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1263: 'Case 6 ... Updating columns');
1264: END IF;
1265:
1266: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt <> 0 THEN
1267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1268: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt *
1269: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt /
1270: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt );
1263: 'Case 6 ... Updating columns');
1264: END IF;
1265:
1266: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt <> 0 THEN
1267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1268: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt *
1269: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt /
1270: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt );
1271:
1264: END IF;
1265:
1266: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt <> 0 THEN
1267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1268: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt *
1269: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt /
1270: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt );
1271:
1272: ELSE -- other_doc_line_amt = 0 OR IS NULL
1265:
1266: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt <> 0 THEN
1267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1268: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt *
1269: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt /
1270: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt );
1271:
1272: ELSE -- other_doc_line_amt = 0 OR IS NULL
1273: -- copy unrounded_taxable_amt from reference document
1266: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt <> 0 THEN
1267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1268: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt *
1269: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt /
1270: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt );
1271:
1272: ELSE -- other_doc_line_amt = 0 OR IS NULL
1273: -- copy unrounded_taxable_amt from reference document
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt :=
1270: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_amt );
1271:
1272: ELSE -- other_doc_line_amt = 0 OR IS NULL
1273: -- copy unrounded_taxable_amt from reference document
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt :=
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt;
1276: END IF;
1277:
1278: -- 7
1271:
1272: ELSE -- other_doc_line_amt = 0 OR IS NULL
1273: -- copy unrounded_taxable_amt from reference document
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt :=
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt;
1276: END IF;
1277:
1278: -- 7
1279: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_line_taxable_amt;
1276: END IF;
1277:
1278: -- 7
1279: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
1280: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
1281: THEN
1282: -- Taxable amounts should have been set to zero in applicability process.
1283: -- hence no processing required here.
1276: END IF;
1277:
1278: -- 7
1279: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' AND
1280: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
1281: THEN
1282: -- Taxable amounts should have been set to zero in applicability process.
1283: -- hence no processing required here.
1284: IF (g_level_statement >= g_current_runtime_level ) THEN
1288: END IF;
1289: NULL;
1290:
1291: -- 8
1292: WHEN NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag,'N') <> 'Y' AND
1293: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NULL AND
1294: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
1295: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
1296: OR
1289: NULL;
1290:
1291: -- 8
1292: WHEN NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag,'N') <> 'Y' AND
1293: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NULL AND
1294: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
1295: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
1296: OR
1297: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
1290:
1291: -- 8
1292: WHEN NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag,'N') <> 'Y' AND
1293: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NULL AND
1294: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
1295: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
1296: OR
1297: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
1298: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y')
1291: -- 8
1292: WHEN NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag,'N') <> 'Y' AND
1293: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NULL AND
1294: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
1295: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
1296: OR
1297: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
1298: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y')
1299: THEN
1293: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id IS NULL AND
1294: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
1295: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
1296: OR
1297: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
1298: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y')
1299: THEN
1300: IF (g_level_statement >= g_current_runtime_level ) THEN
1301: FND_LOG.STRING(g_level_statement,
1294: (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag,'N') <> 'Y' OR
1295: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).COPIED_FROM_OTHER_DOC_FLAG,'N') <> 'Y')
1296: OR
1297: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' AND
1298: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'Y')
1299: THEN
1300: IF (g_level_statement >= g_current_runtime_level ) THEN
1301: FND_LOG.STRING(g_level_statement,
1302: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1320: -- tax lines because there cannot be more than one LIVE non-
1321: -- migratded tax lines for a particular Regime and Tax
1322: -- (2) the taxable_basis_formula of migrated tax lines should be
1323: -- retained
1324: IF NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).historical_flag,'N') <> 'Y'
1325: THEN
1326: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula
1327: := parameter_tbl(l_tax_id).formula_code;
1328: END IF;
1322: -- (2) the taxable_basis_formula of migrated tax lines should be
1323: -- retained
1324: IF NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).historical_flag,'N') <> 'Y'
1325: THEN
1326: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula
1327: := parameter_tbl(l_tax_id).formula_code;
1328: END IF;
1329:
1330: IF (g_level_statement >= g_current_runtime_level ) THEN
1330: IF (g_level_statement >= g_current_runtime_level ) THEN
1331: FND_LOG.STRING(g_level_statement,
1332: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1333: 'Taxable_Basis_formula : '||
1334: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula);
1335: END IF;
1336:
1337: IF parameter_tbl(l_tax_id).formula_code = 'STANDARD_QUANTITY' THEN
1338: -- For quantity based taxes, the calculation is not performed using
1341: -- For quantity based taxes, taxable amt is set equal to quantity
1342: -- although the field name indicates it is amt.
1343:
1344: parameter_tbl(l_tax_id).taxable_amt:=
1345: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_quantity;
1346:
1347: parameter_tbl(l_tax_id).tax_amt:= parameter_tbl(l_tax_id).taxable_amt *
1348: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate; --Bug 5185614
1349:
1344: parameter_tbl(l_tax_id).taxable_amt:=
1345: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_quantity;
1346:
1347: parameter_tbl(l_tax_id).tax_amt:= parameter_tbl(l_tax_id).taxable_amt *
1348: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate; --Bug 5185614
1349:
1350: ELSIF parameter_tbl(l_tax_id).Taxable_Basis_Type_Code = 'ASSESSABLE_VALUE' then
1351: -- For ASSESSABLE_VALUE formula, the taxable amt is the line assessable value.
1352: parameter_tbl(l_tax_id).taxable_amt:=
1349:
1350: ELSIF parameter_tbl(l_tax_id).Taxable_Basis_Type_Code = 'ASSESSABLE_VALUE' then
1351: -- For ASSESSABLE_VALUE formula, the taxable amt is the line assessable value.
1352: parameter_tbl(l_tax_id).taxable_amt:=
1353: nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_assessable_value,
1354: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt);
1355:
1356: parameter_tbl(l_tax_id).tax_amt:= parameter_tbl(l_tax_id).taxable_amt *
1357: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate / 100;
1350: ELSIF parameter_tbl(l_tax_id).Taxable_Basis_Type_Code = 'ASSESSABLE_VALUE' then
1351: -- For ASSESSABLE_VALUE formula, the taxable amt is the line assessable value.
1352: parameter_tbl(l_tax_id).taxable_amt:=
1353: nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_assessable_value,
1354: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt);
1355:
1356: parameter_tbl(l_tax_id).tax_amt:= parameter_tbl(l_tax_id).taxable_amt *
1357: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate / 100;
1358:
1353: nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_assessable_value,
1354: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt);
1355:
1356: parameter_tbl(l_tax_id).tax_amt:= parameter_tbl(l_tax_id).taxable_amt *
1357: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate / 100;
1358:
1359: ELSE
1360: parameter_tbl(l_tax_id).taxable_amt:= l_common_comp_base *
1361: parameter_tbl(l_tax_id).basiscoef
1366: + parameter_tbl(l_tax_id).overrideconst;
1367:
1368: END IF;
1369:
1370: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IS NULL OR
1371: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry <> 'TAX_AMOUNT' THEN
1372:
1373: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:= parameter_tbl(l_tax_id).taxable_amt;
1374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt:= parameter_tbl(l_tax_id).tax_amt;
1367:
1368: END IF;
1369:
1370: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IS NULL OR
1371: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry <> 'TAX_AMOUNT' THEN
1372:
1373: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:= parameter_tbl(l_tax_id).taxable_amt;
1374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt:= parameter_tbl(l_tax_id).tax_amt;
1375:
1369:
1370: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IS NULL OR
1371: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry <> 'TAX_AMOUNT' THEN
1372:
1373: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:= parameter_tbl(l_tax_id).taxable_amt;
1374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt:= parameter_tbl(l_tax_id).tax_amt;
1375:
1376: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT' THEN
1377: -- bug 5237144:
1370: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IS NULL OR
1371: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry <> 'TAX_AMOUNT' THEN
1372:
1373: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:= parameter_tbl(l_tax_id).taxable_amt;
1374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt:= parameter_tbl(l_tax_id).tax_amt;
1375:
1376: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT' THEN
1377: -- bug 5237144:
1378: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
1372:
1373: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:= parameter_tbl(l_tax_id).taxable_amt;
1374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt:= parameter_tbl(l_tax_id).tax_amt;
1375:
1376: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT' THEN
1377: -- bug 5237144:
1378: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
1379:
1380: --OPEN getAdhocInfo(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id);
1374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt:= parameter_tbl(l_tax_id).tax_amt;
1375:
1376: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT' THEN
1377: -- bug 5237144:
1378: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
1379:
1380: --OPEN getAdhocInfo(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id);
1381: --FETCH getAdhocInfo into l_adj_for_adhoc_amt_code, l_allow_adhoc_tax_rate_flag;
1382: --IF getAdhocInfo%NOTFOUND THEN
1376: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_AMOUNT' THEN
1377: -- bug 5237144:
1378: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX' THEN
1379:
1380: --OPEN getAdhocInfo(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id);
1381: --FETCH getAdhocInfo into l_adj_for_adhoc_amt_code, l_allow_adhoc_tax_rate_flag;
1382: --IF getAdhocInfo%NOTFOUND THEN
1383: -- close getAdhocInfo;
1384: -- p_return_status := FND_API.G_RET_STS_ERROR;
1385: -- IF (g_level_error >= g_current_runtime_level ) THEN
1386: -- FND_LOG.STRING(g_level_error,
1387: -- 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1388: -- 'No Data Found for tax_rate_code: '||
1389: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code ||
1390: -- ' tax_rate_id: ' ||
1391: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id );
1392: -- FND_LOG.STRING(g_level_error,
1393: -- 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis.END',
1387: -- 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1388: -- 'No Data Found for tax_rate_code: '||
1389: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code ||
1390: -- ' tax_rate_id: ' ||
1391: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id );
1392: -- FND_LOG.STRING(g_level_error,
1393: -- 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis.END',
1394: -- 'ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis (-)');
1395: -- END IF;
1397: --END IF;
1398: --CLOSE getAdhocInfo;
1399:
1400: ZX_TDS_UTILITIES_PKG.get_tax_rate_info (
1401: p_tax_rate_id => ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id,
1402: p_tax_rate_rec => l_tax_rate_rec,
1403: p_return_status => p_return_status,
1404: p_error_buffer => p_error_buffer);
1405:
1422: END IF;
1423:
1424: IF l_allow_adhoc_tax_rate_flag = 'N' OR
1425: (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAXABLE_BASIS') OR
1426: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag, 'N') = 'Y'
1427: THEN
1428: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate <> 0 THEN
1429: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt IS NULL THEN
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1424: IF l_allow_adhoc_tax_rate_flag = 'N' OR
1425: (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAXABLE_BASIS') OR
1426: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag, 'N') = 'Y'
1427: THEN
1428: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate <> 0 THEN
1429: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt IS NULL THEN
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1431: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1432: END IF;
1425: (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAXABLE_BASIS') OR
1426: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag, 'N') = 'Y'
1427: THEN
1428: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate <> 0 THEN
1429: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt IS NULL THEN
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1431: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1432: END IF;
1433: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1426: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag, 'N') = 'Y'
1427: THEN
1428: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate <> 0 THEN
1429: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt IS NULL THEN
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1431: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1432: END IF;
1433: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1434: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt /
1427: THEN
1428: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate <> 0 THEN
1429: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt IS NULL THEN
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1431: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1432: END IF;
1433: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1434: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt /
1435: --Start Bug 7310806
1429: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt IS NULL THEN
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1431: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1432: END IF;
1433: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1434: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt /
1435: --Start Bug 7310806
1436: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate * 100;
1437: --parameter_tbl(l_tax_id).tax_rate * 100;
1430: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_taxable_amt :=
1431: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1432: END IF;
1433: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1434: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt /
1435: --Start Bug 7310806
1436: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate * 100;
1437: --parameter_tbl(l_tax_id).tax_rate * 100;
1438: --End Bug 7310806
1432: END IF;
1433: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt:=
1434: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt /
1435: --Start Bug 7310806
1436: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate * 100;
1437: --parameter_tbl(l_tax_id).tax_rate * 100;
1438: --End Bug 7310806
1439:
1440: -- ensuring that PRORATED_TB is set for manual tax lines.
1437: --parameter_tbl(l_tax_id).tax_rate * 100;
1438: --End Bug 7310806
1439:
1440: -- ensuring that PRORATED_TB is set for manual tax lines.
1441: IF NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag,'N') = 'Y' THEN
1442: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula:= 'PRORATED_TB';
1443:
1444: IF (g_level_statement >= g_current_runtime_level ) THEN
1445: FND_LOG.STRING(g_level_statement,
1438: --End Bug 7310806
1439:
1440: -- ensuring that PRORATED_TB is set for manual tax lines.
1441: IF NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag,'N') = 'Y' THEN
1442: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula:= 'PRORATED_TB';
1443:
1444: IF (g_level_statement >= g_current_runtime_level ) THEN
1445: FND_LOG.STRING(g_level_statement,
1446: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1444: IF (g_level_statement >= g_current_runtime_level ) THEN
1445: FND_LOG.STRING(g_level_statement,
1446: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1447: 'Manual Tax Line. Set Taxable_Basis_formula to '||
1448: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_basis_formula);
1449: END IF;
1450: END IF;
1451:
1452: ELSE
1452: ELSE
1453: -- when tax_rate = 0, unrounded_tax_amt = 0, do nothing.
1454: -- Condition added for Bug#9436262
1455: -- skip validation for historical_flag = 'Y', manually_entered_flag = 'Y'
1456: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt <> 0
1457: AND NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).historical_flag,'N') = 'Y'
1458: AND NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag,'N') = 'Y' THEN
1459: IF (g_level_statement >= g_current_runtime_level ) THEN
1460: FND_LOG.STRING(g_level_statement,
1453: -- when tax_rate = 0, unrounded_tax_amt = 0, do nothing.
1454: -- Condition added for Bug#9436262
1455: -- skip validation for historical_flag = 'Y', manually_entered_flag = 'Y'
1456: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt <> 0
1457: AND NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).historical_flag,'N') = 'Y'
1458: AND NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag,'N') = 'Y' THEN
1459: IF (g_level_statement >= g_current_runtime_level ) THEN
1460: FND_LOG.STRING(g_level_statement,
1461: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis',
1454: -- Condition added for Bug#9436262
1455: -- skip validation for historical_flag = 'Y', manually_entered_flag = 'Y'
1456: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt <> 0
1457: AND NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).historical_flag,'N') = 'Y'
1458: AND NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag,'N') = 'Y' THEN
1459: IF (g_level_statement >= g_current_runtime_level ) THEN
1460: FND_LOG.STRING(g_level_statement,
1461: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis',
1462: 'Tax_Rate = 0, Unrounded_tax_amt <> 0, Historical_Flag = Y, '||
1463: 'Manually_entered_flag = Y. Skip Validation.');
1464: END IF;
1465:
1466: -- Error out when Tax_rate = 0, unrounded_tax_amt <> 0.
1467: ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt <> 0 THEN
1468: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR; -- 8568734
1469: IF (g_level_error >= g_current_runtime_level ) THEN
1470: FND_LOG.STRING(g_level_error,
1471: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis',
1479: 'ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis (-)');
1480: END IF;
1481: RETURN;
1482: END IF;
1483: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate
1484:
1485: ELSIF (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAX_RATE')
1486: THEN
1487: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt <> 0 THEN
1483: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate
1484:
1485: ELSIF (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAX_RATE')
1486: THEN
1487: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt <> 0 THEN
1488: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate IS NULL THEN
1489: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate :=
1490: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
1491: END IF;
1484:
1485: ELSIF (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAX_RATE')
1486: THEN
1487: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt <> 0 THEN
1488: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate IS NULL THEN
1489: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate :=
1490: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
1491: END IF;
1492:
1485: ELSIF (l_allow_adhoc_tax_rate_flag = 'Y' AND l_adj_for_adhoc_amt_code = 'TAX_RATE')
1486: THEN
1487: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt <> 0 THEN
1488: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate IS NULL THEN
1489: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate :=
1490: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
1491: END IF;
1492:
1493: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate :=
1486: THEN
1487: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt <> 0 THEN
1488: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate IS NULL THEN
1489: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate :=
1490: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
1491: END IF;
1492:
1493: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate :=
1494: ROUND(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt/
1489: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).orig_tax_rate :=
1490: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
1491: END IF;
1492:
1493: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate :=
1494: ROUND(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt/
1495: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt*100, 6);
1496:
1497: ELSE
1490: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate;
1491: END IF;
1492:
1493: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate :=
1494: ROUND(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt/
1495: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt*100, 6);
1496:
1497: ELSE
1498: -- when Taxable_amt = 0, unrounded_tax_amt = 0, do nothing.
1491: END IF;
1492:
1493: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate :=
1494: ROUND(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt/
1495: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt*100, 6);
1496:
1497: ELSE
1498: -- when Taxable_amt = 0, unrounded_tax_amt = 0, do nothing.
1499: -- Error out when Taxable_amt = 0, unrounded_tax_amt <> 0.
1496:
1497: ELSE
1498: -- when Taxable_amt = 0, unrounded_tax_amt = 0, do nothing.
1499: -- Error out when Taxable_amt = 0, unrounded_tax_amt <> 0.
1500: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt <> 0 THEN
1501: p_return_status := FND_API.G_RET_STS_ERROR;
1502: IF (g_level_error >= g_current_runtime_level ) THEN
1503: FND_LOG.STRING(g_level_error,
1504: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.get_taxable_basis',
1513: END IF;
1514: RETURN;
1515: END IF;
1516:
1517: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt
1518: END IF;
1519:
1520: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry
1521:
1516:
1517: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt
1518: END IF;
1519:
1520: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry
1521:
1522: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_base_modifier_rate:=
1523: parameter_tbl(l_tax_id).base_rate_modifier;
1524: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Tax_Flag:=
1518: END IF;
1519:
1520: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry
1521:
1522: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_base_modifier_rate:=
1523: parameter_tbl(l_tax_id).base_rate_modifier;
1524: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Tax_Flag:=
1525: parameter_tbl(l_tax_id).compounding_flg;
1526: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Dep_Tax_Flag:=
1520: END IF; -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry
1521:
1522: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_base_modifier_rate:=
1523: parameter_tbl(l_tax_id).base_rate_modifier;
1524: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Tax_Flag:=
1525: parameter_tbl(l_tax_id).compounding_flg;
1526: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Dep_Tax_Flag:=
1527: parameter_tbl(l_tax_id).compounding_dep_flg;
1528:
1522: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_base_modifier_rate:=
1523: parameter_tbl(l_tax_id).base_rate_modifier;
1524: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Tax_Flag:=
1525: parameter_tbl(l_tax_id).compounding_flg;
1526: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Dep_Tax_Flag:=
1527: parameter_tbl(l_tax_id).compounding_dep_flg;
1528:
1529: -- 9
1530: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' THEN
1526: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Compounding_Dep_Tax_Flag:=
1527: parameter_tbl(l_tax_id).compounding_dep_flg;
1528:
1529: -- 9
1530: WHEN ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y' THEN
1531: IF (g_level_statement >= g_current_runtime_level ) THEN
1532: FND_LOG.STRING(g_level_statement,
1533: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.Get_taxable_basis',
1534: 'Case 9 ... Do Nothing');
1547:
1548: -- polpulate tax_amt_included_flag and compounding_tax_flag in
1549: -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl
1550: --
1551: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1552: i).tax_amt_included_flag = 'Y' THEN
1553: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_amt_included_flag(
1554: p_structure_index) := 'Y';
1555: END IF;
1553: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_amt_included_flag(
1554: p_structure_index) := 'Y';
1555: END IF;
1556:
1557: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1558: i).compounding_dep_tax_flag = 'Y' THEN
1559: ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.compounding_tax_flag(
1560: p_structure_index) := 'Y';
1561: END IF;
1628: --
1629: IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt_includes_tax_flag(
1630: p_structure_index) = 'A'
1631: THEN
1632: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1633: -- p_tax_line_index).tax_amt_included_flag := 'Y';
1634: IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_structure_index) = 200
1635: AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_structure_index) = 'EXPENSE REPORTS' THEN
1636: ZX_TDS_UTILITIES_PKG.get_tax_rate_info (
1633: -- p_tax_line_index).tax_amt_included_flag := 'Y';
1634: IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(p_structure_index) = 200
1635: AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(p_structure_index) = 'EXPENSE REPORTS' THEN
1636: ZX_TDS_UTILITIES_PKG.get_tax_rate_info (
1637: p_tax_rate_id => ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1638: p_tax_line_index).tax_rate_id,
1639: p_tax_rate_rec => l_tax_rate_rec,
1640: p_return_status => p_return_status,
1641: p_error_buffer => p_error_buffer);
1648:
1649: IF l_inclusive_tax_flag IS NOT NULL THEN
1650: -- populate inclusive_tax_flag onto detail tax line
1651: --
1652: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1653: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1654:
1655: IF g_level_statement >= g_current_runtime_level THEN
1656: FND_LOG.STRING(g_level_statement,
1657: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.populate_inclusive_tax_flag',
1658: 'Get Inclusive_tax_flag from Tax Rate: ' || l_inclusive_tax_flag);
1659: END IF;
1660: ELSE
1661: IF NVL(ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1662: p_tax_line_index).tax_id).def_inclusive_tax_flag, 'X') <> 'N' THEN
1663: l_inclusive_tax_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(
1664: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1665: p_tax_line_index).tax_id).def_inclusive_tax_flag;
1660: ELSE
1661: IF NVL(ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1662: p_tax_line_index).tax_id).def_inclusive_tax_flag, 'X') <> 'N' THEN
1663: l_inclusive_tax_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(
1664: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1665: p_tax_line_index).tax_id).def_inclusive_tax_flag;
1666: ELSE
1667: l_inclusive_tax_flag := 'Y';
1668: END IF;
1666: ELSE
1667: l_inclusive_tax_flag := 'Y';
1668: END IF;
1669: IF l_inclusive_tax_flag IS NOT NULL THEN
1670: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1671: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1672:
1673: IF g_level_statement >= g_current_runtime_level THEN
1674: FND_LOG.STRING(g_level_statement,
1678: ELSE
1679: -- Bug 4778841: default l_inclusive_tax_flag to 'Y' when it is NULL
1680: --
1681: l_inclusive_tax_flag := 'Y';
1682: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1683: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1684:
1685: IF g_level_statement >= g_current_runtime_level THEN
1686: FND_LOG.STRING(g_level_statement,
1689: END IF;
1690: END IF; -- tax_amt_included_flag is available from tax
1691: END IF; -- tax_amt_included_flag is available from tax rate
1692: ELSE
1693: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1694: p_tax_line_index).tax_amt_included_flag := 'Y';
1695: END IF; -- check for special inclusive applicability for expense reports only
1696:
1697: ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt_includes_tax_flag(
1696:
1697: ELSIF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt_includes_tax_flag(
1698: p_structure_index) = 'N'
1699: THEN
1700: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1701: p_tax_line_index).tax_amt_included_flag := 'N';
1702:
1703: ELSIF ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.line_amt_includes_tax_flag(
1704: p_structure_index) IN ('S', 'I')
1707: -- Get tax_amt_included_flag from tax rate
1708: --
1709: -- use cache
1710: -- OPEN get_inclusive_flag_from_rate(
1711: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_id);
1712: -- FETCH get_inclusive_flag_from_rate INTO l_inclusive_tax_flag;
1713: -- CLOSE get_inclusive_flag_from_rate;
1714:
1715: ZX_TDS_UTILITIES_PKG.get_tax_rate_info (
1712: -- FETCH get_inclusive_flag_from_rate INTO l_inclusive_tax_flag;
1713: -- CLOSE get_inclusive_flag_from_rate;
1714:
1715: ZX_TDS_UTILITIES_PKG.get_tax_rate_info (
1716: p_tax_rate_id => ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1717: p_tax_line_index).tax_rate_id,
1718: p_tax_rate_rec => l_tax_rate_rec,
1719: p_return_status => p_return_status,
1720: p_error_buffer => p_error_buffer);
1723:
1724: IF l_inclusive_tax_flag IS NOT NULL THEN
1725: -- populate inclusive_tax_flag onto detail tax line
1726: --
1727: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1728: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1729:
1730: IF g_level_statement >= g_current_runtime_level THEN
1731: FND_LOG.STRING(g_level_statement,
1739: -- process(inclusive_tax_flag has already been stamped onto
1740: -- detail tax line). If it is not available, get
1741: -- inclusive_tax_flag from ptp table
1742: --
1743: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1744: p_tax_line_index).tax_amt_included_flag IS NOT NULL THEN
1745: IF g_level_statement >= g_current_runtime_level THEN
1746: FND_LOG.STRING(g_level_statement,
1747: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.populate_inclusive_tax_flag',
1745: IF g_level_statement >= g_current_runtime_level THEN
1746: FND_LOG.STRING(g_level_statement,
1747: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.populate_inclusive_tax_flag',
1748: 'tax_amt_included_flag available from tax registration. ' ||
1749: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1750: p_tax_line_index).tax_amt_included_flag);
1751: END IF;
1752: ELSE
1753:
1757: --
1758: -- Get tax inclusive flag with l_site_ptp_id
1759: --
1760: l_reg_party_type :=
1761: REPLACE(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1762: p_tax_line_index).registration_party_type,
1763: 'PARTY', 'SITE') || '_' || 'TAX_PROF_ID';
1764: IF p_event_class_rec.application_id = 200 AND
1765: SUBSTRB(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).registration_party_type, 1, 9)
1761: REPLACE(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1762: p_tax_line_index).registration_party_type,
1763: 'PARTY', 'SITE') || '_' || 'TAX_PROF_ID';
1764: IF p_event_class_rec.application_id = 200 AND
1765: SUBSTRB(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).registration_party_type, 1, 9)
1766: IN ('SHIP_FROM', 'BILL_FROM') THEN
1767: l_inclusive_tax_flag := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_inclusive_flg;
1768: IF g_level_statement >= g_current_runtime_level THEN
1769: FND_LOG.STRING(g_level_statement,
1763: 'PARTY', 'SITE') || '_' || 'TAX_PROF_ID';
1764: IF p_event_class_rec.application_id = 200 AND
1765: SUBSTRB(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).registration_party_type, 1, 9)
1766: IN ('SHIP_FROM', 'BILL_FROM') THEN
1767: l_inclusive_tax_flag := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_inclusive_flg;
1768: IF g_level_statement >= g_current_runtime_level THEN
1769: FND_LOG.STRING(g_level_statement,
1770: 'ZX.PLSQL.ZX_TDS_TAXABLE_BASIS_DETM_PKG.populate_inclusive_tax_flag',
1771: 'For payables the supplier site should be used to get the inclusive flag ' ||
1800: IF l_inclusive_tax_flag IS NOT NULL THEN
1801:
1802: -- populate inclusive_tax_flag onto detail tax line
1803: --
1804: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1805: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1806:
1807: IF g_level_statement >= g_current_runtime_level THEN
1808: FND_LOG.STRING(g_level_statement,
1814: ELSE -- l_inclusive_tax_flag is not found from SITE PTP
1815:
1816: -- Get tax inclusive flag with l_ptp_id
1817: --
1818: l_reg_party_type:= ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1819: p_tax_line_index).registration_party_type || '_TAX_PROF_ID';
1820:
1821: ZX_GET_TAX_PARAM_DRIVER_PKG.get_driver_value(
1822: p_structure_name,
1844: IF l_inclusive_tax_flag IS NOT NULL THEN
1845:
1846: -- populate inclusive_tax_flag onto detail tax line
1847: --
1848: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1849: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1850:
1851: IF g_level_statement >= g_current_runtime_level THEN
1852: FND_LOG.STRING(g_level_statement,
1857: ELSE
1858: -- Get Get tax inclusive flag from Tax
1859: --
1860: l_inclusive_tax_flag := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(
1861: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1862: p_tax_line_index).tax_id).def_inclusive_tax_flag;
1863:
1864: IF l_inclusive_tax_flag IS NOT NULL THEN
1865:
1862: p_tax_line_index).tax_id).def_inclusive_tax_flag;
1863:
1864: IF l_inclusive_tax_flag IS NOT NULL THEN
1865:
1866: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1867: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1868:
1869: IF g_level_statement >= g_current_runtime_level THEN
1870: FND_LOG.STRING(g_level_statement,
1877:
1878: -- Bug 4778841: default l_inclusive_tax_flag to 'N' when it is NULL
1879: --
1880: l_inclusive_tax_flag := 'N';
1881: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1882: p_tax_line_index).tax_amt_included_flag := l_inclusive_tax_flag;
1883:
1884: IF g_level_statement >= g_current_runtime_level THEN
1885: FND_LOG.STRING(g_level_statement,