[Home] [Help]
PACKAGE BODY: APPS.ZX_TRL_MANAGE_TAX_PKG
Source
1 PACKAGE BODY ZX_TRL_MANAGE_TAX_PKG AS
2 /* $Header: zxrilnrepsrvpvtb.pls 120.100.12010000.6 2008/12/11 01:06:59 hongliu ship $ */
3
4 g_current_runtime_level NUMBER;
5 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
6 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
7 g_level_event CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
8 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
9 g_level_error CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
10
11 NUMBER_DUMMY CONSTANT NUMBER(15) := -999999999999999;
12
13 TYPE num_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
14 TYPE date_tbl_type IS TABLE OF DATE INDEX BY BINARY_INTEGER;
15 TYPE char_tbl_type IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
16 TYPE char30_tbl_type IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
17 TYPE char80_tbl_type IS TABLE OF VARCHAR2(80) INDEX BY BINARY_INTEGER;
18 TYPE char150_tbl_type IS TABLE OF VARCHAR2(150) INDEX BY BINARY_INTEGER;
19 TYPE char240_tbl_type IS TABLE OF VARCHAR2(240) INDEX BY BINARY_INTEGER;
20
21
22 pg_summary_tax_line_id_tbl num_tbl_type;
23 pg_internal_org_id_tbl num_tbl_type;
24 pg_application_id_tbl num_tbl_type;
25 pg_entity_code_tbl char30_tbl_type;
26 pg_event_class_code_tbl char30_tbl_type;
27 pg_trx_id_tbl num_tbl_type;
28 pg_trx_number_tbl char150_tbl_type;
29 pg_app_from_app_id_tbl num_tbl_type;
30 pg_app_from_evnt_cls_code_tbl char30_tbl_type;
31 pg_app_from_entity_code_tbl char30_tbl_type;
32 pg_app_from_trx_id_tbl num_tbl_type;
33 pg_adj_doc_app_id_tbl num_tbl_type;
34 pg_adj_doc_entity_code_tbl char30_tbl_type;
35 pg_adj_doc_evnt_cls_code_tbl char30_tbl_type;
36 pg_adj_doc_trx_id_tbl num_tbl_type;
37 pg_summary_tax_line_num_tbl num_tbl_type;
38 pg_content_owner_id_tbl num_tbl_type;
39 pg_tax_regime_code_tbl char30_tbl_type;
40 pg_tax_tbl char30_tbl_type;
41 pg_tax_status_code_tbl char30_tbl_type;
42 pg_tax_rate_id_tbl num_tbl_type;
43 pg_tax_rate_code_tbl char150_tbl_type;
44 pg_tax_rate_tbl num_tbl_type;
45 pg_tax_amt_tbl num_tbl_type;
46 pg_tax_amt_tax_curr_tbl num_tbl_type;
47 pg_tax_amt_funcl_curr_tbl num_tbl_type;
48 pg_tax_jurisdiction_code_tbl char30_tbl_type;
49 pg_ttl_rec_tax_amt_tbl num_tbl_type;
50 pg_ttl_rec_tx_amt_fnc_crr_tbl num_tbl_type;
51 pg_ttl_nrec_tax_amt_tbl num_tbl_type;
52 pg_ttl_nrec_tx_amt_fnc_crr_tbl num_tbl_type;
53 pg_ledger_id_tbl num_tbl_type;
54 pg_legal_entity_id_tbl num_tbl_type;
55 pg_establishment_id_tbl num_tbl_type;
56 pg_currency_convrsn_date_tbl date_tbl_type;
57 pg_currency_convrsn_type_tbl char30_tbl_type;
58 pg_currency_convrsn_rate_tbl num_tbl_type;
59 pg_summarization_tmplt_id_tbl num_tbl_type;
60 pg_taxable_basis_formula_tbl char30_tbl_type;
61 pg_tax_calculation_formula_tbl char30_tbl_type;
62 pg_historical_flag_tbl char_tbl_type;
63 pg_cancel_flag_tbl char_tbl_type;
64 pg_delete_flag_tbl char_tbl_type;
65 pg_tax_amt_included_flag_tbl char_tbl_type;
66 pg_compounding_tax_flag_tbl char_tbl_type;
67 pg_self_assessed_flag_tbl char_tbl_type;
68 pg_overridden_flag_tbl char_tbl_type;
69 pg_reporting_only_flag_tbl char_tbl_type;
70 pg_assoctd_child_frz_flag_tbl char_tbl_type;
71 pg_cpd_from_other_doc_flag_tbl char_tbl_type;
72 pg_manually_entered_flag_tbl char_tbl_type;
73 pg_last_manual_entry_tbl char30_tbl_type;
74 pg_record_type_code_tbl char30_tbl_type;
75 pg_tax_provider_id_tbl num_tbl_type;
76 pg_tax_only_line_flag_tbl char_tbl_type;
77 pg_created_by_tbl num_tbl_type;
78 pg_creation_date_tbl date_tbl_type;
79 pg_last_updated_by_tbl num_tbl_type;
80 pg_last_update_date_tbl date_tbl_type;
81 pg_last_update_login_tbl num_tbl_type;
82 pg_app_from_line_id_tbl num_tbl_type;
83 pg_app_to_app_id_tbl num_tbl_type;
84 pg_app_to_evnt_cls_code_tbl char30_tbl_type;
85 pg_app_to_entity_code_tbl char30_tbl_type;
86 pg_app_to_trx_id_tbl num_tbl_type;
87 pg_app_to_line_id_tbl num_tbl_type;
88 pg_tax_xmptn_id_tbl num_tbl_type;
89 pg_tax_rate_bf_xmptn_tbl num_tbl_type;
90 pg_tax_rate_name_bf_xmptn_tbl char80_tbl_type;
91 pg_xmpt_rate_modifier_tbl num_tbl_type;
92 pg_xmpt_certificate_number_tbl char80_tbl_type;
93 pg_xmpt_reason_tbl char240_tbl_type;
94 pg_xmpt_reason_code_tbl char30_tbl_type;
95 pg_tax_rate_bf_xeptn_tbl num_tbl_type;
96 pg_tax_rate_name_bf_xeptn_tbl char80_tbl_type;
97 pg_tax_xeptn_id_tbl num_tbl_type;
98 pg_xeptn_rate_tbl num_tbl_type;
99 pg_ttl_rec_tx_amt_tx_crr_tbl num_tbl_type;
100 pg_ttl_nrec_tx_amt_tx_crr_tbl num_tbl_type;
101 pg_mrc_tax_line_flag_tbl char_tbl_type;
102 pg_app_from_trx_level_type_tbl char30_tbl_type;
103 pg_adj_doc_trx_level_type_tbl char30_tbl_type;
104 pg_app_to_trx_level_type_tbl char30_tbl_type;
105 pg_trx_level_type_tbl char30_tbl_type;
106 pg_adjust_tax_amt_flag_tbl char_tbl_type;
107 pg_object_version_number_tbl num_tbl_type;
108
109 pg_count_detail_tax_line_tbl num_tbl_type;
110 pg_tax_line_id_tbl num_tbl_type;
111 pg_detail_tax_smry_line_id_tbl num_tbl_type;
112
113 tax_line_id_tbl num_tbl_type;
114 tax_rate_id_tbl num_tbl_type;
115 pg_trx_id_tab num_tbl_type;
116 pg_trx_line_id_tab num_tbl_type;
117 pg_trx_level_type_tab char30_tbl_type;
118
119 /* ===========================================================================*
120 | PROCEDURE Create_Detail_Lines : Insert tax lines into ZX_LINES table. |
121 * ===========================================================================*/
122
123 PROCEDURE Create_Detail_Lines (
124 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
125 x_return_status OUT NOCOPY VARCHAR2
126 ) IS
127
128 l_row_count NUMBER;
129 l_error_buffer VARCHAR2(100);
130 l_msg_context_info_rec ZX_API_PUB.CONTEXT_INFO_REC_TYPE;
131
132
133 BEGIN
134
135 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
136
137 l_row_count := 0;
138 IF (g_level_procedure >= g_current_runtime_level ) THEN
139 FND_LOG.STRING(g_level_procedure,
140 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines.BEGIN',
141 'ZX_TRL_MANAGE_TAX_PKG: Create_Detail_Lines (+)');
142
143 END IF;
144
145 x_return_status := FND_API.G_RET_STS_SUCCESS;
146
147 --
148 -- bug#4893261- populate message structure
149 --
150 l_msg_context_info_rec.application_id :=
151 p_event_class_rec.application_id;
152 l_msg_context_info_rec.entity_code :=
153 p_event_class_rec.entity_code;
154 l_msg_context_info_rec.event_class_code :=
155 p_event_class_rec.event_class_code;
156 l_msg_context_info_rec.trx_id :=
157 p_event_class_rec.trx_id;
158 l_msg_context_info_rec.trx_line_id := NULL;
159 l_msg_context_info_rec.trx_level_type := NULL;
160 l_msg_context_info_rec.summary_tax_line_number := NULL;
161 l_msg_context_info_rec.tax_line_id := NULL;
162 l_msg_context_info_rec.trx_line_dist_id := NULL;
163
164 INSERT INTO ZX_LINES (TAX_LINE_ID,
165 INTERNAL_ORGANIZATION_ID,
166 APPLICATION_ID,
167 ENTITY_CODE,
168 EVENT_CLASS_CODE,
169 EVENT_TYPE_CODE,
170 TRX_ID,
171 TRX_LINE_ID,
172 TRX_LEVEL_TYPE,
173 TRX_LINE_NUMBER,
174 DOC_EVENT_STATUS,
175 TAX_EVENT_CLASS_CODE,
176 TAX_EVENT_TYPE_CODE,
177 TAX_LINE_NUMBER,
178 CONTENT_OWNER_ID,
179 TAX_REGIME_ID,
180 TAX_REGIME_CODE,
181 TAX_ID,
182 TAX,
183 TAX_STATUS_ID,
184 TAX_STATUS_CODE,
185 TAX_RATE_ID,
186 TAX_RATE_CODE,
187 TAX_RATE,
188 TAX_RATE_TYPE,
189 TAX_APPORTIONMENT_LINE_NUMBER,
190 TRX_ID_LEVEL2,
191 TRX_ID_LEVEL3,
192 TRX_ID_LEVEL4,
193 TRX_ID_LEVEL5,
194 TRX_ID_LEVEL6,
195 TRX_USER_KEY_LEVEL1,
196 TRX_USER_KEY_LEVEL2,
197 TRX_USER_KEY_LEVEL3,
198 TRX_USER_KEY_LEVEL4,
199 TRX_USER_KEY_LEVEL5,
200 TRX_USER_KEY_LEVEL6,
201 MRC_TAX_LINE_FLAG,
202 LEDGER_ID,
203 ESTABLISHMENT_ID,
204 LEGAL_ENTITY_ID,
205 LEGAL_ENTITY_TAX_REG_NUMBER,
206 HQ_ESTB_REG_NUMBER,
207 HQ_ESTB_PARTY_TAX_PROF_ID,
208 CURRENCY_CONVERSION_DATE,
209 CURRENCY_CONVERSION_TYPE,
210 CURRENCY_CONVERSION_RATE,
211 TAX_CURRENCY_CONVERSION_DATE,
212 TAX_CURRENCY_CONVERSION_TYPE,
213 TAX_CURRENCY_CONVERSION_RATE,
214 TRX_CURRENCY_CODE,
215 REPORTING_CURRENCY_CODE,
216 MINIMUM_ACCOUNTABLE_UNIT,
217 PRECISION,
218 TRX_NUMBER,
219 TRX_DATE,
220 UNIT_PRICE,
221 LINE_AMT,
222 TRX_LINE_QUANTITY,
223 TAX_BASE_MODIFIER_RATE,
224 REF_DOC_APPLICATION_ID,
225 REF_DOC_ENTITY_CODE,
226 REF_DOC_EVENT_CLASS_CODE,
227 REF_DOC_TRX_ID,
228 REF_DOC_TRX_LEVEL_TYPE,
229 REF_DOC_LINE_ID,
230 REF_DOC_LINE_QUANTITY,
231 OTHER_DOC_LINE_AMT,
232 OTHER_DOC_LINE_TAX_AMT,
233 OTHER_DOC_LINE_TAXABLE_AMT,
234 UNROUNDED_TAXABLE_AMT,
235 UNROUNDED_TAX_AMT,
236 RELATED_DOC_APPLICATION_ID,
237 RELATED_DOC_ENTITY_CODE,
238 RELATED_DOC_EVENT_CLASS_CODE,
239 RELATED_DOC_TRX_ID,
240 RELATED_DOC_TRX_LEVEL_TYPE,
241 RELATED_DOC_NUMBER,
242 RELATED_DOC_DATE,
243 APPLIED_FROM_APPLICATION_ID,
244 APPLIED_FROM_EVENT_CLASS_CODE,
245 APPLIED_FROM_ENTITY_CODE,
246 APPLIED_FROM_TRX_ID,
247 APPLIED_FROM_TRX_LEVEL_TYPE,
248 APPLIED_FROM_LINE_ID,
249 APPLIED_FROM_TRX_NUMBER,
250 ADJUSTED_DOC_APPLICATION_ID,
251 ADJUSTED_DOC_ENTITY_CODE,
252 ADJUSTED_DOC_EVENT_CLASS_CODE,
253 ADJUSTED_DOC_TRX_ID,
254 ADJUSTED_DOC_TRX_LEVEL_TYPE,
255 ADJUSTED_DOC_LINE_ID,
256 ADJUSTED_DOC_NUMBER,
257 ADJUSTED_DOC_DATE,
258 APPLIED_TO_APPLICATION_ID,
259 APPLIED_TO_EVENT_CLASS_CODE,
260 APPLIED_TO_ENTITY_CODE,
261 APPLIED_TO_TRX_ID,
262 APPLIED_TO_TRX_LEVEL_TYPE,
263 APPLIED_TO_LINE_ID,
264 APPLIED_TO_TRX_NUMBER,
265 SUMMARY_TAX_LINE_ID,
266 OFFSET_LINK_TO_TAX_LINE_ID,
267 OFFSET_FLAG,
268 PROCESS_FOR_RECOVERY_FLAG,
269 TAX_JURISDICTION_ID,
270 TAX_JURISDICTION_CODE,
271 PLACE_OF_SUPPLY,
272 PLACE_OF_SUPPLY_TYPE_CODE,
273 PLACE_OF_SUPPLY_RESULT_ID,
274 TAX_DATE_RULE_ID,
275 TAX_DATE,
276 TAX_DETERMINE_DATE,
277 TAX_POINT_DATE,
278 TRX_LINE_DATE,
279 TAX_TYPE_CODE,
280 TAX_CODE,
281 TAX_REGISTRATION_ID,
282 TAX_REGISTRATION_NUMBER,
283 REGISTRATION_PARTY_TYPE,
284 ROUNDING_LEVEL_CODE,
285 ROUNDING_RULE_CODE,
286 ROUNDING_LVL_PARTY_TAX_PROF_ID,
287 ROUNDING_LVL_PARTY_TYPE,
288 COMPOUNDING_TAX_FLAG,
289 ORIG_TAX_STATUS_ID,
290 ORIG_TAX_STATUS_CODE,
291 ORIG_TAX_RATE_ID,
292 ORIG_TAX_RATE_CODE,
293 ORIG_TAX_RATE,
294 ORIG_TAX_JURISDICTION_ID,
295 ORIG_TAX_JURISDICTION_CODE,
296 ORIG_TAX_AMT_INCLUDED_FLAG,
297 ORIG_SELF_ASSESSED_FLAG,
298 TAX_CURRENCY_CODE,
299 TAX_AMT,
300 TAX_AMT_TAX_CURR,
301 TAX_AMT_FUNCL_CURR,
302 TAXABLE_AMT,
303 TAXABLE_AMT_TAX_CURR,
304 TAXABLE_AMT_FUNCL_CURR,
305 ORIG_TAXABLE_AMT,
306 ORIG_TAXABLE_AMT_TAX_CURR,
307 CAL_TAX_AMT,
308 CAL_TAX_AMT_TAX_CURR,
309 CAL_TAX_AMT_FUNCL_CURR,
310 ORIG_TAX_AMT,
311 ORIG_TAX_AMT_TAX_CURR,
312 REC_TAX_AMT,
313 REC_TAX_AMT_TAX_CURR,
314 REC_TAX_AMT_FUNCL_CURR,
315 NREC_TAX_AMT,
316 NREC_TAX_AMT_TAX_CURR,
317 NREC_TAX_AMT_FUNCL_CURR,
318 TAX_EXEMPTION_ID,
319 TAX_RATE_BEFORE_EXEMPTION,
320 TAX_RATE_NAME_BEFORE_EXEMPTION,
321 EXEMPT_RATE_MODIFIER,
322 EXEMPT_CERTIFICATE_NUMBER,
323 EXEMPT_REASON,
324 EXEMPT_REASON_CODE,
325 TAX_EXCEPTION_ID,
326 TAX_RATE_BEFORE_EXCEPTION,
327 TAX_RATE_NAME_BEFORE_EXCEPTION,
328 EXCEPTION_RATE,
329 TAX_APPORTIONMENT_FLAG,
330 HISTORICAL_FLAG,
331 TAXABLE_BASIS_FORMULA,
332 TAX_CALCULATION_FORMULA,
333 CANCEL_FLAG,
334 PURGE_FLAG,
335 DELETE_FLAG,
336 TAX_AMT_INCLUDED_FLAG,
337 SELF_ASSESSED_FLAG,
338 OVERRIDDEN_FLAG,
339 MANUALLY_ENTERED_FLAG,
340 REPORTING_ONLY_FLAG,
341 FREEZE_UNTIL_OVERRIDDEN_FLAG,
342 COPIED_FROM_OTHER_DOC_FLAG,
343 RECALC_REQUIRED_FLAG,
344 SETTLEMENT_FLAG,
345 ITEM_DIST_CHANGED_FLAG,
346 ASSOCIATED_CHILD_FROZEN_FLAG,
347 TAX_ONLY_LINE_FLAG,
348 COMPOUNDING_TAX_MISS_FLAG,
349 COMPOUNDING_DEP_TAX_FLAG,
350 SYNC_WITH_PRVDR_FLAG,
351 LAST_MANUAL_ENTRY,
352 TAX_PROVIDER_ID,
353 RECORD_TYPE_CODE,
354 REPORTING_PERIOD_ID,
355 LEGAL_JUSTIFICATION_TEXT1,
356 LEGAL_JUSTIFICATION_TEXT2,
357 LEGAL_JUSTIFICATION_TEXT3,
358 LEGAL_MESSAGE_APPL_2,
359 LEGAL_MESSAGE_STATUS,
360 LEGAL_MESSAGE_RATE,
361 LEGAL_MESSAGE_BASIS,
362 LEGAL_MESSAGE_CALC,
363 LEGAL_MESSAGE_THRESHOLD,
364 LEGAL_MESSAGE_POS,
365 LEGAL_MESSAGE_TRN,
366 LEGAL_MESSAGE_EXMPT,
367 LEGAL_MESSAGE_EXCPT,
368 TAX_REGIME_TEMPLATE_ID,
369 TAX_APPLICABILITY_RESULT_ID,
370 DIRECT_RATE_RESULT_ID,
371 STATUS_RESULT_ID,
372 RATE_RESULT_ID,
373 BASIS_RESULT_ID,
374 THRESH_RESULT_ID,
375 CALC_RESULT_ID,
376 TAX_REG_NUM_DET_RESULT_ID,
377 EVAL_EXMPT_RESULT_ID,
378 EVAL_EXCPT_RESULT_ID,
379 ENFORCE_FROM_NATURAL_ACCT_FLAG,
380 TAX_HOLD_CODE,
381 TAX_HOLD_RELEASED_CODE,
382 PRD_TOTAL_TAX_AMT,
383 PRD_TOTAL_TAX_AMT_TAX_CURR,
384 PRD_TOTAL_TAX_AMT_FUNCL_CURR,
385 TRX_LINE_INDEX,
386 OFFSET_TAX_RATE_CODE,
387 PRORATION_CODE,
388 OTHER_DOC_SOURCE,
389 INTERNAL_ORG_LOCATION_ID,
390 LINE_ASSESSABLE_VALUE,
391 CTRL_TOTAL_LINE_TX_AMT,
392 ATTRIBUTE_CATEGORY,
393 ATTRIBUTE1,
394 ATTRIBUTE2,
395 ATTRIBUTE3,
396 ATTRIBUTE4,
397 ATTRIBUTE5,
398 ATTRIBUTE6,
399 ATTRIBUTE7,
400 ATTRIBUTE8,
401 ATTRIBUTE9,
402 ATTRIBUTE10,
403 ATTRIBUTE11,
404 ATTRIBUTE12,
405 ATTRIBUTE13,
406 ATTRIBUTE14,
407 ATTRIBUTE15,
408 GLOBAL_ATTRIBUTE_CATEGORY,
409 GLOBAL_ATTRIBUTE1,
410 GLOBAL_ATTRIBUTE2,
411 GLOBAL_ATTRIBUTE3,
412 GLOBAL_ATTRIBUTE4,
413 GLOBAL_ATTRIBUTE5,
414 GLOBAL_ATTRIBUTE6,
415 GLOBAL_ATTRIBUTE7,
416 GLOBAL_ATTRIBUTE8,
417 GLOBAL_ATTRIBUTE9,
418 GLOBAL_ATTRIBUTE10,
419 GLOBAL_ATTRIBUTE11,
420 GLOBAL_ATTRIBUTE12,
421 GLOBAL_ATTRIBUTE13,
422 GLOBAL_ATTRIBUTE14,
423 GLOBAL_ATTRIBUTE15,
424 NUMERIC1,
425 NUMERIC2,
426 NUMERIC3,
427 NUMERIC4,
428 NUMERIC5,
429 NUMERIC6,
430 NUMERIC7,
431 NUMERIC8,
432 NUMERIC9,
433 NUMERIC10,
434 CHAR1,
435 CHAR2,
436 CHAR3,
437 CHAR4,
438 CHAR5,
439 CHAR6,
440 CHAR7,
441 CHAR8,
442 CHAR9,
443 CHAR10,
444 DATE1,
445 DATE2,
446 DATE3,
447 DATE4,
448 DATE5,
449 DATE6,
450 DATE7,
451 DATE8,
452 DATE9,
453 DATE10,
454 INTERFACE_ENTITY_CODE,
455 INTERFACE_TAX_LINE_ID,
456 TAXING_JURIS_GEOGRAPHY_ID,
457 ADJUSTED_DOC_TAX_LINE_ID,
458 OBJECT_VERSION_NUMBER,
459 CREATED_BY,
460 CREATION_DATE,
461 LAST_UPDATED_BY,
462 LAST_UPDATE_DATE,
463 LAST_UPDATE_LOGIN,
464 MULTIPLE_JURISDICTIONS_FLAG,
465 LEGAL_REPORTING_STATUS,
466 ACCOUNT_SOURCE_TAX_RATE_ID)
467 -- bug#7504604: remove the index hint
468 --SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
469 --
470 SELECT
471 TAX_LINE_ID,
472 INTERNAL_ORGANIZATION_ID,
473 APPLICATION_ID,
474 ENTITY_CODE,
475 EVENT_CLASS_CODE,
476 EVENT_TYPE_CODE,
477 TRX_ID,
478 TRX_LINE_ID,
479 TRX_LEVEL_TYPE,
480 TRX_LINE_NUMBER,
481 DOC_EVENT_STATUS,
482 TAX_EVENT_CLASS_CODE,
483 TAX_EVENT_TYPE_CODE,
484 TAX_LINE_NUMBER,
485 CONTENT_OWNER_ID,
486 TAX_REGIME_ID,
487 TAX_REGIME_CODE,
488 TAX_ID,
489 TAX,
490 TAX_STATUS_ID,
491 TAX_STATUS_CODE,
492 TAX_RATE_ID,
493 TAX_RATE_CODE,
494 TAX_RATE,
495 TAX_RATE_TYPE,
496 TAX_APPORTIONMENT_LINE_NUMBER,
497 TRX_ID_LEVEL2,
498 TRX_ID_LEVEL3,
499 TRX_ID_LEVEL4,
500 TRX_ID_LEVEL5,
501 TRX_ID_LEVEL6,
502 TRX_USER_KEY_LEVEL1,
503 TRX_USER_KEY_LEVEL2,
504 TRX_USER_KEY_LEVEL3,
505 TRX_USER_KEY_LEVEL4,
506 TRX_USER_KEY_LEVEL5,
507 TRX_USER_KEY_LEVEL6,
508 MRC_TAX_LINE_FLAG,
509 LEDGER_ID,
510 ESTABLISHMENT_ID,
511 LEGAL_ENTITY_ID,
512 LEGAL_ENTITY_TAX_REG_NUMBER,
513 HQ_ESTB_REG_NUMBER,
514 HQ_ESTB_PARTY_TAX_PROF_ID,
515 CURRENCY_CONVERSION_DATE,
516 CURRENCY_CONVERSION_TYPE,
517 CURRENCY_CONVERSION_RATE,
518 TAX_CURRENCY_CONVERSION_DATE,
519 TAX_CURRENCY_CONVERSION_TYPE,
520 TAX_CURRENCY_CONVERSION_RATE,
521 TRX_CURRENCY_CODE,
522 REPORTING_CURRENCY_CODE,
523 MINIMUM_ACCOUNTABLE_UNIT,
524 PRECISION,
525 TRX_NUMBER,
526 TRX_DATE,
527 UNIT_PRICE,
528 LINE_AMT,
529 TRX_LINE_QUANTITY,
530 TAX_BASE_MODIFIER_RATE,
531 REF_DOC_APPLICATION_ID,
532 REF_DOC_ENTITY_CODE,
533 REF_DOC_EVENT_CLASS_CODE,
534 REF_DOC_TRX_ID,
535 REF_DOC_TRX_LEVEL_TYPE,
536 REF_DOC_LINE_ID,
537 REF_DOC_LINE_QUANTITY,
538 OTHER_DOC_LINE_AMT,
539 OTHER_DOC_LINE_TAX_AMT,
540 OTHER_DOC_LINE_TAXABLE_AMT,
541 UNROUNDED_TAXABLE_AMT,
542 UNROUNDED_TAX_AMT,
543 RELATED_DOC_APPLICATION_ID,
544 RELATED_DOC_ENTITY_CODE,
545 RELATED_DOC_EVENT_CLASS_CODE,
546 RELATED_DOC_TRX_ID,
547 RELATED_DOC_TRX_LEVEL_TYPE,
548 RELATED_DOC_NUMBER,
549 RELATED_DOC_DATE,
550 APPLIED_FROM_APPLICATION_ID,
551 APPLIED_FROM_EVENT_CLASS_CODE,
552 APPLIED_FROM_ENTITY_CODE,
553 APPLIED_FROM_TRX_ID,
554 APPLIED_FROM_TRX_LEVEL_TYPE,
555 APPLIED_FROM_LINE_ID,
556 APPLIED_FROM_TRX_NUMBER,
557 ADJUSTED_DOC_APPLICATION_ID,
558 ADJUSTED_DOC_ENTITY_CODE,
559 ADJUSTED_DOC_EVENT_CLASS_CODE,
560 ADJUSTED_DOC_TRX_ID,
561 ADJUSTED_DOC_TRX_LEVEL_TYPE,
562 ADJUSTED_DOC_LINE_ID,
563 ADJUSTED_DOC_NUMBER,
564 ADJUSTED_DOC_DATE,
565 APPLIED_TO_APPLICATION_ID,
566 APPLIED_TO_EVENT_CLASS_CODE,
567 APPLIED_TO_ENTITY_CODE,
568 APPLIED_TO_TRX_ID,
569 APPLIED_TO_TRX_LEVEL_TYPE,
570 APPLIED_TO_LINE_ID,
571 APPLIED_TO_TRX_NUMBER,
572 SUMMARY_TAX_LINE_ID,
573 OFFSET_LINK_TO_TAX_LINE_ID,
574 OFFSET_FLAG,
575 PROCESS_FOR_RECOVERY_FLAG,
576 TAX_JURISDICTION_ID,
577 TAX_JURISDICTION_CODE,
578 PLACE_OF_SUPPLY,
579 PLACE_OF_SUPPLY_TYPE_CODE,
580 PLACE_OF_SUPPLY_RESULT_ID,
581 TAX_DATE_RULE_ID,
582 TAX_DATE,
583 TAX_DETERMINE_DATE,
584 TAX_POINT_DATE,
585 TRX_LINE_DATE,
586 TAX_TYPE_CODE,
587 TAX_CODE,
588 TAX_REGISTRATION_ID,
589 TAX_REGISTRATION_NUMBER,
590 REGISTRATION_PARTY_TYPE,
591 ROUNDING_LEVEL_CODE,
592 ROUNDING_RULE_CODE,
593 ROUNDING_LVL_PARTY_TAX_PROF_ID,
594 ROUNDING_LVL_PARTY_TYPE,
595 COMPOUNDING_TAX_FLAG,
596 ORIG_TAX_STATUS_ID,
597 ORIG_TAX_STATUS_CODE,
598 ORIG_TAX_RATE_ID,
599 ORIG_TAX_RATE_CODE,
600 ORIG_TAX_RATE,
601 ORIG_TAX_JURISDICTION_ID,
602 ORIG_TAX_JURISDICTION_CODE,
603 ORIG_TAX_AMT_INCLUDED_FLAG,
604 ORIG_SELF_ASSESSED_FLAG,
605 TAX_CURRENCY_CODE,
606 TAX_AMT,
607 TAX_AMT_TAX_CURR,
608 TAX_AMT_FUNCL_CURR,
609 TAXABLE_AMT,
610 TAXABLE_AMT_TAX_CURR,
611 TAXABLE_AMT_FUNCL_CURR,
612 ORIG_TAXABLE_AMT,
613 ORIG_TAXABLE_AMT_TAX_CURR,
614 CAL_TAX_AMT,
615 CAL_TAX_AMT_TAX_CURR,
616 CAL_TAX_AMT_FUNCL_CURR,
617 ORIG_TAX_AMT,
618 ORIG_TAX_AMT_TAX_CURR,
619 REC_TAX_AMT,
620 REC_TAX_AMT_TAX_CURR,
621 REC_TAX_AMT_FUNCL_CURR,
622 NREC_TAX_AMT,
623 NREC_TAX_AMT_TAX_CURR,
624 NREC_TAX_AMT_FUNCL_CURR,
625 TAX_EXEMPTION_ID,
626 TAX_RATE_BEFORE_EXEMPTION,
627 TAX_RATE_NAME_BEFORE_EXEMPTION,
628 EXEMPT_RATE_MODIFIER,
629 EXEMPT_CERTIFICATE_NUMBER,
630 EXEMPT_REASON,
631 EXEMPT_REASON_CODE,
632 TAX_EXCEPTION_ID,
633 TAX_RATE_BEFORE_EXCEPTION,
634 TAX_RATE_NAME_BEFORE_EXCEPTION,
635 EXCEPTION_RATE,
636 TAX_APPORTIONMENT_FLAG,
637 HISTORICAL_FLAG,
638 TAXABLE_BASIS_FORMULA,
639 TAX_CALCULATION_FORMULA,
640 CANCEL_FLAG,
641 PURGE_FLAG,
642 DELETE_FLAG,
643 TAX_AMT_INCLUDED_FLAG,
644 SELF_ASSESSED_FLAG,
645 OVERRIDDEN_FLAG,
646 MANUALLY_ENTERED_FLAG,
647 REPORTING_ONLY_FLAG,
648 FREEZE_UNTIL_OVERRIDDEN_FLAG,
649 COPIED_FROM_OTHER_DOC_FLAG,
650 RECALC_REQUIRED_FLAG,
651 SETTLEMENT_FLAG,
652 ITEM_DIST_CHANGED_FLAG,
653 ASSOCIATED_CHILD_FROZEN_FLAG,
654 TAX_ONLY_LINE_FLAG,
655 COMPOUNDING_TAX_MISS_FLAG,
656 COMPOUNDING_DEP_TAX_FLAG,
657 'N', --SYNC_WITH_PRVDR_FLAG, -- TSRM will look into GT for provider synchronization
658 LAST_MANUAL_ENTRY,
659 TAX_PROVIDER_ID,
660 RECORD_TYPE_CODE,
661 REPORTING_PERIOD_ID,
662 LEGAL_JUSTIFICATION_TEXT1,
663 LEGAL_JUSTIFICATION_TEXT2,
664 LEGAL_JUSTIFICATION_TEXT3,
665 LEGAL_MESSAGE_APPL_2,
666 LEGAL_MESSAGE_STATUS,
667 LEGAL_MESSAGE_RATE,
668 LEGAL_MESSAGE_BASIS,
669 LEGAL_MESSAGE_CALC,
670 LEGAL_MESSAGE_THRESHOLD,
671 LEGAL_MESSAGE_POS,
672 LEGAL_MESSAGE_TRN,
673 LEGAL_MESSAGE_EXMPT,
674 LEGAL_MESSAGE_EXCPT,
675 TAX_REGIME_TEMPLATE_ID,
676 TAX_APPLICABILITY_RESULT_ID,
677 DIRECT_RATE_RESULT_ID,
678 STATUS_RESULT_ID,
679 RATE_RESULT_ID,
680 BASIS_RESULT_ID,
681 THRESH_RESULT_ID,
682 CALC_RESULT_ID,
683 TAX_REG_NUM_DET_RESULT_ID,
684 EVAL_EXMPT_RESULT_ID,
685 EVAL_EXCPT_RESULT_ID,
686 ENFORCE_FROM_NATURAL_ACCT_FLAG,
687 TAX_HOLD_CODE,
688 TAX_HOLD_RELEASED_CODE,
689 PRD_TOTAL_TAX_AMT,
690 PRD_TOTAL_TAX_AMT_TAX_CURR,
691 PRD_TOTAL_TAX_AMT_FUNCL_CURR,
692 TRX_LINE_INDEX,
693 OFFSET_TAX_RATE_CODE,
694 PRORATION_CODE,
695 OTHER_DOC_SOURCE,
696 INTERNAL_ORG_LOCATION_ID,
697 LINE_ASSESSABLE_VALUE,
698 CTRL_TOTAL_LINE_TX_AMT,
699 ATTRIBUTE_CATEGORY,
700 ATTRIBUTE1,
701 ATTRIBUTE2,
702 ATTRIBUTE3,
703 ATTRIBUTE4,
704 ATTRIBUTE5,
705 ATTRIBUTE6,
706 ATTRIBUTE7,
707 ATTRIBUTE8,
708 ATTRIBUTE9,
709 ATTRIBUTE10,
710 ATTRIBUTE11,
711 ATTRIBUTE12,
712 ATTRIBUTE13,
713 ATTRIBUTE14,
714 ATTRIBUTE15,
715 GLOBAL_ATTRIBUTE_CATEGORY,
716 GLOBAL_ATTRIBUTE1,
717 GLOBAL_ATTRIBUTE2,
718 GLOBAL_ATTRIBUTE3,
719 GLOBAL_ATTRIBUTE4,
720 GLOBAL_ATTRIBUTE5,
721 GLOBAL_ATTRIBUTE6,
722 GLOBAL_ATTRIBUTE7,
723 GLOBAL_ATTRIBUTE8,
724 GLOBAL_ATTRIBUTE9,
725 GLOBAL_ATTRIBUTE10,
726 GLOBAL_ATTRIBUTE11,
727 GLOBAL_ATTRIBUTE12,
728 GLOBAL_ATTRIBUTE13,
729 GLOBAL_ATTRIBUTE14,
730 GLOBAL_ATTRIBUTE15,
731 NUMERIC1,
732 NUMERIC2,
733 NUMERIC3,
734 NUMERIC4,
735 NUMERIC5,
736 NUMERIC6,
737 NUMERIC7,
738 NUMERIC8,
739 NUMERIC9,
740 NUMERIC10,
741 CHAR1,
742 CHAR2,
743 CHAR3,
744 CHAR4,
745 CHAR5,
746 CHAR6,
747 CHAR7,
748 CHAR8,
749 CHAR9,
750 CHAR10,
751 DATE1,
752 DATE2,
753 DATE3,
754 DATE4,
755 DATE5,
756 DATE6,
757 DATE7,
758 DATE8,
759 DATE9,
760 DATE10,
761 INTERFACE_ENTITY_CODE,
762 INTERFACE_TAX_LINE_ID,
763 TAXING_JURIS_GEOGRAPHY_ID,
764 ADJUSTED_DOC_TAX_LINE_ID,
765 1, --OBJECT_VERSION_NUMBER,
766 CREATED_BY,
767 CREATION_DATE,
768 LAST_UPDATED_BY,
769 LAST_UPDATE_DATE,
770 LAST_UPDATE_LOGIN,
771 MULTIPLE_JURISDICTIONS_FLAG,
772 LEGAL_REPORTING_STATUS,
773 ACCOUNT_SOURCE_TAX_RATE_ID
774 FROM ZX_DETAIL_TAX_LINES_GT;
775 -- commented out for bug fix 5417887
776 -- WHERE application_id = p_event_class_rec.application_id
777 -- AND entity_code = p_event_class_rec.entity_code
778 -- AND event_class_code = p_event_class_rec.event_class_code
779 -- AND trx_id = p_event_class_rec.trx_id;
780
781 l_row_count := SQL%ROWCOUNT;
782
783 -- IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
784 -- FND_MESSAGE.SET_NAME('FND','ZX_TRL_ROWS_INSERTED');
785 -- FND_MESSAGE.SET_TOKEN('ROWS_INSERTED',l_row_count);
786 -- FND_MSG_PUB.Add;
787 -- END IF;
788
789 IF (g_level_procedure >= g_current_runtime_level ) THEN
790 FND_LOG.STRING(g_level_procedure,
791 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines.END',
792 'ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines (-)'
793 ||l_row_count||'rows inserted');
794 END IF;
795
796 EXCEPTION
797 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
798 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
799 IF (g_level_procedure >= g_current_runtime_level ) THEN
800 FND_LOG.STRING(g_level_procedure,
801 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines',
802 'Exception:' ||SQLCODE||';'||SQLERRM);
803
804 FND_LOG.STRING(g_level_procedure,
805 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines',
806 'Return Status = '||x_return_status);
807 END IF;
808
809 WHEN DUP_VAL_ON_INDEX THEN
810 x_return_status := FND_API.G_RET_STS_ERROR;
811 IF (g_level_procedure >= g_current_runtime_level ) THEN
812 FND_LOG.STRING(g_level_procedure,
813 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines',
814 'Exception:' ||SQLCODE||';'||SQLERRM);
815
816 FND_LOG.STRING(g_level_procedure,
817 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines',
818 'Return Status = '||x_return_status);
819 END IF;
820 FND_MESSAGE.SET_NAME('ZX','ZX_TRL_RECORD_ALREADY_EXISTS');
821 ZX_API_PUB.add_msg(l_msg_context_info_rec);
822
823 WHEN OTHERS THEN
824 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
825 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
826
827 IF (g_level_unexpected >= g_current_runtime_level ) THEN
828 FND_LOG.STRING(g_level_unexpected,
829 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Detail_Lines',
830 l_error_buffer);
831 END IF;
832
833 END Create_Detail_Lines;
834
835 /*============================================================================*
836 | PROCEDURE Summarization_For_Freeze_Event: Performs summarization and |
837 | records summary tax lines in tax repository . called during |
838 | Update_Freeze_Flag event |
839 * ===========================================================================*/
840
841 PROCEDURE Summarization_For_Freeze_Event
842 (p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
843 x_return_status OUT NOCOPY VARCHAR2) IS
844
845 l_error_buffer VARCHAR2(100);
846 l_use_null_summary_id_flag VARCHAR2(1);
847 l_summary_lines_count NUMBER;
848 l_row_count NUMBER;
849
850 BEGIN
851
852 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
853
854 IF (g_level_procedure >= g_current_runtime_level ) THEN
855 FND_LOG.STRING(g_level_procedure,
856 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event.BEGIN',
857 'ZX_TRL_MANAGE_TAX_PKG: Summarization_For_Freeze_Event (+)');
858 END IF;
859
860 -- Initialize API return status to success
861 x_return_status := FND_API.G_RET_STS_SUCCESS;
862
863 -- Set summary_tax_line id to Null for unfrozen tax lines who share the same
864 -- summary tax_line id as the one who has associated children frozen flag as 'Y'.
865 --
866 -- set SUMMARY_TAX_LINE_ID to NULL in ZX_LINES for
867 -- those tax lines have Associated_Child_Frozen_Flag = 'N'
868 -- belonged to the same summary line
869 --
870
871 -- Performance Bug 5908610 - Query has been modified
872 /* UPDATE ZX_LINES
873 SET SUMMARY_TAX_LINE_ID = NULL
874 WHERE SUMMARY_TAX_LINE_ID IN
875 (SELECT summary_tax_line_id
876 FROM ZX_LINES
877 WHERE TAX_LINE_ID IN (SELECT ZD.TAX_LINE_ID
878 FROM ZX_REC_NREC_DIST ZD,
879 ZX_TAX_DIST_ID_GT ZGT
880 WHERE ZD.REC_NREC_TAX_DIST_ID = ZGT.TAX_DIST_ID))
881 AND Associated_Child_Frozen_Flag = 'N';
882
883 */
884
885 -- NEW query for the above
886
887 UPDATE ZX_LINES
888 SET SUMMARY_TAX_LINE_ID = NULL
889 WHERE TAX_LINE_ID IN (SELECT ZD.TAX_LINE_ID
890 FROM ZX_REC_NREC_DIST ZD,
891 ZX_TAX_DIST_ID_GT ZGT
892 WHERE ZD.REC_NREC_TAX_DIST_ID = ZGT.TAX_DIST_ID)
893 AND ASSOCIATED_CHILD_FROZEN_FLAG = 'N';
894 --
895 -- re-perform summarization for all tax lines
896 -- in the document, for tax lines that have
897 -- Associated_Child_Frozen_Flag = 'N', generate a
898 -- new summary_tax_line_id, for tax lines that
899 -- have Associated_Child_Frozen_Flag = 'Y', keep
900 -- the orignal summary_tax_line_id
901 --
902
903 create_summary_lines_upd_evnt(
904 p_event_class_rec => p_event_class_rec,
905 x_return_status => x_return_status );
906
907 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
908 IF (g_level_error >= g_current_runtime_level ) THEN
909 FND_LOG.STRING(g_level_error,
910 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event',
911 'MRC Lines: Incorrect return_status after calling ' ||
912 'ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_upd_evnt()');
913 FND_LOG.STRING(g_level_error,
914 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event',
915 'RETURN_STATUS = ' || x_return_status);
916 FND_LOG.STRING(g_level_error,
917 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event.END',
918 'ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event(-)');
919 END IF;
920 RETURN;
921 END IF;
922
923 IF (g_level_procedure >= g_current_runtime_level ) THEN
924 FND_LOG.STRING(g_level_procedure,
925 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event.END',
926 'ZX_TRL_MANAGE_TAX_PKG: Summarization_For_Freeze_Event (-)');
927 END IF;
928
929 EXCEPTION
930 WHEN FND_API.G_EXC_ERROR THEN
931 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
932 IF (g_level_procedure >= g_current_runtime_level ) THEN
933 FND_LOG.STRING(g_level_procedure,
934 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event',
935 'Unexpected error ...');
936 END IF;
937
938 WHEN OTHERS THEN
939 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
940 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
941
942 IF (g_level_unexpected >= g_current_runtime_level ) THEN
943 FND_LOG.STRING(g_level_unexpected,
944 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Summarization_For_Freeze_Event',
945 l_error_buffer);
946 END IF;
947 END Summarization_For_Freeze_Event;
948
949 /*============================================================================*
950 | PROCEDURE Delete_Detail_TaxLines: Deletes the transaction from ZX_LINES for|
951 | given transaction details |
952 *============================================================================*/
953
954 PROCEDURE Delete_Detail_Lines
955 (x_return_status OUT NOCOPY VARCHAR2,
956 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
957
958 l_row_count NUMBER;
959 l_error_buffer VARCHAR2(100);
960
961 BEGIN
962
963 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
964
965 l_row_count := 0;
966
967 IF (g_level_procedure >= g_current_runtime_level ) THEN
968 FND_LOG.STRING(g_level_procedure,
969 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Detail_Lines.BEGIN',
970 'ZX_TRL_MANAGE_TAX_PKG: Delete_Detail_Lines (+)');
971 END IF;
972
973 -- Initialize API return status to success
974 x_return_status := FND_API.G_RET_STS_SUCCESS;
975
976 -- bug fix 5417887
977 -- IF p_event_class_rec.tax_event_type_code = 'UPDATE' THEN
978 IF ZX_GLOBAL_STRUCTURES_PKG.g_update_event_process_flag = 'Y' THEN
979
980 /* -- rewrote for bug fix 5417887
981 DELETE FROM ZX_LINES
982 WHERE APPLICATION_ID = p_event_class_rec.application_id
983 AND ENTITY_CODE = p_event_class_rec.entity_code
984 AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
985 AND TRX_ID = p_event_class_rec.trx_id
986 AND (DELETE_FLAG = 'Y' OR
987 (TRX_LINE_ID, trx_level_type) IN
988 (SELECT TRX_LINE_ID, trx_level_type
989 FROM zx_lines_det_factors
990 WHERE application_id = p_event_class_rec.application_id
991 AND entity_code = p_event_class_rec.entity_code
992 AND event_class_code = p_event_class_rec.event_class_code
993 AND trx_id = p_event_class_rec.trx_id
994 AND event_id = p_event_class_rec.event_id
995 AND line_level_action NOT IN ('SYNCHRONIZE', 'NO_CHANGE')
996 )
997 ); */
998 -- bug fix 5417887
999 DELETE FROM ZX_LINES tax
1000 WHERE EXISTS (SELECT 1
1001 FROM zx_lines_det_factors
1002 WHERE application_id = tax.application_id
1003 AND entity_code = tax.entity_code
1004 AND event_class_code = tax.event_class_code
1005 AND trx_id = tax.trx_id
1006 AND event_id = p_event_class_rec.event_id
1007 )
1008 AND (tax.DELETE_FLAG = 'Y' OR
1009 (tax.TRX_LINE_ID, tax.trx_level_type) IN
1010 (SELECT TRX_LINE_ID, trx_level_type
1011 FROM zx_lines_det_factors
1012 WHERE application_id = tax.application_id
1013 AND entity_code = tax.entity_code
1014 AND event_class_code = tax.event_class_code
1015 AND trx_id = tax.trx_id
1016 AND event_id = p_event_class_rec.event_id
1017 AND line_level_action NOT IN ('SYNCHRONIZE', 'NO_CHANGE')
1018 )
1019 );
1020
1021 l_row_count := SQL%ROWCOUNT;
1022
1023 ELSIF p_event_class_rec.tax_event_type_code = 'OVERRIDE_TAX' THEN
1024
1025 DELETE FROM zx_lines
1026 WHERE application_id = p_event_class_rec.application_id
1027 AND entity_code = p_event_class_rec.entity_code
1028 AND event_class_code = p_event_class_rec.event_class_code
1029 AND trx_id = p_event_class_rec.trx_id
1030 AND (tax_line_id IN
1031 (SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
1032 tax_line_id
1033 FROM zx_detail_tax_lines_gt
1034 WHERE application_id = p_event_class_rec.application_id
1035 AND entity_code = p_event_class_rec.entity_code
1036 AND event_class_code = p_event_class_rec.event_class_code
1037 AND trx_id = p_event_class_rec.trx_id
1038 ) OR
1039 delete_flag = 'Y'
1040 );
1041
1042 l_row_count := SQL%ROWCOUNT;
1043
1044 IF p_event_class_rec.allow_offset_tax_calc_flag ='Y' THEN
1045 -- delete old offset tax lines
1046 --
1047 DELETE FROM zx_lines
1048 WHERE application_id = p_event_class_rec.application_id
1049 AND entity_code = p_event_class_rec.entity_code
1050 AND event_class_code = p_event_class_rec.event_class_code
1051 AND trx_id = p_event_class_rec.trx_id
1052 AND offset_link_to_tax_line_id IN
1053 (SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
1054 tax_line_id
1055 FROM zx_detail_tax_lines_gt
1056 WHERE application_id = p_event_class_rec.application_id
1057 AND entity_code = p_event_class_rec.entity_code
1058 AND event_class_code = p_event_class_rec.event_class_code
1059 AND trx_id = p_event_class_rec.trx_id
1060 AND offset_flag = 'Y'
1061 AND offset_link_to_tax_line_id IS NULL );
1062
1063 l_row_count := SQL%ROWCOUNT + l_row_count;
1064 END IF;
1065
1066 -- May need to be changes if mrc_link_to_tax_line_id is added
1067 --
1068 -- Delete old MRC related detail tax lines
1069 --
1070 IF p_event_class_rec.enable_mrc_flag = 'Y' THEN
1071 DELETE FROM zx_lines zl
1072 WHERE application_id = p_event_class_rec.application_id
1073 AND entity_code = p_event_class_rec.entity_code
1074 AND event_class_code = p_event_class_rec.event_class_code
1075 AND trx_id = p_event_class_rec.trx_id
1076 AND mrc_tax_line_flag = 'Y'
1077 AND (trx_line_id, trx_level_type, tax_line_number) IN
1078 (SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
1079 trx_line_id, trx_level_type, tax_line_number
1080 FROM zx_detail_tax_lines_gt
1081 WHERE application_id = p_event_class_rec.application_id
1082 AND entity_code = p_event_class_rec.entity_code
1083 AND event_class_code = p_event_class_rec.event_class_code
1084 AND trx_id = p_event_class_rec.trx_id
1085 AND mrc_tax_line_flag = 'N');
1086
1087 l_row_count := l_row_count + SQL%ROWCOUNT;
1088
1089 END IF;
1090 END IF;
1091
1092 IF (g_level_procedure >= g_current_runtime_level ) THEN
1093 FND_LOG.STRING(g_level_procedure,
1094 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Detail_Lines.END',
1095 'ZX_TRL_MANAGE_TAX_PKG: Delete_Detail_Lines (-)'||
1096 l_row_count||' rows deleted');
1097 END IF;
1098
1099 EXCEPTION
1100
1101 WHEN FND_API.G_EXC_ERROR THEN
1102 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1103 IF (g_level_procedure >= g_current_runtime_level ) THEN
1104 FND_LOG.STRING(g_level_procedure,
1105 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Detail_Lines',
1106 'Unexpected error ...');
1107 END IF;
1108
1109 WHEN OTHERS THEN
1110 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1111 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1112
1113 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1114 FND_LOG.STRING(g_level_unexpected,
1115 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Detail_Lines',
1116 l_error_buffer);
1117 END IF;
1118 END Delete_Detail_Lines;
1119
1120 /* ===========================================================================*
1121 | PROCEDURE Delete_Summary_TaxLines: Deletes the transaction from |
1122 | ZX_LINES_SUMMARY for a given transaction details |
1123 * ===========================================================================*/
1124 PROCEDURE Delete_Summary_Lines
1125 (x_return_status OUT NOCOPY VARCHAR2,
1126 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
1127
1128 l_row_count NUMBER;
1129 l_error_buffer VARCHAR2(100);
1130 l_TRX_ID number;
1131 BEGIN
1132
1133 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1134
1135 l_row_count := 0;
1136
1137 IF (g_level_procedure >= g_current_runtime_level ) THEN
1138 FND_LOG.STRING(g_level_procedure,
1139 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Summary_Lines.BEGIN',
1140 'ZX_TRL_MANAGE_TAX_PKG: DELETE_SUMMARY_LINES (+)');
1141 END IF;
1142
1143 -- Initialize API return status to success
1144 x_return_status := FND_API.G_RET_STS_SUCCESS;
1145
1146 -- rewrote the following query for bug fix 5417887
1147 /*
1148 DELETE FROM ZX_LINES_SUMMARY
1149 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1150 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1151 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1152 AND TRX_ID = p_event_class_rec.TRX_ID;
1153 */
1154
1155 DELETE FROM zx_lines_summary tax
1156 WHERE EXISTS (SELECT 1
1157 FROM zx_lines_det_factors line
1158 WHERE tax.application_id = line.application_id
1159 AND tax.event_class_code = line.event_class_code
1160 AND tax.entity_code = line.entity_code
1161 AND tax.trx_id = line.trx_id
1162 AND line.event_id = p_event_class_rec.event_id
1163 );
1164
1165 l_row_count := SQL%ROWCOUNT;
1166
1167 /* bug#4374237
1168 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1169 FND_MESSAGE.SET_NAME('FND','ZX_TRL_ROWS_DELETED');
1170 FND_MESSAGE.SET_TOKEN('ROWS_DELETED',l_row_count);
1171 FND_MSG_PUB.Add;
1172 END IF;
1173 */
1174
1175 IF (g_level_procedure >= g_current_runtime_level ) THEN
1176 FND_LOG.STRING(g_level_procedure,
1177 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Summary_Lines.END',
1178 'ZX_TRL_MANAGE_TAX_PKG: DELETE_SUMMARY_LINES (-)'||
1179 l_row_count||' rows deleted');
1180 END IF;
1181
1182 EXCEPTION
1183 WHEN FND_API.G_EXC_ERROR THEN
1184 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1185 IF (g_level_procedure >= g_current_runtime_level ) THEN
1186 FND_LOG.STRING(g_level_procedure,
1187 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Summary_Lines',
1188 'Unexpected error ...');
1189 END IF;
1190
1191 WHEN OTHERS THEN
1192 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1193 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1194
1195 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1196 FND_LOG.STRING(g_level_unexpected,
1197 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Summary_Lines',
1198 l_error_buffer);
1199 END IF;
1200 END Delete_Summary_Lines;
1201
1202 /* ===========================================================================*
1203 | PROCEDURE Delete_Loose_Tax_Distributions: Deletes tax distributions from |
1204 | ZX_REC_NREC_DIST for given tax line |
1205 * ===========================================================================*/
1206
1207 PROCEDURE Delete_Loose_Tax_Distributions
1208 (x_return_status OUT NOCOPY VARCHAR2,
1209 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
1210
1211 l_row_count NUMBER;
1212 l_error_buffer VARCHAR2(100);
1213
1214 BEGIN
1215
1216 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1217
1218 l_row_count := 0;
1219
1220 IF (g_level_procedure >= g_current_runtime_level ) THEN
1221 FND_LOG.STRING(g_level_procedure,
1222 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Loose_Tax_Distributions.BEGIN',
1223 'ZX_TRL_MANAGE_TAX_PKG: Delete_Loose_Tax_Distributions (+)');
1224 END IF;
1225
1226 -- Initialize API return status to success
1227 x_return_status := FND_API.G_RET_STS_SUCCESS;
1228
1229 -- rewrote the following query for bug fix 5417887
1230 /*
1231 DELETE FROM ZX_REC_NREC_DIST
1232 WHERE APPLICATION_ID = p_event_class_rec.application_id
1233 AND ENTITY_CODE = p_event_class_rec.entity_code
1234 AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
1235 AND TRX_ID = p_event_class_rec.trx_id
1236 AND TAX_LINE_ID NOT IN
1237 (SELECT ZX_LINES.TAX_LINE_ID
1238 FROM ZX_LINES
1239 WHERE zx_lines.application_id = p_event_class_rec.application_id
1240 AND zx_lines.entity_code = p_event_class_rec.entity_code
1241 AND zx_lines.event_class_code = p_event_class_rec.event_class_code
1242 AND zx_lines.trx_id = p_event_class_rec.trx_id);
1243 */
1244
1245 DELETE FROM ZX_REC_NREC_DIST dist
1246 WHERE EXISTS (
1247 SELECT 1
1248 FROM zx_lines_det_factors
1249 WHERE APPLICATION_ID = dist.application_id
1250 AND ENTITY_CODE = dist.entity_code
1251 AND EVENT_CLASS_CODE = dist.event_class_code
1252 AND TRX_ID = dist.trx_id
1253 AND EVENT_ID = p_event_class_rec.event_id )
1254 AND TAX_LINE_ID NOT IN
1255 (SELECT TAX_LINE_ID
1256 FROM ZX_LINES zx_lines
1257 WHERE zx_lines.application_id = dist.application_id
1258 AND zx_lines.entity_code = dist.entity_code
1259 AND zx_lines.event_class_code = dist.event_class_code
1260 AND zx_lines.trx_id = dist.trx_id);
1261
1262 l_row_count := SQL%ROWCOUNT;
1263
1264
1265 /* bug#4374237
1266 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1267 FND_MESSAGE.SET_NAME('FND','ZX_TRL_ROWS_DELETED');
1268 FND_MESSAGE.SET_TOKEN('ROWS_DELETED',l_row_count);
1269 FND_MSG_PUB.Add;
1270 END IF;
1271 */
1272
1273 IF (g_level_procedure >= g_current_runtime_level ) THEN
1274 FND_LOG.STRING(g_level_procedure,
1275 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Loose_Tax_Distributions.END',
1276 'ZX_TRL_MANAGE_TAX_PKG: Delete_Loose_Tax_Distributions (-)'||
1277 l_row_count||' rows deleted');
1278 END IF;
1279
1280 EXCEPTION
1281 WHEN FND_API.G_EXC_ERROR THEN
1282 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1283 IF (g_level_procedure >= g_current_runtime_level ) THEN
1284 FND_LOG.STRING(g_level_procedure,
1285 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Loose_Tax_Distributions',
1286 'Unexpected error ...');
1287 END IF;
1288
1289 WHEN OTHERS THEN
1290 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1291 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1292
1293 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1294 FND_LOG.STRING(g_level_unexpected,
1295 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Loose_Tax_Distributions',
1296 l_error_buffer);
1297 END IF;
1298 END Delete_Loose_Tax_Distributions;
1299
1300 /* ===========================================================================*
1301 | PROCEDURE Delete_Tax_Distributions: Deletes old tax distributions from |
1302 | ZX_REC_NREC_DIST when new tax distributions are created in |
1303 | ZX_REC_NREC_DIST_GT |
1304 * ===========================================================================*/
1305
1306 PROCEDURE Delete_Tax_Distributions(
1307 x_return_status OUT NOCOPY VARCHAR2,
1308 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
1309
1310 l_row_count NUMBER;
1311 l_error_buffer VARCHAR2(100);
1312
1313 BEGIN
1314
1315 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1316
1317 l_row_count := 0;
1318
1319 IF (g_level_procedure >= g_current_runtime_level ) THEN
1320 FND_LOG.STRING(g_level_procedure,
1321 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Tax_Distributions.BEGIN',
1322 'ZX_TRL_MANAGE_TAX_PKG: DELETE_TAX_DISTRIBUTIONS (+)');
1323 END IF;
1324
1325 -- Initialize API return status to success
1326 x_return_status := FND_API.G_RET_STS_SUCCESS;
1327
1328 DELETE FROM zx_rec_nrec_dist
1329 WHERE application_id = p_event_class_rec.application_id
1330 AND entity_code = p_event_class_rec.entity_code
1331 AND event_class_code = p_event_class_rec.event_class_code
1332 AND trx_id = p_event_class_rec.trx_id
1333 AND NVL(freeze_flag, 'N') = 'N'
1334 AND NVL(reverse_flag, 'N') = 'N'
1335 AND tax_line_id IN
1336 (SELECT tax_line_id
1337 FROM zx_lines
1338 WHERE trx_id = p_event_class_rec.trx_id
1339 AND application_id = p_event_class_rec.application_id
1340 AND entity_code = p_event_class_rec.entity_code
1341 AND event_class_code = p_event_class_rec.event_class_code
1342 AND reporting_only_flag = 'N'
1343 AND process_for_recovery_flag = 'Y'
1344 );
1345
1346 l_row_count := SQL%ROWCOUNT;
1347
1348 /* bug#4374237
1349 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS) THEN
1350 FND_MESSAGE.SET_NAME('FND','ZX_TRL_ROWS_DELETED');
1351 FND_MESSAGE.SET_TOKEN('ROWS_DELETED',l_row_count);
1352 FND_MSG_PUB.Add;
1353 END IF;
1354 */
1355
1356 IF (g_level_procedure >= g_current_runtime_level ) THEN
1357 FND_LOG.STRING(g_level_procedure,
1358 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Tax_Distributions.END',
1359 'ZX_TRL_MANAGE_TAX_PKG: DELETE_TAX_DISTRIBUTIONS (-)'||
1360 l_row_count||' rows deleted');
1361 END IF;
1362
1363 EXCEPTION
1364 WHEN FND_API.G_EXC_ERROR THEN
1365 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1366 IF (g_level_procedure >= g_current_runtime_level ) THEN
1367 FND_LOG.STRING(g_level_procedure,
1368 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Tax_Distributions',
1369 'Unexpected error ...');
1370 END IF;
1371
1372 WHEN OTHERS THEN
1373 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1374 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1375
1376 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1377 FND_LOG.STRING(g_level_unexpected,
1378 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Tax_Distributions',
1379 l_error_buffer);
1380 END IF;
1381 END Delete_Tax_Distributions;
1382
1383 /* ===========================================================================*
1384 | PROCEDURE Delete_Transaction: Deletes the tax lines in the repository |
1385 * ===========================================================================*/
1386 PROCEDURE Delete_Transaction
1387 (x_return_status OUT NOCOPY VARCHAR2,
1388 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
1389
1390 l_api_version CONSTANT NUMBER := 1.0;
1391 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Transaction';
1392 l_row_count NUMBER;
1393 l_error_buffer VARCHAR2(100);
1394
1395 l_msg_context_info_rec ZX_API_PUB.CONTEXT_INFO_REC_TYPE
1396 ;
1397
1398 -- This cursor will check if any tax lines has frozen distributions
1399 CURSOR check_frozen_child IS
1400 SELECT TAX_LINE_ID
1401 FROM ZX_LINES
1402 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1403 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1404 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1405 AND TRX_ID = p_event_class_rec.TRX_ID
1406 AND Associated_Child_Frozen_Flag = 'Y';
1407
1408 l_tax_line_id ZX_LINES.TAX_LINE_ID%TYPE;
1409
1410 BEGIN
1411
1412 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1413
1414 IF (g_level_procedure >= g_current_runtime_level ) THEN
1415 FND_LOG.STRING(g_level_procedure,
1416 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction.BEGIN',
1417 'ZX_TRL_MANAGE_TAX_PKG: DELETE_TRANSACTION (+)');
1418 END IF;
1419
1420 -- Standard Start of API savepoint
1421 SAVEPOINT Delete_Transaction_Pvt;
1422
1423 -- Initialize API return status to success
1424 x_return_status := FND_API.G_RET_STS_SUCCESS;
1425 --
1426 -- bug#4893261- populate message structure
1427 --
1428 l_msg_context_info_rec.application_id :=
1429 p_event_class_rec.application_id;
1430 l_msg_context_info_rec.entity_code :=
1431 p_event_class_rec.entity_code;
1432 l_msg_context_info_rec.event_class_code :=
1433 p_event_class_rec.event_class_code;
1434 l_msg_context_info_rec.trx_id :=
1435 p_event_class_rec.trx_id;
1436 l_msg_context_info_rec.trx_line_id := NULL;
1437 l_msg_context_info_rec.trx_level_type := NULL;
1438 l_msg_context_info_rec.summary_tax_line_number := NULL;
1439 l_msg_context_info_rec.tax_line_id := NULL;
1440 l_msg_context_info_rec.trx_line_dist_id := NULL;
1441
1442 -- Check if any lines are frozen for the transaction.
1443 -- If they are frozen then do not delete and raise error.
1444 OPEN check_frozen_child;
1445 FETCH check_frozen_child INTO l_tax_line_id;
1446 IF check_frozen_child%FOUND THEN
1447 CLOSE check_frozen_child;
1448 -- Frozen child exist hence we have to raise error and exit
1449 x_return_status := FND_API.G_RET_STS_ERROR;
1450
1451
1452 FND_MESSAGE.SET_NAME('ZX','ZX_CHILD_FROZEN');
1453 ZX_API_PUB.add_msg(l_msg_context_info_rec);
1454 RETURN;
1455 END IF;
1456 CLOSE check_frozen_child;
1457
1458 DELETE FROM ZX_LINES
1459 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1460 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1461 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1462 AND TRX_ID = p_event_class_rec.TRX_ID;
1463
1464 IF (g_level_statement >= g_current_runtime_level ) THEN
1465 FND_LOG.STRING(g_level_statement,
1466 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1467 'Number of rows deleted from zx_lines = '||l_row_count);
1468 END IF;
1469
1470 IF p_event_class_rec.summarization_flag = 'Y' THEN
1471 -- Delete the summary lines
1472
1473 DELETE FROM ZX_LINES_SUMMARY
1474 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1475 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1476 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1477 AND TRX_ID = p_event_class_rec.TRX_ID;
1478
1479 IF (g_level_statement >= g_current_runtime_level ) THEN
1480 FND_LOG.STRING(g_level_statement,
1481 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1482 'Number of rows deleted from zx_lines_summary = '||l_row_count);
1483 END IF;
1484
1485 END IF;
1486
1487 DELETE FROM ZX_REC_NREC_DIST
1488 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1489 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1490 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1491 AND TRX_ID = p_event_class_rec.TRX_ID;
1492
1493 IF (g_level_statement >= g_current_runtime_level ) THEN
1494 FND_LOG.STRING(g_level_statement,
1495 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1496 'Number of rows deleted from zx_rec_nrec_dist = '||l_row_count);
1497 END IF;
1498
1499 IF (g_level_procedure >= g_current_runtime_level ) THEN
1500 FND_LOG.STRING(g_level_procedure,
1501 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction.END',
1502 'ZX_TRL_MANAGE_TAX_PKG: DELETE_TRANSACTION (-)');
1503 END IF;
1504
1505 EXCEPTION
1506 WHEN NO_DATA_FOUND THEN
1507 -- x_return_status := FND_API.G_RET_STS_ERROR ;
1508 IF (g_level_procedure >= g_current_runtime_level ) THEN
1509 FND_LOG.STRING(g_level_procedure,
1510 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1511 'Exception:' ||SQLCODE||';'||SQLERRM);
1512 FND_LOG.STRING(g_level_procedure,
1513 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1514 'Return Status = '||x_return_status);
1515 END IF;
1516
1517 /* bug#4374237
1518 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1519 FND_MESSAGE.SET_NAME('FND','ZX_TRL_ROWS_NOT_FOUND');
1520 FND_MSG_PUB.Add;
1521 END IF;
1522 */
1523
1524 WHEN FND_API.G_EXC_ERROR THEN
1525 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1526 IF (g_level_procedure >= g_current_runtime_level ) THEN
1527 FND_LOG.STRING(g_level_procedure,
1528 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1529 'Exception:' ||SQLCODE||';'||SQLERRM);
1530 FND_LOG.STRING(g_level_procedure,
1531 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1532 'Return Status = '||x_return_status);
1533 END IF;
1534
1535 IF (g_level_procedure >= g_current_runtime_level ) THEN
1536 FND_LOG.STRING(g_level_procedure,
1537 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Manage_TaxLines',
1538 'Unexpected error ...');
1539 END IF;
1540
1541 WHEN OTHERS THEN
1542 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1543 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1544
1545 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1546 FND_LOG.STRING(g_level_unexpected,
1547 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
1548 l_error_buffer);
1549 END IF;
1550 END Delete_Transaction;
1551
1552 /* ===========================================================================*
1553 | PROCEDURE Cancel_Transaction: Marks tax lines in the repository as Cancelled|
1554 * ===========================================================================*/
1555
1556 PROCEDURE Cancel_Transaction
1557 (x_return_status OUT NOCOPY VARCHAR2,
1558 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
1559
1560 l_row_count NUMBER;
1561 l_error_buffer VARCHAR2(100);
1562
1563 l_rec_nrec_tax_dist_id_tbl num_tbl_type;
1564 l_tax_line_id_tbl num_tbl_type;
1565 l_trx_line_dist_id_tbl num_tbl_type;
1566 l_tax_dist_num_tbl num_tbl_type;
1567 l_org_id_tbl num_tbl_type;
1568 l_gl_date_tbl date_tbl_type;
1569
1570 l_old_tax_line_id NUMBER;
1571 l_old_trx_line_dist_id NUMBER;
1572 l_new_tax_dist_num NUMBER;
1573
1574 CURSOR get_max_tax_dist_num_csr(
1575 c_tax_line_id NUMBER,
1576 c_trx_line_dist_id NUMBER) IS
1577 SELECT max(rec_nrec_tax_dist_number)
1578 FROM zx_rec_nrec_dist
1579 WHERE tax_line_id = c_tax_line_id
1580 AND trx_line_dist_id = c_trx_line_dist_id;
1581
1582 CURSOR get_frozen_tax_dists_csr IS
1583 SELECT rec_nrec_tax_dist_id,
1584 tax_line_id,
1585 trx_line_dist_id,
1586 rec_nrec_tax_dist_number,
1587 internal_organization_id,
1588 gl_date
1589 FROM zx_rec_nrec_dist
1590 WHERE freeze_flag = 'Y'
1591 AND NVL(reverse_flag, 'N') = 'N'
1592 AND application_id = p_event_class_rec.application_id
1593 AND entity_code = p_event_class_rec.entity_code
1594 AND event_class_code = p_event_class_rec.event_class_code
1595 AND trx_id = p_event_class_rec.trx_id
1596 ORDER BY tax_line_id, trx_line_dist_id, rec_nrec_tax_dist_number;
1597
1598 BEGIN
1599
1600 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1601
1602 IF (g_level_procedure >= g_current_runtime_level ) THEN
1603 FND_LOG.STRING(g_level_procedure,
1604 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction.BEGIN',
1605 'ZX_TRL_MANAGE_TAX_PKG: Cancel_Transaction (+)');
1606 END IF;
1607
1608 -- Initialize API return status to success
1609 x_return_status := FND_API.G_RET_STS_SUCCESS;
1610
1611 UPDATE ZX_LINES
1612 SET Cancel_Flag = 'Y'
1613 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1614 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1615 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1616 AND TRX_ID = p_event_class_rec.TRX_ID;
1617
1618 --Add the success or failure message into the stack.
1619
1620 l_row_count := SQL%ROWCOUNT;
1621
1622 IF (g_level_statement >= g_current_runtime_level ) THEN
1623 FND_LOG.STRING(g_level_statement,
1624 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
1625 'Number of rows updated in zx_lines = '||l_row_count);
1626 END IF;
1627
1628 IF p_event_class_rec.summarization_flag = 'Y' THEN
1629
1630 UPDATE ZX_LINES_SUMMARY
1631 SET Cancel_Flag = 'Y'
1632 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
1633 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
1634 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
1635 AND TRX_ID = p_event_class_rec.TRX_ID;
1636
1637 l_row_count := SQL%ROWCOUNT;
1638
1639 IF (g_level_statement >= g_current_runtime_level ) THEN
1640 FND_LOG.STRING(g_level_statement,
1641 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
1642 'Number of rows updated in zx_lines_summary = '||l_row_count);
1643 END IF;
1644
1645 END IF;
1646
1647 OPEN get_frozen_tax_dists_csr;
1648 FETCH get_frozen_tax_dists_csr BULK COLLECT INTO
1649 l_rec_nrec_tax_dist_id_tbl,
1650 l_tax_line_id_tbl,
1651 l_trx_line_dist_id_tbl,
1652 l_tax_dist_num_tbl,
1653 l_org_id_tbl,
1654 l_gl_date_tbl;
1655 CLOSE get_frozen_tax_dists_csr;
1656
1657 l_old_tax_line_id := NUMBER_DUMMY;
1658 l_old_trx_line_dist_id := NUMBER_DUMMY;
1659 l_new_tax_dist_num := 0;
1660
1661 IF l_rec_nrec_tax_dist_id_tbl.COUNT > 0 THEN
1662
1663 FOR i IN NVL(l_rec_nrec_tax_dist_id_tbl.FIRST, 0) ..
1664 NVL(l_rec_nrec_tax_dist_id_tbl.LAST, -1)
1665 LOOP
1666
1667 IF l_old_tax_line_id = l_tax_line_id_tbl(i) AND
1668 l_old_trx_line_dist_id = l_trx_line_dist_id_tbl(i) THEN
1669 l_new_tax_dist_num := l_new_tax_dist_num + 1;
1670 ELSE
1671
1672 OPEN get_max_tax_dist_num_csr(
1673 l_tax_line_id_tbl(i),
1674 l_trx_line_dist_id_tbl(i));
1675 FETCH get_max_tax_dist_num_csr INTO l_new_tax_dist_num;
1676 CLOSE get_max_tax_dist_num_csr;
1677
1678 l_new_tax_dist_num := l_new_tax_dist_num + 1;
1679
1680 l_old_tax_line_id := l_tax_line_id_tbl(i);
1681 l_old_trx_line_dist_id := l_trx_line_dist_id_tbl(i);
1682
1683 END IF;
1684
1685 l_tax_dist_num_tbl(i) := l_new_tax_dist_num;
1686
1687 -- bug 6706941: populate gl_date for the reversed tax distribution
1688 --
1689 l_gl_date_tbl(i) := AP_UTILITIES_PKG.get_reversal_gl_date(
1690 p_date => l_gl_date_tbl(i),
1691 p_org_id => l_org_id_tbl(i));
1692
1693 END LOOP;
1694
1695 FORALL i IN NVL(l_rec_nrec_tax_dist_id_tbl.FIRST, 0) ..
1696 NVL(l_rec_nrec_tax_dist_id_tbl.LAST, -1)
1697
1698 INSERT INTO ZX_REC_NREC_DIST(
1699 REC_NREC_TAX_DIST_ID,
1700 APPLICATION_ID,
1701 ENTITY_CODE,
1702 EVENT_CLASS_CODE,
1703 EVENT_TYPE_CODE,
1704 TRX_ID,
1705 TRX_LEVEL_TYPE,
1706 TRX_NUMBER,
1707 TRX_LINE_ID,
1708 TRX_LINE_NUMBER,
1709 TAX_LINE_ID,
1710 TAX_LINE_NUMBER,
1711 TRX_LINE_DIST_ID,
1712 ITEM_DIST_NUMBER,
1713 REC_NREC_TAX_DIST_NUMBER,
1714 REC_NREC_RATE,
1715 RECOVERABLE_FLAG,
1716 REC_NREC_TAX_AMT,
1717 TAX_EVENT_CLASS_CODE,
1718 TAX_EVENT_TYPE_CODE,
1719 CONTENT_OWNER_ID,
1720 TAX_REGIME_ID,
1721 TAX_REGIME_CODE,
1722 TAX_ID,
1723 TAX,
1724 TAX_STATUS_ID,
1725 TAX_STATUS_CODE,
1726 TAX_RATE_ID,
1727 TAX_RATE_CODE,
1728 TAX_RATE,
1729 INCLUSIVE_FLAG,
1730 RECOVERY_TYPE_ID,
1731 RECOVERY_TYPE_CODE,
1732 RECOVERY_RATE_ID,
1733 RECOVERY_RATE_CODE,
1734 REC_TYPE_RULE_FLAG,
1735 NEW_REC_RATE_CODE_FLAG,
1736 REVERSE_FLAG,
1737 HISTORICAL_FLAG,
1738 REVERSED_TAX_DIST_ID,
1739 REC_NREC_TAX_AMT_TAX_CURR,
1740 REC_NREC_TAX_AMT_FUNCL_CURR,
1741 INTENDED_USE,
1742 PROJECT_ID,
1743 TASK_ID,
1744 AWARD_ID,
1745 EXPENDITURE_TYPE,
1746 EXPENDITURE_ORGANIZATION_ID,
1747 EXPENDITURE_ITEM_DATE,
1748 REC_RATE_DET_RULE_FLAG,
1749 LEDGER_ID,
1750 SUMMARY_TAX_LINE_ID,
1751 RECORD_TYPE_CODE,
1752 CURRENCY_CONVERSION_DATE,
1753 CURRENCY_CONVERSION_TYPE,
1754 CURRENCY_CONVERSION_RATE,
1755 TAX_CURRENCY_CONVERSION_DATE,
1756 TAX_CURRENCY_CONVERSION_TYPE,
1757 TAX_CURRENCY_CONVERSION_RATE,
1758 TRX_CURRENCY_CODE,
1759 TAX_CURRENCY_CODE,
1760 TRX_LINE_DIST_QTY,
1761 REF_DOC_TRX_LINE_DIST_QTY,
1762 PRICE_DIFF,
1763 QTY_DIFF,
1764 PER_TRX_CURR_UNIT_NR_AMT,
1765 REF_PER_TRX_CURR_UNIT_NR_AMT,
1766 REF_DOC_CURR_CONV_RATE,
1767 UNIT_PRICE,
1768 REF_DOC_UNIT_PRICE,
1769 PER_UNIT_NREC_TAX_AMT,
1770 REF_DOC_PER_UNIT_NREC_TAX_AMT,
1771 RATE_TAX_FACTOR,
1772 TAX_APPORTIONMENT_FLAG,
1773 TRX_LINE_DIST_AMT,
1774 TRX_LINE_DIST_TAX_AMT,
1775 ORIG_REC_NREC_RATE,
1776 ORIG_REC_RATE_CODE,
1777 ORIG_REC_NREC_TAX_AMT,
1778 ORIG_REC_NREC_TAX_AMT_TAX_CURR,
1779 ACCOUNT_CCID,
1780 ACCOUNT_STRING,
1781 UNROUNDED_REC_NREC_TAX_AMT,
1782 APPLICABILITY_RESULT_ID,
1783 REC_RATE_RESULT_ID,
1784 BACKWARD_COMPATIBILITY_FLAG,
1785 OVERRIDDEN_FLAG,
1786 SELF_ASSESSED_FLAG,
1787 FREEZE_FLAG,
1788 POSTING_FLAG,
1789 ATTRIBUTE_CATEGORY,
1790 ATTRIBUTE1,
1791 ATTRIBUTE2,
1792 ATTRIBUTE3,
1793 ATTRIBUTE4,
1794 ATTRIBUTE5,
1795 ATTRIBUTE6,
1796 ATTRIBUTE7,
1797 ATTRIBUTE8,
1798 ATTRIBUTE9,
1799 ATTRIBUTE10,
1800 ATTRIBUTE11,
1801 ATTRIBUTE12,
1802 ATTRIBUTE13,
1803 ATTRIBUTE14,
1804 ATTRIBUTE15,
1805 GLOBAL_ATTRIBUTE_CATEGORY,
1806 GLOBAL_ATTRIBUTE1,
1807 GLOBAL_ATTRIBUTE2,
1808 GLOBAL_ATTRIBUTE3,
1809 GLOBAL_ATTRIBUTE4,
1810 GLOBAL_ATTRIBUTE5,
1811 GLOBAL_ATTRIBUTE6,
1812 GLOBAL_ATTRIBUTE7,
1813 GLOBAL_ATTRIBUTE8,
1814 GLOBAL_ATTRIBUTE9,
1815 GLOBAL_ATTRIBUTE10,
1816 GLOBAL_ATTRIBUTE11,
1817 GLOBAL_ATTRIBUTE12,
1818 GLOBAL_ATTRIBUTE13,
1819 GLOBAL_ATTRIBUTE14,
1820 GLOBAL_ATTRIBUTE15,
1821 GLOBAL_ATTRIBUTE16,
1822 GLOBAL_ATTRIBUTE17,
1823 GLOBAL_ATTRIBUTE18,
1824 GLOBAL_ATTRIBUTE19,
1825 GLOBAL_ATTRIBUTE20,
1826 GL_DATE,
1827 REF_DOC_APPLICATION_ID,
1828 REF_DOC_ENTITY_CODE,
1829 REF_DOC_EVENT_CLASS_CODE,
1830 REF_DOC_TRX_ID,
1831 REF_DOC_LINE_ID,
1832 REF_DOC_DIST_ID,
1833 MINIMUM_ACCOUNTABLE_UNIT,
1834 PRECISION,
1835 ROUNDING_RULE_CODE,
1836 TAXABLE_AMT,
1837 TAXABLE_AMT_TAX_CURR,
1838 TAXABLE_AMT_FUNCL_CURR,
1839 TAX_ONLY_LINE_FLAG,
1840 UNROUNDED_TAXABLE_AMT,
1841 LEGAL_ENTITY_ID,
1842 PRD_TAX_AMT,
1843 PRD_TAX_AMT_TAX_CURR,
1844 PRD_TAX_AMT_FUNCL_CURR,
1845 PRD_TOTAL_TAX_AMT,
1846 PRD_TOTAL_TAX_AMT_TAX_CURR,
1847 PRD_TOTAL_TAX_AMT_FUNCL_CURR,
1848 APPLIED_FROM_TAX_DIST_ID,
1849 APPLIED_TO_DOC_CURR_CONV_RATE,
1850 ADJUSTED_DOC_TAX_DIST_ID,
1851 FUNC_CURR_ROUNDING_ADJUSTMENT,
1852 TAX_APPORTIONMENT_LINE_NUMBER,
1853 LAST_MANUAL_ENTRY,
1854 REF_DOC_TAX_DIST_ID,
1855 REF_DOC_TRX_LEVEL_TYPE,
1856 MRC_TAX_DIST_FLAG,
1857 MRC_LINK_TO_TAX_DIST_ID,
1858 OBJECT_VERSION_NUMBER,
1859 CREATED_BY,
1860 CREATION_DATE,
1861 LAST_UPDATED_BY,
1862 LAST_UPDATE_DATE,
1863 LAST_UPDATE_LOGIN,
1864 INTERNAL_ORGANIZATION_ID,
1865 DEF_REC_SETTLEMENT_OPTION_CODE,
1866 TAX_JURISDICTION_ID,
1867 ACCOUNT_SOURCE_TAX_RATE_ID)
1868 SELECT ZX_REC_NREC_DIST_S.NEXTVAL,
1869 APPLICATION_ID,
1870 ENTITY_CODE,
1871 EVENT_CLASS_CODE,
1872 EVENT_TYPE_CODE,
1873 TRX_ID,
1874 TRX_LEVEL_TYPE,
1875 TRX_NUMBER,
1876 TRX_LINE_ID,
1877 TRX_LINE_NUMBER,
1878 TAX_LINE_ID,
1879 TAX_LINE_NUMBER,
1880 TRX_LINE_DIST_ID,
1881 ITEM_DIST_NUMBER,
1882 l_tax_dist_num_tbl(i), -- REC_NREC_TAX_DIST_NUMBER,
1883 REC_NREC_RATE,
1884 RECOVERABLE_FLAG,
1885 - REC_NREC_TAX_AMT,
1886 TAX_EVENT_CLASS_CODE,
1887 TAX_EVENT_TYPE_CODE,
1888 CONTENT_OWNER_ID,
1889 TAX_REGIME_ID,
1890 TAX_REGIME_CODE,
1891 TAX_ID,
1892 TAX,
1893 TAX_STATUS_ID,
1894 TAX_STATUS_CODE,
1895 TAX_RATE_ID,
1896 TAX_RATE_CODE,
1897 TAX_RATE,
1898 INCLUSIVE_FLAG,
1899 RECOVERY_TYPE_ID,
1900 RECOVERY_TYPE_CODE,
1901 RECOVERY_RATE_ID,
1902 RECOVERY_RATE_CODE,
1903 REC_TYPE_RULE_FLAG,
1904 NEW_REC_RATE_CODE_FLAG,
1905 'Y', -- REVERSE_FLAG,
1906 HISTORICAL_FLAG,
1907 REC_NREC_TAX_DIST_ID, -- REVERSED_TAX_DIST_ID,
1908 - REC_NREC_TAX_AMT_TAX_CURR,
1909 - REC_NREC_TAX_AMT_FUNCL_CURR,
1910 INTENDED_USE,
1911 PROJECT_ID,
1912 TASK_ID,
1913 AWARD_ID,
1914 EXPENDITURE_TYPE,
1915 EXPENDITURE_ORGANIZATION_ID,
1916 EXPENDITURE_ITEM_DATE,
1917 REC_RATE_DET_RULE_FLAG,
1918 LEDGER_ID,
1919 SUMMARY_TAX_LINE_ID,
1920 RECORD_TYPE_CODE,
1921 CURRENCY_CONVERSION_DATE,
1922 CURRENCY_CONVERSION_TYPE,
1923 CURRENCY_CONVERSION_RATE,
1924 TAX_CURRENCY_CONVERSION_DATE,
1925 TAX_CURRENCY_CONVERSION_TYPE,
1926 TAX_CURRENCY_CONVERSION_RATE,
1927 TRX_CURRENCY_CODE,
1928 TAX_CURRENCY_CODE,
1929 - TRX_LINE_DIST_QTY,
1930 - REF_DOC_TRX_LINE_DIST_QTY,
1931 PRICE_DIFF,
1932 - QTY_DIFF,
1933 - PER_TRX_CURR_UNIT_NR_AMT,
1934 - REF_PER_TRX_CURR_UNIT_NR_AMT,
1935 REF_DOC_CURR_CONV_RATE,
1936 UNIT_PRICE,
1937 REF_DOC_UNIT_PRICE,
1938 - PER_UNIT_NREC_TAX_AMT,
1939 - REF_DOC_PER_UNIT_NREC_TAX_AMT,
1940 RATE_TAX_FACTOR,
1941 TAX_APPORTIONMENT_FLAG,
1942 - TRX_LINE_DIST_AMT,
1943 - TRX_LINE_DIST_TAX_AMT,
1944 NULL, -- ORIG_REC_NREC_RATE
1945 NULL, -- ORIG_REC_RATE_CODE
1946 NULL, -- ORIG_REC_NREC_TAX_AMT
1947 NULL, -- ORIG_REC_NREC_TAX_AMT_TAX_CURR
1948 ACCOUNT_CCID,
1949 ACCOUNT_STRING,
1950 - UNROUNDED_REC_NREC_TAX_AMT,
1951 APPLICABILITY_RESULT_ID,
1952 REC_RATE_RESULT_ID,
1953 BACKWARD_COMPATIBILITY_FLAG,
1954 'N', -- OVERRIDDEN_FLAG,
1955 SELF_ASSESSED_FLAG,
1956 'N', -- FREEZE_FLAG,
1957 POSTING_FLAG,
1958 ATTRIBUTE_CATEGORY,
1959 ATTRIBUTE1,
1960 ATTRIBUTE2,
1961 ATTRIBUTE3,
1962 ATTRIBUTE4,
1963 ATTRIBUTE5,
1964 ATTRIBUTE6,
1965 ATTRIBUTE7,
1966 ATTRIBUTE8,
1967 ATTRIBUTE9,
1968 ATTRIBUTE10,
1969 ATTRIBUTE11,
1970 ATTRIBUTE12,
1971 ATTRIBUTE13,
1972 ATTRIBUTE14,
1973 ATTRIBUTE15,
1974 GLOBAL_ATTRIBUTE_CATEGORY,
1975 GLOBAL_ATTRIBUTE1,
1976 GLOBAL_ATTRIBUTE2,
1977 GLOBAL_ATTRIBUTE3,
1978 GLOBAL_ATTRIBUTE4,
1979 GLOBAL_ATTRIBUTE5,
1980 GLOBAL_ATTRIBUTE6,
1981 GLOBAL_ATTRIBUTE7,
1982 GLOBAL_ATTRIBUTE8,
1983 GLOBAL_ATTRIBUTE9,
1984 GLOBAL_ATTRIBUTE10,
1985 GLOBAL_ATTRIBUTE11,
1986 GLOBAL_ATTRIBUTE12,
1987 GLOBAL_ATTRIBUTE13,
1988 GLOBAL_ATTRIBUTE14,
1989 GLOBAL_ATTRIBUTE15,
1990 GLOBAL_ATTRIBUTE16,
1991 GLOBAL_ATTRIBUTE17,
1992 GLOBAL_ATTRIBUTE18,
1993 GLOBAL_ATTRIBUTE19,
1994 GLOBAL_ATTRIBUTE20,
1995 l_gl_date_tbl(i), -- GL_DATE,
1996 REF_DOC_APPLICATION_ID,
1997 REF_DOC_ENTITY_CODE,
1998 REF_DOC_EVENT_CLASS_CODE,
1999 REF_DOC_TRX_ID,
2000 REF_DOC_LINE_ID,
2001 REF_DOC_DIST_ID,
2002 MINIMUM_ACCOUNTABLE_UNIT,
2003 PRECISION,
2004 ROUNDING_RULE_CODE,
2005 - TAXABLE_AMT,
2006 - TAXABLE_AMT_TAX_CURR,
2007 - TAXABLE_AMT_FUNCL_CURR,
2008 TAX_ONLY_LINE_FLAG,
2009 - UNROUNDED_TAXABLE_AMT,
2010 LEGAL_ENTITY_ID,
2011 - PRD_TAX_AMT,
2012 - PRD_TAX_AMT_TAX_CURR,
2013 - PRD_TAX_AMT_FUNCL_CURR,
2014 - PRD_TOTAL_TAX_AMT,
2015 - PRD_TOTAL_TAX_AMT_TAX_CURR,
2016 - PRD_TOTAL_TAX_AMT_FUNCL_CURR,
2017 APPLIED_FROM_TAX_DIST_ID,
2018 APPLIED_TO_DOC_CURR_CONV_RATE,
2019 ADJUSTED_DOC_TAX_DIST_ID,
2020 FUNC_CURR_ROUNDING_ADJUSTMENT,
2021 TAX_APPORTIONMENT_LINE_NUMBER,
2022 LAST_MANUAL_ENTRY,
2023 REF_DOC_TAX_DIST_ID,
2024 REF_DOC_TRX_LEVEL_TYPE,
2025 MRC_TAX_DIST_FLAG,
2026 MRC_LINK_TO_TAX_DIST_ID,
2027 1, --OBJECT_VERSION_NUMBER,
2028 FND_GLOBAL.USER_ID, -- CREATED_BY,
2029 SYSDATE, -- CREATION_DATE,
2030 FND_GLOBAL.USER_ID, -- LAST_UPDATED_BY,
2031 SYSDATE, -- LAST_UPDATE_DATE,
2032 FND_GLOBAL.LOGIN_ID, -- LAST_UPDATE_LOGIN
2033 INTERNAL_ORGANIZATION_ID,
2034 DEF_REC_SETTLEMENT_OPTION_CODE,
2035 TAX_JURISDICTION_ID,
2036 ACCOUNT_SOURCE_TAX_RATE_ID
2037 FROM ZX_REC_NREC_DIST
2038 WHERE rec_nrec_tax_dist_id = l_rec_nrec_tax_dist_id_tbl(i);
2039
2040 l_row_count := SQL%ROWCOUNT;
2041
2042 IF (g_level_statement >= g_current_runtime_level ) THEN
2043 FND_LOG.STRING(g_level_statement,
2044 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
2045 'Number of rows updated in zx_rec_nrec_dist = '||l_row_count);
2046 END IF;
2047
2048 FORALL i IN NVL(l_rec_nrec_tax_dist_id_tbl.FIRST, 0) ..
2049 NVL(l_rec_nrec_tax_dist_id_tbl.LAST, -1)
2050 UPDATE zx_rec_nrec_dist
2051 SET reverse_flag = 'Y'
2052 WHERE rec_nrec_tax_dist_id = l_rec_nrec_tax_dist_id_tbl(i);
2053
2054 l_row_count := SQL%ROWCOUNT;
2055
2056 IF (g_level_statement >= g_current_runtime_level ) THEN
2057 FND_LOG.STRING(g_level_statement,
2058 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
2059 'Number of rows updated in zx_rec_nrec_dist = '||l_row_count);
2060 END IF;
2061
2062 END IF; -- _rec_nrec_tax_dist_id_tbl.COUNT > 0
2063
2064 IF (g_level_procedure >= g_current_runtime_level ) THEN
2065 FND_LOG.STRING(g_level_procedure,
2066 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction.END',
2067 'ZX_TRL_MANAGE_TAX_PKG: CANCEL_TRANSACTION (-)');
2068 END IF;
2069
2070 EXCEPTION
2071
2072 WHEN FND_API.G_EXC_ERROR THEN
2073 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2074 IF (g_level_procedure >= g_current_runtime_level ) THEN
2075 FND_LOG.STRING(g_level_procedure,
2076 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
2077 'Exception:' ||SQLCODE||';'||SQLERRM);
2078 FND_LOG.STRING(g_level_procedure,
2079 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
2080 'Return Status = '||x_return_status);
2081 END IF;
2082
2083 WHEN OTHERS THEN
2084 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2085 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
2086
2087 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2088
2089 FND_LOG.STRING(g_level_unexpected,
2090 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
2091 l_error_buffer);
2092 END IF;
2093 END Cancel_Transaction;
2094
2095 /* ===============================================================================*
2096 | PROCEDURE Purge_Transaction: Deletes tax lines in the repository (in Phase 1a)|
2097 * ===============================================================================*/
2098
2099 PROCEDURE Purge_Transaction
2100 (x_return_status OUT NOCOPY VARCHAR2,
2101 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
2102
2103 l_return_status VARCHAR2(1);
2104 l_error_buffer VARCHAR2(100);
2105
2106 BEGIN
2107
2108 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2109
2110 IF (g_level_procedure >= g_current_runtime_level ) THEN
2111 FND_LOG.STRING(g_level_procedure,
2112 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction.BEGIN',
2113 'ZX_TRL_MANAGE_TAX_PKG: PURGE_TRANSACTION (+)');
2114 END IF;
2115
2116 -- Initialize API return status to success
2117 x_return_status := FND_API.G_RET_STS_SUCCESS;
2118
2119 Delete_Transaction (x_return_status => l_return_status,
2120 p_event_class_rec => p_event_class_rec);
2121
2122 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2123 IF (g_level_procedure >= g_current_runtime_level ) THEN
2124 FND_LOG.STRING(g_level_procedure,
2125 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Transaction',
2126 'Return Status = '||l_return_status);
2127 END IF;
2128 RAISE FND_API.G_EXC_ERROR;
2129 END IF;
2130
2131 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2132 IF (g_level_procedure >= g_current_runtime_level ) THEN
2133 FND_LOG.STRING(g_level_procedure,
2134 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction',
2135 'Return Status = '||l_return_status);
2136 END IF;
2137 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2138 END IF;
2139
2140 IF (g_level_procedure >= g_current_runtime_level ) THEN
2141 FND_LOG.STRING(g_level_procedure,
2142 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction.END',
2143 'ZX_TRL_MANAGE_TAX_PKG: PURGE_TRANSACTION (-)');
2144 END IF;
2145
2146 EXCEPTION
2147 WHEN FND_API.G_EXC_ERROR THEN
2148 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2149 IF (g_level_procedure >= g_current_runtime_level ) THEN
2150 FND_LOG.STRING(g_level_procedure,
2151 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction',
2152 'Exception:' ||SQLCODE||';'||SQLERRM);
2153 FND_LOG.STRING(g_level_procedure,
2154 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction',
2155 'Return Status = '||x_return_status);
2156 END IF;
2157
2158 WHEN OTHERS THEN
2159 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2160 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
2161
2162 IF (g_level_procedure >= g_current_runtime_level ) THEN
2163 FND_LOG.STRING(g_level_procedure,
2164 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction',
2165 'Return Status = '||x_return_status);
2166 END IF;
2167
2168 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2169 FND_LOG.STRING(g_level_unexpected,
2170 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Purge_Transaction',
2171 l_error_buffer);
2172 END IF;
2173
2174 END Purge_Transaction;
2175
2176
2177 /* ===========================================================================*
2178 | PROCEDURE Mark_Detail_Tax_Lines_Delete: Marks tax lines in the repository |
2179 | as Deleted |
2180 * ===========================================================================*/
2181
2182 PROCEDURE Mark_Detail_Tax_Lines_Delete
2183 (x_return_status OUT NOCOPY VARCHAR2,
2184 p_transaction_line_rec IN ZX_API_PUB.TRANSACTION_LINE_REC_TYPE) IS
2185
2186 l_row_count NUMBER;
2187 l_freeze_dists_num NUMBER;
2188 l_error_buffer VARCHAR2(100);
2189
2190 CURSOR check_dist IS
2191 SELECT count(*) frozen_rec
2192 FROM ZX_REC_NREC_DIST
2193 WHERE application_id = p_transaction_line_rec.application_id
2194 AND entity_code = p_transaction_line_rec.entity_code
2195 AND event_class_code = p_transaction_line_rec.event_class_code
2196 AND trx_id = p_transaction_line_rec.trx_id
2197 AND trx_line_id = p_transaction_line_rec.trx_line_id
2198 AND trx_level_type = p_transaction_line_rec.trx_level_type
2199 AND Freeze_Flag = 'Y';
2200
2201 BEGIN
2202
2203 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2204
2205 IF (g_level_procedure >= g_current_runtime_level ) THEN
2206 FND_LOG.STRING(g_level_procedure,
2207 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete.BEGIN',
2208 'ZX_TRL_MANAGE_TAX_PKG: MARK_DETAIL_TAX_LINES_DELETE (+)');
2209 END IF;
2210
2211 -- Initialize API return status to success
2212 x_return_status := FND_API.G_RET_STS_SUCCESS;
2213
2214 --Check if any associated distributions are marked frozen.
2215 OPEN check_dist;
2216 Fetch check_dist INTO l_freeze_dists_num;
2217 CLOSE check_dist;
2218
2219 IF l_freeze_dists_num > 0 THEN
2220
2221 APP_EXCEPTION.Raise_Exception;
2222 RAISE FND_API.G_EXC_ERROR;
2223 END IF;
2224
2225 UPDATE ZX_LINES
2226 SET Delete_Flag = 'Y'
2227 WHERE APPLICATION_ID = p_transaction_line_rec.APPLICATION_ID
2228 AND ENTITY_CODE = p_transaction_line_rec.ENTITY_CODE
2229 AND EVENT_CLASS_CODE = p_transaction_line_rec.EVENT_CLASS_CODE
2230 AND TRX_ID = p_transaction_line_rec.TRX_ID
2231 AND TRX_LINE_ID = p_transaction_line_rec.TRX_LINE_ID
2232 AND TRX_LEVEL_TYPE = p_transaction_line_rec.TRX_LEVEL_TYPE;
2233
2234 --Add the success or failure message into the stack.
2235
2236 IF (g_level_statement >= g_current_runtime_level ) THEN
2237 FND_LOG.STRING(g_level_statement,
2238 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2239 'Number of rows updated in zx_lines = '||l_row_count);
2240 END IF;
2241
2242 IF (g_level_procedure >= g_current_runtime_level ) THEN
2243 FND_LOG.STRING(g_level_procedure,
2244 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete.END',
2245 'ZX_TRL_MANAGE_TAX_PKG: MARK_DETAIL_TAX_LINES_DELETE (-)');
2246 END IF;
2247
2248 EXCEPTION
2249 WHEN NO_DATA_FOUND THEN
2250 -- x_return_status := FND_API.G_RET_STS_ERROR ;
2251 IF (g_level_procedure >= g_current_runtime_level ) THEN
2252 FND_LOG.STRING(g_level_procedure,
2253 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2254 'Exception:' ||SQLCODE||';'||SQLERRM);
2255
2256 FND_LOG.STRING(g_level_procedure,
2257 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2258 'Return Status = '||x_return_status);
2259 END IF;
2260
2261 /* bug#4374237
2262 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2263 FND_MESSAGE.SET_NAME('FND','ZX_TRL_ROWS_NOT_FOUND');
2264 FND_MSG_PUB.Add;
2265 END IF;
2266 */
2267
2268 WHEN FND_API.G_EXC_ERROR THEN
2269 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2270 IF (g_level_procedure >= g_current_runtime_level ) THEN
2271 FND_LOG.STRING(g_level_procedure,
2272 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2273 'Exception:' ||SQLCODE||';'||SQLERRM);
2274
2275 FND_LOG.STRING(g_level_procedure,
2276 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2277 'Return Status = '||x_return_status);
2278 END IF;
2279
2280 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2281 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2282
2283 IF (g_level_procedure >= g_current_runtime_level ) THEN
2284 FND_LOG.STRING(g_level_procedure,
2285 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2286 'Unexpected Error:' ||SQLCODE||';'||SQLERRM);
2287 FND_LOG.STRING(g_level_procedure,
2288 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2289 'Return Status = '||x_return_status);
2290 FND_LOG.STRING(g_level_procedure,
2291 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2292 'Unexpected error ...');
2293 END IF;
2294
2295 WHEN OTHERS THEN
2296 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2297 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
2298
2299 IF (g_level_procedure >= g_current_runtime_level ) THEN
2300 FND_LOG.STRING(g_level_procedure,
2301 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2302 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
2303
2304 FND_LOG.STRING(g_level_procedure,
2305 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Mark_Detail_Tax_Lines_Delete',
2306 'Return Status = '||x_return_status);
2307 END IF;
2308 END Mark_Detail_Tax_Lines_Delete;
2309
2310 /*============================================================================*
2311 | PROCEDURE Create_Tax_Distributions: Inserts distribution lines into |
2312 | ZX_REC_NREC_DIST table. |
2313 *============================================================================*/
2314
2315 PROCEDURE Create_Tax_Distributions
2316 (x_return_status OUT NOCOPY VARCHAR2) IS
2317
2318 l_error_buffer VARCHAR2(100);
2319
2320 BEGIN
2321
2322 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2323
2324 IF (g_level_procedure >= g_current_runtime_level ) THEN
2325 FND_LOG.STRING(g_level_procedure,
2326 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions.BEGIN',
2327 'ZX_TRL_MANAGE_TAX_PKG: Create_Tax_Distributions (+)');
2328 END IF;
2329
2330 -- Initialize API return status to success
2331 x_return_status := FND_API.G_RET_STS_SUCCESS;
2332
2333 INSERT INTO ZX_REC_NREC_DIST (REC_NREC_TAX_DIST_ID,
2334 APPLICATION_ID,
2335 ENTITY_CODE,
2336 EVENT_CLASS_CODE,
2337 EVENT_TYPE_CODE,
2338 TRX_ID,
2339 TRX_LEVEL_TYPE,
2340 TRX_NUMBER,
2341 TRX_LINE_ID,
2342 TRX_LINE_NUMBER,
2343 TAX_LINE_ID,
2344 TAX_LINE_NUMBER,
2345 TRX_LINE_DIST_ID,
2346 ITEM_DIST_NUMBER,
2347 REC_NREC_TAX_DIST_NUMBER,
2348 REC_NREC_RATE,
2349 RECOVERABLE_FLAG,
2350 REC_NREC_TAX_AMT,
2351 TAX_EVENT_CLASS_CODE,
2352 TAX_EVENT_TYPE_CODE,
2353 CONTENT_OWNER_ID,
2354 TAX_REGIME_ID,
2355 TAX_REGIME_CODE,
2356 TAX_ID,
2357 TAX,
2358 TAX_STATUS_ID,
2359 TAX_STATUS_CODE,
2360 TAX_RATE_ID,
2361 TAX_RATE_CODE,
2362 TAX_RATE,
2363 INCLUSIVE_FLAG,
2364 RECOVERY_TYPE_ID,
2365 RECOVERY_TYPE_CODE,
2366 RECOVERY_RATE_ID,
2367 RECOVERY_RATE_CODE,
2368 REC_TYPE_RULE_FLAG,
2369 NEW_REC_RATE_CODE_FLAG,
2370 REVERSE_FLAG,
2371 HISTORICAL_FLAG,
2372 REVERSED_TAX_DIST_ID,
2373 REC_NREC_TAX_AMT_TAX_CURR,
2374 REC_NREC_TAX_AMT_FUNCL_CURR,
2375 INTENDED_USE,
2376 PROJECT_ID,
2377 TASK_ID,
2378 AWARD_ID,
2379 EXPENDITURE_TYPE,
2380 EXPENDITURE_ORGANIZATION_ID,
2381 EXPENDITURE_ITEM_DATE,
2382 REC_RATE_DET_RULE_FLAG,
2383 LEDGER_ID,
2384 SUMMARY_TAX_LINE_ID,
2385 RECORD_TYPE_CODE,
2386 CURRENCY_CONVERSION_DATE,
2387 CURRENCY_CONVERSION_TYPE,
2388 CURRENCY_CONVERSION_RATE,
2389 TAX_CURRENCY_CONVERSION_DATE,
2390 TAX_CURRENCY_CONVERSION_TYPE,
2391 TAX_CURRENCY_CONVERSION_RATE,
2392 TRX_CURRENCY_CODE,
2393 TAX_CURRENCY_CODE,
2394 TRX_LINE_DIST_QTY,
2395 REF_DOC_TRX_LINE_DIST_QTY,
2396 PRICE_DIFF,
2397 QTY_DIFF,
2398 PER_TRX_CURR_UNIT_NR_AMT,
2399 REF_PER_TRX_CURR_UNIT_NR_AMT,
2400 REF_DOC_CURR_CONV_RATE,
2401 UNIT_PRICE,
2402 REF_DOC_UNIT_PRICE,
2403 PER_UNIT_NREC_TAX_AMT,
2404 REF_DOC_PER_UNIT_NREC_TAX_AMT,
2405 RATE_TAX_FACTOR,
2406 TAX_APPORTIONMENT_FLAG,
2407 TRX_LINE_DIST_AMT,
2408 TRX_LINE_DIST_TAX_AMT,
2409 ORIG_REC_NREC_RATE,
2410 ORIG_REC_RATE_CODE,
2411 ORIG_REC_NREC_TAX_AMT,
2412 ORIG_REC_NREC_TAX_AMT_TAX_CURR,
2413 ACCOUNT_CCID,
2414 ACCOUNT_STRING,
2415 UNROUNDED_REC_NREC_TAX_AMT,
2416 APPLICABILITY_RESULT_ID,
2417 REC_RATE_RESULT_ID,
2418 BACKWARD_COMPATIBILITY_FLAG,
2419 OVERRIDDEN_FLAG,
2420 SELF_ASSESSED_FLAG,
2421 FREEZE_FLAG,
2422 POSTING_FLAG,
2423 ATTRIBUTE_CATEGORY,
2424 ATTRIBUTE1,
2425 ATTRIBUTE2,
2426 ATTRIBUTE3,
2427 ATTRIBUTE4,
2428 ATTRIBUTE5,
2429 ATTRIBUTE6,
2430 ATTRIBUTE7,
2431 ATTRIBUTE8,
2432 ATTRIBUTE9,
2433 ATTRIBUTE10,
2434 ATTRIBUTE11,
2435 ATTRIBUTE12,
2436 ATTRIBUTE13,
2437 ATTRIBUTE14,
2438 ATTRIBUTE15,
2439 GLOBAL_ATTRIBUTE_CATEGORY,
2440 GLOBAL_ATTRIBUTE1,
2441 GLOBAL_ATTRIBUTE2,
2442 GLOBAL_ATTRIBUTE3,
2443 GLOBAL_ATTRIBUTE4,
2444 GLOBAL_ATTRIBUTE5,
2445 GLOBAL_ATTRIBUTE6,
2446 GLOBAL_ATTRIBUTE7,
2447 GLOBAL_ATTRIBUTE8,
2448 GLOBAL_ATTRIBUTE9,
2449 GLOBAL_ATTRIBUTE10,
2450 GLOBAL_ATTRIBUTE11,
2451 GLOBAL_ATTRIBUTE12,
2452 GLOBAL_ATTRIBUTE13,
2453 GLOBAL_ATTRIBUTE14,
2454 GLOBAL_ATTRIBUTE15,
2455 GLOBAL_ATTRIBUTE16,
2456 GLOBAL_ATTRIBUTE17,
2457 GLOBAL_ATTRIBUTE18,
2458 GLOBAL_ATTRIBUTE19,
2459 GLOBAL_ATTRIBUTE20,
2460 GL_DATE,
2461 REF_DOC_APPLICATION_ID,
2462 REF_DOC_ENTITY_CODE,
2463 REF_DOC_EVENT_CLASS_CODE,
2464 REF_DOC_TRX_ID,
2465 REF_DOC_LINE_ID,
2466 REF_DOC_DIST_ID,
2467 MINIMUM_ACCOUNTABLE_UNIT,
2468 PRECISION,
2469 ROUNDING_RULE_CODE,
2470 TAXABLE_AMT,
2471 TAXABLE_AMT_TAX_CURR,
2472 TAXABLE_AMT_FUNCL_CURR,
2473 TAX_ONLY_LINE_FLAG,
2474 UNROUNDED_TAXABLE_AMT,
2475 LEGAL_ENTITY_ID,
2476 PRD_TAX_AMT,
2477 PRD_TAX_AMT_TAX_CURR,
2478 PRD_TAX_AMT_FUNCL_CURR,
2479 PRD_TOTAL_TAX_AMT,
2480 PRD_TOTAL_TAX_AMT_TAX_CURR,
2481 PRD_TOTAL_TAX_AMT_FUNCL_CURR,
2482 APPLIED_FROM_TAX_DIST_ID,
2483 APPLIED_TO_DOC_CURR_CONV_RATE,
2484 ADJUSTED_DOC_TAX_DIST_ID,
2485 FUNC_CURR_ROUNDING_ADJUSTMENT,
2486 TAX_APPORTIONMENT_LINE_NUMBER,
2487 LAST_MANUAL_ENTRY,
2488 REF_DOC_TAX_DIST_ID,
2489 REF_DOC_TRX_LEVEL_TYPE,
2490 MRC_TAX_DIST_FLAG,
2491 MRC_LINK_TO_TAX_DIST_ID,
2492 OBJECT_VERSION_NUMBER,
2493 CREATED_BY,
2494 CREATION_DATE,
2495 LAST_UPDATED_BY,
2496 LAST_UPDATE_DATE,
2497 LAST_UPDATE_LOGIN,
2498 INTERNAL_ORGANIZATION_ID,
2499 DEF_REC_SETTLEMENT_OPTION_CODE,
2500 TAX_JURISDICTION_ID,
2501 ACCOUNT_SOURCE_TAX_RATE_ID)
2502 SELECT REC_NREC_TAX_DIST_ID,
2503 APPLICATION_ID,
2504 ENTITY_CODE,
2505 EVENT_CLASS_CODE,
2506 EVENT_TYPE_CODE,
2507 TRX_ID,
2508 TRX_LEVEL_TYPE,
2509 TRX_NUMBER,
2510 TRX_LINE_ID,
2511 TRX_LINE_NUMBER,
2512 TAX_LINE_ID,
2513 TAX_LINE_NUMBER,
2514 TRX_LINE_DIST_ID,
2515 ITEM_DIST_NUMBER,
2516 REC_NREC_TAX_DIST_NUMBER,
2517 REC_NREC_RATE,
2518 RECOVERABLE_FLAG,
2519 REC_NREC_TAX_AMT,
2520 TAX_EVENT_CLASS_CODE,
2521 TAX_EVENT_TYPE_CODE,
2522 CONTENT_OWNER_ID,
2523 TAX_REGIME_ID,
2524 TAX_REGIME_CODE,
2525 TAX_ID,
2526 TAX,
2527 TAX_STATUS_ID,
2528 TAX_STATUS_CODE,
2529 TAX_RATE_ID,
2530 TAX_RATE_CODE,
2531 TAX_RATE,
2532 INCLUSIVE_FLAG,
2533 RECOVERY_TYPE_ID,
2534 RECOVERY_TYPE_CODE,
2535 RECOVERY_RATE_ID,
2536 RECOVERY_RATE_CODE,
2537 REC_TYPE_RULE_FLAG,
2538 NEW_REC_RATE_CODE_FLAG,
2539 REVERSE_FLAG,
2540 HISTORICAL_FLAG,
2541 REVERSED_TAX_DIST_ID,
2542 REC_NREC_TAX_AMT_TAX_CURR,
2543 REC_NREC_TAX_AMT_FUNCL_CURR,
2544 INTENDED_USE,
2545 PROJECT_ID,
2546 TASK_ID,
2547 AWARD_ID,
2548 EXPENDITURE_TYPE,
2549 EXPENDITURE_ORGANIZATION_ID,
2550 EXPENDITURE_ITEM_DATE,
2551 REC_RATE_DET_RULE_FLAG,
2552 LEDGER_ID,
2553 SUMMARY_TAX_LINE_ID,
2554 RECORD_TYPE_CODE,
2555 CURRENCY_CONVERSION_DATE,
2556 CURRENCY_CONVERSION_TYPE,
2557 CURRENCY_CONVERSION_RATE,
2558 TAX_CURRENCY_CONVERSION_DATE,
2559 TAX_CURRENCY_CONVERSION_TYPE,
2560 TAX_CURRENCY_CONVERSION_RATE,
2561 TRX_CURRENCY_CODE,
2562 TAX_CURRENCY_CODE,
2563 TRX_LINE_DIST_QTY,
2564 REF_DOC_TRX_LINE_DIST_QTY,
2565 PRICE_DIFF,
2566 QTY_DIFF,
2567 PER_TRX_CURR_UNIT_NR_AMT,
2568 REF_PER_TRX_CURR_UNIT_NR_AMT,
2569 REF_DOC_CURR_CONV_RATE,
2570 UNIT_PRICE,
2571 REF_DOC_UNIT_PRICE,
2572 PER_UNIT_NREC_TAX_AMT,
2573 REF_DOC_PER_UNIT_NREC_TAX_AMT,
2574 RATE_TAX_FACTOR,
2575 TAX_APPORTIONMENT_FLAG,
2576 TRX_LINE_DIST_AMT,
2577 TRX_LINE_DIST_TAX_AMT,
2578 ORIG_REC_NREC_RATE,
2579 ORIG_REC_RATE_CODE,
2580 ORIG_REC_NREC_TAX_AMT,
2581 ORIG_REC_NREC_TAX_AMT_TAX_CURR,
2582 ACCOUNT_CCID,
2583 ACCOUNT_STRING,
2584 UNROUNDED_REC_NREC_TAX_AMT,
2585 APPLICABILITY_RESULT_ID,
2586 REC_RATE_RESULT_ID,
2587 BACKWARD_COMPATIBILITY_FLAG,
2588 OVERRIDDEN_FLAG,
2589 SELF_ASSESSED_FLAG,
2590 DECODE(tax_only_line_flag, 'Y', 'Y', FREEZE_FLAG),
2591 POSTING_FLAG,
2592 ATTRIBUTE_CATEGORY,
2593 ATTRIBUTE1,
2594 ATTRIBUTE2,
2595 ATTRIBUTE3,
2596 ATTRIBUTE4,
2597 ATTRIBUTE5,
2598 ATTRIBUTE6,
2599 ATTRIBUTE7,
2600 ATTRIBUTE8,
2601 ATTRIBUTE9,
2602 ATTRIBUTE10,
2603 ATTRIBUTE11,
2604 ATTRIBUTE12,
2605 ATTRIBUTE13,
2606 ATTRIBUTE14,
2607 ATTRIBUTE15,
2608 GLOBAL_ATTRIBUTE_CATEGORY,
2609 GLOBAL_ATTRIBUTE1,
2610 GLOBAL_ATTRIBUTE2,
2611 GLOBAL_ATTRIBUTE3,
2612 GLOBAL_ATTRIBUTE4,
2613 GLOBAL_ATTRIBUTE5,
2614 GLOBAL_ATTRIBUTE6,
2615 GLOBAL_ATTRIBUTE7,
2616 GLOBAL_ATTRIBUTE8,
2617 GLOBAL_ATTRIBUTE9,
2618 GLOBAL_ATTRIBUTE10,
2619 GLOBAL_ATTRIBUTE11,
2620 GLOBAL_ATTRIBUTE12,
2621 GLOBAL_ATTRIBUTE13,
2622 GLOBAL_ATTRIBUTE14,
2623 GLOBAL_ATTRIBUTE15,
2624 GLOBAL_ATTRIBUTE16,
2625 GLOBAL_ATTRIBUTE17,
2626 GLOBAL_ATTRIBUTE18,
2627 GLOBAL_ATTRIBUTE19,
2628 GLOBAL_ATTRIBUTE20,
2629 GL_DATE,
2630 REF_DOC_APPLICATION_ID,
2631 REF_DOC_ENTITY_CODE,
2632 REF_DOC_EVENT_CLASS_CODE,
2633 REF_DOC_TRX_ID,
2634 REF_DOC_LINE_ID,
2635 REF_DOC_DIST_ID,
2636 MINIMUM_ACCOUNTABLE_UNIT,
2637 PRECISION,
2638 ROUNDING_RULE_CODE,
2639 TAXABLE_AMT,
2640 TAXABLE_AMT_TAX_CURR,
2641 TAXABLE_AMT_FUNCL_CURR,
2642 TAX_ONLY_LINE_FLAG,
2643 UNROUNDED_TAXABLE_AMT,
2644 LEGAL_ENTITY_ID,
2645 PRD_TAX_AMT,
2646 PRD_TAX_AMT_TAX_CURR,
2647 PRD_TAX_AMT_FUNCL_CURR,
2648 PRD_TOTAL_TAX_AMT,
2649 PRD_TOTAL_TAX_AMT_TAX_CURR,
2650 PRD_TOTAL_TAX_AMT_FUNCL_CURR,
2651 APPLIED_FROM_TAX_DIST_ID,
2652 APPLIED_TO_DOC_CURR_CONV_RATE,
2653 ADJUSTED_DOC_TAX_DIST_ID,
2654 FUNC_CURR_ROUNDING_ADJUSTMENT,
2655 TAX_APPORTIONMENT_LINE_NUMBER,
2656 LAST_MANUAL_ENTRY,
2657 REF_DOC_TAX_DIST_ID,
2658 REF_DOC_TRX_LEVEL_TYPE,
2659 MRC_TAX_DIST_FLAG,
2660 MRC_LINK_TO_TAX_DIST_ID,
2661 1, --OBJECT_VERSION_NUMBER,
2662 CREATED_BY,
2663 CREATION_DATE,
2664 LAST_UPDATED_BY,
2665 LAST_UPDATE_DATE,
2666 LAST_UPDATE_LOGIN,
2667 INTERNAL_ORGANIZATION_ID,
2668 DEF_REC_SETTLEMENT_OPTION_CODE,
2669 TAX_JURISDICTION_ID,
2670 ACCOUNT_SOURCE_TAX_RATE_ID
2671 FROM ZX_REC_NREC_DIST_GT;
2672
2673 IF (g_level_statement >= g_current_runtime_level ) THEN
2674 FND_LOG.STRING(g_level_statement,
2675 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions',
2676 'Number of Rows Inserted: '||SQL%ROWCOUNT);
2677 END IF;
2678
2679 BEGIN
2680 UPDATE zx_lines
2681 SET associated_child_frozen_flag = 'Y'
2682 WHERE tax_line_id IN
2683 (SELECT tax_line_id
2684 FROM zx_rec_nrec_dist_gt
2685 WHERE tax_only_line_flag = 'Y'
2686 );
2687 EXCEPTION
2688 WHEN OTHERS THEN
2689 NULL;
2690 END;
2691
2692 IF (g_level_statement >= g_current_runtime_level ) THEN
2693 FND_LOG.STRING(g_level_statement,
2694 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions',
2695 'Number of Tax Lines Updated: '||SQL%ROWCOUNT);
2696 END IF;
2697
2698 IF (g_level_procedure >= g_current_runtime_level ) THEN
2699 FND_LOG.STRING(g_level_procedure,
2700 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions.END',
2701 'ZX_TRL_MANAGE_TAX_PKG: CREATE_TAX_DISTRIBUTIONS (-)');
2702 END IF;
2703
2704 EXCEPTION
2705 WHEN DUP_VAL_ON_INDEX THEN
2706 x_return_status := FND_API.G_RET_STS_ERROR ;
2707 IF (g_level_procedure >= g_current_runtime_level ) THEN
2708 FND_LOG.STRING(g_level_procedure,
2709 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions',
2710 'Exception:' ||SQLCODE||';'||SQLERRM);
2711
2712 FND_LOG.STRING(g_level_procedure,
2713 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions',
2714 'Return Status = '||x_return_status);
2715 END IF;
2716 -- bug#4893261- move to wrapper since do not
2717 -- have event_class_rec here to set message index
2718 --
2719 -- FND_MESSAGE.SET_NAME('ZX','ZX_TRL_RECORD_ALREADY_EXISTS');
2720 -- ZX_API_PUB.add_msg(l_msg_context_info_rec);
2721
2722
2723 WHEN OTHERS THEN
2724 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2725
2726 IF (g_level_procedure >= g_current_runtime_level ) THEN
2727 FND_LOG.STRING(g_level_procedure,
2728 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions',
2729 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
2730
2731 FND_LOG.STRING(g_level_procedure,
2732 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Create_Tax_Distributions',
2733 'Return Status = '||x_return_status);
2734 END IF;
2735 END Create_Tax_Distributions;
2736
2737 /*============================================================================*
2738 | Delete_Dist_Marked_For_Delete: Deletes all the tax distributions from |
2739 | ZX_REC_NREC_DIST that are associated with tax lines whose |
2740 | Process_For_Recovery_Flag is 'Y' or Item_Dist_Changed_Flag is 'Y'. |
2741 *============================================================================*/
2742
2743 PROCEDURE Delete_Dist_Marked_For_Delete
2744 (x_return_status OUT NOCOPY VARCHAR2,
2745 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
2746
2747 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Dist_Marked_For_Delete';
2748 l_error_buffer VARCHAR2(100);
2749 l_msg_context_info_rec ZX_API_PUB.CONTEXT_INFO_REC_TYPE
2750 ;
2751
2752 BEGIN
2753
2754 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2755
2756 IF (g_level_procedure >= g_current_runtime_level ) THEN
2757 FND_LOG.STRING(g_level_procedure,
2758 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete.BEGIN',
2759 'ZX_TRL_MANAGE_TAX_PKG: DELETE_DIST_MARKED_FOR_DELETE (+)');
2760 END IF;
2761
2762 -- Initialize API return status to success
2763 x_return_status := FND_API.G_RET_STS_SUCCESS;
2764
2765 --
2766 -- bug#4893261- populate message structure
2767 --
2768 l_msg_context_info_rec.application_id :=
2769 p_event_class_rec.application_id;
2770 l_msg_context_info_rec.entity_code :=
2771 p_event_class_rec.entity_code;
2772 l_msg_context_info_rec.event_class_code :=
2773 p_event_class_rec.event_class_code;
2774 l_msg_context_info_rec.trx_id := NULL;
2775 -- p_event_class_rec.trx_id;
2776 l_msg_context_info_rec.trx_line_id := NULL;
2777 l_msg_context_info_rec.trx_level_type := NULL;
2778 l_msg_context_info_rec.summary_tax_line_number := NULL;
2779 l_msg_context_info_rec.tax_line_id := NULL;
2780 l_msg_context_info_rec.trx_line_dist_id := NULL;
2781
2782 IF p_event_class_rec.application_id is NULL OR
2783 p_event_class_rec.entity_code is NULL OR
2784 p_event_class_rec.event_class_code is NULL
2785 -- OR p_event_class_rec.trx_id is NULL
2786 THEN
2787 x_return_status := FND_API.G_RET_STS_ERROR;
2788
2789 IF (g_level_procedure >= g_current_runtime_level ) THEN
2790 FND_LOG.STRING(g_level_procedure,
2791 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2792 'Return Status = '||x_return_status);
2793 END IF;
2794
2795 FND_MESSAGE.SET_NAME('ZX','ZX_TRL_NULL_VALUES');
2796 ZX_API_PUB.add_msg(l_msg_context_info_rec);
2797
2798 ELSE
2799 IF (g_level_procedure >= g_current_runtime_level ) THEN
2800 FND_LOG.STRING(g_level_procedure,
2801 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2802 'Delete from ZX_REC_NREC_DIST (+)');
2803
2804 FND_LOG.STRING(g_level_procedure,
2805 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2806 'Application Id: ' ||p_event_class_rec.application_id);
2807
2808 FND_LOG.STRING(g_level_procedure,
2809 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2810 'Entity Code: ' ||p_event_class_rec.entity_code);
2811
2812 FND_LOG.STRING(g_level_procedure,
2813 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2814 'Event Class Code: '||p_event_class_rec.event_class_code);
2815
2816 /*
2817 FND_LOG.STRING(g_level_procedure,
2818 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2819 'Trx Id: ' ||p_event_class_rec.trx_id);
2820 */
2821 END IF;
2822
2823
2824 DELETE FROM ZX_REC_NREC_DIST
2825 WHERE NVL(Reverse_Flag,'N') = 'N'
2826 AND TAX_LINE_ID IN (SELECT TAX_LINE_ID
2827 FROM ZX_LINES L
2828 WHERE APPLICATION_ID = p_event_class_rec.application_id
2829 AND ENTITY_CODE = p_event_class_rec.entity_code
2830 AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
2831 AND (Process_For_Recovery_Flag = 'Y' OR
2832 Item_Dist_Changed_Flag = 'Y')
2833 AND EXISTS
2834 (SELECT 1
2835 FROM zx_lines_det_factors
2836 WHERE APPLICATION_ID = L.application_id
2837 AND ENTITY_CODE = L.entity_code
2838 AND EVENT_CLASS_CODE = L.event_class_code
2839 AND TRX_ID = L.trx_id
2840 AND TRX_LINE_ID = L.trx_line_id
2841 AND TRX_LEVEL_TYPE = L.trx_level_type
2842 AND EVENT_ID = p_event_class_rec.event_id
2843 )
2844 );
2845
2846 END IF;
2847
2848 IF (g_level_statement >= g_current_runtime_level ) THEN
2849 FND_LOG.STRING(g_level_statement,
2850 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2851 'Number of Rows Deleted ='||SQL%ROWCOUNT);
2852 END IF;
2853
2854 -- bug6890360: synchronize tax_line_number for reversed tax dustributions,
2855 -- which are not fetched back for processing
2856 --
2857 BEGIN
2858 UPDATE zx_rec_nrec_dist zd
2859 SET tax_line_number =
2860 (SELECT tax_line_number
2861 FROM zx_lines
2862 WHERE tax_line_id = zd.tax_line_id
2863 AND tax_line_number <> zd.tax_line_number
2864 )
2865 WHERE NVL(reverse_flag,'N') = 'Y'
2866 AND application_id = p_event_class_rec.application_id
2867 AND entity_code = p_event_class_rec.entity_code
2868 AND event_class_code = p_event_class_rec.event_class_code
2869 AND (trx_id, trx_line_id, trx_level_type) IN
2870 (SELECT trx_id, trx_line_id, trx_level_type
2871 FROM zx_lines_det_factors
2872 WHERE application_id = p_event_class_rec.application_id
2873 AND entity_code = p_event_class_rec.entity_code
2874 AND event_class_code = p_event_class_rec.event_class_code
2875 AND event_id = p_event_class_rec.event_id
2876 )
2877 AND EXISTS
2878 (SELECT tax_line_number
2879 FROM zx_lines
2880 WHERE tax_line_id = zd.tax_line_id
2881 AND tax_line_number <> zd.tax_line_number
2882 );
2883
2884 IF (g_level_statement >= g_current_runtime_level ) THEN
2885 FND_LOG.STRING(g_level_statement,
2886 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2887 'Number of Rows Updated ='||SQL%ROWCOUNT);
2888 END IF;
2889
2890 EXCEPTION
2891 WHEN NO_DATA_FOUND THEN
2892 NULL;
2893 WHEN OTHERS THEN
2894 NULL;
2895 END;
2896
2897
2898 BEGIN
2899 UPDATE zx_rec_nrec_dist zd
2900 SET summary_tax_line_id =
2901 (SELECT summary_tax_line_id
2902 FROM zx_rec_nrec_dist_gt gt
2903 WHERE gt.tax_line_id = zd.tax_line_id
2904 AND gt.trx_line_dist_id = zd.trx_line_dist_id
2905 AND ROWNUM = 1
2906 )
2907 WHERE reverse_flag = 'Y'
2908 AND tax_line_id IN
2909 (SELECT tax_line_id
2910 FROM zx_lines zl
2911 WHERE application_id = p_event_class_rec.application_id
2912 AND entity_code = p_event_class_rec.entity_code
2913 AND event_class_code = p_event_class_rec.event_class_code
2914 AND (process_for_recovery_flag = 'Y' OR
2915 item_dist_changed_flag = 'Y')
2916 AND EXISTS
2917 (SELECT 1
2918 FROM zx_lines_det_factors
2919 WHERE application_id = zl.application_id
2920 AND entity_code = zl.entity_code
2921 AND event_class_code = zl.event_class_code
2922 AND trx_id = zl.trx_id
2923 AND trx_line_id = zl.trx_line_id
2924 AND trx_level_type = zl.trx_level_type
2925 AND event_id = p_event_class_rec.event_id
2926 )
2927 )
2928 AND EXISTS
2929 (SELECT summary_tax_line_id
2930 FROM zx_rec_nrec_dist_gt gt
2931 WHERE gt.tax_line_id = zd.tax_line_id
2932 AND gt.trx_line_dist_id = zd.trx_line_dist_id
2933 );
2934
2935 IF (g_level_statement >= g_current_runtime_level ) THEN
2936 FND_LOG.STRING(g_level_statement,
2937 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2938 'Number of Rows Updated ='||SQL%ROWCOUNT);
2939 END IF;
2940
2941 IF (g_level_procedure >= g_current_runtime_level ) THEN
2942 FND_LOG.STRING(g_level_procedure,
2943 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete.END',
2944 'ZX_TRL_MANAGE_TAX_PKG: DELETE_DIST_MARKED_FOR_DELETE (-)');
2945 END IF;
2946
2947 EXCEPTION
2948 WHEN NO_DATA_FOUND THEN
2949 NULL;
2950 WHEN OTHERS THEN
2951 NULL;
2952 END;
2953
2954 EXCEPTION
2955 WHEN OTHERS THEN
2956 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2957
2958 IF (g_level_procedure >= g_current_runtime_level ) THEN
2959 FND_LOG.STRING(g_level_procedure,
2960 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2961 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
2962
2963 FND_LOG.STRING(g_level_procedure,
2964 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Delete_Dist_Marked_For_Delete',
2965 'Return Status = '||x_return_status);
2966 END IF;
2967 END Delete_Dist_Marked_For_Delete;
2968
2969 /*================================================================================*
2970 | Update_TaxLine_Rec_Nrec_Amt: Updates the total recoverable and non-recoverable |
2971 | tax amounts for each detail tax line and |
2972 | summary tax line. |
2973 *================================================================================*/
2974
2975 PROCEDURE Update_TaxLine_Rec_Nrec_Amt
2976 (x_return_status OUT NOCOPY VARCHAR2,
2977 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
2978
2979 l_error_buffer VARCHAR2(100);
2980
2981 BEGIN
2982
2983 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2984
2985 IF (g_level_procedure >= g_current_runtime_level ) THEN
2986 FND_LOG.STRING(g_level_procedure,
2987 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_TaxLine_Rec_Nrec_Amt.BEGIN',
2988 'ZX_TRL_MANAGE_TAX_PKG: Update_TaxLine_Rec_Nrec_Amt (+)');
2989 END IF;
2990
2991 -- Initialize API return status to success
2992 x_return_status := FND_API.G_RET_STS_SUCCESS;
2993
2994 select trx_id, trx_line_id, trx_level_type
2995 bulk collect into pg_trx_id_tab, pg_trx_line_id_tab ,pg_trx_level_type_tab
2996 from zx_lines_det_factors
2997 where application_id = p_event_class_rec.application_id
2998 and entity_code = p_event_class_rec.entity_code
2999 and event_class_code = p_event_class_rec.event_class_code
3000 and event_id = p_event_class_rec.event_id;
3001
3002 FORALL i in nvl(pg_trx_id_tab.FIRST,0)..nvl(pg_trx_id_tab.LAST,-99)
3003 UPDATE ZX_LINES L
3004 SET (rec_tax_amt,
3005 rec_tax_amt_tax_curr,
3006 rec_tax_amt_funcl_curr,
3007 nrec_tax_amt,
3008 nrec_tax_amt_tax_curr,
3009 nrec_tax_amt_funcl_curr,
3010 Process_For_Recovery_Flag,
3011 Item_Dist_Changed_Flag
3012 ) =
3013 (SELECT SUM(decode(Recoverable_Flag,
3014 'Y',
3015 rec_nrec_tax_amt
3016 )
3017 ) rec_tax_amt,
3018 SUM(decode(Recoverable_Flag,
3019 'Y',
3020 rec_nrec_tax_amt_tax_curr
3021 )
3022 ) rec_tax_amt_tax_curr,
3023 SUM(decode(Recoverable_Flag,
3024 'Y',
3025 rec_nrec_tax_amt_funcl_curr
3026 )
3027 ) rec_tax_amt_funcl_curr,
3028 SUM(decode(Recoverable_Flag,
3029 'N',
3030 rec_nrec_tax_amt
3031 )
3032 ) nrec_tax_amt,
3033 SUM(decode(Recoverable_Flag,
3034 'N',
3035 rec_nrec_tax_amt_tax_curr
3036 )
3037 ) nrec_tax_amt_tax_curr,
3038 SUM(decode(Recoverable_Flag,
3039 'N',
3040 rec_nrec_tax_amt_funcl_curr
3041 )
3042 ) nrec_tax_amt_funcl_curr,
3043 'N' Process_For_Recovery_Flag,
3044 'N' Item_Dist_Changed_Flag
3045 FROM ZX_REC_NREC_DIST D
3046 WHERE D.tax_line_id = L.tax_line_id
3047 AND D.application_id = L.application_id
3048 AND D.entity_code = L.entity_code
3049 AND D.event_class_code = L.event_class_code
3050 AND D.trx_id = L.trx_id
3051 AND D.trx_line_id = L.trx_line_id
3052 AND D.trx_level_type = L.trx_level_type
3053 )
3054 WHERE application_id = p_event_class_rec.application_id
3055 AND entity_code = p_event_class_rec.entity_code
3056 AND event_class_code = p_event_class_rec.event_class_code
3057 /*AND exists
3058 ( select 1 from zx_lines_det_factors
3059 where application_id = l.application_id
3060 and entity_code = l.entity_code
3061 and event_class_code = l.event_class_code
3062 and trx_id = l.trx_id
3063 and trx_line_id = l.trx_line_id
3064 and trx_level_type = l.trx_level_type
3065 and event_id = p_event_class_rec.event_id)
3066 */
3067 AND trx_id = pg_trx_id_tab(i)
3068 AND trx_line_id = pg_trx_line_id_tab(i)
3069 AND trx_level_type = pg_trx_level_type_tab(i)
3070 ;
3071
3072 IF p_event_class_rec.summarization_flag = 'Y' THEN
3073
3074 UPDATE ZX_LINES_SUMMARY S
3075 SET (total_rec_tax_amt,
3076 total_nrec_tax_amt,
3077 total_rec_tax_amt_funcl_curr,
3078 total_nrec_tax_amt_funcl_curr,
3079 total_rec_tax_amt_tax_curr,
3080 total_nrec_tax_amt_tax_curr
3081 ) =
3082 (SELECT
3083 SUM(rec_tax_amt) total_rec_tax_amt,
3084 SUM(nrec_tax_amt) total_nrec_tax_amt,
3085 SUM(rec_tax_amt_funcl_curr) total_rec_tax_amt_funcl_curr,
3086 SUM(nrec_tax_amt_funcl_curr) total_nrec_tax_amt_funcl_curr,
3087 SUM(rec_tax_amt_tax_curr) total_rec_tax_amt_tax_curr,
3088 SUM(nrec_tax_amt_tax_curr) total_nrec_tax_amt_tax_curr
3089 FROM ZX_LINES L
3090 WHERE L.summary_tax_line_id = S.summary_tax_line_id
3091 AND L.application_id = S.application_id
3092 AND L.entity_code = S.entity_code
3093 AND L.event_class_code = S.event_class_code
3094 AND L.trx_id = S.trx_id
3095 )
3096 WHERE application_id = p_event_class_rec.application_id
3097 AND entity_code = p_event_class_rec.entity_code
3098 AND event_class_code = p_event_class_rec.event_class_code
3099 AND exists
3100 ( select 1 from zx_lines_det_factors
3101 where application_id = S.application_id
3102 and entity_code = S.entity_code
3103 and event_class_code = S.event_class_code
3104 and trx_id = S.trx_id
3105 and event_id = p_event_class_rec.event_id)
3106 -- AND trx_id = p_event_class_rec.trx_id
3107 ;
3108
3109 END IF;
3110
3111 IF (g_level_procedure >= g_current_runtime_level ) THEN
3112 FND_LOG.STRING(g_level_procedure,
3113 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_TaxLine_Rec_Nrec_Amt.END',
3114 'ZX_TRL_MANAGE_TAX_PKG: UPDATE_TAXLINE_REC_NREC_AMT (-)');
3115 END IF;
3116
3117 EXCEPTION
3118 WHEN OTHERS THEN
3119 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3120
3121 IF (g_level_procedure >= g_current_runtime_level ) THEN
3122 FND_LOG.STRING(g_level_procedure,
3123 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_TaxLine_Rec_Nrec_Amt',
3124 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
3125
3126 FND_LOG.STRING(g_level_procedure,
3127 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_TaxLine_Rec_Nrec_Amt',
3128 'Return Status = '||x_return_status);
3129 END IF;
3130 END Update_TaxLine_Rec_Nrec_Amt;
3131
3132 /*============================================================================*
3133 | Update_Freeze_Flag: Freezes distributions and updates ZX_LINES |
3134 | Associated_Child_Frozen_Flag flag to indicate that the associated |
3135 | children are frozen. |
3136 *============================================================================*/
3137
3138 PROCEDURE Update_Freeze_Flag
3139 (x_return_status OUT NOCOPY VARCHAR2,
3140 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
3141
3142 l_return_status VARCHAR2(1);
3143 l_error_buffer VARCHAR2(100);
3144 l_use_null_summary_id_flag VARCHAR2(1);
3145 l_summary_lines_count NUMBER;
3146 l_row_count NUMBER;
3147
3148 BEGIN
3149 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
3150
3151 IF (g_level_procedure >= g_current_runtime_level ) THEN
3152 FND_LOG.STRING(g_level_procedure,
3153 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag.BEGIN',
3154 'ZX_TRL_MANAGE_TAX_PKG: Update_Freeze_Flag (+)');
3155 END IF;
3156
3157 -- Initialize API return status to success
3158 x_return_status := FND_API.G_RET_STS_SUCCESS;
3159
3160 /*UPDATE ZX_REC_NREC_DIST
3161 SET Freeze_Flag = 'Y',
3162 event_type_code = p_event_class_rec.event_type_code,
3163 tax_event_type_code = p_event_class_rec.tax_event_type_code
3164 WHERE REC_NREC_TAX_DIST_ID IN (SELECT TAX_DIST_ID
3165 FROM ZX_TAX_DIST_ID_GT);
3166
3167 */
3168 -- Bug 6335649, In cases where Recovery is 100% Recoverable, in ZX_REC_NREC_DIST we have both REC and NONREC(0 amount)lines.
3169 -- When we call ZX_TRD_INTERNAL_SERVICES_PVT.calc_tax_dist for the second time computation,
3170 -- freeze_flag is checked for both the REC and NONREC lines, popualting the p_rec_nrec_tbl for them.
3171 -- But for the non rec lines, freeze flag is NULL. Below code, updates the freeze flags of the REC/NONREC lines with 0 rec_nrec_rate
3172
3173 UPDATE ZX_REC_NREC_DIST
3174 SET freeze_flag = 'Y',
3175 event_type_code = p_event_class_rec.event_type_code,
3176 tax_event_type_code = p_event_class_rec.tax_event_type_code
3177 WHERE tax_line_id IN (SELECT tax_line_id
3178 FROM zx_rec_nrec_dist
3179 WHERE rec_nrec_tax_dist_id IN
3180 (SELECT TAX_DIST_ID FROM ZX_TAX_DIST_ID_GT)
3181 )
3182 AND application_id = p_event_class_rec.application_id
3183 ;
3184
3185 UPDATE ZX_LINES ZL
3186 SET Associated_Child_Frozen_Flag ='Y',
3187 event_type_code = p_event_class_rec.event_type_code,
3188 tax_event_type_code = p_event_class_rec.tax_event_type_code,
3189 doc_event_status = p_event_class_rec.doc_status_code
3190 WHERE TAX_LINE_ID IN (SELECT ZD.TAX_LINE_ID
3191 FROM ZX_REC_NREC_DIST ZD ,
3192 ZX_TAX_DIST_ID_GT ZGT
3193 WHERE ZD.REC_NREC_TAX_DIST_ID = ZGT.TAX_DIST_ID);
3194
3195 -- Bug 6456915: Associated_child_frozen_flag has been removed from grouping columns for summary tax lines
3196 --No need to regenerate summary tax lines here
3197
3198 /*
3199 IF p_event_class_rec.summarization_flag = 'Y' THEN
3200
3201 --
3202 -- delete all summary tax lines for this document
3203 --
3204 DELETE FROM ZX_LINES_SUMMARY
3205 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
3206 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
3207 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
3208 AND TRX_ID IN(SELECT ZD.trx_id
3209 FROM ZX_REC_NREC_DIST ZD ,
3210 ZX_TAX_DIST_ID_GT ZGT
3211 WHERE ZD.REC_NREC_TAX_DIST_ID = ZGT.TAX_DIST_ID);
3212
3213 IF p_event_class_rec.retain_summ_tax_line_id_flag = 'Y' THEN
3214 --
3215 -- need to retain the current summary_tax_line_id
3216 --
3217 Summarization_For_Freeze_Event (
3218 p_event_class_rec,
3219 l_return_status);
3220 ELSE
3221 --
3222 -- create summary lines from zx_lines without
3223 -- retain the current summary_tax_line_id
3224 --
3225 create_summary_lines_upd_evnt(
3226 p_event_class_rec => p_event_class_rec,
3227 x_return_status => x_return_status );
3228
3229 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3230 IF (g_level_error >= g_current_runtime_level ) THEN
3231 FND_LOG.STRING(g_level_error,
3232 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3233 'MRC Lines: Incorrect return_status after calling ' ||
3234 'ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_upd_evnt()');
3235 FND_LOG.STRING(g_level_error,
3236 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3237 'RETURN_STATUS = ' || x_return_status);
3238 FND_LOG.STRING(g_level_error,
3239 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag.END',
3240 'ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag(-)');
3241 END IF;
3242 RETURN;
3243 END IF;
3244
3245 END IF; -- p_event_class_rec.retain_summ_tax_line_id_flag = 'Y'
3246 END IF; -- p_event_class_rec.summarization_flag = 'Y'
3247
3248 */
3249 -- End of bug 6456915
3250
3251 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3252 IF (g_level_procedure >= g_current_runtime_level ) THEN
3253 FND_LOG.STRING(g_level_procedure,
3254 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3255 'Exception:' ||SQLCODE||';'||SQLERRM);
3256
3257 FND_LOG.STRING(g_level_procedure,
3258 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3259 'Return Status = '||l_return_status);
3260 END IF;
3261
3262 RAISE FND_API.G_EXC_ERROR;
3263
3264 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3265 IF (g_level_procedure >= g_current_runtime_level ) THEN
3266 FND_LOG.STRING(g_level_procedure,
3267 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3268 'Exception:' ||SQLCODE||';'||SQLERRM);
3269
3270 FND_LOG.STRING(g_level_procedure,
3271 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3272 'Return Status = '||l_return_status);
3273 END IF;
3274
3275 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3276 END IF;
3277
3278 IF (g_level_procedure >= g_current_runtime_level ) THEN
3279
3280 FND_LOG.STRING(g_level_procedure,
3281 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag.END',
3282 'ZX_TRL_MANAGE_TAX_PKG: UPDATE_FREEZE_FLAG (-)');
3283 END IF;
3284
3285 EXCEPTION
3286 WHEN FND_API.G_EXC_ERROR THEN
3287 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3288 IF (g_level_procedure >= g_current_runtime_level ) THEN
3289 FND_LOG.STRING(g_level_procedure,
3290 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3291 'Exception:' ||SQLCODE||';'||SQLERRM);
3292 FND_LOG.STRING(g_level_procedure,
3293 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3294 'Return Status = '||x_return_status);
3295 END IF;
3296
3297 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3298 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3299
3300 FND_MESSAGE.SET_NAME('ZX','ZX_UNEXPECTED_ERROR');
3301 FND_MSG_PUB.Add;
3302
3303 IF (g_level_procedure >= g_current_runtime_level ) THEN
3304 FND_LOG.STRING(g_level_procedure,
3305 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3306 'Unexpected Error:' ||SQLCODE||';'||SQLERRM);
3307 FND_LOG.STRING(g_level_procedure,
3308 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3309 'Return Status = '||x_return_status);
3310 FND_LOG.STRING(g_level_procedure,
3311 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3312 'Unexpected error ...');
3313 END IF;
3314
3315 WHEN OTHERS THEN
3316 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3317
3318 IF (g_level_procedure >= g_current_runtime_level ) THEN
3319 FND_LOG.STRING(g_level_procedure,
3320 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3321 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
3322
3323 FND_LOG.STRING(g_level_procedure,
3324 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Freeze_Flag',
3325 'Return Status = '||x_return_status);
3326 END IF;
3327 END Update_Freeze_Flag;
3328
3329 /*============================================================================*
3330 | Update_Item_Dist_Changed_Flag: This procedure updates tax lines (ZX_LINES) |
3331 | with changed status for given transaction line distributions. |
3332 *============================================================================*/
3333
3334 PROCEDURE Update_Item_Dist_Changed_Flag
3335 (x_return_status OUT NOCOPY VARCHAR2,
3336 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
3337
3338 l_error_buffer VARCHAR2(100);
3339
3340 BEGIN
3341
3342 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
3343
3344 IF (g_level_procedure >= g_current_runtime_level ) THEN
3345 FND_LOG.STRING(g_level_procedure,
3346 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Item_Dist_Changed_Flag.BEGIN',
3347 'ZX_TRL_MANAGE_TAX_PKG: Update_Item_Dist_Changed_Flag (+)');
3348 END IF;
3349
3350 -- Initialize API return status to success
3351 x_return_status := FND_API.G_RET_STS_SUCCESS;
3352
3353 UPDATE ZX_LINES ZL
3354 SET Item_Dist_Changed_Flag = 'Y'
3355 WHERE APPLICATION_ID = p_event_class_rec.application_id
3356 AND ENTITY_CODE = p_event_class_rec.entity_code
3357 AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
3358 AND TRX_ID = p_event_class_rec.trx_id
3359 AND EXISTS (SELECT /*+ INDEX(ZX_ITM_DISTRIBUTIONS_GT ZX_ITM_DISTRIBUTIONS_GT_U1
3360 ZX_ITM_DISTRIBUTIONS_GT_U1) */ 1
3361 FROM ZX_ITM_DISTRIBUTIONS_GT ZD
3362 WHERE ZL.APPLICATION_ID = ZD.APPLICATION_ID
3363 AND ZL.ENTITY_CODE = ZD.ENTITY_CODE
3364 AND ZL.EVENT_CLASS_CODE = ZD.EVENT_CLASS_CODE
3365 AND ZL.TRX_ID = ZD.TRX_ID
3366 AND ZL.TRX_LINE_ID = ZD.TRX_LINE_ID
3367 AND ZL.TRX_LEVEL_TYPE = ZD.TRX_LEVEL_TYPE
3368 AND ZD.DIST_LEVEL_ACTION IN ('UPDATE','CREATE'));
3369
3370 IF (g_level_procedure >= g_current_runtime_level ) THEN
3371 FND_LOG.STRING(g_level_procedure,
3372 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Item_Dist_Changed_Flag.END',
3373 'ZX_TRL_MANAGE_TAX_PKG: Update_Item_Dist_Changed_Flag (-)');
3374 END IF;
3375
3376 EXCEPTION
3377 WHEN OTHERS THEN
3378 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3379
3380 IF (g_level_procedure >= g_current_runtime_level ) THEN
3381 FND_LOG.STRING(g_level_procedure,
3382 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Item_Dist_Changed_Flag',
3383 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
3384
3385 FND_LOG.STRING(g_level_procedure,
3386 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Item_Dist_Changed_Flag',
3387 'Return Status = '||x_return_status);
3388 END IF;
3389 END Update_Item_Dist_Changed_Flag;
3390
3391
3392 /*============================================================================*
3393 | Discard_Tax_Only_Lines: The associated tax lines will be discarded |
3394 | |
3395 *============================================================================*/
3396
3397 PROCEDURE discard_tax_only_lines
3398 (x_return_status OUT NOCOPY VARCHAR2,
3399 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE) IS
3400
3401 l_row_count NUMBER;
3402 l_error_buffer VARCHAR2(100);
3403
3404 l_rec_nrec_tax_dist_id_tbl num_tbl_type;
3405 l_tax_line_id_tbl num_tbl_type;
3406 l_trx_line_dist_id_tbl num_tbl_type;
3407 l_tax_dist_num_tbl num_tbl_type;
3408 l_org_id_tbl num_tbl_type;
3409 l_gl_date_tbl date_tbl_type;
3410
3411 l_old_tax_line_id NUMBER;
3412 l_old_trx_line_dist_id NUMBER;
3413 l_new_tax_dist_num NUMBER;
3414
3415 CURSOR get_max_tax_dist_num_csr(
3416 c_tax_line_id NUMBER,
3417 c_trx_line_dist_id NUMBER) IS
3418 SELECT max(rec_nrec_tax_dist_number)
3419 FROM zx_rec_nrec_dist
3420 WHERE tax_line_id = c_tax_line_id
3421 AND trx_line_dist_id = c_trx_line_dist_id;
3422
3423 CURSOR get_tax_dists_csr IS
3424 SELECT rec_nrec_tax_dist_id,
3425 tax_line_id,
3426 trx_line_dist_id,
3427 rec_nrec_tax_dist_number,
3428 internal_organization_id,
3429 gl_date
3430 FROM zx_rec_nrec_dist zd
3431 WHERE zd.trx_id = p_event_class_rec.trx_id
3432 AND zd.application_id = p_event_class_rec.application_id
3433 AND zd.entity_code = p_event_class_rec.entity_code
3434 AND zd.event_class_code = p_event_class_rec.event_class_code
3435 AND NVL(zd.reverse_flag, 'N') = 'N'
3436 AND NVL(zd.tax_only_line_flag, 'N') = 'Y'
3437 -- AND zd.freeze_flag = 'Y'
3438 ORDER BY tax_line_id, trx_line_dist_id, rec_nrec_tax_dist_number;
3439
3440
3441 BEGIN
3442 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
3443
3444 IF (g_level_procedure >= g_current_runtime_level ) THEN
3445 FND_LOG.STRING(g_level_procedure,
3446 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines.BEGIN',
3447 'ZX_TRL_MANAGE_TAX_PKG: Discard_Tax_Only_Lines (+)');
3448 END IF;
3449
3450 -- Initialize API return status to success
3451 x_return_status := FND_API.G_RET_STS_SUCCESS;
3452
3453 UPDATE ZX_LINES
3454 SET ORIG_TAXABLE_AMT = NVL(orig_taxable_amt, taxable_amt),
3455 ORIG_TAXABLE_AMT_TAX_CURR = NVL(orig_taxable_amt_tax_curr, taxable_amt_tax_curr),
3456 ORIG_TAX_AMT = NVL(orig_tax_amt, tax_amt),
3457 ORIG_TAX_AMT_TAX_CURR = NVL(orig_tax_amt_tax_curr, tax_amt_tax_curr),
3458 UNROUNDED_TAX_AMT = 0,
3459 UNROUNDED_TAXABLE_AMT = 0,
3460 TAX_AMT = 0,
3461 TAX_AMT_TAX_CURR = 0,
3462 TAX_AMT_FUNCL_CURR = 0,
3463 TAXABLE_AMT = 0,
3464 TAXABLE_AMT_TAX_CURR = 0,
3465 TAXABLE_AMT_FUNCL_CURR = 0,
3466 CAL_TAX_AMT = 0,
3467 CAL_TAX_AMT_TAX_CURR = 0,
3468 CAL_TAX_AMT_FUNCL_CURR = 0,
3469 REC_TAX_AMT = 0,
3470 REC_TAX_AMT_TAX_CURR = 0,
3471 REC_TAX_AMT_FUNCL_CURR = 0,
3472 NREC_TAX_AMT = 0,
3473 NREC_TAX_AMT_TAX_CURR = 0,
3474 NREC_TAX_AMT_FUNCL_CURR = 0,
3475 PROCESS_FOR_RECOVERY_FLAG = 'N',
3476 SYNC_WITH_PRVDR_FLAG = DECODE(TAX_PROVIDER_ID, NULL, SYNC_WITH_PRVDR_FLAG, 'Y')
3477 WHERE APPLICATION_ID = p_event_class_rec.application_id
3478 AND ENTITY_CODE = p_event_class_rec.entity_code
3479 AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
3480 AND TRX_ID = p_event_class_rec.trx_id
3481 AND tax_only_line_flag = 'Y';
3482
3483 l_row_count := SQL%ROWCOUNT;
3484
3485 IF (g_level_statement >= g_current_runtime_level ) THEN
3486 FND_LOG.STRING(g_level_statement,
3487 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines',
3488 'Number of rows updated in zx_lines = '||l_row_count);
3489 END IF;
3490
3491 IF p_event_class_rec.summarization_flag = 'Y' THEN
3492
3493 UPDATE zx_lines_summary
3494 SET TAX_AMT = 0,
3495 TAX_AMT_TAX_CURR = 0,
3496 TAX_AMT_FUNCL_CURR = 0,
3497 TOTAL_REC_TAX_AMT = 0,
3498 TOTAL_REC_TAX_AMT_FUNCL_CURR = 0,
3499 TOTAL_NREC_TAX_AMT = 0,
3500 TOTAL_NREC_TAX_AMT_FUNCL_CURR = 0,
3501 TOTAL_REC_TAX_AMT_TAX_CURR = 0,
3502 TOTAL_NREC_TAX_AMT_TAX_CURR = 0
3503 WHERE APPLICATION_ID = p_event_class_rec.application_id
3504 AND ENTITY_CODE = p_event_class_rec.entity_code
3505 AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
3506 AND TRX_ID = p_event_class_rec.trx_id
3507 AND Tax_Only_Line_Flag = 'Y';
3508
3509 l_row_count := SQL%ROWCOUNT;
3510
3511 IF (g_level_statement >= g_current_runtime_level ) THEN
3512 FND_LOG.STRING(g_level_statement,
3513 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines',
3514 'Number of rows updated in zx_lines_summary = '||l_row_count);
3515 END IF;
3516
3517 END IF;
3518
3519
3520 -- Creates reverse distributions for frozen distribution lines
3521 --
3522 OPEN get_tax_dists_csr;
3523 FETCH get_tax_dists_csr BULK COLLECT INTO
3524 l_rec_nrec_tax_dist_id_tbl,
3525 l_tax_line_id_tbl,
3526 l_trx_line_dist_id_tbl,
3527 l_tax_dist_num_tbl,
3528 l_org_id_tbl,
3529 l_gl_date_tbl;
3530 CLOSE get_tax_dists_csr;
3531
3532 l_old_tax_line_id := NUMBER_DUMMY;
3533 l_old_trx_line_dist_id := NUMBER_DUMMY;
3534 l_new_tax_dist_num := 0;
3535
3536 IF l_rec_nrec_tax_dist_id_tbl.COUNT > 0 THEN
3537
3538 FOR i IN NVL(l_rec_nrec_tax_dist_id_tbl.FIRST, 0) ..
3539 NVL(l_rec_nrec_tax_dist_id_tbl.LAST, -1)
3540 LOOP
3541
3542 IF l_old_tax_line_id = l_tax_line_id_tbl(i) AND
3543 l_old_trx_line_dist_id = l_trx_line_dist_id_tbl(i) THEN
3544 l_new_tax_dist_num := l_new_tax_dist_num + 1;
3545 ELSE
3546
3547 OPEN get_max_tax_dist_num_csr(
3548 l_tax_line_id_tbl(i),
3549 l_trx_line_dist_id_tbl(i));
3550 FETCH get_max_tax_dist_num_csr INTO l_new_tax_dist_num;
3551 CLOSE get_max_tax_dist_num_csr;
3552
3553 l_new_tax_dist_num := l_new_tax_dist_num + 1;
3554
3555 l_old_tax_line_id := l_tax_line_id_tbl(i);
3556 l_old_trx_line_dist_id := l_trx_line_dist_id_tbl(i);
3557
3558 END IF;
3559
3560 l_tax_dist_num_tbl(i) := l_new_tax_dist_num;
3561
3562 -- bug 6706941: populate gl_date for the reversed tax distribution
3563 --
3564 l_gl_date_tbl(i) := AP_UTILITIES_PKG.get_reversal_gl_date(
3565 p_date => l_gl_date_tbl(i),
3566 p_org_id => l_org_id_tbl(i));
3567
3568 END LOOP;
3569
3570 FORALL i IN l_rec_nrec_tax_dist_id_tbl.FIRST .. l_rec_nrec_tax_dist_id_tbl.LAST
3571
3572 INSERT INTO ZX_REC_NREC_DIST(
3573 REC_NREC_TAX_DIST_ID,
3574 APPLICATION_ID,
3575 ENTITY_CODE,
3576 EVENT_CLASS_CODE,
3577 EVENT_TYPE_CODE,
3578 TRX_ID,
3579 TRX_LEVEL_TYPE,
3580 TRX_NUMBER,
3581 TRX_LINE_ID,
3582 TRX_LINE_NUMBER,
3583 TAX_LINE_ID,
3584 TAX_LINE_NUMBER,
3585 TRX_LINE_DIST_ID,
3586 ITEM_DIST_NUMBER,
3587 REC_NREC_TAX_DIST_NUMBER,
3588 REC_NREC_RATE,
3589 RECOVERABLE_FLAG,
3590 REC_NREC_TAX_AMT,
3591 TAX_EVENT_CLASS_CODE,
3592 TAX_EVENT_TYPE_CODE,
3593 CONTENT_OWNER_ID,
3594 TAX_REGIME_ID,
3595 TAX_REGIME_CODE,
3596 TAX_ID,
3597 TAX,
3598 TAX_STATUS_ID,
3599 TAX_STATUS_CODE,
3600 TAX_RATE_ID,
3601 TAX_RATE_CODE,
3602 TAX_RATE,
3603 INCLUSIVE_FLAG,
3604 RECOVERY_TYPE_ID,
3605 RECOVERY_TYPE_CODE,
3606 RECOVERY_RATE_ID,
3607 RECOVERY_RATE_CODE,
3608 REC_TYPE_RULE_FLAG,
3609 NEW_REC_RATE_CODE_FLAG,
3610 REVERSE_FLAG,
3611 HISTORICAL_FLAG,
3612 REVERSED_TAX_DIST_ID,
3613 REC_NREC_TAX_AMT_TAX_CURR,
3614 REC_NREC_TAX_AMT_FUNCL_CURR,
3615 INTENDED_USE,
3616 PROJECT_ID,
3617 TASK_ID,
3618 AWARD_ID,
3619 EXPENDITURE_TYPE,
3620 EXPENDITURE_ORGANIZATION_ID,
3621 EXPENDITURE_ITEM_DATE,
3622 REC_RATE_DET_RULE_FLAG,
3623 LEDGER_ID,
3624 SUMMARY_TAX_LINE_ID,
3625 RECORD_TYPE_CODE,
3626 CURRENCY_CONVERSION_DATE,
3627 CURRENCY_CONVERSION_TYPE,
3628 CURRENCY_CONVERSION_RATE,
3629 TAX_CURRENCY_CONVERSION_DATE,
3630 TAX_CURRENCY_CONVERSION_TYPE,
3631 TAX_CURRENCY_CONVERSION_RATE,
3632 TRX_CURRENCY_CODE,
3633 TAX_CURRENCY_CODE,
3634 TRX_LINE_DIST_QTY,
3635 REF_DOC_TRX_LINE_DIST_QTY,
3636 PRICE_DIFF,
3637 QTY_DIFF,
3638 PER_TRX_CURR_UNIT_NR_AMT,
3639 REF_PER_TRX_CURR_UNIT_NR_AMT,
3640 REF_DOC_CURR_CONV_RATE,
3641 UNIT_PRICE,
3642 REF_DOC_UNIT_PRICE,
3643 PER_UNIT_NREC_TAX_AMT,
3644 REF_DOC_PER_UNIT_NREC_TAX_AMT,
3645 RATE_TAX_FACTOR,
3646 TAX_APPORTIONMENT_FLAG,
3647 TRX_LINE_DIST_AMT,
3648 TRX_LINE_DIST_TAX_AMT,
3649 ORIG_REC_NREC_RATE,
3650 ORIG_REC_RATE_CODE,
3651 ORIG_REC_NREC_TAX_AMT,
3652 ORIG_REC_NREC_TAX_AMT_TAX_CURR,
3653 ACCOUNT_CCID,
3654 ACCOUNT_STRING,
3655 UNROUNDED_REC_NREC_TAX_AMT,
3656 APPLICABILITY_RESULT_ID,
3657 REC_RATE_RESULT_ID,
3658 BACKWARD_COMPATIBILITY_FLAG,
3659 OVERRIDDEN_FLAG,
3660 SELF_ASSESSED_FLAG,
3661 FREEZE_FLAG,
3662 POSTING_FLAG,
3663 ATTRIBUTE_CATEGORY,
3664 ATTRIBUTE1,
3665 ATTRIBUTE2,
3666 ATTRIBUTE3,
3667 ATTRIBUTE4,
3668 ATTRIBUTE5,
3669 ATTRIBUTE6,
3670 ATTRIBUTE7,
3671 ATTRIBUTE8,
3672 ATTRIBUTE9,
3673 ATTRIBUTE10,
3674 ATTRIBUTE11,
3675 ATTRIBUTE12,
3676 ATTRIBUTE13,
3677 ATTRIBUTE14,
3678 ATTRIBUTE15,
3679 GLOBAL_ATTRIBUTE_CATEGORY,
3680 GLOBAL_ATTRIBUTE1,
3681 GLOBAL_ATTRIBUTE2,
3682 GLOBAL_ATTRIBUTE3,
3683 GLOBAL_ATTRIBUTE4,
3684 GLOBAL_ATTRIBUTE5,
3685 GLOBAL_ATTRIBUTE6,
3686 GLOBAL_ATTRIBUTE7,
3687 GLOBAL_ATTRIBUTE8,
3688 GLOBAL_ATTRIBUTE9,
3689 GLOBAL_ATTRIBUTE10,
3690 GLOBAL_ATTRIBUTE11,
3691 GLOBAL_ATTRIBUTE12,
3692 GLOBAL_ATTRIBUTE13,
3693 GLOBAL_ATTRIBUTE14,
3694 GLOBAL_ATTRIBUTE15,
3695 GLOBAL_ATTRIBUTE16,
3696 GLOBAL_ATTRIBUTE17,
3697 GLOBAL_ATTRIBUTE18,
3698 GLOBAL_ATTRIBUTE19,
3699 GLOBAL_ATTRIBUTE20,
3700 GL_DATE,
3701 REF_DOC_APPLICATION_ID,
3702 REF_DOC_ENTITY_CODE,
3703 REF_DOC_EVENT_CLASS_CODE,
3704 REF_DOC_TRX_ID,
3705 REF_DOC_LINE_ID,
3706 REF_DOC_DIST_ID,
3707 MINIMUM_ACCOUNTABLE_UNIT,
3708 PRECISION,
3709 ROUNDING_RULE_CODE,
3710 TAXABLE_AMT,
3711 TAXABLE_AMT_TAX_CURR,
3712 TAXABLE_AMT_FUNCL_CURR,
3713 TAX_ONLY_LINE_FLAG,
3714 UNROUNDED_TAXABLE_AMT,
3715 LEGAL_ENTITY_ID,
3716 PRD_TAX_AMT,
3717 PRD_TAX_AMT_TAX_CURR,
3718 PRD_TAX_AMT_FUNCL_CURR,
3719 PRD_TOTAL_TAX_AMT,
3720 PRD_TOTAL_TAX_AMT_TAX_CURR,
3721 PRD_TOTAL_TAX_AMT_FUNCL_CURR,
3722 APPLIED_FROM_TAX_DIST_ID,
3723 APPLIED_TO_DOC_CURR_CONV_RATE,
3724 ADJUSTED_DOC_TAX_DIST_ID,
3725 FUNC_CURR_ROUNDING_ADJUSTMENT,
3726 TAX_APPORTIONMENT_LINE_NUMBER,
3727 LAST_MANUAL_ENTRY,
3728 REF_DOC_TAX_DIST_ID,
3729 REF_DOC_TRX_LEVEL_TYPE,
3730 MRC_TAX_DIST_FLAG,
3731 MRC_LINK_TO_TAX_DIST_ID,
3732 OBJECT_VERSION_NUMBER,
3733 CREATED_BY,
3734 CREATION_DATE,
3735 LAST_UPDATED_BY,
3736 LAST_UPDATE_DATE,
3737 LAST_UPDATE_LOGIN,
3738 INTERNAL_ORGANIZATION_ID,
3739 DEF_REC_SETTLEMENT_OPTION_CODE,
3740 TAX_JURISDICTION_ID,
3741 ACCOUNT_SOURCE_TAX_RATE_ID)
3742 SELECT ZX_REC_NREC_DIST_S.NEXTVAL, -- REC_NREC_TAX_DIST_ID,
3743 ZD.APPLICATION_ID,
3744 ZD.ENTITY_CODE,
3745 ZD.EVENT_CLASS_CODE,
3746 ZD.EVENT_TYPE_CODE,
3747 ZD.TRX_ID,
3748 ZD.TRX_LEVEL_TYPE,
3749 ZD.TRX_NUMBER,
3750 ZD.TRX_LINE_ID,
3751 ZD.TRX_LINE_NUMBER,
3752 ZD.TAX_LINE_ID,
3753 ZD.TAX_LINE_NUMBER,
3754 ZD.TRX_LINE_DIST_ID,
3755 ZD.ITEM_DIST_NUMBER,
3756 l_tax_dist_num_tbl(i), -- ZD.REC_NREC_TAX_DIST_NUMBER,
3757 ZD.REC_NREC_RATE,
3758 ZD.RECOVERABLE_FLAG,
3759 -ZD.REC_NREC_TAX_AMT,
3760 ZD.TAX_EVENT_CLASS_CODE,
3761 ZD.TAX_EVENT_TYPE_CODE,
3762 ZD.CONTENT_OWNER_ID,
3763 ZD.TAX_REGIME_ID,
3764 ZD.TAX_REGIME_CODE,
3765 ZD.TAX_ID,
3766 ZD.TAX,
3767 ZD.TAX_STATUS_ID,
3768 ZD.TAX_STATUS_CODE,
3769 ZD.TAX_RATE_ID,
3770 ZD.TAX_RATE_CODE,
3771 ZD.TAX_RATE,
3772 ZD.INCLUSIVE_FLAG,
3773 ZD.RECOVERY_TYPE_ID,
3774 ZD.RECOVERY_TYPE_CODE,
3775 ZD.RECOVERY_RATE_ID,
3776 ZD.RECOVERY_RATE_CODE,
3777 ZD.REC_TYPE_RULE_FLAG,
3778 ZD.NEW_REC_RATE_CODE_FLAG,
3779 'Y', -- ZD.REVERSE_FLAG,
3780 ZD.HISTORICAL_FLAG,
3781 ZD.REC_NREC_TAX_DIST_ID, -- ZD.REVERSED_TAX_DIST_ID,
3782 -ZD.REC_NREC_TAX_AMT_TAX_CURR,
3783 ZD.REC_NREC_TAX_AMT_FUNCL_CURR,
3784 ZD.INTENDED_USE,
3785 ZD.PROJECT_ID,
3786 ZD.TASK_ID,
3787 ZD.AWARD_ID,
3788 ZD.EXPENDITURE_TYPE,
3789 ZD.EXPENDITURE_ORGANIZATION_ID,
3790 ZD.EXPENDITURE_ITEM_DATE,
3791 ZD.REC_RATE_DET_RULE_FLAG,
3792 ZD.LEDGER_ID,
3793 ZD.SUMMARY_TAX_LINE_ID,
3794 ZD.RECORD_TYPE_CODE,
3795 ZD.CURRENCY_CONVERSION_DATE,
3796 ZD.CURRENCY_CONVERSION_TYPE,
3797 ZD.CURRENCY_CONVERSION_RATE,
3798 ZD.TAX_CURRENCY_CONVERSION_DATE,
3799 ZD.TAX_CURRENCY_CONVERSION_TYPE,
3800 ZD.TAX_CURRENCY_CONVERSION_RATE,
3801 ZD.TRX_CURRENCY_CODE,
3802 ZD.TAX_CURRENCY_CODE,
3803 ZD.TRX_LINE_DIST_QTY,
3804 ZD.REF_DOC_TRX_LINE_DIST_QTY,
3805 ZD.PRICE_DIFF,
3806 ZD.QTY_DIFF,
3807 ZD.PER_TRX_CURR_UNIT_NR_AMT,
3808 ZD.REF_PER_TRX_CURR_UNIT_NR_AMT,
3809 ZD.REF_DOC_CURR_CONV_RATE,
3810 ZD.UNIT_PRICE,
3811 ZD.REF_DOC_UNIT_PRICE,
3812 ZD.PER_UNIT_NREC_TAX_AMT,
3813 ZD.REF_DOC_PER_UNIT_NREC_TAX_AMT,
3814 ZD.RATE_TAX_FACTOR,
3815 ZD.TAX_APPORTIONMENT_FLAG,
3816 -ZD.TRX_LINE_DIST_AMT,
3817 -ZD.TRX_LINE_DIST_TAX_AMT,
3818 ZD.ORIG_REC_NREC_RATE,
3819 ZD.ORIG_REC_RATE_CODE,
3820 -ZD.ORIG_REC_NREC_TAX_AMT,
3821 -ZD.ORIG_REC_NREC_TAX_AMT_TAX_CURR,
3822 ZD.ACCOUNT_CCID,
3823 ZD.ACCOUNT_STRING,
3824 -ZD.UNROUNDED_REC_NREC_TAX_AMT,
3825 ZD.APPLICABILITY_RESULT_ID,
3826 ZD.REC_RATE_RESULT_ID,
3827 ZD.BACKWARD_COMPATIBILITY_FLAG,
3828 ZD.OVERRIDDEN_FLAG,
3829 ZD.SELF_ASSESSED_FLAG,
3830 'N', -- ZD.FREEZE_FLAG,
3831 ZD.POSTING_FLAG,
3832 ZD.ATTRIBUTE_CATEGORY,
3833 ZD.ATTRIBUTE1,
3834 ZD.ATTRIBUTE2,
3835 ZD.ATTRIBUTE3,
3836 ZD.ATTRIBUTE4,
3837 ZD.ATTRIBUTE5,
3838 ZD.ATTRIBUTE6,
3839 ZD.ATTRIBUTE7,
3840 ZD.ATTRIBUTE8,
3841 ZD.ATTRIBUTE9,
3842 ZD.ATTRIBUTE10,
3843 ZD.ATTRIBUTE11,
3844 ZD.ATTRIBUTE12,
3845 ZD.ATTRIBUTE13,
3846 ZD.ATTRIBUTE14,
3847 ZD.ATTRIBUTE15,
3848 ZD.GLOBAL_ATTRIBUTE_CATEGORY,
3849 ZD.GLOBAL_ATTRIBUTE1,
3850 ZD.GLOBAL_ATTRIBUTE2,
3851 ZD.GLOBAL_ATTRIBUTE3,
3852 ZD.GLOBAL_ATTRIBUTE4,
3853 ZD.GLOBAL_ATTRIBUTE5,
3854 ZD.GLOBAL_ATTRIBUTE6,
3855 ZD.GLOBAL_ATTRIBUTE7,
3856 ZD.GLOBAL_ATTRIBUTE8,
3857 ZD.GLOBAL_ATTRIBUTE9,
3858 ZD.GLOBAL_ATTRIBUTE10,
3859 ZD.GLOBAL_ATTRIBUTE11,
3860 ZD.GLOBAL_ATTRIBUTE12,
3861 ZD.GLOBAL_ATTRIBUTE13,
3862 ZD.GLOBAL_ATTRIBUTE14,
3863 ZD.GLOBAL_ATTRIBUTE15,
3864 ZD.GLOBAL_ATTRIBUTE16,
3865 ZD.GLOBAL_ATTRIBUTE17,
3866 ZD.GLOBAL_ATTRIBUTE18,
3867 ZD.GLOBAL_ATTRIBUTE19,
3868 ZD.GLOBAL_ATTRIBUTE20,
3869 l_gl_date_tbl(i), -- ZD.GL_DATE,
3870 ZD.REF_DOC_APPLICATION_ID,
3871 ZD.REF_DOC_ENTITY_CODE,
3872 ZD.REF_DOC_EVENT_CLASS_CODE,
3873 ZD.REF_DOC_TRX_ID,
3874 ZD.REF_DOC_LINE_ID,
3875 ZD.REF_DOC_DIST_ID,
3876 ZD.MINIMUM_ACCOUNTABLE_UNIT,
3877 ZD.PRECISION,
3878 ZD.ROUNDING_RULE_CODE,
3879 ZD.TAXABLE_AMT,
3880 ZD.TAXABLE_AMT_TAX_CURR,
3881 ZD.TAXABLE_AMT_FUNCL_CURR,
3882 ZD.TAX_ONLY_LINE_FLAG,
3883 ZD.UNROUNDED_TAXABLE_AMT,
3884 ZD.LEGAL_ENTITY_ID,
3885 ZD.PRD_TAX_AMT,
3886 ZD.PRD_TAX_AMT_TAX_CURR,
3887 ZD.PRD_TAX_AMT_FUNCL_CURR,
3888 ZD.PRD_TOTAL_TAX_AMT,
3889 ZD.PRD_TOTAL_TAX_AMT_TAX_CURR,
3890 ZD.PRD_TOTAL_TAX_AMT_FUNCL_CURR,
3891 ZD.APPLIED_FROM_TAX_DIST_ID,
3892 ZD.APPLIED_TO_DOC_CURR_CONV_RATE,
3893 ZD.ADJUSTED_DOC_TAX_DIST_ID,
3894 ZD.FUNC_CURR_ROUNDING_ADJUSTMENT,
3895 ZD.TAX_APPORTIONMENT_LINE_NUMBER,
3896 ZD.LAST_MANUAL_ENTRY,
3897 ZD.REF_DOC_TAX_DIST_ID,
3898 ZD.REF_DOC_TRX_LEVEL_TYPE,
3899 ZD.MRC_TAX_DIST_FLAG,
3900 ZD.MRC_LINK_TO_TAX_DIST_ID,
3901 1, --ZD.OBJECT_VERSION_NUMBER,
3902 ZD.CREATED_BY,
3903 ZD.CREATION_DATE,
3904 ZD.LAST_UPDATED_BY,
3905 ZD.LAST_UPDATE_DATE,
3906 ZD.LAST_UPDATE_LOGIN,
3907 ZD.INTERNAL_ORGANIZATION_ID,
3908 ZD.DEF_REC_SETTLEMENT_OPTION_CODE,
3909 ZD.TAX_JURISDICTION_ID,
3910 ZD.ACCOUNT_SOURCE_TAX_RATE_ID
3911 FROM ZX_REC_NREC_DIST ZD
3912 WHERE rec_nrec_tax_dist_id = l_rec_nrec_tax_dist_id_tbl(i);
3913
3914 l_row_count := SQL%ROWCOUNT;
3915
3916 IF (g_level_statement >= g_current_runtime_level ) THEN
3917 FND_LOG.STRING(g_level_statement,
3918 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
3919 'Number of rows updated in zx_rec_nrec_dist = '||l_row_count);
3920 END IF;
3921
3922 FORALL i IN NVL(l_rec_nrec_tax_dist_id_tbl.FIRST, 0) ..
3923 NVL(l_rec_nrec_tax_dist_id_tbl.LAST, -1)
3924 UPDATE zx_rec_nrec_dist
3925 SET reverse_flag = 'Y'
3926 WHERE rec_nrec_tax_dist_id = l_rec_nrec_tax_dist_id_tbl(i);
3927
3928 l_row_count := SQL%ROWCOUNT;
3929
3930 IF (g_level_statement >= g_current_runtime_level ) THEN
3931 FND_LOG.STRING(g_level_statement,
3932 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Cancel_Transaction',
3933 'Number of rows updated in zx_rec_nrec_dist = '||l_row_count);
3934 END IF;
3935
3936 END IF; -- _rec_nrec_tax_dist_id_tbl.COUNT > 0
3937
3938 /*
3939 * IF (g_level_procedure >= g_current_runtime_level ) THEN
3940 * FND_LOG.STRING(g_level_procedure,
3941 * 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines',
3942 * 'Update ZX_REC_NREC_DIST set reverse flag to Y (+)');
3943 * END IF;
3944 *
3945 * UPDATE ZX_REC_NREC_DIST
3946 * SET Reverse_Flag = 'Y'
3947 * WHERE APPLICATION_ID = p_event_class_rec.application_id
3948 * AND ENTITY_CODE = p_event_class_rec.entity_code
3949 * AND EVENT_CLASS_CODE = p_event_class_rec.event_class_code
3950 * AND TRX_ID = p_event_class_rec.trx_id
3951 * AND Freeze_Flag = 'Y'
3952 * AND NVL(Tax_Only_Line_Flag, 'N') = 'Y';
3953 *
3954 * IF (g_level_procedure >= g_current_runtime_level ) THEN
3955 * FND_LOG.STRING(g_level_procedure,
3956 * 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines',
3957 * 'Update ZX_REC_NREC_DIST set reverse flag to Y (-)');
3958 * END IF;
3959 */
3960
3961 IF (g_level_procedure >= g_current_runtime_level ) THEN
3962 FND_LOG.STRING(g_level_procedure,
3963 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines.END',
3964 'ZX_TRL_MANAGE_TAX_PKG: Discard_Tax_Only_Lines (-)');
3965 END IF;
3966
3967 EXCEPTION
3968 WHEN OTHERS THEN
3969 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3970
3971 IF (g_level_procedure >= g_current_runtime_level ) THEN
3972 FND_LOG.STRING(g_level_procedure,
3973 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines',
3974 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
3975
3976 FND_LOG.STRING(g_level_procedure,
3977 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Discard_Tax_Only_Lines',
3978 'Return Status = '||x_return_status);
3979 END IF;
3980 END Discard_Tax_Only_Lines;
3981
3982 /*============================================================================*
3983 | Update_GL_Date: GL Date will be obtained for Tax Distributions |
3984 | |
3985 *============================================================================*/
3986
3987 PROCEDURE Update_GL_Date
3988 (p_gl_date IN DATE,
3989 x_return_status OUT NOCOPY VARCHAR2) IS
3990
3991 l_error_buffer VARCHAR2(100);
3992
3993 BEGIN
3994 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
3995
3996 IF (g_level_procedure >= g_current_runtime_level ) THEN
3997 FND_LOG.STRING(g_level_procedure,
3998 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_GL_Date.BEGIN',
3999 'ZX_TRL_MANAGE_TAX_PKG: Update_GL_Date (+)');
4000 END IF;
4001
4002 -- Initialize API return status to success
4003 x_return_status := FND_API.G_RET_STS_SUCCESS;
4004
4005 UPDATE zx_rec_nrec_dist
4006 SET gl_date = p_gl_date
4007 WHERE rec_nrec_tax_dist_id IN
4008 (SELECT tax_dist_id FROM zx_tax_dist_id_gt);
4009
4010 IF (g_level_procedure >= g_current_runtime_level ) THEN
4011 FND_LOG.STRING(g_level_procedure,
4012 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_GL_Date.END',
4013 'ZX_TRL_MANAGE_TAX_PKG: Update_GL_Date (-)');
4014 END IF;
4015
4016 EXCEPTION
4017 WHEN OTHERS THEN
4018 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4019
4020 IF (g_level_procedure >= g_current_runtime_level ) THEN
4021 FND_LOG.STRING(g_level_procedure,
4022 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_GL_Date',
4023 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
4024
4025 FND_LOG.STRING(g_level_procedure,
4026 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_GL_Date',
4027 'Return Status = '||x_return_status);
4028 END IF;
4029 END Update_GL_Date;
4030
4031 /*============================================================================*
4032 | Update_Exchange_Rate: modify the tax amounts needed to be calculated in |
4033 | functional currency using the exchange rate and |
4034 | rounding needs to be done too |
4035 | |
4036 *============================================================================*/
4037
4038 PROCEDURE Update_Exchange_Rate
4039 (p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
4040 x_return_status OUT NOCOPY VARCHAR2) IS
4041
4042 l_error_buffer VARCHAR2(100);
4043
4044 BEGIN
4045
4046 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4047
4048 IF (g_level_procedure >= g_current_runtime_level ) THEN
4049 FND_LOG.STRING(g_level_procedure,
4050 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Exchange_Rate.BEGIN',
4051 'ZX_TRL_MANAGE_TAX_PKG: Update_Exchange_Rate (+)');
4052 END IF;
4053
4054 -- Initialize API return status to success
4055 x_return_status := FND_API.G_RET_STS_SUCCESS;
4056
4057 IF p_event_class_rec.tax_recovery_flag = 'Y' THEN
4058
4059 UPDATE ZX_LINES L
4060 SET (rec_tax_amt_funcl_curr,
4061 nrec_tax_amt_funcl_curr
4062 ) =
4063 (SELECT SUM(decode(Recoverable_Flag,
4064 'Y',
4065 rec_nrec_tax_amt_funcl_curr)
4066 ) rec_tax_amt_funcl_curr,
4067 SUM(decode(Recoverable_Flag,
4068 'N',
4069 rec_nrec_tax_amt_funcl_curr)
4070 ) nrec_tax_amt_funcl_curr
4071 FROM ZX_REC_NREC_DIST D
4072 WHERE L.tax_line_id = D.tax_line_id
4073 AND L.application_id = D.application_id
4074 AND L.entity_code = D.entity_code
4075 AND L.event_class_code = D.event_class_code
4076 AND L.trx_id = D.trx_id
4077 )
4078 WHERE application_id = p_event_class_rec.application_id
4079 AND entity_code = p_event_class_rec.entity_code
4080 AND event_class_code = p_event_class_rec.event_class_code
4081 AND trx_id = p_event_class_rec.trx_id
4082 AND mrc_tax_line_flag = 'N';
4083
4084 END IF;
4085
4086 IF p_event_class_rec.summarization_flag = 'Y' THEN
4087
4088 UPDATE ZX_LINES_SUMMARY S
4089 SET (tax_amt_funcl_curr,
4090 total_rec_tax_amt_funcl_curr,
4091 total_nrec_tax_amt_funcl_curr
4092 ) =
4093 (SELECT SUM(L.tax_amt_funcl_curr) tax_amt_funcl_curr,
4094 SUM(rec_tax_amt_funcl_curr) total_rec_tax_amt_funcl_curr ,
4095 SUM(nrec_tax_amt_funcl_curr) total_nrec_tax_amt_funcl_curr
4096 FROM ZX_LINES L
4097 WHERE L.summary_tax_line_id = S.summary_tax_line_id
4098 AND L.application_id = S.application_id
4099 AND L.entity_code = S.entity_code
4100 AND L.event_class_code = S.event_class_code
4101 AND L.trx_id = S.trx_id
4102 )
4103 WHERE application_id = p_event_class_rec.application_id
4104 AND entity_code = p_event_class_rec.entity_code
4105 AND event_class_code = p_event_class_rec.event_class_code
4106 AND trx_id = p_event_class_rec.trx_id
4107 AND mrc_tax_line_flag = 'N';
4108
4109 END IF;
4110
4111 IF (g_level_procedure >= g_current_runtime_level ) THEN
4112 FND_LOG.STRING(g_level_procedure,
4113 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Exchange_Rate.END',
4114 'ZX_TRL_MANAGE_TAX_PKG: Update_Exchange_Rate (-)');
4115 END IF;
4116
4117 EXCEPTION
4118 WHEN OTHERS THEN
4119 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4120
4121 IF (g_level_procedure >= g_current_runtime_level ) THEN
4122 FND_LOG.STRING(g_level_procedure,
4123 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Exchange_Rate',
4124 'Exception:Others:' ||SQLCODE||';'||SQLERRM);
4125
4126 FND_LOG.STRING(g_level_procedure,
4127 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.Update_Exchange_Rate',
4128 'Return Status = '||x_return_status);
4129 END IF;
4130 END Update_Exchange_Rate;
4131
4132 /* ===========================================================================*
4133 | PROCEDURE update_exist_summary_line_id: |
4134 | Preserve old summary_tax_line_id in g_detail_tax_lines_gt for |
4135 | UPDATE case, if the same summarization criteria exists in |
4136 | zx_lines_summary |
4137 * ===========================================================================*/
4138 PROCEDURE update_exist_summary_line_id(
4139 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
4140 x_return_status OUT NOCOPY VARCHAR2) IS
4141
4142 l_row_count NUMBER;
4143 l_error_buffer VARCHAR2(100);
4144
4145 BEGIN
4146
4147 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4148
4149 l_row_count :=0 ;
4150
4151 IF (g_level_procedure >= g_current_runtime_level ) THEN
4152 FND_LOG.STRING(g_level_procedure,
4153 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.update_exist_summary_line_id.BEGIN',
4154 'ZX_TRL_MANAGE_TAX_PKG: update_exist_summary_line_id (+)');
4155 END IF;
4156
4157 x_return_status := FND_API.G_RET_STS_SUCCESS;
4158
4159 -- Before deleting summary tax lines, we need to preserve old
4160 -- summary_tax_line_id (for UPDATE case) if the same summarization
4161 -- criteria exist.
4162 --
4163 UPDATE zx_detail_tax_lines_gt zlgt
4164 SET summary_tax_line_id =
4165 ( SELECT summary_tax_line_id
4166 FROM zx_lines_summary summ
4167 -- bug fix 5417887
4168 --WHERE summ.application_id = p_event_class_rec.application_id
4169 -- AND summ.entity_code = p_event_class_rec.entity_code
4170 -- AND summ.event_class_code = p_event_class_rec.event_class_code
4171 -- AND summ.trx_id = p_event_class_rec.trx_id
4172 WHERE summ.application_id = zlgt.application_id
4173 AND summ.entity_code = zlgt.entity_code
4174 AND summ.event_class_code = zlgt.event_class_code
4175 AND summ.trx_id = zlgt.trx_id
4176 -- AND summ.tax_event_class_code = zlgt.tax_event_class_code
4177 AND summ.internal_organization_id = zlgt.internal_organization_id
4178 -- AND NVL(summ.trx_number, 'x') = NVL(zlgt.trx_number, 'x')
4179 AND NVL(summ.applied_from_trx_level_type, 'x') = NVL(zlgt.applied_from_trx_level_type, 'x')
4180 AND NVL(summ.adjusted_doc_trx_level_type, 'x') = NVL(zlgt.adjusted_doc_trx_level_type, 'x')
4181 -- bug6773534 AND NVL(summ.applied_to_trx_level_type, 'x') = NVL(zlgt.applied_to_trx_level_type, 'x')
4182 AND NVL(summ.applied_from_application_id, 0) = NVL(zlgt.applied_from_application_id, 0)
4183 AND NVL(summ.applied_from_event_class_code, 'x') = NVL(zlgt.applied_from_event_class_code, 'x')
4184 AND NVL(summ.applied_from_entity_code, 'x') = NVL(zlgt.applied_from_entity_code, 'x')
4185 -- AND NVL(summ.applied_from_trx_number, 'x') = NVL(zlgt.applied_from_trx_number, 'x')
4186 AND NVL(summ.applied_from_trx_id, 0) = NVL(zlgt.applied_from_trx_id, 0)
4187 AND NVL(summ.applied_from_line_id, 0) = NVL(zlgt.applied_from_line_id, 0)
4188 AND NVL(summ.adjusted_doc_application_id, 0) = NVL(zlgt.adjusted_doc_application_id, 0)
4189 AND NVL(summ.adjusted_doc_entity_code, 'x') = NVL(zlgt.adjusted_doc_entity_code, 'x')
4190 AND NVL(summ.adjusted_doc_event_class_code, 'x') = NVL(zlgt.adjusted_doc_event_class_code, 'x')
4191 AND NVL(summ.adjusted_doc_trx_id, 0) = NVL(zlgt.adjusted_doc_trx_id, 0)
4192 -- AND NVL(summ.adjusted_doc_number, 'x') = NVL(zlgt.adjusted_doc_number, 'x')
4193 -- bug6773534 AND NVL(summ.applied_to_application_id, -999) = NVL(zlgt.applied_to_application_id, -999)
4194 -- bug6773534 AND NVL(summ.applied_to_event_class_code, 'x') = NVL(zlgt.applied_to_event_class_code, 'x')
4195 -- bug6773534 AND NVL(summ.applied_to_entity_code, 'x') = NVL(zlgt.applied_to_entity_code, 'x')
4196 -- bug6773534 AND NVL(summ.applied_to_trx_id, -999) = NVL(zlgt.applied_to_trx_id, -999)
4197 -- bug6773534 AND NVL(summ.applied_to_line_id, -999) = NVL(zlgt.applied_to_line_id, -999)
4198 AND NVL(summ.tax_exemption_id, -999) = NVL(zlgt.tax_exemption_id, -999)
4199 --AND NVL(summ.tax_rate_before_exemption, -999) = NVL(zlgt.tax_rate_before_exemption, -999)
4200 --AND NVL(summ.tax_rate_name_before_exemption, 'x') = NVL(zlgt.tax_rate_name_before_exemption, 'x')
4201 --AND NVL(summ.exempt_rate_modifier, -999) = NVL(zlgt.exempt_rate_modifier, -999)
4202 AND NVL(summ.exempt_certificate_number, 'x') = NVL(zlgt.exempt_certificate_number, 'x')
4203 --AND NVL(summ.exempt_reason, 'x') = NVL(zlgt.exempt_reason, 'x')
4204 AND NVL(summ.exempt_reason_code, 'x') = NVL(zlgt.exempt_reason_code, 'x')
4205 AND NVL(summ.tax_exception_id, -999) = NVL(zlgt.tax_exception_id, -999)
4206 --AND NVL(summ.tax_rate_before_exception, -999) = NVL(zlgt.tax_rate_before_exception, -999)
4207 --AND NVL(summ.tax_rate_name_before_exception, 'x') = NVL(zlgt.tax_rate_name_before_exception, 'x')
4208 --AND NVL(summ.exception_rate, -999) = NVL(zlgt.exception_rate, -999)
4209 AND NVL(summ.content_owner_id, 0) = NVL(zlgt.content_owner_id, 0)
4210 -- AND NVL(summ.tax_regime_id, 0) = NVL(zlgt.tax_regime_id, 0)
4211 AND NVL(summ.tax_regime_code, 'x') = NVL(zlgt.tax_regime_code, 'x')
4212 -- AND NVL(summ.tax_id, 0) = NVL(zlgt.tax_id, 0)
4213 AND NVL(summ.tax, 'x') = NVL(zlgt.tax, 'x')
4214 -- AND NVL(summ.tax_status_id, 0) = NVL(zlgt.tax_status_id, 0)
4215 AND NVL(summ.tax_status_code, 'x') = NVL(zlgt.tax_status_code, 'x')
4216 AND NVL(summ.tax_rate_id, 0) = NVL(zlgt.tax_rate_id, 0)
4217 AND NVL(summ.tax_rate_code, 'x') = NVL(zlgt.tax_rate_code, 'x')
4218 AND NVL(summ.tax_rate, -99) = NVL(zlgt.tax_rate, -99)
4219 -- AND NVL(summ.tax_jurisdiction_id, 0) = NVL(zlgt.tax_jurisdiction_id, 0)
4220 AND NVL(summ.tax_jurisdiction_code, 'x') = NVL(zlgt.tax_jurisdiction_code, 'x')
4221 AND NVL(summ.ledger_id, 0) = NVL(zlgt.ledger_id, 0)
4222 AND NVL(summ.legal_entity_id, 0) = NVL(zlgt.legal_entity_id, 0)
4223 AND NVL(summ.establishment_id, 0) = NVL(zlgt.establishment_id, 0)
4224 AND NVL(TRUNC(summ.currency_conversion_date), SYSDATE) = NVL(TRUNC(zlgt.currency_conversion_date), SYSDATE)
4225 AND NVL(summ.currency_conversion_type,'x') = NVL(zlgt.currency_conversion_type,'x')
4226 AND NVL(summ.currency_conversion_rate, 1) = NVL(zlgt.currency_conversion_rate, 1)
4227 AND NVL(summ.taxable_basis_formula,'x') = NVL(zlgt.taxable_basis_formula,'x')
4228 AND NVL(summ.tax_calculation_formula,'x') = NVL(zlgt.tax_calculation_formula,'x')
4229 AND summ.tax_amt_included_flag = zlgt.tax_amt_included_flag
4230 AND summ.compounding_tax_flag = zlgt.compounding_tax_flag
4231 AND summ.self_assessed_flag = zlgt.self_assessed_flag
4232 AND summ.reporting_only_flag = zlgt.reporting_only_flag
4233 -- commented for bug 6456915 AND summ.associated_child_frozen_flag = zlgt.associated_child_frozen_Flag
4234 -- AND summ.copied_from_other_doc_flag = zlgt.copied_from_other_doc_flag
4235 AND NVL(summ.record_type_code,'x') = NVL(zlgt.record_type_code,'x')
4236 AND NVL(summ.tax_provider_id, 0) = NVL(zlgt.tax_provider_id, 0)
4237 -- AND summ.overridden_flag = zlgt.overridden_flag
4238 AND summ.manually_entered_flag = zlgt.manually_entered_flag
4239 AND summ.tax_only_line_flag = zlgt.tax_only_line_flag
4240 AND summ.mrc_tax_line_flag = zlgt.mrc_tax_line_flag
4241 AND summ.historical_flag = zlgt.historical_flag
4242 AND rownum =1
4243 )
4244 WHERE summary_tax_line_id IS NULL;
4245
4246 IF (g_level_procedure >= g_current_runtime_level ) THEN
4247 FND_LOG.STRING(g_level_procedure,
4248 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.update_exist_summary_line_id.END',
4249 'ZX_TRL_MANAGE_TAX_PKG: update_exist_summary_line_id (-)');
4250 END IF;
4251
4252 EXCEPTION
4253 WHEN OTHERS THEN
4254 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4255 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
4256
4257 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4258 FND_LOG.STRING(g_level_unexpected,
4259 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.update_exist_summary_line_id(-)',
4260 l_error_buffer);
4261 END IF;
4262
4263 END update_exist_summary_line_id;
4264
4265 /* ===========================================================================*
4266 | PROCEDURE RELEASE_DOCUMENT_TAX_HOLD : public API to release the tax hold at|
4267 | the document level by updating TAX_HOLD_RELEASED_CODE in zx_lines based on |
4268 | the input release tax code table. |
4269 | Bug Fix: 3339364 by lxzhang |
4270 * ===========================================================================*/
4271
4272 PROCEDURE release_document_tax_hold(
4273 x_return_status OUT NOCOPY VARCHAR2,
4274 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
4275 p_tax_hold_released_code IN ZX_API_PUB.VALIDATION_STATUS_TBL_TYPE
4276 ) IS
4277 l_error_buffer VARCHAR2(100);
4278
4279 l_tax_hold_release_value NUMBER;
4280 l_tax_hold_release_mask NUMBER;
4281
4282 l_upg_trx_info_rec ZX_ON_FLY_TRX_UPGRADE_PKG.zx_upg_trx_info_rec_type;
4283 l_trx_migrated_b BOOLEAN;
4284 BEGIN
4285 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4286
4287 IF (g_level_procedure >= g_current_runtime_level ) THEN
4288 FND_LOG.STRING(g_level_procedure,
4289 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold.BEGIN',
4290 'ZX_TRL_MANAGE_TAX_PKG: release_document_tax_hold (+)');
4291 END IF;
4292
4293 -- Initialize API return status to success
4294 x_return_status := FND_API.G_RET_STS_SUCCESS;
4295
4296 l_tax_hold_release_mask := 0;
4297
4298 FOR i IN 1..nvl(p_tax_hold_released_code.COUNT, 0) LOOP
4299 l_tax_hold_release_value := ZX_TRD_SERVICES_PUB_PKG.get_tax_hold_rls_val_frm_code(
4300 p_tax_hold_released_code(i) );
4301 l_tax_hold_release_mask := l_tax_hold_release_mask + l_tax_hold_release_value;
4302 END LOOP;
4303
4304 -- update the tax_hold_release_code
4305 UPDATE ZX_LINES
4306 SET TAX_HOLD_RELEASED_CODE = BITAND(TAX_HOLD_CODE, l_tax_hold_release_mask )
4307 WHERE TAX_LINE_ID in (
4308 SELECT TAX_LINE_ID
4309 FROM ZX_LINES
4310 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
4311 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
4312 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
4313 AND TRX_ID = p_event_class_rec.TRX_ID );
4314
4315 IF SQL%NOTFOUND THEN
4316
4317 l_upg_trx_info_rec.application_id := p_event_class_rec.application_id;
4318 l_upg_trx_info_rec.entity_code := p_event_class_rec.entity_code;
4319 l_upg_trx_info_rec.event_class_code := p_event_class_rec.event_class_code;
4320 l_upg_trx_info_rec.trx_id := p_event_class_rec.trx_id;
4321
4322 -- check if trx line exists in the det factors table. If not exist,
4323 -- do on-the-fly migration
4324 ZX_ON_FLY_TRX_UPGRADE_PKG.is_trx_migrated(
4325 p_upg_trx_info_rec => l_upg_trx_info_rec,
4326 x_trx_migrated_b => l_trx_migrated_b,
4327 x_return_status => x_return_status );
4328
4329 IF NOT l_trx_migrated_b THEN
4330 ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly(
4331 p_upg_trx_info_rec => l_upg_trx_info_rec,
4332 x_return_status => x_return_status
4333 );
4334 END IF;
4335
4336 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4337 IF (g_level_statement >= g_current_runtime_level ) THEN
4338 FND_LOG.STRING(g_level_statement,
4339 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold',
4340 'Incorrect return_status after calling ' ||
4341 ' ZX_ON_FLY_TRX_UPGRADE_PKG.upgrade_trx_on_fly');
4342 FND_LOG.STRING(g_level_statement,
4343 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold',
4344 'RETURN_STATUS = ' || x_return_status);
4345 FND_LOG.STRING(g_level_statement,
4346 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold.END',
4347 'ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold(-)');
4348 END IF;
4349 RETURN;
4350 END IF;
4351
4352 -- update the tax_hold_release_code
4353 UPDATE ZX_LINES
4354 SET TAX_HOLD_RELEASED_CODE = BITAND(TAX_HOLD_CODE, l_tax_hold_release_mask )
4355 WHERE TAX_LINE_ID in (
4356 SELECT TAX_LINE_ID
4357 FROM ZX_LINES
4358 WHERE APPLICATION_ID = p_event_class_rec.APPLICATION_ID
4359 AND ENTITY_CODE = p_event_class_rec.ENTITY_CODE
4360 AND EVENT_CLASS_CODE = p_event_class_rec.EVENT_CLASS_CODE
4361 AND TRX_ID = p_event_class_rec.TRX_ID );
4362
4363 END IF; -- IF SQL%NOTFOUND THEN
4364
4365 IF (g_level_procedure >= g_current_runtime_level ) THEN
4366
4367 FND_LOG.STRING(g_level_procedure,
4368 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold.END',
4369 'ZX_TRL_MANAGE_TAX_PKG: release_document_tax_hold (-)'||x_return_status);
4370 END IF;
4371
4372 EXCEPTION
4373 WHEN OTHERS THEN
4374 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4375 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
4376
4377 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4378 FND_LOG.STRING(g_level_unexpected,
4379 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.release_document_tax_hold',
4380 l_error_buffer);
4381 END IF;
4382
4383 END RELEASE_DOCUMENT_TAX_HOLD;
4384
4385 ------------------------------------------------------------------------------
4386 -- PRIVATE PROCEDURE
4387 -- create_summary_lines_crt_evnt
4388 --
4389 -- DESCRIPTION
4390 -- Private procedure to create zx_lines_summary from zx_detail_tax_lines_gt
4391 -- for tax_event_type of 'CREATE' or for tax_event_type of 'UPDATE'/'OVERRIDE'
4392 -- with retain_summ_tax_line_id_flag on event_class_rec of 'N'
4393 ------------------------------------------------------------------------------
4394 -- Bug 6456915 - associated_child_frozen_flag has been removed from grouping columns for summary tax lines
4395
4396 PROCEDURE create_summary_lines_crt_evnt(
4397 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
4398 x_return_status OUT NOCOPY VARCHAR2
4399 ) IS
4400
4401 l_error_buffer VARCHAR2(100);
4402 l_index NUMBER;
4403 l_curr_ledger_id NUMBER;
4404 l_summary_tax_line_number NUMBER;
4405
4406 l_curr_trx_id NUMBER;
4407 l_curr_entity_code zx_evnt_cls_mappings.entity_code%TYPE;
4408 l_curr_event_class_code zx_evnt_cls_mappings.event_class_code%TYPE;
4409
4410 BEGIN
4411
4412 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4413
4414 IF (g_level_procedure >= g_current_runtime_level ) THEN
4415 FND_LOG.STRING(g_level_procedure,
4416 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_crt_evnt.BEGIN',
4417 'ZX_TRL_MANAGE_TAX_PKG: create_summary_lines_crt_evnt (+)');
4418 END IF;
4419
4420 -- Initialize API return status to success
4421 --
4422 x_return_status := FND_API.G_RET_STS_SUCCESS;
4423
4424 -- get the summary_tax_line_id to be used and the COUNT of tax line FOR each summary_tax_line_id
4425 -- get all the column value used to create the summary tax lines.
4426
4427 SELECT
4428 application_id,
4429 entity_code,
4430 event_class_code,
4431 trx_id,
4432 internal_organization_id,
4433 zx_lines_summary_s.NEXTVAL,
4434 count_detail_tax_line,
4435 trx_number,
4436 applied_from_application_id,
4437 applied_from_event_class_code,
4438 applied_from_entity_code,
4439 -- applied_from_trx_number,
4440 applied_from_trx_id,
4441 applied_from_trx_level_type,
4442 applied_from_line_id,
4443 adjusted_doc_application_id,
4444 adjusted_doc_entity_code,
4445 adjusted_doc_event_class_code,
4446 adjusted_doc_trx_id,
4447 adjusted_doc_trx_level_type,
4448 -- adjusted_doc_number,
4449 --ROWNUM, -- summary_tax_line_number
4450 content_owner_id,
4451 -- tax_regime_id,
4452 tax_regime_code,
4453 -- tax_id,
4454 tax,
4455 -- tax_status_id,
4456 tax_status_code,
4457 tax_rate_id,
4458 tax_rate_code,
4459 tax_rate,
4460 -- tax_jurisdiction_id,
4461 tax_jurisdiction_code,
4462 ledger_id,
4463 legal_entity_id,
4464 establishment_id,
4465 currency_conversion_date,
4466 currency_conversion_type,
4467 currency_conversion_rate,
4468 taxable_basis_formula,
4469 tax_calculation_formula,
4470 tax_amt_included_flag,
4471 compounding_tax_flag,
4472 self_assessed_flag,
4473 reporting_only_flag,
4474 -- associated_child_frozen_flag,
4475 -- copied_from_other_doc_flag,
4476 record_type_code,
4477 tax_provider_id,
4478 historical_flag,
4479 tax_amt,
4480 tax_amt_tax_curr,
4481 tax_amt_funcl_curr,
4482 -- orig_tax_amt,
4483 total_rec_tax_amt,
4484 total_rec_tax_amt_funcl_curr,
4485 total_rec_tax_amt_tax_curr,
4486 total_nrec_tax_amt,
4487 total_nrec_tax_amt_funcl_curr,
4488 total_nrec_tax_amt_tax_curr,
4489 -- cancel_flag,
4490 -- purge_flag,
4491 delete_flag,
4492 --overridden_flag,
4493 manually_entered_flag,
4494 -- bug6773534 applied_to_application_id,
4495 -- bug6773534 applied_to_event_class_code,
4496 -- bug6773534 applied_to_entity_code,
4497 -- bug6773534 applied_to_trx_id,
4498 -- bug6773534 applied_to_trx_level_type,
4499 -- bug6773534 applied_to_line_id,
4500 tax_exemption_id,
4501 --tax_rate_before_exemption,
4502 --tax_rate_name_before_exemption,
4503 --exempt_rate_modifier,
4504 exempt_certificate_number,
4505 --exempt_reason,
4506 exempt_reason_code,
4507 --tax_rate_before_exception,
4508 --tax_rate_name_before_exception,
4509 tax_exception_id,
4510 --exception_rate,
4511 mrc_tax_line_flag,
4512 tax_only_line_flag
4513 BULK COLLECT INTO
4514 pg_application_id_tbl,
4515 pg_entity_code_tbl,
4516 pg_event_class_code_tbl,
4517 pg_trx_id_tbl,
4518 pg_internal_org_id_tbl,
4519 pg_summary_tax_line_id_tbl,
4520 pg_count_detail_tax_line_tbl,
4521 pg_trx_number_tbl,
4522 pg_app_from_app_id_tbl,
4523 pg_app_from_evnt_cls_code_tbl,
4524 pg_app_from_entity_code_tbl,
4525 pg_app_from_trx_id_tbl,
4526 pg_app_from_trx_level_type_tbl,
4527 pg_app_from_line_id_tbl,
4528 pg_adj_doc_app_id_tbl,
4529 pg_adj_doc_entity_code_tbl,
4530 pg_adj_doc_evnt_cls_code_tbl,
4531 pg_adj_doc_trx_id_tbl,
4532 pg_adj_doc_trx_level_type_tbl,
4533 --pg_summary_tax_line_num_tbl,
4534 pg_content_owner_id_tbl,
4535 pg_tax_regime_code_tbl,
4536 pg_tax_tbl,
4537 pg_tax_status_code_tbl,
4538 pg_tax_rate_id_tbl,
4539 pg_tax_rate_code_tbl,
4540 pg_tax_rate_tbl,
4541 pg_tax_jurisdiction_code_tbl,
4542 pg_ledger_id_tbl,
4543 pg_legal_entity_id_tbl,
4544 pg_establishment_id_tbl,
4545 pg_currency_convrsn_date_tbl,
4546 pg_currency_convrsn_type_tbl,
4547 pg_currency_convrsn_rate_tbl,
4548 pg_taxable_basis_formula_tbl,
4549 pg_tax_calculation_formula_tbl,
4550 pg_tax_amt_included_flag_tbl,
4551 pg_compounding_tax_flag_tbl,
4552 pg_self_assessed_flag_tbl,
4553 pg_reporting_only_flag_tbl,
4554 -- pg_assoctd_child_frz_flag_tbl,
4555 -- pg_cpd_from_other_doc_flag_tbl,
4556 pg_record_type_code_tbl,
4557 pg_tax_provider_id_tbl,
4558 pg_historical_flag_tbl,
4559 pg_tax_amt_tbl,
4560 pg_tax_amt_tax_curr_tbl,
4561 pg_tax_amt_funcl_curr_tbl,
4562 pg_ttl_rec_tax_amt_tbl,
4563 pg_ttl_rec_tx_amt_fnc_crr_tbl,
4564 pg_ttl_rec_tx_amt_tx_crr_tbl,
4565 pg_ttl_nrec_tax_amt_tbl,
4566 pg_ttl_nrec_tx_amt_fnc_crr_tbl,
4567 pg_ttl_nrec_tx_amt_tx_crr_tbl,
4568 -- pg_cancel_flag_tbl,
4569 pg_delete_flag_tbl,
4570 --pg_overridden_flag_tbl,
4571 pg_manually_entered_flag_tbl,
4572 -- bug6773534 pg_app_to_app_id_tbl,
4573 -- bug6773534 pg_app_to_evnt_cls_code_tbl,
4574 -- bug6773534 pg_app_to_entity_code_tbl,
4575 -- bug6773534 pg_app_to_trx_id_tbl,
4576 -- bug6773534 pg_app_to_trx_level_type_tbl,
4577 -- bug6773534 pg_app_to_line_id_tbl,
4578 pg_tax_xmptn_id_tbl,
4579 --pg_tax_rate_bf_xmptn_tbl,
4580 --pg_tax_rate_name_bf_xmptn_tbl,
4581 --pg_xmpt_rate_modifier_tbl,
4582 pg_xmpt_certificate_number_tbl,
4583 --pg_xmpt_reason_tbl,
4584 pg_xmpt_reason_code_tbl,
4585 --pg_tax_rate_bf_xeptn_tbl,
4586 --pg_tax_rate_name_bf_xeptn_tbl,
4587 pg_tax_xeptn_id_tbl,
4588 --pg_xeptn_rate_tbl,
4589 pg_mrc_tax_line_flag_tbl,
4590 pg_tax_only_line_flag_tbl
4591 FROM (SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1)*/
4592 application_id,
4593 entity_code,
4594 event_class_code,
4595 trx_id,
4596 internal_organization_id,
4597 COUNT(*) count_detail_tax_line, -- How many detail tax lines grouped for each summary tax line.
4598 trx_number,
4599 applied_from_application_id,
4600 applied_from_event_class_code,
4601 applied_from_entity_code,
4602 -- applied_from_trx_number,
4603 applied_from_trx_id,
4604 applied_from_trx_level_type,
4605 applied_from_line_id,
4606 adjusted_doc_application_id,
4607 adjusted_doc_entity_code,
4608 adjusted_doc_event_class_code,
4609 adjusted_doc_trx_id,
4610 adjusted_doc_trx_level_type,
4611 -- adjusted_doc_number,
4612 content_owner_id,
4613 -- tax_regime_id,
4614 tax_regime_code,
4615 -- tax_id,
4616 tax,
4617 -- tax_status_id,
4618 tax_status_code,
4619 tax_rate_id,
4620 tax_rate_code,
4621 tax_rate,
4622 -- tax_jurisdiction_id,
4623 tax_jurisdiction_code,
4624 ledger_id,
4625 legal_entity_id,
4626 establishment_id,
4627 TRUNC(currency_conversion_date) currency_conversion_date,
4628 currency_conversion_type,
4629 currency_conversion_rate,
4630 taxable_basis_formula,
4631 tax_calculation_formula,
4632 tax_amt_included_flag,
4633 compounding_tax_flag,
4634 self_assessed_flag,
4635 reporting_only_flag,
4636 -- associated_child_frozen_flag,
4637 -- copied_from_other_doc_flag,
4638 record_type_code,
4639 tax_provider_id,
4640 historical_flag,
4641 SUM(tax_amt) tax_amt,
4642 SUM(tax_amt_tax_curr) tax_amt_tax_curr,
4643 SUM(tax_amt_funcl_curr) tax_amt_funcl_curr,
4644 SUM(orig_tax_amt) orig_tax_amt,
4645 SUM(rec_tax_amt) total_rec_tax_amt,
4646 SUM(rec_tax_amt_funcl_curr) total_rec_tax_amt_funcl_curr,
4647 SUM(rec_tax_amt_tax_curr) total_rec_tax_amt_tax_curr,
4648 SUM(nrec_tax_amt) total_nrec_tax_amt,
4649 SUM(nrec_tax_amt_funcl_curr) total_nrec_tax_amt_funcl_curr,
4650 SUM(nrec_tax_amt_tax_curr) total_nrec_tax_amt_tax_curr,
4651 -- cancel_flag,
4652 -- purge_flag,
4653 delete_flag,
4654 --overridden_flag,
4655 manually_entered_flag,
4656 -- bug6773534 applied_to_application_id,
4657 -- bug6773534 applied_to_event_class_code,
4658 -- bug6773534 applied_to_entity_code,
4659 -- bug6773534 applied_to_trx_id,
4660 -- bug6773534 applied_to_trx_level_type,
4661 -- bug6773534 applied_to_line_id,
4662 tax_exemption_id,
4663 --tax_rate_before_exemption,
4664 --tax_rate_name_before_exemption,
4665 --exempt_rate_modifier,
4666 exempt_certificate_number,
4667 --exempt_reason,
4668 exempt_reason_code,
4669 --tax_rate_before_exception,
4670 --tax_rate_name_before_exception,
4671 tax_exception_id,
4672 --exception_rate,
4673 mrc_tax_line_flag,
4674 tax_only_line_flag
4675 FROM zx_detail_tax_lines_gt
4676 -- commented out for bug fix 5417887
4677 -- WHERE application_id = p_event_class_rec.application_id
4678 -- AND entity_code = p_event_class_rec.entity_code
4679 -- AND event_class_code = p_event_class_rec.event_class_code
4680 -- AND trx_id = p_event_class_rec.trx_id
4681 GROUP BY application_id,
4682 entity_code,
4683 event_class_code,
4684 trx_id,
4685 internal_organization_id,
4686 trx_number,
4687 applied_from_application_id,
4688 applied_from_event_class_code,
4689 applied_from_entity_code,
4690 applied_from_trx_id,
4691 applied_from_trx_level_type,
4692 applied_from_line_id,
4693 adjusted_doc_application_id,
4694 adjusted_doc_entity_code,
4695 adjusted_doc_event_class_code,
4696 adjusted_doc_trx_id,
4697 adjusted_doc_trx_level_type,
4698 content_owner_id,
4699 tax_regime_code,
4700 tax,
4701 tax_status_code,
4702 tax_rate_id,
4703 tax_rate_code,
4704 tax_rate,
4705 tax_jurisdiction_code,
4706 ledger_id,
4707 legal_entity_id,
4708 establishment_id,
4709 TRUNC(currency_conversion_date),
4710 currency_conversion_type,
4711 currency_conversion_rate,
4712 taxable_basis_formula,
4713 tax_calculation_formula,
4714 tax_amt_included_flag,
4715 compounding_tax_flag,
4716 self_assessed_flag,
4717 reporting_only_flag,
4718 -- associated_child_frozen_flag,
4719 -- copied_from_other_doc_flag,
4720 record_type_code,
4721 tax_provider_id,
4722 historical_flag,
4723 -- cancel_flag,
4724 delete_flag,
4725 --overridden_flag,
4726 manually_entered_flag,
4727 -- bug6773534 applied_to_application_id,
4728 -- bug6773534 applied_to_event_class_code,
4729 -- bug6773534 applied_to_entity_code,
4730 -- bug6773534 applied_to_trx_id,
4731 -- bug6773534 applied_to_trx_level_type,
4732 -- bug6773534 applied_to_line_id,
4733 tax_exemption_id,
4734 --tax_rate_before_exemption,
4735 --tax_rate_name_before_exemption,
4736 --exempt_rate_modifier,
4737 exempt_certificate_number,
4738 --exempt_reason,
4739 exempt_reason_code,
4740 --tax_rate_before_exception,
4741 --tax_rate_name_before_exception,
4742 tax_exception_id,
4743 --exception_rate,
4744 mrc_tax_line_flag,
4745 tax_only_line_flag
4746 ORDER BY application_id,
4747 entity_code,
4748 event_class_code,
4749 trx_id,
4750 trx_number,
4751 mrc_tax_line_flag,
4752 ledger_id,
4753 applied_from_application_id,
4754 applied_from_event_class_code,
4755 applied_from_entity_code,
4756 applied_from_trx_id,
4757 applied_from_trx_level_type,
4758 applied_from_line_id,
4759 adjusted_doc_application_id,
4760 adjusted_doc_entity_code,
4761 adjusted_doc_event_class_code,
4762 adjusted_doc_trx_id,
4763 adjusted_doc_trx_level_type,
4764 content_owner_id,
4765 tax_regime_code,
4766 tax,
4767 tax_status_code,
4768 tax_rate_id,
4769 tax_rate_code,
4770 tax_rate,
4771 tax_jurisdiction_code,
4772 legal_entity_id,
4773 establishment_id,
4774 -- TRUNC(currency_conversion_date),
4775 -- currency_conversion_type,
4776 -- currency_conversion_rate,
4777 taxable_basis_formula,
4778 tax_calculation_formula,
4779 tax_amt_included_flag,
4780 compounding_tax_flag,
4781 self_assessed_flag,
4782 reporting_only_flag,
4783 -- associated_child_frozen_flag,
4784 -- copied_from_other_doc_flag,
4785 record_type_code,
4786 tax_provider_id,
4787 historical_flag,
4788 -- cancel_flag,
4789 delete_flag,
4790 --overridden_flag,
4791 manually_entered_flag,
4792 -- bug6773534 applied_to_application_id,
4793 -- bug6773534 applied_to_event_class_code,
4794 -- bug6773534 applied_to_entity_code,
4795 -- bug6773534 applied_to_trx_id,
4796 -- bug6773534 applied_to_trx_level_type,
4797 -- bug6773534 applied_to_line_id,
4798 tax_exemption_id,
4799 --tax_rate_before_exemption,
4800 --tax_rate_name_before_exemption,
4801 --exempt_rate_modifier,
4802 exempt_certificate_number,
4803 --exempt_reason,
4804 exempt_reason_code,
4805 --tax_rate_before_exception,
4806 --tax_rate_name_before_exception,
4807 tax_exception_id,
4808 --exception_rate,
4809 tax_only_line_flag );
4810
4811 -- get the tax line id IN the same order of the summary tax line as IN the first query.
4812 SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
4813 tax_line_id BULK COLLECT INTO pg_tax_line_id_tbl
4814 FROM zx_detail_tax_lines_gt
4815 -- commented out for bug fix 5417887
4816 -- WHERE application_id = p_event_class_rec.application_id
4817 -- AND entity_code = p_event_class_rec.entity_code
4818 -- AND event_class_code = p_event_class_rec.event_class_code
4819 -- AND trx_id = p_event_class_rec.trx_id
4820 ORDER BY application_id,
4821 entity_code,
4822 event_class_code,
4823 trx_id,
4824 trx_number,
4825 mrc_tax_line_flag,
4826 ledger_id,
4827 applied_from_application_id,
4828 applied_from_event_class_code,
4829 applied_from_entity_code,
4830 applied_from_trx_id,
4831 applied_from_trx_level_type,
4832 applied_from_line_id,
4833 adjusted_doc_application_id,
4834 adjusted_doc_entity_code,
4835 adjusted_doc_event_class_code,
4836 adjusted_doc_trx_id,
4837 adjusted_doc_trx_level_type,
4838 content_owner_id,
4839 tax_regime_code,
4840 tax,
4841 tax_status_code,
4842 tax_rate_id,
4843 tax_rate_code,
4844 tax_rate,
4845 tax_jurisdiction_code,
4846 legal_entity_id,
4847 establishment_id,
4848 -- TRUNC(currency_conversion_date),
4849 -- currency_conversion_type,
4850 -- currency_conversion_rate,
4851 taxable_basis_formula,
4852 tax_calculation_formula,
4853 tax_amt_included_flag,
4854 compounding_tax_flag,
4855 self_assessed_flag,
4856 reporting_only_flag,
4857 -- associated_child_frozen_flag,
4858 -- copied_from_other_doc_flag,
4859 record_type_code,
4860 tax_provider_id,
4861 historical_flag,
4862 -- cancel_flag,
4863 delete_flag,
4864 --overridden_flag,
4865 manually_entered_flag,
4866 -- bug6773534 applied_to_application_id,
4867 -- bug6773534 applied_to_event_class_code,
4868 -- bug6773534 applied_to_entity_code,
4869 -- bug6773534 applied_to_trx_id,
4870 -- bug6773534 applied_to_trx_level_type,
4871 -- bug6773534 applied_to_line_id,
4872 tax_exemption_id,
4873 --tax_rate_before_exemption,
4874 --tax_rate_name_before_exemption,
4875 --exempt_rate_modifier,
4876 exempt_certificate_number,
4877 --exempt_reason,
4878 exempt_reason_code,
4879 --tax_rate_before_exception,
4880 --tax_rate_name_before_exception,
4881 tax_exception_id,
4882 --exception_rate,
4883 tax_only_line_flag ;
4884
4885 l_index := 1;
4886 l_curr_ledger_id := -1;
4887 l_summary_tax_line_number := -1;
4888
4889 l_curr_trx_id := -1;
4890 l_curr_entity_code := '@#$%^&*';
4891 l_curr_event_class_code := '@#$%^&*';
4892
4893 FOR i IN 1.. pg_summary_tax_line_id_tbl.COUNT LOOP
4894
4895
4896 -- the following code is not needed as we are not creating MRC tax lines in eBTax repository
4897 -- due to the order by clause, it guranteed that the none_mrc line will
4898 -- come first, then followed by the mrc tax lines.
4899 --IF l_curr_ledger_id = -1 OR l_curr_ledger_id <> pg_ledger_id_tbl(i) THEN
4900 -- l_curr_ledger_id := pg_ledger_id_tbl(i);
4901 --END IF;
4902
4903 -- populate the summary_tax_line_number
4904 -- Reset the summary tax line number whenever the entity_code, Event Class Code
4905 -- or Trx id changes
4906
4907 IF (l_curr_entity_code = '@#$%^&*' and l_curr_event_class_code = '@#$%^&*' and l_curr_trx_id = -1)
4908 or l_curr_event_class_code <> pg_event_class_code_tbl(i)
4909 or l_curr_trx_id <> pg_trx_id_tbl(i)
4910 or l_curr_entity_code <> pg_entity_code_tbl(i)
4911 THEN
4912 l_curr_event_class_code := pg_event_class_code_tbl(i);
4913 l_curr_trx_id := pg_trx_id_tbl(i);
4914 l_curr_entity_code := pg_entity_code_tbl(i);
4915
4916 l_summary_tax_line_number := 1;
4917 ELSE
4918 l_summary_tax_line_number := l_summary_tax_line_number + 1;
4919 END IF;
4920
4921 pg_summary_tax_line_num_tbl(i) := l_summary_tax_line_number;
4922
4923 -- populate the summary_tax_line_id to the corresponding detail_tax_line_id
4924 FOR j IN 1.. pg_count_detail_tax_line_tbl(i) LOOP
4925 pg_detail_tax_smry_line_id_tbl(l_index) := pg_summary_tax_line_id_tbl(i);
4926 l_index := l_index+1;
4927 END LOOP;
4928
4929 END LOOP;
4930
4931 -- update the summary_tax_line_id column in the detail tax line table
4932 FORALL i IN 1.. pg_tax_line_id_tbl.COUNT
4933 UPDATE /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U2) */
4934 zx_detail_tax_lines_gt
4935 SET summary_tax_line_id = pg_detail_tax_smry_line_id_tbl(i)
4936 WHERE tax_line_id = pg_tax_line_id_tbl(i);
4937
4938 -- insert the newly created summary tax lines
4939 FORALL i IN 1..pg_summary_tax_line_id_tbl.COUNT
4940 INSERT INTO zx_lines_summary(
4941 summary_tax_line_id,
4942 object_version_number,
4943 created_by,
4944 creation_date,
4945 last_updated_by,
4946 last_update_date,
4947 last_update_login,
4948 internal_organization_id,
4949 application_id,
4950 entity_code,
4951 event_class_code,
4952 -- tax_event_class_code,
4953 trx_id,
4954 trx_number,
4955 applied_from_application_id,
4956 applied_from_event_class_code,
4957 applied_from_entity_code,
4958 -- applied_from_trx_number,
4959 applied_from_trx_id,
4960 applied_from_trx_level_type,
4961 applied_from_line_id,
4962 adjusted_doc_application_id,
4963 adjusted_doc_entity_code,
4964 adjusted_doc_event_class_code,
4965 adjusted_doc_trx_id,
4966 adjusted_doc_trx_level_type,
4967 -- adjusted_doc_number,
4968 summary_tax_line_number,
4969 content_owner_id,
4970 -- tax_regime_id,
4971 tax_regime_code,
4972 -- tax_id,
4973 tax,
4974 -- tax_status_id,
4975 tax_status_code,
4976 tax_rate_id,
4977 tax_rate_code,
4978 tax_rate,
4979 -- tax_jurisdiction_id,
4980 tax_jurisdiction_code,
4981 ledger_id,
4982 legal_entity_id,
4983 establishment_id,
4984 currency_conversion_date,
4985 currency_conversion_type,
4986 currency_conversion_rate,
4987 taxable_basis_formula,
4988 tax_calculation_formula,
4989 tax_amt_included_flag,
4990 compounding_tax_flag,
4991 self_assessed_flag,
4992 reporting_only_flag,
4993 -- associated_child_frozen_flag,
4994 -- copied_from_other_doc_flag,
4995 record_type_code,
4996 tax_provider_id,
4997 historical_flag,
4998 tax_amt,
4999 tax_amt_tax_curr,
5000 tax_amt_funcl_curr,
5001 -- orig_tax_amt,
5002 total_rec_tax_amt,
5003 total_rec_tax_amt_funcl_curr,
5004 total_rec_tax_amt_tax_curr,
5005 total_nrec_tax_amt,
5006 total_nrec_tax_amt_funcl_curr,
5007 total_nrec_tax_amt_tax_curr,
5008 -- cancel_flag,
5009 -- purge_flag,
5010 delete_flag,
5011 -- overridden_flag,
5012 manually_entered_flag,
5013 -- bug6773534 applied_to_application_id,
5014 -- bug6773534 applied_to_event_class_code,
5015 -- bug6773534 applied_to_entity_code,
5016 -- bug6773534 applied_to_trx_id,
5017 -- bug6773534 applied_to_trx_level_type,
5018 -- bug6773534 applied_to_line_id,
5019 tax_exemption_id,
5020 -- tax_rate_before_exemption,
5021 -- tax_rate_name_before_exemption,
5022 -- exempt_rate_modifier,
5023 exempt_certificate_number,
5024 -- exempt_reason,
5025 exempt_reason_code,
5026 -- tax_rate_before_exception,
5027 -- tax_rate_name_before_exception,
5028 tax_exception_id,
5029 -- exception_rate,
5030 mrc_tax_line_flag,
5031 tax_only_line_flag )
5032 VALUES (
5033 pg_summary_tax_line_id_tbl(i),
5034 1, -- object_version_number
5035 FND_GLOBAL.user_id,
5036 SYSDATE,
5037 FND_GLOBAL.user_id,
5038 SYSDATE,
5039 FND_GLOBAL.user_id,
5040 pg_internal_org_id_tbl(i),
5041 pg_application_id_tbl(i),
5042 pg_entity_code_tbl(i),
5043 pg_event_class_code_tbl(i),
5044 -- tax_event_class_code,
5045 pg_trx_id_tbl(i),
5046 pg_trx_number_tbl(i),
5047 pg_app_from_app_id_tbl(i),
5048 pg_app_from_evnt_cls_code_tbl(i),
5049 pg_app_from_entity_code_tbl(i),
5050 pg_app_from_trx_id_tbl(i),
5051 pg_app_from_trx_level_type_tbl(i),
5052 pg_app_from_line_id_tbl(i),
5053 pg_adj_doc_app_id_tbl(i),
5054 pg_adj_doc_entity_code_tbl(i),
5055 pg_adj_doc_evnt_cls_code_tbl(i),
5056 pg_adj_doc_trx_id_tbl(i),
5057 pg_adj_doc_trx_level_type_tbl(i),
5058 pg_summary_tax_line_num_tbl(i),
5059 pg_content_owner_id_tbl(i),
5060 pg_tax_regime_code_tbl(i),
5061 pg_tax_tbl(i),
5062 pg_tax_status_code_tbl(i),
5063 pg_tax_rate_id_tbl(i),
5064 pg_tax_rate_code_tbl(i),
5065 pg_tax_rate_tbl(i),
5066 pg_tax_jurisdiction_code_tbl(i),
5067 pg_ledger_id_tbl(i),
5068 pg_legal_entity_id_tbl(i),
5069 pg_establishment_id_tbl(i),
5070 pg_currency_convrsn_date_tbl(i),
5071 pg_currency_convrsn_type_tbl(i),
5072 pg_currency_convrsn_rate_tbl(i),
5073 pg_taxable_basis_formula_tbl(i),
5074 pg_tax_calculation_formula_tbl(i),
5075 pg_tax_amt_included_flag_tbl(i),
5076 pg_compounding_tax_flag_tbl(i),
5077 pg_self_assessed_flag_tbl(i),
5078 pg_reporting_only_flag_tbl(i),
5079 -- pg_assoctd_child_frz_flag_tbl(i),
5080 -- pg_cpd_from_other_doc_flag_tbl(i),
5081 pg_record_type_code_tbl(i),
5082 pg_tax_provider_id_tbl(i),
5083 pg_historical_flag_tbl(i),
5084 pg_tax_amt_tbl(i),
5085 pg_tax_amt_tax_curr_tbl(i),
5086 pg_tax_amt_funcl_curr_tbl(i),
5087 pg_ttl_rec_tax_amt_tbl(i),
5088 pg_ttl_rec_tx_amt_fnc_crr_tbl(i),
5089 pg_ttl_rec_tx_amt_tx_crr_tbl(i),
5090 pg_ttl_nrec_tax_amt_tbl(i),
5091 pg_ttl_nrec_tx_amt_fnc_crr_tbl(i),
5092 pg_ttl_nrec_tx_amt_tx_crr_tbl(i),
5093 -- pg_cancel_flag_tbl(i),
5094 pg_delete_flag_tbl(i),
5095 -- pg_overridden_flag_tbl(i),
5096 pg_manually_entered_flag_tbl(i),
5097 -- bug6773534 pg_app_to_app_id_tbl(i),
5098 -- bug6773534 pg_app_to_evnt_cls_code_tbl(i),
5099 -- bug6773534 pg_app_to_entity_code_tbl(i),
5100 -- bug6773534 pg_app_to_trx_id_tbl(i),
5101 -- bug6773534 pg_app_to_trx_level_type_tbl(i),
5102 -- bug6773534 pg_app_to_line_id_tbl(i),
5103 pg_tax_xmptn_id_tbl(i),
5104 -- pg_tax_rate_bf_xmptn_tbl(i),
5105 -- pg_tax_rate_name_bf_xmptn_tbl(i),
5106 -- pg_xmpt_rate_modifier_tbl(i),
5107 pg_xmpt_certificate_number_tbl(i),
5108 -- pg_xmpt_reason_tbl(i),
5109 pg_xmpt_reason_code_tbl(i),
5110 -- pg_tax_rate_bf_xeptn_tbl(i),
5111 -- pg_tax_rate_name_bf_xeptn_tbl(i),
5112 pg_tax_xeptn_id_tbl(i),
5113 -- pg_xeptn_rate_tbl(i),
5114 pg_mrc_tax_line_flag_tbl(i),
5115 pg_tax_only_line_flag_tbl(i)
5116 );
5117
5118 IF (g_level_statement >= g_current_runtime_level ) THEN
5119
5120 FND_LOG.STRING(g_level_statement,
5121 'ZX.PLSQL.ZX_TDS_TAX_LINES_DETM_PKG.create_summary_lines_crt_evnt',
5122 'Number of Rows Inserted in zx_lines_summary = ' || to_char(SQL%ROWCOUNT));
5123 END IF;
5124
5125 IF (g_level_procedure >= g_current_runtime_level ) THEN
5126
5127 FND_LOG.STRING(g_level_procedure,
5128 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_crt_evnt.END',
5129 'ZX_TRL_MANAGE_TAX_PKG: create_summary_lines_crt_evnt (-)'||x_return_status);
5130 END IF;
5131
5132 EXCEPTION
5133 WHEN OTHERS THEN
5134 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5135 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
5136
5137 IF (g_level_unexpected >= g_current_runtime_level ) THEN
5138 FND_LOG.STRING(g_level_unexpected,
5139 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_crt_evnt',
5140 l_error_buffer);
5141 END IF;
5142
5143 END create_summary_lines_crt_evnt;
5144
5145 ------------------------------------------------------------------------------
5146 -- PRIVATE PROCEDURE
5147 -- create_summary_lines_upd_evnt
5148 --
5149 -- DESCRIPTION
5150 -- Private procedure to create zx_lines_summary from zx_detail_tax_lines_gt
5151 -- for tax_event_type of 'UPDATE' or 'OVERRIDE' with
5152 -- retain_summ_tax_line_id_flag on event_class_rec of 'Y'
5153 ------------------------------------------------------------------------------
5154 -- Bug 6456915 - associated_child_frozen_flag has been removed from grouping columns for summary tax lines
5155 PROCEDURE create_summary_lines_upd_evnt(
5156 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
5157 x_return_status OUT NOCOPY VARCHAR2
5158 ) IS
5159
5160 l_error_buffer VARCHAR2(100);
5161 l_index NUMBER;
5162 l_curr_ledger_id NUMBER;
5163 l_summary_tax_line_number NUMBER;
5164
5165 l_curr_trx_id NUMBER;
5166 l_curr_entity_code zx_evnt_cls_mappings.entity_code%TYPE;
5167 l_curr_event_class_code zx_evnt_cls_mappings.event_class_code%TYPE;
5168 l_tax_rate_id NUMBER;
5169 l_taxable_basis_formula VARCHAR2(100);
5170
5171 BEGIN
5172 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5173
5174 IF (g_level_procedure >= g_current_runtime_level ) THEN
5175 FND_LOG.STRING(g_level_procedure,
5176 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_upd_evnt.BEGIN',
5177 'ZX_TRL_MANAGE_TAX_PKG: create_summary_lines_upd_evnt (+)');
5178 END IF;
5179
5180 -- Initialize API return status to success
5181 --
5182 x_return_status := FND_API.G_RET_STS_SUCCESS;
5183
5184 SELECT tax_line_id, tax_rate_id bulk collect into
5185 tax_line_id_tbl, tax_rate_id_tbl
5186 FROM ZX_LINES tax
5187 WHERE
5188 /* -- bug fix 5417887
5189 application_id = p_event_class_rec.application_id
5190 AND entity_code = p_event_class_rec.entity_code
5191 AND event_class_code = p_event_class_rec.event_class_code
5192 AND trx_id = p_event_class_rec.trx_id
5193 */
5194 EXISTS (
5195 SELECT 1
5196 FROM zx_lines_det_factors line
5197 WHERE tax.application_id = line.application_id
5198 AND tax.event_class_code = line.event_class_code
5199 AND tax.entity_code = line.entity_code
5200 AND tax.trx_id = line.trx_id
5201 AND line.event_id = p_event_class_rec.event_id)
5202 AND taxable_basis_formula is NULL ;
5203
5204 l_tax_rate_id := 0;
5205 FOR i IN 1..tax_line_id_tbl.COUNT LOOP
5206
5207 IF (g_level_procedure >= g_current_runtime_level ) THEN
5208 FND_LOG.STRING(g_level_procedure,
5209 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_upd_evnt.BEGIN',
5210 'Tax line id for null taxable bsis formula'||to_char(tax_line_id_tbl(i)));
5211 END IF;
5212 IF l_tax_rate_id <> tax_rate_id_tbl(i) THEN
5213 l_tax_rate_id := tax_rate_id_tbl(i);
5214 BEGIN
5215 SELECT
5216 decode(adj_for_adhoc_amt_code,'TAXABLE_BASIS','PRORATED_TB','STANDARD_TB') INTO
5217 l_taxable_basis_formula
5218 FROm zx_rates_b where tax_rate_id = l_tax_rate_id;
5219
5220
5221 EXCEPTION
5222 WHEN Others THEN
5223 NULL;
5224 END;
5225 END IF;
5226 update zx_lines set taxable_basis_formula = l_taxable_basis_formula
5227 WHERE tax_line_id = tax_line_id_tbl(i);
5228
5229
5230 END LOOP;
5231 IF p_event_class_rec.retain_summ_tax_line_id_flag = 'Y' THEN
5232 -- in this case, the summary_tax_line_id on some detail lines are existed and should retain the summary tax line id
5233 SELECT application_id,
5234 entity_code,
5235 event_class_code,
5236 trx_id,
5237 internal_organization_id,
5238 NVL(summary_tax_line_id,
5239 zx_lines_summary_s.NEXTVAL ) summary_tax_line_id,
5240 count_detail_tax_line,
5241 trx_number,
5242 applied_from_application_id,
5243 applied_from_event_class_code,
5244 applied_from_entity_code,
5245 applied_from_trx_id,
5246 applied_from_trx_level_type,
5247 applied_from_line_id,
5248 adjusted_doc_application_id,
5249 adjusted_doc_entity_code,
5250 adjusted_doc_event_class_code,
5251 adjusted_doc_trx_id,
5252 adjusted_doc_trx_level_type,
5253 -- ROWNUM, -- summary_tax_line_number
5254 content_owner_id,
5255 tax_regime_code,
5256 tax,
5257 tax_status_code,
5258 tax_rate_id,
5259 tax_rate_code,
5260 tax_rate,
5261 tax_jurisdiction_code,
5262 ledger_id,
5263 legal_entity_id,
5264 establishment_id,
5265 currency_conversion_date,
5266 currency_conversion_type,
5267 currency_conversion_rate,
5268 taxable_basis_formula,
5269 tax_calculation_formula,
5270 tax_amt_included_flag,
5271 compounding_tax_flag,
5272 self_assessed_flag,
5273 reporting_only_flag,
5274 -- associated_child_frozen_flag,
5275 -- copied_from_other_doc_flag,
5276 record_type_code,
5277 tax_provider_id,
5278 historical_flag,
5279 tax_amt,
5280 tax_amt_tax_curr,
5281 tax_amt_funcl_curr,
5282 total_rec_tax_amt,
5283 total_rec_tax_amt_funcl_curr,
5284 total_rec_tax_amt_tax_curr,
5285 total_nrec_tax_amt,
5286 total_nrec_tax_amt_funcl_curr,
5287 total_nrec_tax_amt_tax_curr,
5288 -- cancel_flag,
5289 'N' delete_flag,
5290 --overridden_flag,
5291 manually_entered_flag,
5292 -- bug6773534 applied_to_application_id,
5293 -- bug6773534 applied_to_event_class_code,
5294 -- bug6773534 applied_to_entity_code,
5295 -- bug6773534 applied_to_trx_id,
5296 -- bug6773534 applied_to_trx_level_type,
5297 -- bug6773534 applied_to_line_id,
5298 tax_exemption_id,
5299 --tax_rate_before_exemption,
5300 --tax_rate_name_before_exemption,
5301 --exempt_rate_modifier,
5302 exempt_certificate_number,
5303 --exempt_reason,
5304 exempt_reason_code,
5305 --tax_rate_before_exception,
5306 --tax_rate_name_before_exception,
5307 tax_exception_id,
5308 --exception_rate,
5309 mrc_tax_line_flag,
5310 tax_only_line_flag
5311 BULK COLLECT INTO
5312 pg_application_id_tbl,
5313 pg_entity_code_tbl,
5314 pg_event_class_code_tbl,
5315 pg_trx_id_tbl,
5316 pg_internal_org_id_tbl,
5317 pg_summary_tax_line_id_tbl,
5318 pg_count_detail_tax_line_tbl,
5319 pg_trx_number_tbl,
5320 pg_app_from_app_id_tbl,
5321 pg_app_from_evnt_cls_code_tbl,
5322 pg_app_from_entity_code_tbl,
5323 pg_app_from_trx_id_tbl,
5324 pg_app_from_trx_level_type_tbl,
5325 pg_app_from_line_id_tbl,
5326 pg_adj_doc_app_id_tbl,
5327 pg_adj_doc_entity_code_tbl,
5328 pg_adj_doc_evnt_cls_code_tbl,
5329 pg_adj_doc_trx_id_tbl,
5330 pg_adj_doc_trx_level_type_tbl,
5331 --pg_summary_tax_line_num_tbl,
5332 pg_content_owner_id_tbl,
5333 pg_tax_regime_code_tbl,
5334 pg_tax_tbl,
5335 pg_tax_status_code_tbl,
5336 pg_tax_rate_id_tbl,
5337 pg_tax_rate_code_tbl,
5338 pg_tax_rate_tbl,
5339 pg_tax_jurisdiction_code_tbl,
5340 pg_ledger_id_tbl,
5341 pg_legal_entity_id_tbl,
5342 pg_establishment_id_tbl,
5343 pg_currency_convrsn_date_tbl,
5344 pg_currency_convrsn_type_tbl,
5345 pg_currency_convrsn_rate_tbl,
5346 pg_taxable_basis_formula_tbl,
5347 pg_tax_calculation_formula_tbl,
5348 pg_tax_amt_included_flag_tbl,
5349 pg_compounding_tax_flag_tbl,
5350 pg_self_assessed_flag_tbl,
5351 pg_reporting_only_flag_tbl,
5352 -- pg_assoctd_child_frz_flag_tbl,
5353 -- pg_cpd_from_other_doc_flag_tbl,
5354 pg_record_type_code_tbl,
5355 pg_tax_provider_id_tbl,
5356 pg_historical_flag_tbl,
5357 pg_tax_amt_tbl,
5358 pg_tax_amt_tax_curr_tbl,
5359 pg_tax_amt_funcl_curr_tbl,
5360 pg_ttl_rec_tax_amt_tbl,
5361 pg_ttl_rec_tx_amt_fnc_crr_tbl,
5362 pg_ttl_rec_tx_amt_tx_crr_tbl,
5363 pg_ttl_nrec_tax_amt_tbl,
5364 pg_ttl_nrec_tx_amt_fnc_crr_tbl,
5365 pg_ttl_nrec_tx_amt_tx_crr_tbl,
5366 -- pg_cancel_flag_tbl,
5367 pg_delete_flag_tbl,
5368 --pg_overridden_flag_tbl,
5369 pg_manually_entered_flag_tbl,
5370 -- bug6773534 pg_app_to_app_id_tbl,
5371 -- bug6773534 pg_app_to_evnt_cls_code_tbl,
5372 -- bug6773534 pg_app_to_entity_code_tbl,
5373 -- bug6773534 pg_app_to_trx_id_tbl,
5374 -- bug6773534 pg_app_to_trx_level_type_tbl,
5375 -- bug6773534 pg_app_to_line_id_tbl,
5376 pg_tax_xmptn_id_tbl,
5377 --pg_tax_rate_bf_xmptn_tbl,
5378 --pg_tax_rate_name_bf_xmptn_tbl,
5379 --pg_xmpt_rate_modifier_tbl,
5380 pg_xmpt_certificate_number_tbl,
5381 --pg_xmpt_reason_tbl,
5382 pg_xmpt_reason_code_tbl,
5383 --pg_tax_rate_bf_xeptn_tbl,
5384 --pg_tax_rate_name_bf_xeptn_tbl,
5385 pg_tax_xeptn_id_tbl,
5386 --pg_xeptn_rate_tbl,
5387 pg_mrc_tax_line_flag_tbl,
5388 pg_tax_only_line_flag_tbl
5389 FROM ( SELECT application_id,
5390 entity_code,
5391 event_class_code,
5392 trx_id,
5393 internal_organization_id,
5394 summary_tax_line_id,
5395 COUNT(*) count_detail_tax_line,
5396 trx_number,
5397 applied_from_application_id,
5398 applied_from_event_class_code,
5399 applied_from_entity_code,
5400 applied_from_trx_id,
5401 applied_from_trx_level_type,
5402 applied_from_line_id,
5403 adjusted_doc_application_id,
5404 adjusted_doc_entity_code,
5405 adjusted_doc_event_class_code,
5406 adjusted_doc_trx_id,
5407 adjusted_doc_trx_level_type,
5408 content_owner_id,
5409 tax_regime_code,
5410 tax,
5411 tax_status_code,
5412 tax_rate_id,
5413 tax_rate_code,
5414 tax_rate,
5415 tax_jurisdiction_code,
5416 ledger_id,
5417 legal_entity_id,
5418 establishment_id,
5419 TRUNC(currency_conversion_date) currency_conversion_date,
5420 currency_conversion_type,
5421 currency_conversion_rate,
5422 taxable_basis_formula,
5423 tax_calculation_formula,
5424 tax_amt_included_flag,
5425 compounding_tax_flag,
5426 self_assessed_flag,
5427 reporting_only_flag,
5428 -- associated_child_frozen_flag,
5429 -- copied_from_other_doc_flag,
5430 record_type_code,
5431 tax_provider_id,
5432 historical_flag,
5433 SUM(tax_amt) tax_amt,
5434 SUM(tax_amt_tax_curr) tax_amt_tax_curr,
5435 SUM(tax_amt_funcl_curr) tax_amt_funcl_curr,
5436 SUM(orig_tax_amt) orig_tax_amt,
5437 SUM(rec_tax_amt) total_rec_tax_amt,
5438 SUM(rec_tax_amt_funcl_curr) total_rec_tax_amt_funcl_curr,
5439 SUM(rec_tax_amt_tax_curr) total_rec_tax_amt_tax_curr,
5440 SUM(nrec_tax_amt) total_nrec_tax_amt,
5441 SUM(nrec_tax_amt_funcl_curr) total_nrec_tax_amt_funcl_curr,
5442 SUM(nrec_tax_amt_tax_curr) total_nrec_tax_amt_tax_curr,
5443 -- cancel_flag,
5444 -- overridden_flag,
5445 manually_entered_flag,
5446 -- bug6773534 applied_to_application_id,
5447 -- bug6773534 applied_to_event_class_code,
5448 -- bug6773534 applied_to_entity_code,
5449 -- bug6773534 applied_to_trx_id,
5450 -- bug6773534 applied_to_trx_level_type,
5451 -- bug6773534 applied_to_line_id,
5452 tax_exemption_id,
5453 -- tax_rate_before_exemption,
5454 -- tax_rate_name_before_exemption,
5455 -- exempt_rate_modifier,
5456 exempt_certificate_number,
5457 -- exempt_reason,
5458 exempt_reason_code,
5459 -- tax_rate_before_exception,
5460 -- tax_rate_name_before_exception,
5461 tax_exception_id,
5462 -- exception_rate,
5463 mrc_tax_line_flag,
5464 tax_only_line_flag
5465 FROM ZX_LINES tax
5466 WHERE
5467 /* -- bug fix 5417887
5468 application_id = p_event_class_rec.application_id
5469 AND entity_code = p_event_class_rec.entity_code
5470 AND event_class_code = p_event_class_rec.event_class_code
5471 AND trx_id = p_event_class_rec.trx_id
5472 */
5473 EXISTS (
5474 SELECT 1
5475 FROM zx_lines_det_factors line
5476 WHERE tax.application_id = line.application_id
5477 AND tax.event_class_code = line.event_class_code
5478 AND tax.entity_code = line.entity_code
5479 AND tax.trx_id = line.trx_id
5480 AND line.event_id = p_event_class_rec.event_id)
5481
5482 GROUP BY application_id,
5483 event_class_code,
5484 entity_code,
5485 trx_id,
5486 internal_organization_id,
5487 trx_number,
5488 summary_tax_line_id,
5489 applied_from_application_id,
5490 applied_from_event_class_code,
5491 applied_from_entity_code,
5492 applied_from_trx_id,
5493 applied_from_trx_level_type,
5494 applied_from_line_id,
5495 adjusted_doc_application_id,
5496 adjusted_doc_entity_code,
5497 adjusted_doc_event_class_code,
5498 adjusted_doc_trx_id,
5499 adjusted_doc_trx_level_type,
5500 content_owner_id,
5501 tax_regime_code,
5502 tax,
5503 tax_status_code,
5504 tax_rate_id,
5505 tax_rate_code,
5506 tax_rate,
5507 tax_jurisdiction_code,
5508 ledger_id,
5509 legal_entity_id,
5510 establishment_id,
5511 TRUNC(currency_conversion_date),
5512 currency_conversion_type,
5513 currency_conversion_rate,
5514 taxable_basis_formula,
5515 tax_calculation_formula,
5516 tax_amt_included_flag,
5517 compounding_tax_flag,
5518 self_assessed_flag,
5519 reporting_only_flag,
5520 -- associated_child_frozen_flag,
5521 -- copied_from_other_doc_flag,
5522 record_type_code,
5523 tax_provider_id,
5524 historical_flag,
5525 -- cancel_flag,
5526 -- overridden_flag,
5527 manually_entered_flag,
5528 -- bug6773534 applied_to_application_id,
5529 -- bug6773534 applied_to_event_class_code,
5530 -- bug6773534 applied_to_entity_code,
5531 -- bug6773534 applied_to_trx_id,
5532 -- bug6773534 applied_to_trx_level_type,
5533 -- bug6773534 applied_to_line_id,
5534 tax_exemption_id,
5535 -- tax_rate_before_exemption,
5536 -- tax_rate_name_before_exemption,
5537 -- exempt_rate_modifier,
5538 exempt_certificate_number,
5539 -- exempt_reason,
5540 exempt_reason_code,
5541 -- tax_rate_before_exception,
5542 -- tax_rate_name_before_exception,
5543 tax_exception_id,
5544 -- exception_rate,
5545 mrc_tax_line_flag,
5546 tax_only_line_flag
5547 ORDER BY application_id,
5548 event_class_code,
5549 entity_code,
5550 trx_id,
5551 trx_number,
5552 mrc_tax_line_flag,
5553 ledger_id,
5554 summary_tax_line_id,
5555 applied_from_application_id,
5556 applied_from_event_class_code,
5557 applied_from_entity_code,
5558 applied_from_trx_id,
5559 applied_from_trx_level_type,
5560 applied_from_line_id,
5561 adjusted_doc_application_id,
5562 adjusted_doc_entity_code,
5563 adjusted_doc_event_class_code,
5564 adjusted_doc_trx_id,
5565 adjusted_doc_trx_level_type,
5566 content_owner_id,
5567 tax_regime_code,
5568 tax,
5569 tax_status_code,
5570 tax_rate_id,
5571 tax_rate_code,
5572 tax_rate,
5573 tax_jurisdiction_code,
5574 legal_entity_id,
5575 establishment_id,
5576 -- TRUNC(currency_conversion_date),
5577 -- currency_conversion_type,
5578 -- currency_conversion_rate,
5579 taxable_basis_formula,
5580 tax_calculation_formula,
5581 tax_amt_included_flag,
5582 compounding_tax_flag,
5583 self_assessed_flag,
5584 reporting_only_flag,
5585 -- associated_child_frozen_flag,
5586 -- copied_from_other_doc_flag,
5587 record_type_code,
5588 tax_provider_id,
5589 historical_flag,
5590 -- cancel_flag,
5591 -- overridden_flag,
5592 manually_entered_flag,
5593 -- bug6773534 applied_to_application_id,
5594 -- bug6773534 applied_to_event_class_code,
5595 -- bug6773534 applied_to_entity_code,
5596 -- bug6773534 applied_to_trx_id,
5597 -- bug6773534 applied_to_trx_level_type,
5598 -- bug6773534 applied_to_line_id,
5599 tax_exemption_id,
5600 -- tax_rate_before_exemption,
5601 -- tax_rate_name_before_exemption,
5602 -- exempt_rate_modifier,
5603 exempt_certificate_number,
5604 -- exempt_reason,
5605 exempt_reason_code,
5606 -- tax_rate_before_exception,
5607 -- tax_rate_name_before_exception,
5608 tax_exception_id,
5609 -- exception_rate,
5610 tax_only_line_flag );
5611
5612 -- get the tax line id in the same order of the summary tax line as in the first query.
5613 SELECT tax_line_id BULK COLLECT INTO pg_tax_line_id_tbl
5614 FROM zx_lines tax
5615 -- bug fix 5417887
5616 --WHERE application_id = p_event_class_rec.application_id
5617 --AND entity_code = p_event_class_rec.entity_code
5618 --AND event_class_code = p_event_class_rec.event_class_code
5619 --AND trx_id = p_event_class_rec.trx_id
5620 WHERE EXISTS (
5621 SELECT 1
5622 FROM zx_lines_det_factors line
5623 WHERE tax.application_id = line.application_id
5624 AND tax.event_class_code = line.event_class_code
5625 AND tax.entity_code = line.entity_code
5626 AND tax.trx_id = line.trx_id
5627 AND line.event_id = p_event_class_rec.event_id)
5628 ORDER BY application_id,
5629 event_class_code,
5630 entity_code,
5631 trx_id,
5632 trx_number,
5633 mrc_tax_line_flag,
5634 ledger_id,
5635 summary_tax_line_id,
5636 applied_from_application_id,
5637 applied_from_event_class_code,
5638 applied_from_entity_code,
5639 applied_from_trx_id,
5640 applied_from_trx_level_type,
5641 applied_from_line_id,
5642 adjusted_doc_application_id,
5643 adjusted_doc_entity_code,
5644 adjusted_doc_event_class_code,
5645 adjusted_doc_trx_id,
5646 adjusted_doc_trx_level_type,
5647 content_owner_id,
5648 tax_regime_code,
5649 tax,
5650 tax_status_code,
5651 tax_rate_id,
5652 tax_rate_code,
5653 tax_rate,
5654 tax_jurisdiction_code,
5655 legal_entity_id,
5656 establishment_id,
5657 -- TRUNC(currency_conversion_date),
5658 -- currency_conversion_type,
5659 -- currency_conversion_rate,
5660 taxable_basis_formula,
5661 tax_calculation_formula,
5662 tax_amt_included_flag,
5663 compounding_tax_flag,
5664 self_assessed_flag,
5665 reporting_only_flag,
5666 -- associated_child_frozen_flag,
5667 -- copied_from_other_doc_flag,
5668 record_type_code,
5669 tax_provider_id,
5670 historical_flag,
5671 -- cancel_flag,
5672 -- overridden_flag,
5673 manually_entered_flag,
5674 -- bug6773534 applied_to_application_id,
5675 -- bug6773534 applied_to_event_class_code,
5676 -- bug6773534 applied_to_entity_code,
5677 -- bug6773534 applied_to_trx_id,
5678 -- bug6773534 applied_to_trx_level_type,
5679 -- bug6773534 applied_to_line_id,
5680 tax_exemption_id,
5681 -- tax_rate_before_exemption,
5682 -- tax_rate_name_before_exemption,
5683 -- exempt_rate_modifier,
5684 exempt_certificate_number,
5685 -- exempt_reason,
5686 exempt_reason_code,
5687 -- tax_rate_before_exception,
5688 -- tax_rate_name_before_exception,
5689 tax_exception_id,
5690 -- exception_rate,
5691 tax_only_line_flag ;
5692
5693
5694 ELSE -- p_event_class_rec.retain_summ_tax_line_id_flag = 'N'
5695
5696 --
5697 -- no need to retain the current summary_tax_line_id
5698 -- just generate a new id
5699 --
5700 SELECT application_id,
5701 entity_code,
5702 event_class_code,
5703 trx_id,
5704 internal_organization_id,
5705 zx_lines_summary_s.NEXTVAL,
5706 count_detail_tax_line,
5707 trx_number,
5708 applied_from_application_id,
5709 applied_from_event_class_code,
5710 applied_from_entity_code,
5711 applied_from_trx_id,
5712 applied_from_trx_level_type,
5713 applied_from_line_id,
5714 adjusted_doc_application_id,
5715 adjusted_doc_entity_code,
5716 adjusted_doc_event_class_code,
5717 adjusted_doc_trx_id,
5718 adjusted_doc_trx_level_type,
5719 --RWONUM, -- summary_tax_line_number
5720 content_owner_id,
5721 tax_regime_code,
5722 tax,
5723 tax_status_code,
5724 tax_rate_id,
5725 tax_rate_code,
5726 tax_rate,
5727 tax_jurisdiction_code,
5728 ledger_id,
5729 legal_entity_id,
5730 establishment_id,
5731 currency_conversion_date,
5732 currency_conversion_type,
5733 currency_conversion_rate,
5734 taxable_basis_formula,
5735 tax_calculation_formula,
5736 tax_amt_included_flag,
5737 compounding_tax_flag,
5738 self_assessed_flag,
5739 reporting_only_flag,
5740 -- associated_child_frozen_flag,
5741 -- copied_from_other_doc_flag,
5742 record_type_code,
5743 tax_provider_id,
5744 historical_flag,
5745 tax_amt,
5746 tax_amt_tax_curr,
5747 tax_amt_funcl_curr,
5748 total_rec_tax_amt,
5749 total_rec_tax_amt_funcl_curr,
5750 total_rec_tax_amt_tax_curr,
5751 total_nrec_tax_amt,
5752 total_nrec_tax_amt_funcl_curr,
5753 total_nrec_tax_amt_tax_curr,
5754 -- cancel_flag,
5755 delete_flag,
5756 -- overridden_flag,
5757 manually_entered_flag,
5758 -- bug6773534 applied_to_application_id,
5759 -- bug6773534 applied_to_event_class_code,
5760 -- bug6773534 applied_to_entity_code,
5761 -- bug6773534 applied_to_trx_id,
5762 -- bug6773534 applied_to_trx_level_type,
5763 -- bug6773534 applied_to_line_id,
5764 tax_exemption_id,
5765 -- tax_rate_before_exemption,
5766 -- tax_rate_name_before_exemption,
5767 -- exempt_rate_modifier,
5768 exempt_certificate_number,
5769 -- exempt_reason,
5770 exempt_reason_code,
5771 -- tax_rate_before_exception,
5772 -- tax_rate_name_before_exception,
5773 tax_exception_id,
5774 -- exception_rate,
5775 mrc_tax_line_flag,
5776 tax_only_line_flag
5777 BULK COLLECT INTO
5778 pg_application_id_tbl,
5779 pg_entity_code_tbl,
5780 pg_event_class_code_tbl,
5781 pg_trx_id_tbl,
5782 pg_internal_org_id_tbl,
5783 pg_summary_tax_line_id_tbl,
5784 pg_count_detail_tax_line_tbl,
5785 pg_trx_number_tbl,
5786 pg_app_from_app_id_tbl,
5787 pg_app_from_evnt_cls_code_tbl,
5788 pg_app_from_entity_code_tbl,
5789 pg_app_from_trx_id_tbl,
5790 pg_app_from_trx_level_type_tbl,
5791 pg_app_from_line_id_tbl,
5792 pg_adj_doc_app_id_tbl,
5793 pg_adj_doc_entity_code_tbl,
5794 pg_adj_doc_evnt_cls_code_tbl,
5795 pg_adj_doc_trx_id_tbl,
5796 pg_adj_doc_trx_level_type_tbl,
5797 --pg_summary_tax_line_num_tbl,
5798 pg_content_owner_id_tbl,
5799 pg_tax_regime_code_tbl,
5800 pg_tax_tbl,
5801 pg_tax_status_code_tbl,
5802 pg_tax_rate_id_tbl,
5803 pg_tax_rate_code_tbl,
5804 pg_tax_rate_tbl,
5805 pg_tax_jurisdiction_code_tbl,
5806 pg_ledger_id_tbl,
5807 pg_legal_entity_id_tbl,
5808 pg_establishment_id_tbl,
5809 pg_currency_convrsn_date_tbl,
5810 pg_currency_convrsn_type_tbl,
5811 pg_currency_convrsn_rate_tbl,
5812 pg_taxable_basis_formula_tbl,
5813 pg_tax_calculation_formula_tbl,
5814 pg_tax_amt_included_flag_tbl,
5815 pg_compounding_tax_flag_tbl,
5816 pg_self_assessed_flag_tbl,
5817 pg_reporting_only_flag_tbl,
5818 -- pg_assoctd_child_frz_flag_tbl,
5819 -- pg_cpd_from_other_doc_flag_tbl,
5820 pg_record_type_code_tbl,
5821 pg_tax_provider_id_tbl,
5822 pg_historical_flag_tbl,
5823 pg_tax_amt_tbl,
5824 pg_tax_amt_tax_curr_tbl,
5825 pg_tax_amt_funcl_curr_tbl,
5826 pg_ttl_rec_tax_amt_tbl,
5827 pg_ttl_rec_tx_amt_fnc_crr_tbl,
5828 pg_ttl_rec_tx_amt_tx_crr_tbl,
5829 pg_ttl_nrec_tax_amt_tbl,
5830 pg_ttl_nrec_tx_amt_fnc_crr_tbl,
5831 pg_ttl_nrec_tx_amt_tx_crr_tbl,
5832 -- pg_cancel_flag_tbl,
5833 pg_delete_flag_tbl,
5834 -- pg_overridden_flag_tbl,
5835 pg_manually_entered_flag_tbl,
5836 -- bug6773534 pg_app_to_app_id_tbl,
5837 -- bug6773534 pg_app_to_evnt_cls_code_tbl,
5838 -- bug6773534 pg_app_to_entity_code_tbl,
5839 -- bug6773534 pg_app_to_trx_id_tbl,
5840 -- bug6773534 pg_app_to_trx_level_type_tbl,
5841 -- bug6773534 pg_app_to_line_id_tbl,
5842 pg_tax_xmptn_id_tbl,
5843 -- pg_tax_rate_bf_xmptn_tbl,
5844 -- pg_tax_rate_name_bf_xmptn_tbl,
5845 -- pg_xmpt_rate_modifier_tbl,
5846 pg_xmpt_certificate_number_tbl,
5847 -- pg_xmpt_reason_tbl,
5848 pg_xmpt_reason_code_tbl,
5849 -- pg_tax_rate_bf_xeptn_tbl,
5850 -- pg_tax_rate_name_bf_xeptn_tbl,
5851 pg_tax_xeptn_id_tbl,
5852 -- pg_xeptn_rate_tbl,
5853 pg_mrc_tax_line_flag_tbl,
5854 pg_tax_only_line_flag_tbl
5855 FROM ( SELECT application_id,
5856 event_class_code,
5857 entity_code,
5858 trx_id,
5859 internal_organization_id,
5860 COUNT(*) count_detail_tax_line,
5861 trx_number,
5862 applied_from_application_id,
5863 applied_from_event_class_code,
5864 applied_from_entity_code,
5865 applied_from_trx_id,
5866 applied_from_trx_level_type,
5867 applied_from_line_id,
5868 adjusted_doc_application_id,
5869 adjusted_doc_entity_code,
5870 adjusted_doc_event_class_code,
5871 adjusted_doc_trx_id,
5872 adjusted_doc_trx_level_type,
5873 content_owner_id,
5874 tax_regime_code,
5875 tax,
5876 tax_status_code,
5877 tax_rate_id,
5878 tax_rate_code,
5879 tax_rate,
5880 tax_jurisdiction_code,
5881 ledger_id,
5882 legal_entity_id,
5883 establishment_id,
5884 TRUNC(currency_conversion_date) currency_conversion_date,
5885 currency_conversion_type,
5886 currency_conversion_rate,
5887 taxable_basis_formula,
5888 tax_calculation_formula,
5889 tax_amt_included_flag,
5890 compounding_tax_flag,
5891 self_assessed_flag,
5892 reporting_only_flag,
5893 -- associated_child_frozen_flag,
5894 -- copied_from_other_doc_flag,
5895 record_type_code,
5896 tax_provider_id,
5897 historical_flag,
5898 SUM(tax_amt) tax_amt,
5899 SUM(tax_amt_tax_curr) tax_amt_tax_curr,
5900 SUM(tax_amt_funcl_curr) tax_amt_funcl_curr,
5901 SUM(orig_tax_amt) orig_tax_amt,
5902 SUM(rec_tax_amt) total_rec_tax_amt,
5903 SUM(rec_tax_amt_funcl_curr) total_rec_tax_amt_funcl_curr,
5904 SUM(rec_tax_amt_tax_curr) total_rec_tax_amt_tax_curr,
5905 SUM(nrec_tax_amt) total_nrec_tax_amt,
5906 SUM(nrec_tax_amt_funcl_curr) total_nrec_tax_amt_funcl_curr,
5907 SUM(nrec_tax_amt_tax_curr) total_nrec_tax_amt_tax_curr,
5908 -- cancel_flag,
5909 delete_flag,
5910 -- overridden_flag,
5911 manually_entered_flag,
5912 -- bug6773534 applied_to_application_id,
5913 -- bug6773534 applied_to_event_class_code,
5914 -- bug6773534 applied_to_entity_code,
5915 -- bug6773534 applied_to_trx_id,
5916 -- bug6773534 applied_to_trx_level_type,
5917 -- bug6773534 applied_to_line_id,
5918 tax_exemption_id,
5919 -- tax_rate_before_exemption,
5920 -- tax_rate_name_before_exemption,
5921 -- exempt_rate_modifier,
5922 exempt_certificate_number,
5923 -- exempt_reason,
5924 exempt_reason_code,
5925 -- tax_rate_before_exception,
5926 -- tax_rate_name_before_exception,
5927 tax_exception_id,
5928 -- exception_rate,
5929 mrc_tax_line_flag,
5930 tax_only_line_flag
5931 FROM ZX_LINES tax
5932 -- bug fix 5417887
5933 WHERE EXISTS (
5934 SELECT 1
5935 FROM zx_lines_det_factors line
5936 WHERE tax.application_id = line.application_id
5937 AND tax.event_class_code = line.event_class_code
5938 AND tax.entity_code = line.entity_code
5939 AND tax.trx_id = line.trx_id
5940 AND line.event_id = p_event_class_rec.event_id)
5941
5942 /*WHERE application_id = p_event_class_rec.application_id
5943 AND entity_code = p_event_class_rec.entity_code
5944 AND event_class_code = p_event_class_rec.event_class_code
5945 AND trx_id = p_event_class_rec.trx_id */
5946
5947 GROUP BY application_id,
5948 event_class_code,
5949 entity_code,
5950 trx_id,
5951 internal_organization_id,
5952 trx_number,
5953 applied_from_application_id,
5954 applied_from_event_class_code,
5955 applied_from_entity_code,
5956 applied_from_trx_id,
5957 applied_from_trx_level_type,
5958 applied_from_line_id,
5959 adjusted_doc_application_id,
5960 adjusted_doc_entity_code,
5961 adjusted_doc_event_class_code,
5962 adjusted_doc_trx_id,
5963 adjusted_doc_trx_level_type,
5964 content_owner_id,
5965 tax_regime_code,
5966 tax,
5967 tax_status_code,
5968 tax_rate_id,
5969 tax_rate_code,
5970 tax_rate,
5971 tax_jurisdiction_code,
5972 ledger_id,
5973 legal_entity_id,
5974 establishment_id,
5975 TRUNC(currency_conversion_date),
5976 currency_conversion_type,
5977 currency_conversion_rate,
5978 taxable_basis_formula,
5979 tax_calculation_formula,
5980 tax_amt_included_flag,
5981 compounding_tax_flag,
5982 self_assessed_flag,
5983 reporting_only_flag,
5984 -- associated_child_frozen_flag,
5985 -- copied_from_other_doc_flag,
5986 record_type_code,
5987 tax_provider_id,
5988 historical_flag,
5989 -- cancel_flag,
5990 delete_flag,
5991 -- overridden_flag,
5992 manually_entered_flag,
5993 -- bug6773534 applied_to_application_id,
5994 -- bug6773534 applied_to_event_class_code,
5995 -- bug6773534 applied_to_entity_code,
5996 -- bug6773534 applied_to_trx_id,
5997 -- bug6773534 applied_to_trx_level_type,
5998 -- bug6773534 applied_to_line_id,
5999 tax_exemption_id,
6000 -- tax_rate_before_exemption,
6001 -- tax_rate_name_before_exemption,
6002 -- exempt_rate_modifier,
6003 exempt_certificate_number,
6004 -- exempt_reason,
6005 exempt_reason_code,
6006 -- tax_rate_before_exception,
6007 -- tax_rate_name_before_exception,
6008 tax_exception_id,
6009 -- exception_rate,
6010 mrc_tax_line_flag,
6011 tax_only_line_flag
6012 ORDER BY application_id,
6013 event_class_code,
6014 entity_code,
6015 trx_id,
6016 trx_number,
6017 mrc_tax_line_flag,
6018 ledger_id,
6019 applied_from_application_id,
6020 applied_from_event_class_code,
6021 applied_from_entity_code,
6022 applied_from_trx_id,
6023 applied_from_trx_level_type,
6024 applied_from_line_id,
6025 adjusted_doc_application_id,
6026 adjusted_doc_entity_code,
6027 adjusted_doc_event_class_code,
6028 adjusted_doc_trx_id,
6029 adjusted_doc_trx_level_type,
6030 content_owner_id,
6031 tax_regime_code,
6032 tax,
6033 tax_status_code,
6034 tax_rate_id,
6035 tax_rate_code,
6036 tax_rate,
6037 tax_jurisdiction_code,
6038 legal_entity_id,
6039 establishment_id,
6040 -- TRUNC(currency_conversion_date),
6041 -- currency_conversion_type,
6042 -- currency_conversion_rate,
6043 taxable_basis_formula,
6044 tax_calculation_formula,
6045 tax_amt_included_flag,
6046 compounding_tax_flag,
6047 self_assessed_flag,
6048 reporting_only_flag,
6049 -- associated_child_frozen_flag,
6050 -- copied_from_other_doc_flag,
6051 record_type_code,
6052 tax_provider_id,
6053 historical_flag,
6054 -- cancel_flag,
6055 delete_flag,
6056 -- overridden_flag,
6057 manually_entered_flag,
6058 -- bug6773534 applied_to_application_id,
6059 -- bug6773534 applied_to_event_class_code,
6060 -- bug6773534 applied_to_entity_code,
6061 -- bug6773534 applied_to_trx_id,
6062 -- bug6773534 applied_to_trx_level_type,
6063 -- bug6773534 applied_to_line_id,
6064 tax_exemption_id,
6065 -- tax_rate_before_exemption,
6066 -- tax_rate_name_before_exemption,
6067 -- exempt_rate_modifier,
6068 exempt_certificate_number,
6069 -- exempt_reason,
6070 exempt_reason_code,
6071 -- tax_rate_before_exception,
6072 -- tax_rate_name_before_exception,
6073 tax_exception_id,
6074 -- exception_rate,
6075 tax_only_line_flag );
6076
6077 -- get the tax line id IN the same order of the summary tax line as IN the first query.
6078 SELECT tax_line_id BULK COLLECT INTO pg_tax_line_id_tbl
6079 FROM zx_lines tax
6080 -- bug fix 5417887
6081 --WHERE application_id = p_event_class_rec.application_id
6082 --AND entity_code = p_event_class_rec.entity_code
6083 --AND event_class_code = p_event_class_rec.event_class_code
6084 --AND trx_id = p_event_class_rec.trx_id
6085 WHERE EXISTS (
6086 SELECT 1
6087 FROM zx_lines_det_factors line
6088 WHERE tax.application_id = line.application_id
6089 AND tax.event_class_code = line.event_class_code
6090 AND tax.entity_code = line.entity_code
6091 AND tax.trx_id = line.trx_id
6092 AND line.event_id = p_event_class_rec.event_id)
6093 ORDER BY application_id,
6094 event_class_code,
6095 entity_code,
6096 trx_id,
6097 trx_number,
6098 mrc_tax_line_flag,
6099 ledger_id,
6100 applied_from_application_id,
6101 applied_from_event_class_code,
6102 applied_from_entity_code,
6103 applied_from_trx_id,
6104 applied_from_trx_level_type,
6105 applied_from_line_id,
6106 adjusted_doc_application_id,
6107 adjusted_doc_entity_code,
6108 adjusted_doc_event_class_code,
6109 adjusted_doc_trx_id,
6110 adjusted_doc_trx_level_type,
6111 content_owner_id,
6112 tax_regime_code,
6113 tax,
6114 tax_status_code,
6115 tax_rate_id,
6116 tax_rate_code,
6117 tax_rate,
6118 tax_jurisdiction_code,
6119 legal_entity_id,
6120 establishment_id,
6121 -- TRUNC(currency_conversion_date),
6122 -- currency_conversion_type,
6123 -- currency_conversion_rate,
6124 taxable_basis_formula,
6125 tax_calculation_formula,
6126 tax_amt_included_flag,
6127 compounding_tax_flag,
6128 self_assessed_flag,
6129 reporting_only_flag,
6130 -- associated_child_frozen_flag,
6131 -- copied_from_other_doc_flag,
6132 record_type_code,
6133 tax_provider_id,
6134 historical_flag,
6135 -- cancel_flag,
6136 delete_flag,
6137 -- overridden_flag,
6138 manually_entered_flag,
6139 -- bug6773534 applied_to_application_id,
6140 -- bug6773534 applied_to_event_class_code,
6141 -- bug6773534 applied_to_entity_code,
6142 -- bug6773534 applied_to_trx_id,
6143 -- bug6773534 applied_to_trx_level_type,
6144 -- bug6773534 applied_to_line_id,
6145 tax_exemption_id,
6146 -- tax_rate_before_exemption,
6147 -- tax_rate_name_before_exemption,
6148 -- exempt_rate_modifier,
6149 exempt_certificate_number,
6150 -- exempt_reason,
6151 exempt_reason_code,
6152 -- tax_rate_before_exception,
6153 -- tax_rate_name_before_exception,
6154 tax_exception_id,
6155 -- exception_rate,
6156 tax_only_line_flag ;
6157
6158
6159 END IF; -- p_event_class_rec.retain_summ_tax_line_id_flag = 'Y'
6160
6161 l_index := 1;
6162 l_curr_ledger_id := -1;
6163 l_summary_tax_line_number := -1;
6164
6165 l_curr_trx_id := -1;
6166 l_curr_entity_code := '@#$%^&*';
6167 l_curr_event_class_code := '@#$%^&*';
6168
6169
6170 FOR i IN 1.. pg_summary_tax_line_id_tbl.COUNT LOOP
6171
6172 -- the following code is not needed as we are not creating MRC tax lines in eBTax repository
6173 -- due to the order by clause, it guranteed that the none_mrc line will
6174 -- come first, then followed by the mrc tax lines.
6175 --IF l_curr_ledger_id = -1 OR l_curr_ledger_id <> pg_ledger_id_tbl(i) THEN
6176 -- l_curr_ledger_id := pg_ledger_id_tbl(i);
6177 --END IF;
6178
6179 -- populate the summary_tax_line_number
6180 -- Reset the summary tax line number whenever the entity_code, Event Class Code
6181 -- or Trx id changes
6182
6183 IF (l_curr_entity_code = '@#$%^&*' and l_curr_event_class_code = '@#$%^&*' and l_curr_trx_id = -1)
6184 or l_curr_event_class_code <> pg_event_class_code_tbl(i)
6185 or l_curr_trx_id <> pg_trx_id_tbl(i)
6186 or l_curr_entity_code <> pg_entity_code_tbl(i)
6187 THEN
6188 l_curr_event_class_code := pg_event_class_code_tbl(i);
6189 l_curr_trx_id := pg_trx_id_tbl(i);
6190 l_curr_entity_code := pg_entity_code_tbl(i);
6191
6192 l_summary_tax_line_number := 1;
6193 ELSE
6194 l_summary_tax_line_number := l_summary_tax_line_number + 1;
6195 END IF;
6196
6197 pg_summary_tax_line_num_tbl(i) := l_summary_tax_line_number;
6198
6199 -- populate the summary_tax_line_id to the corresponding detail_tax_line_id
6200 FOR j IN 1.. pg_count_detail_tax_line_tbl(i) LOOP
6201 pg_detail_tax_smry_line_id_tbl(l_index) := pg_summary_tax_line_id_tbl(i);
6202 l_index := l_index+1;
6203 END LOOP;
6204
6205 END LOOP;
6206
6207 -- update the summary_tax_line_id column in the detail tax line table
6208 FORALL i IN 1.. pg_tax_line_id_tbl.COUNT
6209 UPDATE zx_lines
6210 SET summary_tax_line_id = pg_detail_tax_smry_line_id_tbl(i)
6211 WHERE tax_line_id = pg_tax_line_id_tbl(i);
6212
6213 -- insert the summary tax lines in the zx_lines_summary table.
6214 FORALL i IN 1..pg_summary_tax_line_id_tbl.COUNT
6215 INSERT INTO zx_lines_summary(
6216 summary_tax_line_id,
6217 object_version_number,
6218 created_by,
6219 creation_date,
6220 last_updated_by,
6221 last_update_date,
6222 last_update_login,
6223 internal_organization_id,
6224 application_id,
6225 entity_code,
6226 event_class_code,
6227 -- tax_event_class_code,
6228 trx_id,
6229 trx_number,
6230 applied_from_application_id,
6231 applied_from_event_class_code,
6232 applied_from_entity_code,
6233 -- applied_from_trx_number,
6234 applied_from_trx_id,
6235 applied_from_trx_level_type,
6236 applied_from_line_id,
6237 adjusted_doc_application_id,
6238 adjusted_doc_entity_code,
6239 adjusted_doc_event_class_code,
6240 adjusted_doc_trx_id,
6241 adjusted_doc_trx_level_type,
6242 -- adjusted_doc_number,
6243 summary_tax_line_number,
6244 content_owner_id,
6245 -- tax_regime_id,
6246 tax_regime_code,
6247 -- tax_id,
6248 tax,
6249 -- tax_status_id,
6250 tax_status_code,
6251 tax_rate_id,
6252 tax_rate_code,
6253 tax_rate,
6254 -- tax_jurisdiction_id,
6255 tax_jurisdiction_code,
6256 ledger_id,
6257 legal_entity_id,
6258 establishment_id,
6259 currency_conversion_date,
6260 currency_conversion_type,
6261 currency_conversion_rate,
6262 taxable_basis_formula,
6263 tax_calculation_formula,
6264 tax_amt_included_flag,
6265 compounding_tax_flag,
6266 self_assessed_flag,
6267 reporting_only_flag,
6268 -- associated_child_frozen_flag,
6269 -- copied_from_other_doc_flag,
6270 record_type_code,
6271 tax_provider_id,
6272 historical_flag,
6273 tax_amt,
6274 tax_amt_tax_curr,
6275 tax_amt_funcl_curr,
6276 -- orig_tax_amt,
6277 total_rec_tax_amt,
6278 total_rec_tax_amt_funcl_curr,
6279 total_rec_tax_amt_tax_curr,
6280 total_nrec_tax_amt,
6281 total_nrec_tax_amt_funcl_curr,
6282 total_nrec_tax_amt_tax_curr,
6283 -- cancel_flag,
6284 -- purge_flag,
6285 delete_flag,
6286 -- overridden_flag,
6287 manually_entered_flag,
6288 -- bug6773534 applied_to_application_id,
6289 -- bug6773534 applied_to_event_class_code,
6290 -- bug6773534 applied_to_entity_code,
6291 -- bug6773534 applied_to_trx_id,
6292 -- bug6773534 applied_to_trx_level_type,
6293 -- bug6773534 applied_to_line_id,
6294 tax_exemption_id,
6295 -- tax_rate_before_exemption,
6296 -- tax_rate_name_before_exemption,
6297 -- exempt_rate_modifier,
6298 exempt_certificate_number,
6299 -- exempt_reason,
6300 exempt_reason_code,
6301 -- tax_rate_before_exception,
6302 -- tax_rate_name_before_exception,
6303 tax_exception_id,
6304 -- exception_rate,
6305 mrc_tax_line_flag,
6306 tax_only_line_flag )
6307 VALUES (
6308 pg_summary_tax_line_id_tbl(i),
6309 1, -- object_version_number
6310 FND_GLOBAL.user_id,
6311 SYSDATE,
6312 FND_GLOBAL.user_id,
6313 SYSDATE,
6314 FND_GLOBAL.user_id,
6315 pg_internal_org_id_tbl(i),
6316 pg_application_id_tbl(i),
6317 pg_entity_code_tbl(i),
6318 pg_event_class_code_tbl(i),
6319 -- tax_event_class_code,
6320 pg_trx_id_tbl(i),
6321 pg_trx_number_tbl(i),
6322 pg_app_from_app_id_tbl(i),
6323 pg_app_from_evnt_cls_code_tbl(i),
6324 pg_app_from_entity_code_tbl(i),
6325 pg_app_from_trx_id_tbl(i),
6326 pg_app_from_trx_level_type_tbl(i),
6327 pg_app_from_line_id_tbl(i),
6328 pg_adj_doc_app_id_tbl(i),
6329 pg_adj_doc_entity_code_tbl(i),
6330 pg_adj_doc_evnt_cls_code_tbl(i),
6331 pg_adj_doc_trx_id_tbl(i),
6332 pg_adj_doc_trx_level_type_tbl(i),
6333 pg_summary_tax_line_num_tbl(i),
6334 pg_content_owner_id_tbl(i),
6335 pg_tax_regime_code_tbl(i),
6336 pg_tax_tbl(i),
6337 pg_tax_status_code_tbl(i),
6338 pg_tax_rate_id_tbl(i),
6339 pg_tax_rate_code_tbl(i),
6340 pg_tax_rate_tbl(i),
6341 pg_tax_jurisdiction_code_tbl(i),
6342 pg_ledger_id_tbl(i),
6343 pg_legal_entity_id_tbl(i),
6344 pg_establishment_id_tbl(i),
6345 pg_currency_convrsn_date_tbl(i),
6346 pg_currency_convrsn_type_tbl(i),
6347 pg_currency_convrsn_rate_tbl(i),
6348 pg_taxable_basis_formula_tbl(i),
6349 pg_tax_calculation_formula_tbl(i),
6350 pg_tax_amt_included_flag_tbl(i),
6351 pg_compounding_tax_flag_tbl(i),
6352 pg_self_assessed_flag_tbl(i),
6353 pg_reporting_only_flag_tbl(i),
6354 -- pg_assoctd_child_frz_flag_tbl(i),
6355 -- pg_cpd_from_other_doc_flag_tbl(i),
6356 pg_record_type_code_tbl(i),
6357 pg_tax_provider_id_tbl(i),
6358 pg_historical_flag_tbl(i),
6359 pg_tax_amt_tbl(i),
6360 pg_tax_amt_tax_curr_tbl(i),
6361 pg_tax_amt_funcl_curr_tbl(i),
6362 pg_ttl_rec_tax_amt_tbl(i),
6363 pg_ttl_rec_tx_amt_fnc_crr_tbl(i),
6364 pg_ttl_rec_tx_amt_tx_crr_tbl(i),
6365 pg_ttl_nrec_tax_amt_tbl(i),
6366 pg_ttl_nrec_tx_amt_fnc_crr_tbl(i),
6367 pg_ttl_nrec_tx_amt_tx_crr_tbl(i),
6368 -- pg_cancel_flag_tbl(i),
6369 pg_delete_flag_tbl(i),
6370 -- pg_overridden_flag_tbl(i),
6371 pg_manually_entered_flag_tbl(i),
6372 -- bug6773534 pg_app_to_app_id_tbl(i),
6373 -- bug6773534 pg_app_to_evnt_cls_code_tbl(i),
6374 -- bug6773534 pg_app_to_entity_code_tbl(i),
6375 -- bug6773534 pg_app_to_trx_id_tbl(i),
6376 -- bug6773534 pg_app_to_trx_level_type_tbl(i),
6377 -- bug6773534 pg_app_to_line_id_tbl(i),
6378 pg_tax_xmptn_id_tbl(i),
6379 -- pg_tax_rate_bf_xmptn_tbl(i),
6380 -- pg_tax_rate_name_bf_xmptn_tbl(i),
6381 -- pg_xmpt_rate_modifier_tbl(i),
6382 pg_xmpt_certificate_number_tbl(i),
6383 -- pg_xmpt_reason_tbl(i),
6384 pg_xmpt_reason_code_tbl(i),
6385 -- pg_tax_rate_bf_xeptn_tbl(i),
6386 -- pg_tax_rate_name_bf_xeptn_tbl(i),
6387 pg_tax_xeptn_id_tbl(i),
6388 -- pg_xeptn_rate_tbl(i),
6389 pg_mrc_tax_line_flag_tbl(i),
6390 pg_tax_only_line_flag_tbl(i)
6391 );
6392
6393 IF (g_level_statement >= g_current_runtime_level ) THEN
6394
6395 FND_LOG.STRING(g_level_statement,
6396 'ZX.PLSQL.ZX_TDS_TAX_LINES_DETM_PKG.create_summary_lines_upd_evnt',
6397 'Number of Rows Inserted in zx_lines_summary for update = ' || to_char(SQL%ROWCOUNT));
6398 END IF;
6399
6400 IF (g_level_procedure >= g_current_runtime_level ) THEN
6401
6402 FND_LOG.STRING(g_level_procedure,
6403 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_upd_evnt.END',
6404 'ZX_TRL_MANAGE_TAX_PKG: create_summary_lines_upd_evnt (-)'||x_return_status);
6405 END IF;
6406
6407 EXCEPTION
6408 WHEN OTHERS THEN
6409 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6410 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
6411
6412 IF (g_level_unexpected >= g_current_runtime_level ) THEN
6413 FND_LOG.STRING(g_level_unexpected,
6414 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_upd_evnt',
6415 l_error_buffer);
6416 END IF;
6417
6418 END create_summary_lines_upd_evnt;
6419
6420 ------------------------------------------------------------------------------
6421 -- PUBLIC PROCEDURE
6422 -- create_summary_lines_del_evnt
6423 --
6424 -- DESCRIPTION
6425 -- Public procedure to recreate summary tax lines from zx_lines after detleting
6426 -- the detail tax lines based on the passed-in transaction line information
6427 --
6428 -- NOTE
6429 -- 1. At present, we always regard the retain_summ_tax_line_id_flag as 'Y' due
6430 -- to coding consideration. If later function requirement identified for not
6431 -- retain the summary tax line id, then need to update the new summary
6432 -- tax line id back to zx_lines.
6433 --
6434 -- 2. This API only used for deleting trx lines event, so that are cases that
6435 -- some summary tax lines for this trx is no need to recreate. The current
6436 -- approach is to delete all th original summary tax lines and recreate.
6437 -- Assumption is that before this API is called, all the summary tax lines
6438 -- for this trx are deleted.
6439 ------------------------------------------------------------------------------
6440 -- Bug 6456915 - associated_child_frozen_flag has been removed from grouping columns for summary tax lines
6441
6442 PROCEDURE create_summary_lines_del_evnt(
6443 p_application_id IN NUMBER,
6444 p_entity_code IN VARCHAR2,
6445 p_event_class_code IN VARCHAR2,
6446 p_trx_id IN NUMBER,
6447 p_trx_line_id IN NUMBER,
6448 p_trx_level_type IN VARCHAR2,
6449 p_retain_summ_tax_line_id_flag IN VARCHAR2,
6450 x_return_status OUT NOCOPY VARCHAR2
6451 ) IS
6452
6453 l_error_buffer VARCHAR2(100);
6454 l_row_count NUMBER;
6455 l_curr_ledger_id NUMBER;
6456 l_summary_tax_line_number NUMBER;
6457
6458 BEGIN
6459 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6460
6461 IF (g_level_procedure >= g_current_runtime_level ) THEN
6462 FND_LOG.STRING(g_level_procedure,
6463 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_del_evnt.BEGIN',
6464 'ZX_TRL_MANAGE_TAX_PKG: create_summary_lines_del_evnt (+)');
6465 END IF;
6466
6467 -- Initialize API return status to success
6468 --
6469 x_return_status := FND_API.G_RET_STS_SUCCESS;
6470
6471 -- At present, we always regard the retain_summ_tax_line_id_flag as 'Y' due
6472 -- to coding consideration. If later function requirement identified for not
6473 -- retain the summary tax line id, then need to update the new summary
6474 -- tax line id back to zx_lines.
6475
6476 SELECT NVL(summary_tax_line_id,
6477 zx_lines_summary_s.NEXTVAL ) summary_tax_line_id,
6478 trx_number,
6479 applied_from_application_id,
6480 applied_from_event_class_code,
6481 applied_from_entity_code,
6482 applied_from_trx_id,
6483 applied_from_trx_level_type,
6484 applied_from_line_id,
6485 adjusted_doc_application_id,
6486 adjusted_doc_entity_code,
6487 adjusted_doc_event_class_code,
6488 adjusted_doc_trx_id,
6489 adjusted_doc_trx_level_type,
6490 -- ROWNUM, -- summary_tax_line_number
6491 content_owner_id,
6492 tax_regime_code,
6493 tax,
6494 tax_status_code,
6495 tax_rate_id,
6496 tax_rate_code,
6497 tax_rate,
6498 tax_jurisdiction_code,
6499 ledger_id,
6500 legal_entity_id,
6501 establishment_id,
6502 currency_conversion_date,
6503 currency_conversion_type,
6504 currency_conversion_rate,
6505 taxable_basis_formula,
6506 tax_calculation_formula,
6507 tax_amt_included_flag,
6508 compounding_tax_flag,
6509 self_assessed_flag,
6510 reporting_only_flag,
6511 -- associated_child_frozen_flag,
6512 -- copied_from_other_doc_flag,
6513 record_type_code,
6514 tax_provider_id,
6515 historical_flag,
6516 tax_amt,
6517 tax_amt_tax_curr,
6518 tax_amt_funcl_curr,
6519 total_rec_tax_amt,
6520 total_rec_tax_amt_funcl_curr,
6521 total_rec_tax_amt_tax_curr,
6522 total_nrec_tax_amt,
6523 total_nrec_tax_amt_funcl_curr,
6524 total_nrec_tax_amt_tax_curr,
6525 -- cancel_flag,
6526 'N' delete_flag,
6527 -- overridden_flag,
6528 manually_entered_flag,
6529 -- bug6773534 applied_to_application_id,
6530 -- bug6773534 applied_to_event_class_code,
6531 -- bug6773534 applied_to_entity_code,
6532 -- bug6773534 applied_to_trx_id,
6533 -- bug6773534 applied_to_trx_level_type,
6534 -- bug6773534 applied_to_line_id,
6535 tax_exemption_id,
6536 -- tax_rate_before_exemption,
6537 -- tax_rate_name_before_exemption,
6538 -- exempt_rate_modifier,
6539 exempt_certificate_number,
6540 -- exempt_reason,
6541 exempt_reason_code,
6542 -- tax_rate_before_exception,
6543 -- tax_rate_name_before_exception,
6544 tax_exception_id,
6545 -- exception_rate,
6546 mrc_tax_line_flag,
6547 tax_only_line_flag
6548 BULK COLLECT INTO
6549 pg_summary_tax_line_id_tbl,
6550 pg_trx_number_tbl,
6551 pg_app_from_app_id_tbl,
6552 pg_app_from_evnt_cls_code_tbl,
6553 pg_app_from_entity_code_tbl,
6554 pg_app_from_trx_id_tbl,
6555 pg_app_from_trx_level_type_tbl,
6556 pg_app_from_line_id_tbl,
6557 pg_adj_doc_app_id_tbl,
6558 pg_adj_doc_entity_code_tbl,
6559 pg_adj_doc_evnt_cls_code_tbl,
6560 pg_adj_doc_trx_id_tbl,
6561 pg_adj_doc_trx_level_type_tbl,
6562 --pg_summary_tax_line_num_tbl,
6563 pg_content_owner_id_tbl,
6564 pg_tax_regime_code_tbl,
6565 pg_tax_tbl,
6566 pg_tax_status_code_tbl,
6567 pg_tax_rate_id_tbl,
6568 pg_tax_rate_code_tbl,
6569 pg_tax_rate_tbl,
6570 pg_tax_jurisdiction_code_tbl,
6571 pg_ledger_id_tbl,
6572 pg_legal_entity_id_tbl,
6573 pg_establishment_id_tbl,
6574 pg_currency_convrsn_date_tbl,
6575 pg_currency_convrsn_type_tbl,
6576 pg_currency_convrsn_rate_tbl,
6577 pg_taxable_basis_formula_tbl,
6578 pg_tax_calculation_formula_tbl,
6579 pg_tax_amt_included_flag_tbl,
6580 pg_compounding_tax_flag_tbl,
6581 pg_self_assessed_flag_tbl,
6582 pg_reporting_only_flag_tbl,
6583 -- pg_assoctd_child_frz_flag_tbl,
6584 -- pg_cpd_from_other_doc_flag_tbl,
6585 pg_record_type_code_tbl,
6586 pg_tax_provider_id_tbl,
6587 pg_historical_flag_tbl,
6588 pg_tax_amt_tbl,
6589 pg_tax_amt_tax_curr_tbl,
6590 pg_tax_amt_funcl_curr_tbl,
6591 pg_ttl_rec_tax_amt_tbl,
6592 pg_ttl_rec_tx_amt_fnc_crr_tbl,
6593 pg_ttl_rec_tx_amt_tx_crr_tbl,
6594 pg_ttl_nrec_tax_amt_tbl,
6595 pg_ttl_nrec_tx_amt_fnc_crr_tbl,
6596 pg_ttl_nrec_tx_amt_tx_crr_tbl,
6597 -- pg_cancel_flag_tbl,
6598 pg_delete_flag_tbl,
6599 -- pg_overridden_flag_tbl,
6600 pg_manually_entered_flag_tbl,
6601 -- bug6773534 pg_app_to_app_id_tbl,
6602 -- bug6773534 pg_app_to_evnt_cls_code_tbl,
6603 -- bug6773534 pg_app_to_entity_code_tbl,
6604 -- bug6773534 pg_app_to_trx_id_tbl,
6605 -- bug6773534 pg_app_to_trx_level_type_tbl,
6606 -- bug6773534 pg_app_to_line_id_tbl,
6607 pg_tax_xmptn_id_tbl,
6608 -- pg_tax_rate_bf_xmptn_tbl,
6609 -- pg_tax_rate_name_bf_xmptn_tbl,
6610 -- pg_xmpt_rate_modifier_tbl,
6611 pg_xmpt_certificate_number_tbl,
6612 -- pg_xmpt_reason_tbl,
6613 pg_xmpt_reason_code_tbl,
6614 -- pg_tax_rate_bf_xeptn_tbl,
6615 -- pg_tax_rate_name_bf_xeptn_tbl,
6616 pg_tax_xeptn_id_tbl,
6617 -- pg_xeptn_rate_tbl,
6618 pg_mrc_tax_line_flag_tbl,
6619 pg_tax_only_line_flag_tbl
6620 FROM ( SELECT summary_tax_line_id,
6621 trx_number,
6622 applied_from_application_id,
6623 applied_from_event_class_code,
6624 applied_from_entity_code,
6625 applied_from_trx_id,
6626 applied_from_trx_level_type,
6627 applied_from_line_id,
6628 adjusted_doc_application_id,
6629 adjusted_doc_entity_code,
6630 adjusted_doc_event_class_code,
6631 adjusted_doc_trx_id,
6632 adjusted_doc_trx_level_type,
6633 content_owner_id,
6634 tax_regime_code,
6635 tax,
6636 tax_status_code,
6637 tax_rate_id,
6638 tax_rate_code,
6639 tax_rate,
6640 tax_jurisdiction_code,
6641 ledger_id,
6642 legal_entity_id,
6643 establishment_id,
6644 TRUNC(currency_conversion_date) currency_conversion_date,
6645 currency_conversion_type,
6646 currency_conversion_rate,
6647 taxable_basis_formula,
6648 tax_calculation_formula,
6649 tax_amt_included_flag,
6650 compounding_tax_flag,
6651 self_assessed_flag,
6652 reporting_only_flag,
6653 -- associated_child_frozen_flag,
6654 -- copied_from_other_doc_flag,
6655 record_type_code,
6656 tax_provider_id,
6657 historical_flag,
6658 SUM(tax_amt) tax_amt,
6659 SUM(tax_amt_tax_curr) tax_amt_tax_curr,
6660 SUM(tax_amt_funcl_curr) tax_amt_funcl_curr,
6661 SUM(orig_tax_amt) orig_tax_amt,
6662 SUM(rec_tax_amt) total_rec_tax_amt,
6663 SUM(rec_tax_amt_funcl_curr) total_rec_tax_amt_funcl_curr,
6664 SUM(rec_tax_amt_tax_curr) total_rec_tax_amt_tax_curr,
6665 SUM(nrec_tax_amt) total_nrec_tax_amt,
6666 SUM(nrec_tax_amt_funcl_curr) total_nrec_tax_amt_funcl_curr,
6667 SUM(nrec_tax_amt_tax_curr) total_nrec_tax_amt_tax_curr,
6668 -- cancel_flag,
6669 -- overridden_flag,
6670 manually_entered_flag,
6671 -- bug6773534 applied_to_application_id,
6672 -- bug6773534 applied_to_event_class_code,
6673 -- bug6773534 applied_to_entity_code,
6674 -- bug6773534 applied_to_trx_id,
6675 -- bug6773534 applied_to_trx_level_type,
6676 -- bug6773534 applied_to_line_id,
6677 tax_exemption_id,
6678 -- tax_rate_before_exemption,
6679 -- tax_rate_name_before_exemption,
6680 -- exempt_rate_modifier,
6681 exempt_certificate_number,
6682 -- exempt_reason,
6683 exempt_reason_code,
6684 -- tax_rate_before_exception,
6685 -- tax_rate_name_before_exception,
6686 tax_exception_id,
6687 -- exception_rate,
6688 mrc_tax_line_flag,
6689 tax_only_line_flag
6690 FROM ZX_LINES
6691 WHERE application_id = p_application_id
6692 AND entity_code = p_entity_code
6693 AND event_class_code = p_event_class_code
6694 AND trx_id = p_trx_id
6695 GROUP BY trx_id,
6696 summary_tax_line_id,
6697 applied_from_application_id,
6698 applied_from_event_class_code,
6699 applied_from_entity_code,
6700 applied_from_trx_id,
6701 applied_from_trx_level_type,
6702 applied_from_line_id,
6703 adjusted_doc_application_id,
6704 adjusted_doc_entity_code,
6705 adjusted_doc_event_class_code,
6706 adjusted_doc_trx_id,
6707 adjusted_doc_trx_level_type,
6708 content_owner_id,
6709 tax_regime_code,
6710 tax,
6711 tax_status_code,
6712 tax_rate_id,
6713 tax_rate_code,
6714 tax_rate,
6715 tax_jurisdiction_code,
6716 ledger_id,
6717 legal_entity_id,
6718 establishment_id,
6719 TRUNC(currency_conversion_date),
6720 currency_conversion_type,
6721 currency_conversion_rate,
6722 taxable_basis_formula,
6723 tax_calculation_formula,
6724 tax_amt_included_flag,
6725 compounding_tax_flag,
6726 self_assessed_flag,
6727 reporting_only_flag,
6728 -- associated_child_frozen_flag,
6729 -- copied_from_other_doc_flag,
6730 record_type_code,
6731 tax_provider_id,
6732 historical_flag,
6733 -- cancel_flag,
6734 -- overridden_flag,
6735 manually_entered_flag,
6736 -- bug6773534 applied_to_application_id,
6737 -- bug6773534 applied_to_event_class_code,
6738 -- bug6773534 applied_to_entity_code,
6739 -- bug6773534 applied_to_trx_id,
6740 -- bug6773534 applied_to_trx_level_type,
6741 -- bug6773534 applied_to_line_id,
6742 tax_exemption_id,
6743 -- tax_rate_before_exemption,
6744 -- tax_rate_name_before_exemption,
6745 -- exempt_rate_modifier,
6746 exempt_certificate_number,
6747 -- exempt_reason,
6748 exempt_reason_code,
6749 -- tax_rate_before_exception,
6750 -- tax_rate_name_before_exception,
6751 tax_exception_id,
6752 -- exception_rate,
6753 mrc_tax_line_flag,
6754 tax_only_line_flag
6755 ORDER BY trx_id,
6756 mrc_tax_line_flag,
6757 ledger_id,
6758 summary_tax_line_id,
6759 applied_from_application_id,
6760 applied_from_event_class_code,
6761 applied_from_entity_code,
6762 applied_from_trx_id,
6763 applied_from_trx_level_type,
6764 applied_from_line_id,
6765 adjusted_doc_application_id,
6766 adjusted_doc_entity_code,
6767 adjusted_doc_event_class_code,
6768 adjusted_doc_trx_id,
6769 adjusted_doc_trx_level_type,
6770 content_owner_id,
6771 tax_regime_code,
6772 tax,
6773 tax_status_code,
6774 tax_rate_id,
6775 tax_rate_code,
6776 tax_rate,
6777 tax_jurisdiction_code,
6778 legal_entity_id,
6779 establishment_id,
6780 -- TRUNC(currency_conversion_date),
6781 -- currency_conversion_type,
6782 -- currency_conversion_rate,
6783 taxable_basis_formula,
6784 tax_calculation_formula,
6785 tax_amt_included_flag,
6786 compounding_tax_flag,
6787 self_assessed_flag,
6788 reporting_only_flag,
6789 -- associated_child_frozen_flag,
6790 -- copied_from_other_doc_flag,
6791 record_type_code,
6792 tax_provider_id,
6793 historical_flag,
6794 -- cancel_flag,
6795 -- overridden_flag,
6796 manually_entered_flag,
6797 -- bug6773534 applied_to_application_id,
6798 -- bug6773534 applied_to_event_class_code,
6799 -- bug6773534 applied_to_entity_code,
6800 -- bug6773534 applied_to_trx_id,
6801 -- bug6773534 applied_to_trx_level_type,
6802 -- bug6773534 applied_to_line_id,
6803 tax_exemption_id,
6804 -- tax_rate_before_exemption,
6805 -- tax_rate_name_before_exemption,
6806 -- exempt_rate_modifier,
6807 exempt_certificate_number,
6808 -- exempt_reason,
6809 exempt_reason_code,
6810 -- tax_rate_before_exception,
6811 -- tax_rate_name_before_exception,
6812 tax_exception_id,
6813 -- exception_rate,
6814 tax_only_line_flag );
6815
6816
6817 l_curr_ledger_id := -1;
6818 l_summary_tax_line_number := -1;
6819 FOR i IN 1.. pg_summary_tax_line_id_tbl.COUNT LOOP
6820
6821 -- populate the summary_tax_line_number
6822 -- due to the order by clause, it guranteed that the none_mrc line will
6823 -- come first, then followed by the mrc tax lines.
6824 IF l_curr_ledger_id = -1 OR l_curr_ledger_id <> pg_ledger_id_tbl(i) THEN
6825 l_curr_ledger_id := pg_ledger_id_tbl(i);
6826 l_summary_tax_line_number := 1;
6827 ELSE
6828 l_summary_tax_line_number := l_summary_tax_line_number + 1;
6829 END IF;
6830 pg_summary_tax_line_num_tbl(i) := l_summary_tax_line_number;
6831
6832 END LOOP;
6833
6834
6835 FORALL i IN 1..pg_summary_tax_line_id_tbl.COUNT
6836 INSERT INTO zx_lines_summary
6837 ( summary_tax_line_id,
6838 object_version_number,
6839 created_by,
6840 creation_date,
6841 last_updated_by,
6842 last_update_date,
6843 last_update_login,
6844 internal_organization_id,
6845 application_id,
6846 entity_code,
6847 event_class_code,
6848 trx_id,
6849 trx_number,
6850 applied_from_application_id,
6851 applied_from_event_class_code,
6852 applied_from_entity_code,
6853 applied_from_trx_id,
6854 applied_from_trx_level_type,
6855 applied_from_line_id,
6856 adjusted_doc_application_id,
6857 adjusted_doc_entity_code,
6858 adjusted_doc_event_class_code,
6859 adjusted_doc_trx_id,
6860 adjusted_doc_trx_level_type,
6861 summary_tax_line_number,
6862 content_owner_id,
6863 tax_regime_code,
6864 tax,
6865 tax_status_code,
6866 tax_rate_id,
6867 tax_rate_code,
6868 tax_rate,
6869 tax_jurisdiction_code,
6870 ledger_id,
6871 legal_entity_id,
6872 establishment_id,
6873 currency_conversion_date,
6874 currency_conversion_type,
6875 currency_conversion_rate,
6876 taxable_basis_formula,
6877 tax_calculation_formula,
6878 tax_amt_included_flag,
6879 compounding_tax_flag,
6880 self_assessed_flag,
6881 reporting_only_flag,
6882 -- associated_child_frozen_flag,
6883 -- copied_from_other_doc_flag,
6884 record_type_code,
6885 tax_provider_id,
6886 historical_flag,
6887 tax_amt,
6888 tax_amt_tax_curr,
6889 tax_amt_funcl_curr,
6890 total_rec_tax_amt,
6891 total_rec_tax_amt_funcl_curr,
6892 total_rec_tax_amt_tax_curr,
6893 total_nrec_tax_amt,
6894 total_nrec_tax_amt_funcl_curr,
6895 total_nrec_tax_amt_tax_curr,
6896 -- cancel_flag,
6897 delete_flag,
6898 -- overridden_flag,
6899 manually_entered_flag,
6900 -- bug6773534 applied_to_application_id,
6901 -- bug6773534 applied_to_event_class_code,
6902 -- bug6773534 applied_to_entity_code,
6903 -- bug6773534 applied_to_trx_id,
6904 -- bug6773534 applied_to_trx_level_type,
6905 -- bug6773534 applied_to_line_id,
6906 tax_exemption_id,
6907 -- tax_rate_before_exemption,
6908 -- tax_rate_name_before_exemption,
6909 -- exempt_rate_modifier,
6910 exempt_certificate_number,
6911 -- exempt_reason,
6912 exempt_reason_code,
6913 -- tax_rate_before_exception,
6914 -- tax_rate_name_before_exception,
6915 tax_exception_id,
6916 -- exception_rate,
6917 mrc_tax_line_flag,
6918 tax_only_line_flag
6919 ) VALUES(
6920 pg_summary_tax_line_id_tbl(i),
6921 1, -- object_version_number
6922 FND_GLOBAL.user_id,
6923 SYSDATE,
6924 FND_GLOBAL.user_id,
6925 SYSDATE,
6926 FND_GLOBAL.user_id,
6927 pg_internal_org_id_tbl(i),
6928 pg_application_id_tbl(i),
6929 pg_entity_code_tbl(i),
6930 pg_event_class_code_tbl(i),
6931 pg_trx_id_tbl(i),
6932 pg_trx_number_tbl(i),
6933 pg_app_from_app_id_tbl(i),
6934 pg_app_from_evnt_cls_code_tbl(i),
6935 pg_app_from_entity_code_tbl(i),
6936 pg_app_from_trx_id_tbl(i),
6937 pg_app_from_trx_level_type_tbl(i),
6938 pg_app_from_line_id_tbl(i),
6939 pg_adj_doc_app_id_tbl(i),
6940 pg_adj_doc_entity_code_tbl(i),
6941 pg_adj_doc_evnt_cls_code_tbl(i),
6942 pg_adj_doc_trx_id_tbl(i),
6943 pg_adj_doc_trx_level_type_tbl(i),
6944 pg_summary_tax_line_num_tbl(i),
6945 pg_content_owner_id_tbl(i),
6946 pg_tax_regime_code_tbl(i),
6947 pg_tax_tbl(i),
6948 pg_tax_status_code_tbl(i),
6949 pg_tax_rate_id_tbl(i),
6950 pg_tax_rate_code_tbl(i),
6951 pg_tax_rate_tbl(i),
6952 pg_tax_jurisdiction_code_tbl(i),
6953 pg_ledger_id_tbl(i),
6954 pg_legal_entity_id_tbl(i),
6955 pg_establishment_id_tbl(i),
6956 pg_currency_convrsn_date_tbl(i),
6957 pg_currency_convrsn_type_tbl(i),
6958 pg_currency_convrsn_rate_tbl(i),
6959 pg_taxable_basis_formula_tbl(i),
6960 pg_tax_calculation_formula_tbl(i),
6961 pg_tax_amt_included_flag_tbl(i),
6962 pg_compounding_tax_flag_tbl(i),
6963 pg_self_assessed_flag_tbl(i),
6964 pg_reporting_only_flag_tbl(i),
6965 -- pg_assoctd_child_frz_flag_tbl(i),
6966 -- pg_cpd_from_other_doc_flag_tbl(i),
6967 pg_record_type_code_tbl(i),
6968 pg_tax_provider_id_tbl(i),
6969 pg_historical_flag_tbl(i),
6970 pg_tax_amt_tbl(i),
6971 pg_tax_amt_tax_curr_tbl(i),
6972 pg_tax_amt_funcl_curr_tbl(i),
6973 pg_ttl_rec_tax_amt_tbl(i),
6974 pg_ttl_rec_tx_amt_fnc_crr_tbl(i),
6975 pg_ttl_rec_tx_amt_tx_crr_tbl(i),
6976 pg_ttl_nrec_tax_amt_tbl(i),
6977 pg_ttl_nrec_tx_amt_fnc_crr_tbl(i),
6978 pg_ttl_nrec_tx_amt_tx_crr_tbl(i),
6979 -- pg_cancel_flag_tbl(i),
6980 pg_delete_flag_tbl(i),
6981 -- pg_overridden_flag_tbl(i),
6982 pg_manually_entered_flag_tbl(i),
6983 -- bug6773534 pg_app_to_app_id_tbl(i),
6984 -- bug6773534 pg_app_to_evnt_cls_code_tbl(i),
6985 -- bug6773534 pg_app_to_entity_code_tbl(i),
6986 -- bug6773534 pg_app_to_trx_id_tbl(i),
6987 -- bug6773534 pg_app_to_trx_level_type_tbl(i),
6988 -- bug6773534 pg_app_to_line_id_tbl(i),
6989 pg_tax_xmptn_id_tbl(i),
6990 -- pg_tax_rate_bf_xmptn_tbl(i),
6991 -- pg_tax_rate_name_bf_xmptn_tbl(i),
6992 -- pg_xmpt_rate_modifier_tbl(i),
6993 pg_xmpt_certificate_number_tbl(i),
6994 -- pg_xmpt_reason_tbl(i),
6995 pg_xmpt_reason_code_tbl(i),
6996 -- pg_tax_rate_bf_xeptn_tbl(i),
6997 -- pg_tax_rate_name_bf_xeptn_tbl(i),
6998 pg_tax_xeptn_id_tbl(i),
6999 -- pg_xeptn_rate_tbl(i),
7000 pg_mrc_tax_line_flag_tbl(i),
7001 pg_tax_only_line_flag_tbl(i) );
7002
7003 IF (g_level_statement >= g_current_runtime_level ) THEN
7004
7005 FND_LOG.STRING(g_level_statement,
7006 'ZX.PLSQL.ZX_TDS_TAX_LINES_DETM_PKG.create_summary_lines_del_evnt',
7007 'NON-MRC Lines: Number of Rows Inserted into zx_lines_summary retain summary tax line id: '||to_char(SQL%ROWCOUNT));
7008 END IF;
7009
7010 IF (g_level_procedure >= g_current_runtime_level ) THEN
7011
7012 FND_LOG.STRING(g_level_procedure,
7013 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_del_evnt.END',
7014 'ZX_TRL_MANAGE_TAX_PKG: create_summary_lines_del_evnt (-)'||x_return_status);
7015 END IF;
7016
7017 EXCEPTION
7018 WHEN OTHERS THEN
7019 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7020 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
7021
7022 IF (g_level_unexpected >= g_current_runtime_level ) THEN
7023 FND_LOG.STRING(g_level_unexpected,
7024 'ZX.PLSQL.ZX_TRL_MANAGE_TAX_PKG.create_summary_lines_del_evnt',
7025 l_error_buffer);
7026 END IF;
7027
7028 END create_summary_lines_del_evnt;
7029
7030
7031 -------------------------------------------------------------------------------
7032 --
7033 -- Package constructor
7034 --
7035 -------------------------------------------------------------------------------
7036
7037 END ZX_TRL_MANAGE_TAX_PKG;