172:
173: FOR i in p_begin_index..p_end_index LOOP
174:
175:
176: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate IS NOT NULL AND
177: ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.source_event_class_code(p_structure_index) = 'INTERCOMPANY_TRX' THEN
178: IF (g_level_statement >= g_current_runtime_level ) THEN
179: FND_LOG.STRING(g_level_statement,
180: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
177: ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.source_event_class_code(p_structure_index) = 'INTERCOMPANY_TRX' THEN
178: IF (g_level_statement >= g_current_runtime_level ) THEN
179: FND_LOG.STRING(g_level_statement,
180: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
181: ' Intercompany Transaction : Tax rate : ' || ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate);
182: END IF;
183: ELSE
184:
185: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
181: ' Intercompany Transaction : Tax rate : ' || ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate);
182: END IF;
183: ELSE
184:
185: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
186: l_tax := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
187: l_tax_status_code :=
188: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code;
189: l_tax_regime_code :=
182: END IF;
183: ELSE
184:
185: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
186: l_tax := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
187: l_tax_status_code :=
188: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code;
189: l_tax_regime_code :=
190: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
184:
185: l_tax_id := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id;
186: l_tax := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
187: l_tax_status_code :=
188: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code;
189: l_tax_regime_code :=
190: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
191:
192: l_tax_jurisdiction_code :=
186: l_tax := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
187: l_tax_status_code :=
188: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code;
189: l_tax_regime_code :=
190: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
191:
192: l_tax_jurisdiction_code :=
193: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
194: l_tax_jurisdiction_id :=
189: l_tax_regime_code :=
190: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
191:
192: l_tax_jurisdiction_code :=
193: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
194: l_tax_jurisdiction_id :=
195: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_id;
196:
197: --- Bug 7499374
191:
192: l_tax_jurisdiction_code :=
193: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
194: l_tax_jurisdiction_id :=
195: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_id;
196:
197: --- Bug 7499374
198: l_tax_date := NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date,
199: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
194: l_tax_jurisdiction_id :=
195: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_id;
196:
197: --- Bug 7499374
198: l_tax_date := NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date,
199: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
200:
201: IF (g_level_statement >= g_current_runtime_level ) THEN
202: FND_LOG.STRING(g_level_statement,
195: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_id;
196:
197: --- Bug 7499374
198: l_tax_date := NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date,
199: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date);
200:
201: IF (g_level_statement >= g_current_runtime_level ) THEN
202: FND_LOG.STRING(g_level_statement,
203: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
204: ' Tax Date ' || l_tax_date);
205: END IF;
206:
207: l_multiple_jurisdictions_flag :=
208: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).multiple_jurisdictions_flag, 'N');
209:
210: l_offset_tax_appl := NULL;
211:
212: -- Do not perform rate det. if rate is already there in g_detail_tax_lines_tbl
218: -- offset tax lines will not be there in detail tax lines structure for
219: -- create or override case. Hence logic to exclude offset taxes is not included
220:
221:
222: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry =
223: 'TAX_AMOUNT' AND
224: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate IS NULL
225: THEN
226: p_return_status:= FND_API.G_RET_STS_ERROR;
220:
221:
222: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry =
223: 'TAX_AMOUNT' AND
224: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate IS NULL
225: THEN
226: p_return_status:= FND_API.G_RET_STS_ERROR;
227: p_error_buffer :=
228: 'Tax Rate must be entered when last manual entry is Tax Amount';
235: END IF;
236:
237: CASE
238: WHEN
239: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
240: AND
241: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag IS NULL OR
242: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'N'
243: )
237: CASE
238: WHEN
239: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
240: AND
241: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag IS NULL OR
242: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'N'
243: )
244: THEN
245:
238: WHEN
239: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
240: AND
241: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag IS NULL OR
242: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Recalc_Required_Flag = 'N'
243: )
244: THEN
245:
246: -- RECALC_REQUIRED_FLAG will be populated by tax lines Determination
252: -- Determination columns into detail tax lines structure.
253: NULL;
254:
255: WHEN
256: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry in
257: ('TAX_RATE', 'TAX_AMOUNT','STATUSTORATE' ) -- and -- bug fix 5237144
258: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
259: THEN
260: -- Check the last_manual_entry flag and if it is tax_rate or tax_amount or
254:
255: WHEN
256: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry in
257: ('TAX_RATE', 'TAX_AMOUNT','STATUSTORATE' ) -- and -- bug fix 5237144
258: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
259: THEN
260: -- Check the last_manual_entry flag and if it is tax_rate or tax_amount or
261: -- status_to_rate, then do not perform this process.
262: /****************changed code for 6903249***************************/
259: THEN
260: -- Check the last_manual_entry flag and if it is tax_rate or tax_amount or
261: -- status_to_rate, then do not perform this process.
262: /****************changed code for 6903249***************************/
263: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
264: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
265: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
266: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
260: -- Check the last_manual_entry flag and if it is tax_rate or tax_amount or
261: -- status_to_rate, then do not perform this process.
262: /****************changed code for 6903249***************************/
263: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
264: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
265: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
266: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
268: THEN
261: -- status_to_rate, then do not perform this process.
262: /****************changed code for 6903249***************************/
263: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
264: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
265: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
266: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
268: THEN
269:
262: /****************changed code for 6903249***************************/
263: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
264: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
265: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
266: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
268: THEN
269:
270: NULL;
263: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'REFERENCE' AND
264: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_tax_amt = 0 AND
265: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unrounded_taxable_amt = 0 AND
266: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).manually_entered_flag = 'Y' AND
267: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).freeze_until_overridden_flag ='Y'
268: THEN
269:
270: NULL;
271:
271:
272: ELSE
273:
274: l_tax_regime_code :=
275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
276: l_tax :=
277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
278: l_tax_jurisdiction_code :=
279: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
273:
274: l_tax_regime_code :=
275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
276: l_tax :=
277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
278: l_tax_jurisdiction_code :=
279: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
280: l_tax_status_code :=
281: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_codE;
275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code;
276: l_tax :=
277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
278: l_tax_jurisdiction_code :=
279: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
280: l_tax_status_code :=
281: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_codE;
282: l_tax_rate_code :=
283: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code;
277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax;
278: l_tax_jurisdiction_code :=
279: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
280: l_tax_status_code :=
281: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_codE;
282: l_tax_rate_code :=
283: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code;
284: zx_tds_utilities_pkg.get_tax_rate_info
285: ( l_tax_regime_code,
279: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code;
280: l_tax_status_code :=
281: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_codE;
282: l_tax_rate_code :=
283: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code;
284: zx_tds_utilities_pkg.get_tax_rate_info
285: ( l_tax_regime_code,
286: l_tax,
287: l_tax_jurisdiction_code,
333: 'ZX_TDS_RATE_DETM_PKG.get_tax_rate(-)');
334: END IF;
335: RETURN;
336: ELSE
337: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).offset_tax_rate_code
338: := l_offset_tax_rate_code;
339: END IF;
340: END IF;
341: END IF;
343: /**********end of changed code for 6903249 ************************/
344:
345:
346: WHEN
347: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'ADJUSTED' OR
348: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
349: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag <> 'R')
350: ) AND
351: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX'
344:
345:
346: WHEN
347: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'ADJUSTED' OR
348: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
349: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag <> 'R')
350: ) AND
351: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX'
352: THEN
347: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'ADJUSTED' OR
348: (ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
349: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag <> 'R')
350: ) AND
351: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code <> 'OVERRIDE_TAX'
352: THEN
353: -- In case when the tax line is copied from Applied From (applied_amt_handling_flag on
354: -- g_tax_rec_tbl(l_tax_id) is NOT 'R' ) or Adjusted Document,
355: -- Applicability process will copy Tax Regime, Tax, Status, Rate, Place of Supply,
360: NULL;
361:
362: /* bug 3330127 : Included in the next case
363: WHEN
364: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Copied_From_Other_Doc_Flag = 'Y' AND
365: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y'
366: THEN
367: -- When a manual tax line is copied from reference document, the Tax Regime, Tax, Status, Rate,
368: -- and other columns are copied from manual tax line in reference document as well. So
361:
362: /* bug 3330127 : Included in the next case
363: WHEN
364: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Copied_From_Other_Doc_Flag = 'Y' AND
365: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag = 'Y'
366: THEN
367: -- When a manual tax line is copied from reference document, the Tax Regime, Tax, Status, Rate,
368: -- and other columns are copied from manual tax line in reference document as well. So
369: -- no need to perform tax rate determination in this case.
370:
371: NULL;
372: */
373: WHEN
374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y'
375:
376: /* -- Bug 3330127: When user override tax line information, Freeze_Until_Overridden_Flag will
377: -- be set to 'N'
378: AND ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
374: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Freeze_Until_Overridden_Flag = 'Y'
375:
376: /* -- Bug 3330127: When user override tax line information, Freeze_Until_Overridden_Flag will
377: -- be set to 'N'
378: AND ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
379: OR
380: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Copied_From_Other_Doc_Flag = 'Y' )
381: */
382: THEN
376: /* -- Bug 3330127: When user override tax line information, Freeze_Until_Overridden_Flag will
377: -- be set to 'N'
378: AND ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Overridden_Flag <> 'Y'
379: OR
380: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Copied_From_Other_Doc_Flag = 'Y' )
381: */
382: THEN
383:
384: -- When a manual tax line is copied from reference document, the Tax Regime, Tax, Status, Rate,
397: /* -- bug 4673667: do not need to check delete_flag
398: WHEN
399: -- bug 3330127
400: -- Tax lines calculated by provider will not be pulled in for processing
401: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NOT NULL
402: OR
403:
404: UPPER(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag) = 'Y'
405: THEN
400: -- Tax lines calculated by provider will not be pulled in for processing
401: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NOT NULL
402: OR
403:
404: UPPER(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag) = 'Y'
405: THEN
406: -- Do not perform rate determination for tax lines calculated by providers
407: -- or for tax lines marked for deletion.
408:
408:
409: NULL;
410: */
411: WHEN
412: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code is null
413: /* -- Bug 3330127: already handled in the above cases
414: AND
415: nvl(upper(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag),'N') <> 'Y' AND
416: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
411: WHEN
412: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code is null
413: /* -- Bug 3330127: already handled in the above cases
414: AND
415: nvl(upper(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag),'N') <> 'Y' AND
416: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
417: */
418: ) OR
419: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IN
412: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code is null
413: /* -- Bug 3330127: already handled in the above cases
414: AND
415: nvl(upper(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag),'N') <> 'Y' AND
416: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
417: */
418: ) OR
419: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IN
420: ('TAX_STATUS', 'TAX_RATE_CODE') -- AND --bug 5237144
415: nvl(upper(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag),'N') <> 'Y' AND
416: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
417: */
418: ) OR
419: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IN
420: ('TAX_STATUS', 'TAX_RATE_CODE') -- AND --bug 5237144
421: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
422: ) OR
423: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
417: */
418: ) OR
419: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IN
420: ('TAX_STATUS', 'TAX_RATE_CODE') -- AND --bug 5237144
421: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
422: ) OR
423: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
424: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R'
425: ) OR
419: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry IN
420: ('TAX_STATUS', 'TAX_RATE_CODE') -- AND --bug 5237144
421: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code = 'OVERRIDE_TAX'
422: ) OR
423: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
424: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R'
425: ) OR
426: -- Bug 5176149: need to populate tax rate id and tax rate % for matched invoice
427: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
423: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source = 'APPLIED_FROM' AND
424: ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).applied_amt_handling_flag = 'R'
425: ) OR
426: -- Bug 5176149: need to populate tax rate id and tax rate % for matched invoice
427: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
428: ) OR
429: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id IS NOT NULL
430: ) OR
431: ( p_event_class_rec.template_usage_code = 'TAX_RULES' AND
425: ) OR
426: -- Bug 5176149: need to populate tax rate id and tax rate % for matched invoice
427: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).OTHER_DOC_SOURCE = 'REFERENCE'
428: ) OR
429: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id IS NOT NULL
430: ) OR
431: ( p_event_class_rec.template_usage_code = 'TAX_RULES' AND
432: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code IS NOT NULL
433: )
428: ) OR
429: ( ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id IS NOT NULL
430: ) OR
431: ( p_event_class_rec.template_usage_code = 'TAX_RULES' AND
432: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code IS NOT NULL
433: )
434: THEN
435: -- This is the normal processing case where rate determination needs to be performed
436: -- When tax is not calculated by provider service and rate is not already
437: -- available in detail tax lines structure and delete flag is not 'Y'
438: -- or an override case with last_manual_entry as 'TAX_STATUS', then determine
439: -- the tax rate to be applied to the tax line.
440:
441: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).process_for_recovery_flag:= 'Y';
442:
443: -- IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code IS NOT NULL
444: -- bug 3330127: if last_manual_entry = 'TAX_STATUS', UI should set tax_rate_code to NULL
445: -- AND nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'N') <> 'TAX_STATUS'
439: -- the tax rate to be applied to the tax line.
440:
441: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).process_for_recovery_flag:= 'Y';
442:
443: -- IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code IS NOT NULL
444: -- bug 3330127: if last_manual_entry = 'TAX_STATUS', UI should set tax_rate_code to NULL
445: -- AND nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'N') <> 'TAX_STATUS'
446: -- THEN
447: --
441: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).process_for_recovery_flag:= 'Y';
442:
443: -- IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code IS NOT NULL
444: -- bug 3330127: if last_manual_entry = 'TAX_STATUS', UI should set tax_rate_code to NULL
445: -- AND nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'N') <> 'TAX_STATUS'
446: -- THEN
447: --
448: -- tax rate is already available on tax line. Use this tax rate
449: --
446: -- THEN
447: --
448: -- tax rate is already available on tax line. Use this tax rate
449: --
450: -- l_tax_rate_code:= ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code;
451: --
452: -- ELSE -- get rate code
453:
454: -- If tax rate code is available on tax line. Use this tax rate.
453:
454: -- If tax rate code is available on tax line. Use this tax rate.
455: -- Otherwise, need to determine tax rate code
456: --
457: l_tax_rate_code := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code;
458:
459: IF l_tax_rate_code IS NULL THEN
460:
461: -- select the tax rate rule flag from tax status cache
504: p_structure_index,
505: p_event_class_rec,
506: l_tax_id,
507: l_tax_status_code,
508: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date,
509: NULL,
510: NULL,
511: l_zx_result_rec,
512: p_return_status,
523: RETURN;
524: END IF;
525:
526: l_tax_rate_code:= l_zx_result_rec.alphanumeric_result;
527: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
528: i).rate_result_id := l_zx_result_rec.result_id;
529:
530: IF (g_level_statement >= g_current_runtime_level ) THEN
531: FND_LOG.STRING(g_level_statement,
546: p_tax => l_tax,
547: p_tax_date => l_tax_date,
548: p_tax_status_code => l_tax_status_code,
549: p_tax_rate_code => l_tax_rate_code,
550: p_place_of_supply_type_code => ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
551: i).place_of_supply_type_code,
552: p_structure_index => p_structure_index,
553: p_multiple_jurisdictions_flag => l_multiple_jurisdictions_flag,
554: x_tax_rate_rec => l_tax_rate_rec,
566: 'ZX_TDS_RATE_DETM_PKG.get_tax_rate(-)'||p_return_status);
567: END IF;
568:
569: -- in TCM, the error msg already saved on fnd msg stack
570: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
571: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
572: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
573: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
574:
567: END IF;
568:
569: -- in TCM, the error msg already saved on fnd msg stack
570: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
571: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
572: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
573: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
574:
575: ZX_API_PUB.add_msg(
568:
569: -- in TCM, the error msg already saved on fnd msg stack
570: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
571: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
572: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
573: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
574:
575: ZX_API_PUB.add_msg(
576: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
569: -- in TCM, the error msg already saved on fnd msg stack
570: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
571: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
572: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
573: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
574:
575: ZX_API_PUB.add_msg(
576: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
577:
572: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
573: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
574:
575: ZX_API_PUB.add_msg(
576: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
577:
578: RETURN;
579: END IF;
580:
597: -- tax line. Here the tax_jurisdition_id is got from he jurisdiction gtt.
598: -- NOTE: multiple_jurisdictions_flag won't change during override event
599:
600: IF l_tax_rate_rec.tax_jurisdiction_code IS NOT NULL
601: AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code
602: <> l_tax_rate_rec.tax_jurisdiction_code
603: THEN
604: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code
605: := l_tax_rate_rec.tax_jurisdiction_code;
600: IF l_tax_rate_rec.tax_jurisdiction_code IS NOT NULL
601: AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code
602: <> l_tax_rate_rec.tax_jurisdiction_code
603: THEN
604: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code
605: := l_tax_rate_rec.tax_jurisdiction_code;
606:
607: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_id
608: := l_tax_rate_rec.tax_jurisdiction_id;
603: THEN
604: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_code
605: := l_tax_rate_rec.tax_jurisdiction_code;
606:
607: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_jurisdiction_id
608: := l_tax_rate_rec.tax_jurisdiction_id;
609:
610: END IF; --l_tax_rate_rec.tax_jurisdiction_code IS NOT NULL
611:
615: END IF;
616:
617: IF l_tax_rate_code IS NOT NULL THEN
618:
619: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code:=
620: l_tax_rate_code;
621: IF l_Rate_Type_Code = 'SLABBED' THEN
622:
623: -- slabbed rate not supported in phase 1a;
641:
642: -- For quantity based rates, if the UOM_CODE on the transaction does
643: -- not match the UOM_CODE on the rate, then raise error.
644:
645: -- IF l_uom_code <> ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).uom_code THEN
646: IF l_uom_code <>
647: ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.uom_code(p_structure_index)
648: THEN
649: -- Raise error;
667: FND_MESSAGE.SET_TOKEN('UOM_TRX',
668: ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.uom_code(p_structure_index) );
669:
670: -- FND_MSG_PUB.Add;
671: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
672: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
674: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
675:
668: ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.uom_code(p_structure_index) );
669:
670: -- FND_MSG_PUB.Add;
671: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
672: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
674: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
675:
676: ZX_API_PUB.add_msg(
669:
670: -- FND_MSG_PUB.Add;
671: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
672: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
674: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
675:
676: ZX_API_PUB.add_msg(
677: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
670: -- FND_MSG_PUB.Add;
671: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
672: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
674: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
675:
676: ZX_API_PUB.add_msg(
677: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
678:
673: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
674: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
675:
676: ZX_API_PUB.add_msg(
677: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
678:
679: RETURN;
680: END IF;
681:
702: FND_MESSAGE.SET_TOKEN('TAX_STATUS',l_tax_status_code);
703: FND_MESSAGE.SET_TOKEN('DATE',l_tax_date);
704: --FND_MSG_PUB.Add;
705:
706: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
707: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
708: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
709: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
710:
703: FND_MESSAGE.SET_TOKEN('DATE',l_tax_date);
704: --FND_MSG_PUB.Add;
705:
706: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
707: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
708: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
709: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
710:
711: ZX_API_PUB.add_msg(
704: --FND_MSG_PUB.Add;
705:
706: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
707: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
708: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
709: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
710:
711: ZX_API_PUB.add_msg(
712: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
705:
706: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
707: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
708: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
709: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
710:
711: ZX_API_PUB.add_msg(
712: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
713:
708: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
709: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
710:
711: ZX_API_PUB.add_msg(
712: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
713:
714: RETURN;
715:
716: END IF; -- l_tax_rate_code is NOT NULL
735: IF ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(
736: p_structure_index) IN ('CREATE', 'UPDATE')
737: AND ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.source_event_class_code(
738: p_structure_index) = 'INTERCOMPANY_TRX'
739: AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Offset_Flag = 'Y'
740: THEN
741:
742: -- for intercompany the Offset_Flag on detail tax line marked as 'Y'
743: -- only when the offset_tax_rate_code is not null, so no need to check
770: 'ZX_TDS_RATE_DETM_PKG.get_tax_rate(-)');
771: END IF;
772: RETURN;
773: ELSE
774: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
775: i).offset_tax_rate_code := l_offset_tax_rate_code;
776: END IF;
777:
778: ELSIF p_event_class_rec.allow_offset_tax_calc_flag = 'Y' THEN
969: -- p_structure_index,
970: -- p_event_class_rec,
971: -- l_tax_id,
972: -- l_tax_status_code,
973: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date,
974: -- l_offset_rule_code,
975: -- null,
976: -- l_zx_result_rec,
977: -- p_return_status,
1006: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
1007: 'Offset tax applicable...');
1008: END IF;
1009:
1010: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Offset_Flag := 'Y';
1011:
1012:
1013: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1014: i).offset_tax_rate_code := l_offset_tax_rate_code;
1009:
1010: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Offset_Flag := 'Y';
1011:
1012:
1013: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1014: i).offset_tax_rate_code := l_offset_tax_rate_code;
1015: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1016: -- i).offset_tax_line_number :=
1017: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1011:
1012:
1013: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1014: i).offset_tax_rate_code := l_offset_tax_rate_code;
1015: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1016: -- i).offset_tax_line_number :=
1017: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1018: ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number :=
1019: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1013: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1014: i).offset_tax_rate_code := l_offset_tax_rate_code;
1015: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1016: -- i).offset_tax_line_number :=
1017: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1018: ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number :=
1019: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1020:
1021: --IF (g_level_statement >= g_current_runtime_level ) THEN
1014: i).offset_tax_rate_code := l_offset_tax_rate_code;
1015: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1016: -- i).offset_tax_line_number :=
1017: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1018: ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number :=
1019: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1020:
1021: --IF (g_level_statement >= g_current_runtime_level ) THEN
1022: -- FND_LOG.STRING(g_level_statement,
1015: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1016: -- i).offset_tax_line_number :=
1017: -- NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1018: ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number :=
1019: NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_max_tax_line_number,0)+ 1;
1020:
1021: --IF (g_level_statement >= g_current_runtime_level ) THEN
1022: -- FND_LOG.STRING(g_level_statement,
1023: -- 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
1021: --IF (g_level_statement >= g_current_runtime_level ) THEN
1022: -- FND_LOG.STRING(g_level_statement,
1023: -- 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
1024: -- 'offset_tax_line_number = '||
1025: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1026: -- i).offset_tax_line_number);
1027: --END IF;
1028: ELSE
1029: IF (g_level_statement >= g_current_runtime_level ) THEN
1031: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
1032: 'Offset tax not applicable...');
1033: END IF;
1034:
1035: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Offset_Flag := 'N';
1036: END IF; -- l_offset_tax_appl
1037: --END IF; -- p_return_status
1038: END IF; -- p_return_status after validate_offset_tax
1039: END IF; -- l_offset_tax_rate_code
1044: -- After tax rate is determined for the line whose last_manual_entry =
1045: -- 'TAX_STATUS', last_manual_entry will be updated to 'STATUSTORATE'.
1046:
1047:
1048: IF nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'N') = 'TAX_STATUS'
1049: THEN
1050: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry := 'STATUSTORATE';
1051:
1052: END IF;
1046:
1047:
1048: IF nvl(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry,'N') = 'TAX_STATUS'
1049: THEN
1050: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry := 'STATUSTORATE';
1051:
1052: END IF;
1053:
1054: -- Bug 3973763: If direc_rate_result_id IS NOT NULL, check if
1055: -- numeric_result is populated. If yes, check if tax is adhoc. If yes,
1056: -- populate this value to tax_rate field, if not, check if
1057: -- l_tax_rate = l_numeric_result. If not, raise error.
1058: --
1059: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id IS NOT NULL
1060: THEN
1061:
1062: OPEN get_numeric_value_csr(
1063: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id);
1059: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id IS NOT NULL
1060: THEN
1061:
1062: OPEN get_numeric_value_csr(
1063: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).direct_rate_result_id);
1064: FETCH get_numeric_value_csr INTO l_numeric_result;
1065: CLOSE get_numeric_value_csr;
1066:
1067: IF l_numeric_result IS NOT NULL THEN
1099: END IF;
1100:
1101: --bug6604498
1102:
1103: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exception_rate IS NOT NULL THEN
1104: l_tax_rate := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exception_rate;
1105: END IF;
1106:
1107: -- Process Tax Exceptions
1100:
1101: --bug6604498
1102:
1103: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exception_rate IS NOT NULL THEN
1104: l_tax_rate := ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exception_rate;
1105: END IF;
1106:
1107: -- Process Tax Exceptions
1108: IF l_allow_exceptions_flag ='Y' THEN
1147: RETURN;
1148: END IF;
1149:
1150: IF l_exception_rec.tax_exception_id IS NOT NULL THEN
1151: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1152: i).TAX_EXCEPTION_ID := l_exception_rec.tax_exception_id;
1153:
1154: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1155: i).EXCEPTION_RATE := l_exception_rec.exception_rate;
1150: IF l_exception_rec.tax_exception_id IS NOT NULL THEN
1151: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1152: i).TAX_EXCEPTION_ID := l_exception_rec.tax_exception_id;
1153:
1154: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1155: i).EXCEPTION_RATE := l_exception_rec.exception_rate;
1156:
1157: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1158: i).TAX_RATE_BEFORE_EXCEPTION := l_tax_rate;
1153:
1154: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1155: i).EXCEPTION_RATE := l_exception_rec.exception_rate;
1156:
1157: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1158: i).TAX_RATE_BEFORE_EXCEPTION := l_tax_rate;
1159:
1160: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1161: i).TAX_RATE_NAME_BEFORE_EXCEPTION := l_tax_rate_code;
1156:
1157: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1158: i).TAX_RATE_BEFORE_EXCEPTION := l_tax_rate;
1159:
1160: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1161: i).TAX_RATE_NAME_BEFORE_EXCEPTION := l_tax_rate_code;
1162:
1163: IF l_exception_rec.exception_type_code = 'SPECIAL_RATE' THEN
1164: l_tax_rate := l_exception_rec.exception_rate;
1270: 'ZX_TDS_RATE_DETM_PKG.get_tax_rate(-)'||p_return_status);
1271: END IF;
1272:
1273: -- in TCM, the error msg already saved on fnd msg stack
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1276: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1278:
1271: END IF;
1272:
1273: -- in TCM, the error msg already saved on fnd msg stack
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1276: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1278:
1279: ZX_API_PUB.add_msg(
1272:
1273: -- in TCM, the error msg already saved on fnd msg stack
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1276: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1278:
1279: ZX_API_PUB.add_msg(
1280: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1273: -- in TCM, the error msg already saved on fnd msg stack
1274: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_line_id :=
1275: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id;
1276: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1278:
1279: ZX_API_PUB.add_msg(
1280: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1281:
1276: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec.trx_level_type :=
1277: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type;
1278:
1279: ZX_API_PUB.add_msg(
1280: ZX_TDS_CALC_SERVICES_PUB_PKG.g_msg_context_info_rec);
1281:
1282: RETURN;
1283: END IF;
1284:
1295: END IF;
1296:
1297: IF l_exemption_rec.exemption_id IS NOT NULL THEN
1298:
1299: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1300: i).tax_exemption_id := l_exemption_rec.exemption_id;
1301:
1302: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1303: i).tax_rate_before_exemption := l_tax_rate;
1298:
1299: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1300: i).tax_exemption_id := l_exemption_rec.exemption_id;
1301:
1302: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1303: i).tax_rate_before_exemption := l_tax_rate;
1304:
1305: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1306: i).tax_rate_name_before_exemption := l_tax_rate_code;
1301:
1302: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1303: i).tax_rate_before_exemption := l_tax_rate;
1304:
1305: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1306: i).tax_rate_name_before_exemption := l_tax_rate_code;
1307:
1308: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1309: -- i).exempt_certificate_number
1304:
1305: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1306: i).tax_rate_name_before_exemption := l_tax_rate_code;
1307:
1308: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1309: -- i).exempt_certificate_number
1310: -- := ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exempt_certificate_number(
1311: -- p_structure_index);
1312:
1309: -- i).exempt_certificate_number
1310: -- := ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exempt_certificate_number(
1311: -- p_structure_index);
1312:
1313: --ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1314: -- i).exempt_reason
1315: -- := ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exempt_reason(
1316: -- p_structure_index);
1317:
1314: -- i).exempt_reason
1315: -- := ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exempt_reason(
1316: -- p_structure_index);
1317:
1318: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1319: -- i).exempt_reason_code
1320: -- := ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exempt_reason_code(
1321: -- p_structure_index);
1322: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_certificate_number
1318: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(
1319: -- i).exempt_reason_code
1320: -- := ZX_GLOBAL_STRUCTURES_PKG.TRX_LINE_DIST_TBL.exempt_reason_code(
1321: -- p_structure_index);
1322: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_certificate_number
1323: := l_exemption_rec.exempt_certificate_number;
1324:
1325: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_reason
1326: := l_exemption_rec.exempt_reason;
1321: -- p_structure_index);
1322: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_certificate_number
1323: := l_exemption_rec.exempt_certificate_number;
1324:
1325: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_reason
1326: := l_exemption_rec.exempt_reason;
1327:
1328: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_reason_code
1329: := l_exemption_rec.exempt_reason_code;
1324:
1325: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_reason
1326: := l_exemption_rec.exempt_reason;
1327:
1328: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_reason_code
1329: := l_exemption_rec.exempt_reason_code;
1330:
1331:
1332: IF l_exemption_rec.discount_special_rate = 'SPECIAL_RATE' THEN
1331:
1332: IF l_exemption_rec.discount_special_rate = 'SPECIAL_RATE' THEN
1333:
1334: IF l_tax_rate <> 0 THEN
1335: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_rate_modifier
1336: := l_exemption_rec.percent_exempt / l_tax_rate;
1337: l_tax_rate := l_exemption_rec.percent_exempt;
1338: ELSE
1339: IF (g_level_statement >= g_current_runtime_level ) THEN
1343: END IF;
1344: END IF;
1345:
1346: ELSE -- l_exemption_rec.discount_special_rate = 'DISCOUNT' THEN
1347: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_rate_modifier
1348: := (100 - l_exemption_rec.percent_exempt)/100;
1349:
1350: l_tax_rate := l_tax_rate*(100 - l_exemption_rec.percent_exempt)/100;
1351:
1354: END IF; -- l_exemption_rec.exemption_id IS NOT NULL
1355:
1356: END IF; -- p_event_class_rec.allow_exemptions_flag ='Y'
1357:
1358: update_tax_rate(-- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl,
1359: i,
1360: l_tax_rate_code,
1361: l_tax_rate,
1362: l_tax_rate_id,
1369: -- ***** should the validation of rate be done ?
1370:
1371: -- If the rate is available then validate whether the tax rate can be used
1372: -- for the transaction
1373: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate is NOT NULL
1374: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
1375: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag <> 'Y'
1376: THEN
1377: -- check whether the tax rate is ad-hoc
1370:
1371: -- If the rate is available then validate whether the tax rate can be used
1372: -- for the transaction
1373: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate is NOT NULL
1374: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
1375: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag <> 'Y'
1376: THEN
1377: -- check whether the tax rate is ad-hoc
1378:
1371: -- If the rate is available then validate whether the tax rate can be used
1372: -- for the transaction
1373: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate is NOT NULL
1374: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_provider_id is NULL
1375: -- AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Delete_Flag <> 'Y'
1376: THEN
1377: -- check whether the tax rate is ad-hoc
1378:
1379: /* commented out for bug 3420310, the following check should have been done on the UI
1412: -- the tax line. if this was an override case, and if last_manual_entry
1413: -- is Tax Amount, then the rate should not be available on the Tax Line.
1414:
1415: IF l_adhoc_tax_rate_flg <> 'Y'
1416: AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_manual_entry = 'TAX_RATE' THEN
1417:
1418: p_return_status:= FND_API.G_RET_STS_ERROR;
1419: p_error_buffer := 'You cannot specify a rate percentage on a tax which '||
1420: ' is not ad-hoc';
1428:
1429: END IF;
1430: end commented out for bug 3420310 */
1431:
1432: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Copied_From_Other_Doc_Flag = 'Y'
1433: AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag <> 'Y'
1434: THEN
1435: -- The tax was prorated based on reference document; validate that
1436: -- the tax rate is valid for the transaction date.
1429: END IF;
1430: end commented out for bug 3420310 */
1431:
1432: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Copied_From_Other_Doc_Flag = 'Y'
1433: AND ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag <> 'Y'
1434: THEN
1435: -- The tax was prorated based on reference document; validate that
1436: -- the tax rate is valid for the transaction date.
1437:
1434: THEN
1435: -- The tax was prorated based on reference document; validate that
1436: -- the tax rate is valid for the transaction date.
1437:
1438: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date >=
1439: ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl(l_status_index).effective_from
1440: and ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date <=
1441: ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl(l_status_index).effective_to
1442: THEN
1436: -- the tax rate is valid for the transaction date.
1437:
1438: IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date >=
1439: ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl(l_status_index).effective_from
1440: and ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date <=
1441: ZX_TDS_UTILITIES_PKG.g_tax_status_info_tbl(l_status_index).effective_to
1442: THEN
1443: NULL;
1444:
1444:
1445: else
1446: p_return_status:= FND_API.G_RET_STS_ERROR;
1447: p_error_buffer := 'The rate is not valid for the tax determination date'||
1448: to_char(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date );
1449: IF (g_level_error >= g_current_runtime_level ) THEN
1450: FND_LOG.STRING(g_level_error,
1451: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.get_tax_rate',
1452: 'p_error_buffer: '|| p_error_buffer);
1485:
1486:
1487:
1488: PROCEDURE UPDATE_TAX_RATE(
1489: -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl in out nocopy zx_api_pub.detail_tax_line_tbl_type,
1490: p_tax_line_index in number,
1491: p_tax_rate_code in zx_lines.tax_rate_code%TYPE,
1492: p_tax_rate in zx_lines.tax_rate%TYPE,
1493: p_tax_rate_id in number,
1502: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.update_tax_rate.BEGIN',
1503: 'ZX_TDS_RATE_DETM_PKG.update_tax_rate(+) ');
1504: END IF;
1505:
1506: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_code:= p_tax_rate_code;
1507: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate:= p_tax_rate;
1508: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).legal_message_rate := NULL;
1509: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_id := p_tax_rate_id ;
1510: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_type := p_Rate_Type_Code;
1503: 'ZX_TDS_RATE_DETM_PKG.update_tax_rate(+) ');
1504: END IF;
1505:
1506: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_code:= p_tax_rate_code;
1507: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate:= p_tax_rate;
1508: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).legal_message_rate := NULL;
1509: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_id := p_tax_rate_id ;
1510: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_type := p_Rate_Type_Code;
1511:
1504: END IF;
1505:
1506: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_code:= p_tax_rate_code;
1507: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate:= p_tax_rate;
1508: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).legal_message_rate := NULL;
1509: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_id := p_tax_rate_id ;
1510: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_type := p_Rate_Type_Code;
1511:
1512: IF (g_level_procedure >= g_current_runtime_level ) THEN
1505:
1506: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_code:= p_tax_rate_code;
1507: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate:= p_tax_rate;
1508: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).legal_message_rate := NULL;
1509: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_id := p_tax_rate_id ;
1510: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_type := p_Rate_Type_Code;
1511:
1512: IF (g_level_procedure >= g_current_runtime_level ) THEN
1513: FND_LOG.STRING(g_level_procedure,
1506: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_code:= p_tax_rate_code;
1507: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate:= p_tax_rate;
1508: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).legal_message_rate := NULL;
1509: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_id := p_tax_rate_id ;
1510: ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(p_tax_line_index).tax_rate_type := p_Rate_Type_Code;
1511:
1512: IF (g_level_procedure >= g_current_runtime_level ) THEN
1513: FND_LOG.STRING(g_level_procedure,
1514: 'ZX.PLSQL.ZX_TDS_RATE_DETM_PKG.update_tax_rate.END',