DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_TRL_SUMMARY_OVERRIDE_PKG

Source


1 PACKAGE BODY ZX_TRL_SUMMARY_OVERRIDE_PKG AS
2 /* $Header: zxriovrsumlnpkgb.pls 120.83.12020000.2 2012/08/17 13:05:42 ssohal 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 
10   DATE_DUMMY           CONSTANT  DATE   := TO_DATE('01-01-1951', 'DD-MM-YYYY');
11 
12   PROCEDURE Insert_Row
13     (x_rowid                        IN OUT NOCOPY VARCHAR2,
14      p_summary_tax_line_id          NUMBER,
15      p_internal_organization_id     NUMBER,
16      p_application_id               NUMBER,
17      p_entity_code                  VARCHAR2,
18      p_event_class_code             VARCHAR2,
19      p_trx_id                       NUMBER,
20      p_summary_tax_line_number      NUMBER,
21      p_trx_number                   VARCHAR2,
22      p_applied_from_application_id  NUMBER,
23      p_applied_from_evt_class_code  VARCHAR2, --reduced size p_applied_from_event_class_code
24      p_applied_from_entity_code     VARCHAR2,
25      p_applied_from_trx_id          NUMBER,
26      p_applied_from_trx_level_type  VARCHAR2,
27      p_applied_from_line_id         NUMBER,
28      p_adjusted_doc_application_id  NUMBER,
29      p_adjusted_doc_entity_code     VARCHAR2,
30      p_adjusted_doc_evt_class_code  VARCHAR2, --reduced size p_adjusted_doc_event_class_code
31      p_adjusted_doc_trx_id          NUMBER,
32      p_adjusted_doc_trx_level_type  VARCHAR2,
33      p_applied_to_application_id    NUMBER,
34      p_applied_to_event_class_code  VARCHAR2,
35      p_applied_to_entity_code       VARCHAR2,
36      p_applied_to_trx_id            NUMBER,
37      p_applied_to_trx_level_type    VARCHAR2,
38      p_applied_to_line_id           NUMBER,
39      p_tax_exemption_id             NUMBER,
40      p_tax_rate_before_exemption    NUMBER,
41      p_tax_rate_name_before_exempt  VARCHAR2, --reduced size p_tax_rate_name_before_exemption
42      p_exempt_rate_modifier         NUMBER,
43      p_exempt_certificate_number    VARCHAR2,
44      p_exempt_reason                VARCHAR2,
45      p_exempt_reason_code           VARCHAR2,
46      p_tax_rate_before_exception    NUMBER,
47      p_tax_rate_name_before_except  VARCHAR2, --reduced size p_tax_rate_name_before_exception
48      p_tax_exception_id             NUMBER,
49      p_exception_rate               NUMBER,
50      p_content_owner_id             NUMBER,
51      p_tax_regime_code              VARCHAR2,
52      p_tax                          VARCHAR2,
53      p_tax_status_code              VARCHAR2,
54      p_tax_rate_id                  NUMBER,
55      p_tax_rate_code                VARCHAR2,
56      p_tax_rate                     NUMBER,
57      p_tax_amt                      NUMBER,
58      p_tax_amt_tax_curr             NUMBER,
59      p_tax_amt_funcl_curr           NUMBER,
60      p_tax_jurisdiction_code        VARCHAR2,
61      p_total_rec_tax_amt            NUMBER,
62      p_total_rec_tax_amt_func_curr  NUMBER,   --reduced size p_total_rec_tax_amt_funcl_curr
63      p_total_rec_tax_amt_tax_curr   NUMBER,
64      p_total_nrec_tax_amt           NUMBER,
65      p_total_nrec_tax_amt_func_curr NUMBER,   --reduced size p_total_nrec_tax_amt_funcl_curr
66      p_total_nrec_tax_amt_tax_curr  NUMBER,
67      p_ledger_id                    NUMBER,
68      p_legal_entity_id              NUMBER,
69      p_establishment_id             NUMBER,
70      p_currency_conversion_date     DATE,
71      p_currency_conversion_type     VARCHAR2,
72      p_currency_conversion_rate     NUMBER,
73      p_summarization_template_id    NUMBER,
74      p_taxable_basis_formula        VARCHAR2,
75      p_tax_calculation_formula      VARCHAR2,
76      p_historical_flag              VARCHAR2,
77      p_cancel_flag                  VARCHAR2,
78      p_delete_flag                  VARCHAR2,
79      p_tax_amt_included_flag        VARCHAR2,
80      p_compounding_tax_flag         VARCHAR2,
81      p_self_assessed_flag           VARCHAR2,
82      p_overridden_flag              VARCHAR2,
83      p_reporting_only_flag          VARCHAR2,
84      p_assoc_child_frozen_flag      VARCHAR2, --reduced size p_Associated_Child_Frozen_Flag
85      p_copied_from_other_doc_flag   VARCHAR2,
86      p_manually_entered_flag        VARCHAR2,
87      p_mrc_tax_line_flag            VARCHAR2,
88      p_last_manual_entry            VARCHAR2,
89      p_record_type_code             VARCHAR2,
90      p_tax_provider_id              NUMBER,
91      p_tax_only_line_flag           VARCHAR2,
92      p_adjust_tax_amt_flag          VARCHAR2,
93      p_attribute_category           VARCHAR2,
94      p_attribute1                   VARCHAR2,
95      p_attribute2                   VARCHAR2,
96      p_attribute3                   VARCHAR2,
97      p_attribute4                   VARCHAR2,
98      p_attribute5                   VARCHAR2,
99      p_attribute6                   VARCHAR2,
100      p_attribute7                   VARCHAR2,
101      p_attribute8                   VARCHAR2,
102      p_attribute9                   VARCHAR2,
103      p_attribute10                  VARCHAR2,
104      p_attribute11                  VARCHAR2,
105      p_attribute12                  VARCHAR2,
106      p_attribute13                  VARCHAR2,
107      p_attribute14                  VARCHAR2,
108      p_attribute15                  VARCHAR2,
109      p_global_attribute_category    VARCHAR2,
110      p_global_attribute1            VARCHAR2,
111      p_global_attribute2            VARCHAR2,
112      p_global_attribute3            VARCHAR2,
113      p_global_attribute4            VARCHAR2,
114      p_global_attribute5            VARCHAR2,
115      p_global_attribute6            VARCHAR2,
116      p_global_attribute7            VARCHAR2,
117      p_global_attribute8            VARCHAR2,
118      p_global_attribute9            VARCHAR2,
119      p_global_attribute10           VARCHAR2,
120      p_global_attribute11           VARCHAR2,
121      p_global_attribute12           VARCHAR2,
122      p_global_attribute13           VARCHAR2,
123      p_global_attribute14           VARCHAR2,
124      p_global_attribute15           VARCHAR2,
125      p_global_attribute16           VARCHAR2,
126      p_global_attribute17           VARCHAR2,
127      p_global_attribute18           VARCHAR2,
128      p_global_attribute19           VARCHAR2,
129      p_global_attribute20           VARCHAR2,
130      p_object_version_number        NUMBER,
131      p_created_by                   NUMBER,
132      p_creation_date                DATE,
133      p_last_updated_by              NUMBER,
134      p_last_update_date             DATE,
135      p_last_update_login            NUMBER) IS
136 
137     CURSOR C IS
138     SELECT rowid
139     FROM ZX_LINES_SUMMARY
140     WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
141 
142   BEGIN
143     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
144 
145     IF (g_level_procedure >= g_current_runtime_level ) THEN
146       FND_LOG.STRING(g_level_procedure,
147                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row.BEGIN',
148                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Insert_Row (+)');
149     END IF;
150 
151     IF (g_level_procedure >= g_current_runtime_level ) THEN
152       FND_LOG.STRING(g_level_procedure,
153                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row',
154                     'Insert into zx_lines_summary (+)');
155     END IF;
156 
157     INSERT INTO ZX_LINES_SUMMARY
158       (SUMMARY_TAX_LINE_ID,
159        INTERNAL_ORGANIZATION_ID,
160        APPLICATION_ID,
161        ENTITY_CODE,
162        EVENT_CLASS_CODE,
163        TRX_ID,
164        TRX_NUMBER,
165        SUMMARY_TAX_LINE_NUMBER,
166        APPLIED_FROM_APPLICATION_ID,
167        APPLIED_FROM_EVENT_CLASS_CODE,
168        APPLIED_FROM_ENTITY_CODE,
169        APPLIED_FROM_TRX_ID,
170        APPLIED_FROM_TRX_LEVEL_TYPE,
171        APPLIED_FROM_LINE_ID,
172        ADJUSTED_DOC_APPLICATION_ID,
173        ADJUSTED_DOC_ENTITY_CODE,
174        ADJUSTED_DOC_EVENT_CLASS_CODE,
175        ADJUSTED_DOC_TRX_ID,
176        ADJUSTED_DOC_TRX_LEVEL_TYPE,
177        APPLIED_TO_APPLICATION_ID,
178        APPLIED_TO_EVENT_CLASS_CODE,
179        APPLIED_TO_ENTITY_CODE,
180        APPLIED_TO_TRX_ID,
181        APPLIED_TO_TRX_LEVEL_TYPE,
182        APPLIED_TO_LINE_ID,
183        TAX_EXEMPTION_ID,
184        TAX_RATE_BEFORE_EXEMPTION,
185        TAX_RATE_NAME_BEFORE_EXEMPTION,
186        EXEMPT_RATE_MODIFIER,
187        EXEMPT_CERTIFICATE_NUMBER,
188        EXEMPT_REASON,
189        EXEMPT_REASON_CODE,
190        TAX_RATE_BEFORE_EXCEPTION,
191        TAX_RATE_NAME_BEFORE_EXCEPTION,
192        TAX_EXCEPTION_ID,
193        EXCEPTION_RATE,
194        CONTENT_OWNER_ID,
195        TAX_REGIME_CODE,
196        TAX,
197        TAX_STATUS_CODE,
198        TAX_RATE_ID,
199        TAX_RATE_CODE,
200        TAX_RATE,
201        TAX_JURISDICTION_CODE,
202        TAX_AMT,
203        TAX_AMT_TAX_CURR,
204        TAX_AMT_FUNCL_CURR,
205        TOTAL_REC_TAX_AMT,
206        TOTAL_REC_TAX_AMT_FUNCL_CURR,
207        TOTAL_REC_TAX_AMT_TAX_CURR,
208        TOTAL_NREC_TAX_AMT,
209        TOTAL_NREC_TAX_AMT_FUNCL_CURR,
210        TOTAL_NREC_TAX_AMT_TAX_CURR,
211        LEDGER_ID,
212        LEGAL_ENTITY_ID,
213        ESTABLISHMENT_ID,
214        CURRENCY_CONVERSION_DATE,
215        CURRENCY_CONVERSION_TYPE,
216        CURRENCY_CONVERSION_RATE,
217        SUMMARIZATION_TEMPLATE_ID,
218        TAXABLE_BASIS_FORMULA,
219        TAX_CALCULATION_FORMULA,
220        HISTORICAL_FLAG,
221        CANCEL_FLAG,
222        DELETE_FLAG,
223        RECORD_TYPE_CODE,
224        TAX_AMT_INCLUDED_FLAG,
225        SELF_ASSESSED_FLAG,
226        OVERRIDDEN_FLAG,
227        COMPOUNDING_TAX_FLAG,
228        TAX_PROVIDER_ID,
229        MANUALLY_ENTERED_FLAG,
230        TAX_ONLY_LINE_FLAG,
231        ADJUST_TAX_AMT_FLAG,
232        MRC_TAX_LINE_FLAG,
233        REPORTING_ONLY_FLAG,
234        ASSOCIATED_CHILD_FROZEN_FLAG,
235        COPIED_FROM_OTHER_DOC_FLAG,
236        LAST_MANUAL_ENTRY,
237        ATTRIBUTE_CATEGORY,
238        ATTRIBUTE1,
239        ATTRIBUTE2,
240        ATTRIBUTE3,
241        ATTRIBUTE4,
242        ATTRIBUTE5,
243        ATTRIBUTE6,
244        ATTRIBUTE7,
245        ATTRIBUTE8,
246        ATTRIBUTE9,
247        ATTRIBUTE10,
248        ATTRIBUTE11,
249        ATTRIBUTE12,
250        ATTRIBUTE13,
251        ATTRIBUTE14,
252        ATTRIBUTE15,
253        GLOBAL_ATTRIBUTE_CATEGORY,
254        GLOBAL_ATTRIBUTE1,
255        GLOBAL_ATTRIBUTE2,
256        GLOBAL_ATTRIBUTE3,
257        GLOBAL_ATTRIBUTE4,
258        GLOBAL_ATTRIBUTE5,
259        GLOBAL_ATTRIBUTE6,
260        GLOBAL_ATTRIBUTE7,
261        GLOBAL_ATTRIBUTE8,
262        GLOBAL_ATTRIBUTE9,
263        GLOBAL_ATTRIBUTE10,
264        GLOBAL_ATTRIBUTE11,
265        GLOBAL_ATTRIBUTE12,
266        GLOBAL_ATTRIBUTE13,
267        GLOBAL_ATTRIBUTE14,
268        GLOBAL_ATTRIBUTE15,
269        OBJECT_VERSION_NUMBER,
270        CREATED_BY,
271        CREATION_DATE,
272        LAST_UPDATED_BY,
273        LAST_UPDATE_DATE,
274        LAST_UPDATE_LOGIN)
275     VALUES
276       (p_summary_tax_line_id,
277        p_internal_organization_id,
278        p_application_id,
279        p_entity_code,
280        p_event_class_code,
281        p_trx_id,
282        p_trx_number,
283        p_summary_tax_line_number,
284        p_applied_from_application_id,
285        p_applied_from_evt_class_code,
286        p_applied_from_entity_code,
287        p_applied_from_trx_id,
288        p_applied_from_trx_level_type,
289        p_applied_from_line_id,
290        p_adjusted_doc_application_id,
291        p_adjusted_doc_entity_code,
292        p_adjusted_doc_evt_class_code,
293        p_adjusted_doc_trx_id,
294        p_adjusted_doc_trx_level_type,
295        p_applied_to_application_id,
296        p_applied_to_event_class_code,
297        p_applied_to_entity_code,
298        p_applied_to_trx_id,
299        p_applied_to_trx_level_type,
300        p_applied_to_line_id,
301        p_tax_exemption_id,
302        p_tax_rate_before_exemption,
303        p_tax_rate_name_before_exempt,
304        p_exempt_rate_modifier,
305        p_exempt_certificate_number,
306        p_exempt_reason,
307        p_exempt_reason_code,
308        p_tax_rate_before_exception,
309        p_tax_rate_name_before_except,
310        p_tax_exception_id,
311        p_exception_rate,
315        p_tax_status_code,
312        p_content_owner_id,
313        p_tax_regime_code,
314        p_tax,
316        p_tax_rate_id,
317        p_tax_rate_code,
318        p_tax_rate,
319        p_tax_jurisdiction_code,
320        p_tax_amt,
321        p_tax_amt_tax_curr,
322        p_tax_amt_funcl_curr,
323        p_total_rec_tax_amt,
324        p_total_rec_tax_amt_func_curr,
325        p_total_rec_tax_amt_tax_curr,
326        p_total_nrec_tax_amt,
327        p_total_nrec_tax_amt_func_curr,
328        p_total_nrec_tax_amt_tax_curr,
329        p_ledger_id,
330        p_legal_entity_id,
331        p_establishment_id,
332        p_currency_conversion_date,
333        p_currency_conversion_type,
334        p_currency_conversion_rate,
335        p_summarization_template_id,
336        p_taxable_basis_formula,
337        p_tax_calculation_formula,
338        'N',                       -- historical_flag
339        p_cancel_flag,
340        p_delete_flag,
341        p_record_type_code,
342        p_tax_amt_included_flag,
343        p_self_assessed_flag,
344        p_overridden_flag,
345        p_compounding_tax_flag,
346        --p_tax_provider_id,
347        NULL,
348        p_manually_entered_flag,
349        p_tax_only_line_flag,
350        'Y',                       -- p_adjust_tax_amt_flag
351        'N',                       -- mrc_tax_line_flag
352        'N',                       -- reporting_only_flag
353        'N',                       -- associated_child_frozen_flag
354        'N',                       -- copied_from_other_doc_flag
355        decode(p_cancel_flag,'N',p_last_manual_entry,'TAX_AMOUNT'),  --setting last_manual_entry flag on the basis of cancel_flag.
356        p_attribute_category,
357        p_attribute1,
358        p_attribute2,
359        p_attribute3,
360        p_attribute4,
361        p_attribute5,
362        p_attribute6,
363        p_attribute7,
364        p_attribute8,
365        p_attribute9,
366        p_attribute10,
367        p_attribute11,
368        p_attribute12,
369        p_attribute13,
370        p_attribute14,
371        p_attribute15,
372        p_global_attribute_category,
373        p_global_attribute1,
374        p_global_attribute2,
375        p_global_attribute3,
376        p_global_attribute4,
377        p_global_attribute5,
378        p_global_attribute6,
379        p_global_attribute7,
380        p_global_attribute8,
381        p_global_attribute9,
382        p_global_attribute10,
383        p_global_attribute11,
384        p_global_attribute12,
385        p_global_attribute13,
386        p_global_attribute14,
387        p_global_attribute15,
388        1,    --p_object_version_number
389        fnd_global.user_id,
390        sysdate,
391        fnd_global.user_id,
392        sysdate,
393        fnd_global.login_id);
394 
395     OPEN C;
396     FETCH C INTO x_rowid;
397 
398     IF (C%NOTFOUND) THEN
399       CLOSE C;
400       RAISE NO_DATA_FOUND;
401     END IF;
402 
403     CLOSE C;
404 
405     IF (g_level_procedure >= g_current_runtime_level ) THEN
406       FND_LOG.STRING(g_level_procedure,
407                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row',
408                     'Insert into zx_lines_summary (-)');
409 
410       FND_LOG.STRING(g_level_procedure,
411                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Insert_Row.END',
412                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Insert_Row (-)');
413     END IF;
414 
415   END Insert_Row;
416 
417   PROCEDURE Lock_Row
418     (x_rowid                        IN OUT NOCOPY VARCHAR2,
419      p_summary_tax_line_id          NUMBER,
420      p_internal_organization_id     NUMBER,
421      p_application_id               NUMBER,
422      p_entity_code                  VARCHAR2,
423      p_event_class_code             VARCHAR2,
424      p_trx_id                       NUMBER,
425      p_summary_tax_line_number      NUMBER,
426      p_trx_number                   VARCHAR2,
427      p_applied_from_application_id  NUMBER,
428      p_applied_from_evt_class_code  VARCHAR2,   --reduced size p_applied_from_event_class_code
429      p_applied_from_entity_code     VARCHAR2,
430      p_applied_from_trx_id          NUMBER,
431      p_applied_from_trx_level_type  VARCHAR2,
432      p_applied_from_line_id         NUMBER,
433      p_adjusted_doc_application_id  NUMBER,
434      p_adjusted_doc_entity_code     VARCHAR2,
435      p_adjusted_doc_evt_class_code  VARCHAR2,   --reduced size p_adjusted_doc_event_class_code
436      p_adjusted_doc_trx_id          NUMBER,
437      p_adjusted_doc_trx_level_type  VARCHAR2,
438      p_applied_to_application_id    NUMBER,
439      p_applied_to_event_class_code  VARCHAR2,
440      p_applied_to_entity_code       VARCHAR2,
441      p_applied_to_trx_id            NUMBER,
442      p_applied_to_trx_level_type    VARCHAR2,
443      p_applied_to_line_id           NUMBER,
444      p_tax_exemption_id             NUMBER,
445      p_tax_rate_before_exemption    NUMBER,
446      p_tax_rate_name_before_exempt  VARCHAR2,   --reduced size p_tax_rate_name_before_exemption
447      p_exempt_rate_modifier         NUMBER,
448      p_exempt_certificate_number    VARCHAR2,
449      p_exempt_reason                VARCHAR2,
450      p_exempt_reason_code           VARCHAR2,
451      p_tax_rate_before_exception    NUMBER,
452      p_tax_rate_name_before_except  VARCHAR2,   --reduced size p_tax_rate_name_before_exception
453      p_tax_exception_id             NUMBER,
454      p_exception_rate               NUMBER,
455      p_content_owner_id             NUMBER,
456      p_tax_regime_code              VARCHAR2,
460      p_tax_rate_code                VARCHAR2,
457      p_tax                          VARCHAR2,
458      p_tax_status_code              VARCHAR2,
459      p_tax_rate_id                  NUMBER,
461      p_tax_rate                     NUMBER,
462      p_tax_amt                      NUMBER,
463      p_tax_amt_tax_curr             NUMBER,
464      p_tax_amt_funcl_curr           NUMBER,
465      p_tax_jurisdiction_code        VARCHAR2,
466      p_total_rec_tax_amt            NUMBER,
467      p_total_rec_tax_amt_func_curr  NUMBER,     --reduced size p_total_rec_tax_amt_funcl_curr
468      p_total_rec_tax_amt_tax_curr   NUMBER,
469      p_total_nrec_tax_amt           NUMBER,
470      p_total_nrec_tax_amt_func_curr NUMBER,     --reduced size p_total_nrec_tax_amt_funcl_curr
471      p_total_nrec_tax_amt_tax_curr  NUMBER,
472      p_ledger_id                    NUMBER,
473      p_legal_entity_id              NUMBER,
474      p_establishment_id             NUMBER,
475      p_currency_conversion_date     DATE,
476      p_currency_conversion_type     VARCHAR2,
477      p_currency_conversion_rate     NUMBER,
478      p_summarization_template_id    NUMBER,
479      p_taxable_basis_formula        VARCHAR2,
480      p_tax_calculation_formula      VARCHAR2,
481      p_historical_flag              VARCHAR2,
482      p_cancel_flag                  VARCHAR2,
483      p_delete_flag                  VARCHAR2,
484      p_tax_amt_included_flag        VARCHAR2,
485      p_compounding_tax_flag         VARCHAR2,
486      p_self_assessed_flag           VARCHAR2,
487      p_overridden_flag              VARCHAR2,
488      p_reporting_only_flag          VARCHAR2,
489      p_assoc_child_frozen_flag      VARCHAR2,   --reduced size p_Associated_Child_Frozen_Flag
490      p_copied_from_other_doc_flag   VARCHAR2,
491      p_manually_entered_flag        VARCHAR2,
492      p_mrc_tax_line_flag            VARCHAR2,
493      p_last_manual_entry            VARCHAR2,
494      p_record_type_code             VARCHAR2,
495      p_tax_provider_id              NUMBER,
496      p_tax_only_line_flag           VARCHAR2,
497      p_adjust_tax_amt_flag          VARCHAR2,
498      p_attribute_category           VARCHAR2,
499      p_attribute1                   VARCHAR2,
500      p_attribute2                   VARCHAR2,
501      p_attribute3                   VARCHAR2,
502      p_attribute4                   VARCHAR2,
503      p_attribute5                   VARCHAR2,
504      p_attribute6                   VARCHAR2,
505      p_attribute7                   VARCHAR2,
506      p_attribute8                   VARCHAR2,
507      p_attribute9                   VARCHAR2,
508      p_attribute10                  VARCHAR2,
509      p_attribute11                  VARCHAR2,
510      p_attribute12                  VARCHAR2,
511      p_attribute13                  VARCHAR2,
512      p_attribute14                  VARCHAR2,
513      p_attribute15                  VARCHAR2,
514      p_global_attribute_category    VARCHAR2,
515      p_global_attribute1            VARCHAR2,
516      p_global_attribute2            VARCHAR2,
517      p_global_attribute3            VARCHAR2,
518      p_global_attribute4            VARCHAR2,
519      p_global_attribute5            VARCHAR2,
520      p_global_attribute6            VARCHAR2,
521      p_global_attribute7            VARCHAR2,
522      p_global_attribute8            VARCHAR2,
523      p_global_attribute9            VARCHAR2,
524      p_global_attribute10           VARCHAR2,
525      p_global_attribute11           VARCHAR2,
526      p_global_attribute12           VARCHAR2,
527      p_global_attribute13           VARCHAR2,
528      p_global_attribute14           VARCHAR2,
529      p_global_attribute15           VARCHAR2,
530      p_global_attribute16           VARCHAR2,
531      p_global_attribute17           VARCHAR2,
532      p_global_attribute18           VARCHAR2,
533      p_global_attribute19           VARCHAR2,
534      p_global_attribute20           VARCHAR2,
535      p_object_version_number        NUMBER,
536      p_created_by                   NUMBER,
537      p_creation_date                DATE,
538      p_last_updated_by              NUMBER,
539      p_last_update_date             DATE,
540      p_last_update_login            NUMBER) IS
541 
542     CURSOR summary_lines_csr IS
543       SELECT SUMMARY_TAX_LINE_ID,
544              INTERNAL_ORGANIZATION_ID,
545              APPLICATION_ID,
546              ENTITY_CODE,
547              EVENT_CLASS_CODE,
548              TRX_ID,
549              SUMMARY_TAX_LINE_NUMBER,
550              TRX_NUMBER,
551              APPLIED_FROM_APPLICATION_ID,
552              APPLIED_FROM_EVENT_CLASS_CODE,
553              APPLIED_FROM_ENTITY_CODE,
554              APPLIED_FROM_TRX_ID,
555              APPLIED_FROM_TRX_LEVEL_TYPE,
556              APPLIED_FROM_LINE_ID,
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              APPLIED_TO_APPLICATION_ID,
563              APPLIED_TO_EVENT_CLASS_CODE,
564              APPLIED_TO_ENTITY_CODE,
565              APPLIED_TO_TRX_ID,
566              APPLIED_TO_TRX_LEVEL_TYPE,
567              APPLIED_TO_LINE_ID,
568              TAX_EXEMPTION_ID,
569              TAX_RATE_BEFORE_EXEMPTION,
570              TAX_RATE_NAME_BEFORE_EXEMPTION,
571              EXEMPT_RATE_MODIFIER,
572              EXEMPT_CERTIFICATE_NUMBER,
573              EXEMPT_REASON,
574              EXEMPT_REASON_CODE  ,
575              TAX_RATE_BEFORE_EXCEPTION,
576              TAX_RATE_NAME_BEFORE_EXCEPTION,
577              TAX_EXCEPTION_ID,
578              EXCEPTION_RATE,
579              CONTENT_OWNER_ID,
580              TAX_REGIME_CODE,
581              TAX,
585              TAX_RATE,
582              TAX_STATUS_CODE,
583              TAX_RATE_ID,
584              TAX_RATE_CODE,
586              TAX_AMT,
587              TAX_AMT_TAX_CURR,
588              TAX_AMT_FUNCL_CURR,
589              TAX_JURISDICTION_CODE,
590              TOTAL_REC_TAX_AMT,
591              TOTAL_REC_TAX_AMT_FUNCL_CURR,
592              TOTAL_REC_TAX_AMT_TAX_CURR,
593              TOTAL_NREC_TAX_AMT,
594              TOTAL_NREC_TAX_AMT_FUNCL_CURR,
595              TOTAL_NREC_TAX_AMT_TAX_CURR,
596              LEDGER_ID,
597              LEGAL_ENTITY_ID,
598              ESTABLISHMENT_ID,
599              CURRENCY_CONVERSION_DATE,
600              CURRENCY_CONVERSION_TYPE,
601              CURRENCY_CONVERSION_RATE,
602              SUMMARIZATION_TEMPLATE_ID,
603              TAXABLE_BASIS_FORMULA,
604              TAX_CALCULATION_FORMULA,
605              HISTORICAL_FLAG,
606              CANCEL_FLAG,
607              DELETE_FLAG,
608              TAX_AMT_INCLUDED_FLAG,
609              COMPOUNDING_TAX_FLAG,
610              SELF_ASSESSED_FLAG,
611              OVERRIDDEN_FLAG,
612              REPORTING_ONLY_FLAG,
613              ASSOCIATED_CHILD_FROZEN_FLAG,
614              COPIED_FROM_OTHER_DOC_FLAG,
615              MANUALLY_ENTERED_FLAG,
616              MRC_TAX_LINE_FLAG,
617              LAST_MANUAL_ENTRY,
618              RECORD_TYPE_CODE,
619              TAX_PROVIDER_ID,
620              TAX_ONLY_LINE_FLAG,
621              ADJUST_TAX_AMT_FLAG,
622              ATTRIBUTE_CATEGORY,
623              ATTRIBUTE1,
624              ATTRIBUTE2,
625              ATTRIBUTE3,
626              ATTRIBUTE4,
627              ATTRIBUTE5,
628              ATTRIBUTE6,
629              ATTRIBUTE7,
630              ATTRIBUTE8,
631              ATTRIBUTE9,
632              ATTRIBUTE10,
633              ATTRIBUTE11,
634              ATTRIBUTE12,
635              ATTRIBUTE13,
636              ATTRIBUTE14,
637              ATTRIBUTE15,
638              GLOBAL_ATTRIBUTE_CATEGORY,
639              GLOBAL_ATTRIBUTE1,
640              GLOBAL_ATTRIBUTE2,
641              GLOBAL_ATTRIBUTE3,
642              GLOBAL_ATTRIBUTE4,
643              GLOBAL_ATTRIBUTE5,
644              GLOBAL_ATTRIBUTE6,
645              GLOBAL_ATTRIBUTE7,
646              GLOBAL_ATTRIBUTE8,
647              GLOBAL_ATTRIBUTE9,
648              GLOBAL_ATTRIBUTE10,
649              GLOBAL_ATTRIBUTE11,
650              GLOBAL_ATTRIBUTE12,
651              GLOBAL_ATTRIBUTE13,
652              GLOBAL_ATTRIBUTE14,
653              GLOBAL_ATTRIBUTE15,
654              GLOBAL_ATTRIBUTE16,
655              GLOBAL_ATTRIBUTE17,
656              GLOBAL_ATTRIBUTE18,
657              GLOBAL_ATTRIBUTE19,
658              GLOBAL_ATTRIBUTE20,
659              OBJECT_VERSION_NUMBER,
660              CREATED_BY,
661              CREATION_DATE,
662              LAST_UPDATED_BY,
663              LAST_UPDATE_DATE,
664              LAST_UPDATE_LOGIN
665       FROM ZX_LINES_SUMMARY
666       WHERE ROWID = X_Rowid;
667 
668     Recinfo summary_lines_csr%ROWTYPE;
669     l_transaction_rec ZX_API_PUB.transaction_rec_type;
670     l_return_status VARCHAR2(1000);
671   BEGIN
672     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
673 
674     IF (g_level_procedure >= g_current_runtime_level ) THEN
675       FND_LOG.STRING(g_level_procedure,
676                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Lock_Row.BEGIN',
677                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Lock_Row (+)');
678     END IF;
679 
680     OPEN summary_lines_csr;
681     FETCH summary_lines_csr INTO Recinfo;
682 
683     IF (summary_lines_csr%NOTFOUND) THEN
684       CLOSE summary_lines_csr;
685       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
686       APP_EXCEPTION.Raise_Exception;
687     END IF;
688 
689     CLOSE summary_lines_csr;
690 
691     IF ((Recinfo.SUMMARY_TAX_LINE_ID      = p_summary_tax_line_id) AND
692         (Recinfo.INTERNAL_ORGANIZATION_ID = p_internal_organization_id) AND
693         (Recinfo.APPLICATION_ID           = p_application_id) AND
694         (Recinfo.ENTITY_CODE              = p_entity_code) AND
695         (Recinfo.EVENT_CLASS_CODE         = p_event_class_code) AND
696         (Recinfo.TRX_ID                   = p_trx_id) AND
697         (Recinfo.SUMMARY_TAX_LINE_NUMBER = p_summary_tax_line_number) AND
698         ((Recinfo.TRX_NUMBER = p_TRX_NUMBER) OR
699          ((Recinfo.TRX_NUMBER IS NULL) AND
700           (p_TRX_NUMBER IS NULL))) AND
701         ((Recinfo.APPLIED_FROM_APPLICATION_ID = p_APPLIED_FROM_APPLICATION_ID) OR
702          ((Recinfo.APPLIED_FROM_APPLICATION_ID IS NULL) AND
703           (p_APPLIED_FROM_APPLICATION_ID IS NULL))) AND
704         ((Recinfo.APPLIED_FROM_EVENT_CLASS_CODE = p_APPLIED_FROM_EVT_CLASS_CODE) OR
705          ((Recinfo.APPLIED_FROM_EVENT_CLASS_CODE IS NULL) AND
706           (p_APPLIED_FROM_EVT_CLASS_CODE IS NULL))) AND
707         ((Recinfo.APPLIED_FROM_ENTITY_CODE = p_APPLIED_FROM_ENTITY_CODE) OR
708          ((Recinfo.APPLIED_FROM_ENTITY_CODE IS NULL) AND
709           (p_APPLIED_FROM_ENTITY_CODE IS NULL))) AND
710         ((Recinfo.APPLIED_FROM_TRX_ID = p_APPLIED_FROM_TRX_ID) OR
711          ((Recinfo.APPLIED_FROM_TRX_ID IS NULL) AND
712           (p_APPLIED_FROM_TRX_ID IS NULL))) AND
713         ((Recinfo.APPLIED_FROM_TRX_LEVEL_TYPE = p_applied_from_trx_level_type) OR
714          ((Recinfo.APPLIED_FROM_TRX_LEVEL_TYPE IS NULL) AND
715           (p_applied_from_trx_level_type IS NULL))) AND
716         ((Recinfo.APPLIED_FROM_LINE_ID = p_APPLIED_FROM_LINE_ID) OR
717          ((Recinfo.APPLIED_FROM_LINE_ID IS NULL) AND
718           (p_APPLIED_FROM_LINE_ID IS NULL))) AND
722         ((Recinfo.ADJUSTED_DOC_ENTITY_CODE = p_ADJUSTED_DOC_ENTITY_CODE) OR
719         ((Recinfo.ADJUSTED_DOC_APPLICATION_ID = p_ADJUSTED_DOC_APPLICATION_ID) OR
720          ((Recinfo.ADJUSTED_DOC_APPLICATION_ID IS NULL) AND
721           (p_ADJUSTED_DOC_APPLICATION_ID IS NULL))) AND
723          ((Recinfo.ADJUSTED_DOC_ENTITY_CODE IS NULL) AND
724           (p_ADJUSTED_DOC_ENTITY_CODE IS NULL))) AND
725         ((Recinfo.ADJUSTED_DOC_EVENT_CLASS_CODE = p_ADJUSTED_DOC_EVT_CLASS_CODE) OR
726          ((Recinfo.ADJUSTED_DOC_EVENT_CLASS_CODE IS NULL) AND
727           (p_ADJUSTED_DOC_EVT_CLASS_CODE IS NULL))) AND
728         ((Recinfo.ADJUSTED_DOC_TRX_ID = p_ADJUSTED_DOC_TRX_ID) OR
729          ((Recinfo.ADJUSTED_DOC_TRX_ID IS NULL) AND
730           (p_ADJUSTED_DOC_TRX_ID IS NULL))) AND
731         ((Recinfo.ADJUSTED_DOC_TRX_LEVEL_TYPE = p_adjusted_doc_trx_level_type) OR
732          ((Recinfo.ADJUSTED_DOC_TRX_LEVEL_TYPE IS NULL) AND
733           (p_adjusted_doc_trx_level_type IS NULL))) AND
734         ((Recinfo.APPLIED_TO_APPLICATION_ID = p_APPLIED_TO_APPLICATION_ID) OR
735          ((Recinfo.APPLIED_TO_APPLICATION_ID IS NULL) AND
736           (p_APPLIED_TO_APPLICATION_ID IS NULL))) AND
737         ((Recinfo.APPLIED_TO_EVENT_CLASS_CODE = p_APPLIED_TO_EVENT_CLASS_CODE) OR
738          ((Recinfo.APPLIED_TO_EVENT_CLASS_CODE IS NULL) AND
739           (p_APPLIED_TO_EVENT_CLASS_CODE IS NULL))) AND
740         ((Recinfo.APPLIED_TO_ENTITY_CODE = p_APPLIED_TO_ENTITY_CODE) OR
741          ((Recinfo.APPLIED_TO_ENTITY_CODE IS NULL) AND
742           (p_APPLIED_TO_ENTITY_CODE IS NULL))) AND
743         ((Recinfo.APPLIED_TO_TRX_ID = p_APPLIED_TO_TRX_ID) OR
744          ((Recinfo.APPLIED_TO_TRX_ID IS NULL) AND
745           (p_APPLIED_TO_TRX_ID IS NULL))) AND
746         ((Recinfo.APPLIED_TO_TRX_LEVEL_TYPE = p_APPLIED_TO_TRX_LEVEL_TYPE) OR
747          ((Recinfo.APPLIED_TO_TRX_LEVEL_TYPE IS NULL) AND
748           (p_APPLIED_TO_TRX_LEVEL_TYPE IS NULL))) AND
749         ((Recinfo.APPLIED_TO_LINE_ID = p_APPLIED_TO_LINE_ID) OR
750          ((Recinfo.APPLIED_TO_LINE_ID IS NULL) AND
751           (p_APPLIED_TO_LINE_ID IS NULL))) AND
752         ((Recinfo.TAX_EXEMPTION_ID = p_TAX_EXEMPTION_ID) OR
753          ((Recinfo.TAX_EXEMPTION_ID IS NULL) AND
754           (p_TAX_EXEMPTION_ID IS NULL))) AND
755         ((Recinfo.TAX_RATE_BEFORE_EXEMPTION = p_TAX_RATE_BEFORE_EXEMPTION) OR
756          ((Recinfo.TAX_RATE_BEFORE_EXEMPTION IS NULL) AND
757           (p_TAX_RATE_BEFORE_EXEMPTION IS NULL))) AND
758         ((Recinfo.TAX_RATE_NAME_BEFORE_EXEMPTION = p_tax_rate_name_before_exempt) OR
759          ((Recinfo.TAX_RATE_NAME_BEFORE_EXEMPTION IS NULL) AND
760           (p_tax_rate_name_before_exempt IS NULL))) AND
761         ((Recinfo.EXEMPT_RATE_MODIFIER = p_EXEMPT_RATE_MODIFIER) OR
762          ((Recinfo.EXEMPT_RATE_MODIFIER IS NULL) AND
763           (p_EXEMPT_RATE_MODIFIER IS NULL))) AND
764         ((Recinfo.EXEMPT_CERTIFICATE_NUMBER = p_EXEMPT_CERTIFICATE_NUMBER) OR
765          ((Recinfo.EXEMPT_CERTIFICATE_NUMBER IS NULL) AND
766           (p_EXEMPT_CERTIFICATE_NUMBER IS NULL))) AND
767         ((Recinfo.EXEMPT_REASON = p_EXEMPT_REASON) OR
768          ((Recinfo.EXEMPT_REASON IS NULL) AND
769           (p_EXEMPT_REASON IS NULL))) AND
770         ((Recinfo.EXEMPT_REASON_CODE = p_EXEMPT_REASON_CODE) OR
771          ((Recinfo.EXEMPT_REASON_CODE IS NULL) AND
772           (p_EXEMPT_REASON_CODE IS NULL))) AND
773         ((Recinfo.TAX_RATE_BEFORE_EXCEPTION = p_TAX_RATE_BEFORE_EXCEPTION) OR
774          ((Recinfo.TAX_RATE_BEFORE_EXCEPTION IS NULL) AND
775           (p_TAX_RATE_BEFORE_EXCEPTION IS NULL))) AND
776         ((Recinfo.TAX_RATE_NAME_BEFORE_EXCEPTION = p_tax_rate_name_before_except) OR
777          ((Recinfo.TAX_RATE_NAME_BEFORE_EXCEPTION IS NULL) AND
778           (p_tax_rate_name_before_except IS NULL))) AND
779         ((Recinfo.TAX_EXCEPTION_ID = p_TAX_EXCEPTION_ID) OR
780          ((Recinfo.TAX_EXCEPTION_ID IS NULL) AND
781           (p_TAX_EXCEPTION_ID IS NULL))) AND
782         ((Recinfo.EXCEPTION_RATE = p_EXCEPTION_RATE) OR
783          ((Recinfo.EXCEPTION_RATE IS NULL) AND
784           (p_EXCEPTION_RATE IS NULL))) AND
785         ((Recinfo.CONTENT_OWNER_ID = p_CONTENT_OWNER_ID) OR
786          ((Recinfo.CONTENT_OWNER_ID IS NULL) AND
787           (p_CONTENT_OWNER_ID IS NULL))) AND
788         ((Recinfo.TAX_REGIME_CODE = p_tax_regime_code) OR
789          ((Recinfo.TAX_REGIME_CODE IS NULL) AND
790           (p_tax_regime_code IS NULL))) AND
791         ((Recinfo.TAX = p_tax ) OR
792          ((Recinfo.TAX IS NULL) AND
793           (p_tax  IS NULL))) AND
794         ((Recinfo.TAX_STATUS_CODE = p_tax_status_code) OR
795          ((Recinfo.TAX_STATUS_CODE IS NULL) AND
796           (p_tax_status_code IS NULL))) AND
797         ((Recinfo.TAX_RATE_ID = p_tax_rate_id ) OR
798          ((Recinfo.TAX_RATE_ID IS NULL) AND
799           (p_tax_rate_id  IS NULL))) AND
800         ((Recinfo.TAX_RATE_CODE = p_tax_rate_code) OR
801          ((Recinfo.TAX_RATE_CODE IS NULL) AND
802           (p_tax_rate_code IS NULL))) AND
803         ((Recinfo.TAX_RATE = p_tax_rate) OR
804          ((Recinfo.TAX_RATE IS NULL) AND
805           (p_tax_rate IS NULL))) AND
806         ((Recinfo.TAX_AMT = p_tax_amt) OR
807          ((Recinfo.TAX_AMT IS NULL) AND
808           (p_tax_amt IS NULL))) AND
809         ((Recinfo.TAX_AMT_TAX_CURR = p_TAX_AMT_TAX_CURR) OR
810          ((Recinfo.TAX_AMT_TAX_CURR IS NULL) AND
811           (p_TAX_AMT_TAX_CURR IS NULL))) AND
812         ((Recinfo.TAX_AMT_FUNCL_CURR = p_TAX_AMT_FUNCL_CURR) OR
813          ((Recinfo.TAX_AMT_FUNCL_CURR IS NULL) AND
814           (p_TAX_AMT_FUNCL_CURR IS NULL))) AND
815         ((Recinfo.TAX_JURISDICTION_CODE = p_tax_jurisdiction_code) OR
816          ((Recinfo.TAX_JURISDICTION_CODE IS NULL) AND
817           (p_tax_jurisdiction_code IS NULL))) AND
818         ((Recinfo.TOTAL_REC_TAX_AMT = p_total_rec_tax_amt) OR
819          ((Recinfo.TOTAL_REC_TAX_AMT IS NULL) AND
820           (p_total_rec_tax_amt IS NULL))) AND
821         ((Recinfo.TOTAL_REC_TAX_AMT_FUNCL_CURR = p_TOTAL_REC_TAX_AMT_FUNC_CURR) OR
825          ((Recinfo.TOTAL_REC_TAX_AMT_TAX_CURR IS NULL) AND
822          ((Recinfo.TOTAL_REC_TAX_AMT_FUNCL_CURR IS NULL) AND
823           (p_TOTAL_REC_TAX_AMT_FUNC_CURR IS NULL))) AND
824         ((Recinfo.TOTAL_REC_TAX_AMT_TAX_CURR = p_TOTAL_REC_TAX_AMT_TAX_CURR) OR
826           (p_TOTAL_REC_TAX_AMT_TAX_CURR IS NULL))) AND
827         ((Recinfo.TOTAL_NREC_TAX_AMT = p_total_nrec_tax_amt) OR
828          ((Recinfo.TOTAL_NREC_TAX_AMT IS NULL) AND
829           (p_total_nrec_tax_amt IS NULL))) AND
830         ((Recinfo.TOTAL_NREC_TAX_AMT_FUNCL_CURR = p_TOTAL_NREC_TAX_AMT_FUNC_CURR) OR
831          ((Recinfo.TOTAL_NREC_TAX_AMT_FUNCL_CURR IS NULL) AND
832           (p_TOTAL_NREC_TAX_AMT_FUNC_CURR IS NULL))) AND
833         ((Recinfo.TOTAL_NREC_TAX_AMT_TAX_CURR = p_TOTAL_NREC_TAX_AMT_TAX_CURR) OR
834          ((Recinfo.TOTAL_NREC_TAX_AMT_TAX_CURR IS NULL) AND
835           (p_TOTAL_NREC_TAX_AMT_TAX_CURR IS NULL))) AND
836         ((Recinfo.LEDGER_ID = p_LEDGER_ID) OR
837          ((Recinfo.LEDGER_ID IS NULL) AND
838           (p_LEDGER_ID IS NULL))) AND
839         ((Recinfo.LEGAL_ENTITY_ID = p_LEGAL_ENTITY_ID) OR
840          ((Recinfo.LEGAL_ENTITY_ID IS NULL) AND
841           (p_LEGAL_ENTITY_ID IS NULL))) AND
842         ((Recinfo.ESTABLISHMENT_ID = p_ESTABLISHMENT_ID) OR
843          ((Recinfo.ESTABLISHMENT_ID IS NULL) AND
844           (p_ESTABLISHMENT_ID IS NULL))) AND
845         ((Recinfo.CURRENCY_CONVERSION_DATE = p_CURRENCY_CONVERSION_DATE) OR
846          ((Recinfo.CURRENCY_CONVERSION_DATE IS NULL) AND
847           (p_CURRENCY_CONVERSION_DATE IS NULL))) AND
848         ((Recinfo.CURRENCY_CONVERSION_TYPE = p_CURRENCY_CONVERSION_TYPE) OR
849          ((Recinfo.CURRENCY_CONVERSION_TYPE IS NULL) AND
850           (p_CURRENCY_CONVERSION_TYPE IS NULL))) AND
851         ((Recinfo.CURRENCY_CONVERSION_RATE = p_CURRENCY_CONVERSION_RATE) OR
852          ((Recinfo.CURRENCY_CONVERSION_RATE IS NULL) AND
853           (p_CURRENCY_CONVERSION_RATE IS NULL))) AND
854         ((Recinfo.SUMMARIZATION_TEMPLATE_ID = p_SUMMARIZATION_TEMPLATE_ID) OR
855          ((Recinfo.SUMMARIZATION_TEMPLATE_ID IS NULL) AND
856           (p_SUMMARIZATION_TEMPLATE_ID IS NULL))) AND
857         ((Recinfo.TAXABLE_BASIS_FORMULA = p_TAXABLE_BASIS_FORMULA) OR
858          ((Recinfo.TAXABLE_BASIS_FORMULA IS NULL) AND
859           (p_TAXABLE_BASIS_FORMULA IS NULL))) AND
860         ((Recinfo.TAX_CALCULATION_FORMULA = p_TAX_CALCULATION_FORMULA) OR
861          ((Recinfo.TAX_CALCULATION_FORMULA IS NULL) AND
862           (p_TAX_CALCULATION_FORMULA IS NULL))) AND
863         (Recinfo.HISTORICAL_FLAG = NVL(p_Historical_Flag, 'N')) AND
864         (Recinfo.CANCEL_FLAG = NVL(p_Cancel_Flag, 'N')) AND
865         (Recinfo.DELETE_FLAG = NVL(p_Delete_Flag, 'N')) AND
866         (Recinfo.TAX_AMT_INCLUDED_FLAG = NVL(p_Tax_Amt_Included_Flag, 'N')) AND
867         (Recinfo.COMPOUNDING_TAX_FLAG = NVL(p_Compounding_Tax_Flag, 'N')) AND
868         (Recinfo.SELF_ASSESSED_FLAG = NVL(p_Self_Assessed_Flag, 'N')) AND
869         (Recinfo.OVERRIDDEN_FLAG = NVL(p_Overridden_Flag, 'N')) AND
870         (Recinfo.REPORTING_ONLY_FLAG = NVL(p_Reporting_Only_Flag, 'N')) AND
871         (Recinfo.ASSOCIATED_CHILD_FROZEN_FLAG = NVL(p_assoc_child_frozen_flag, 'N')) AND
872         (Recinfo.COPIED_FROM_OTHER_DOC_FLAG = NVL(p_Copied_From_Other_Doc_Flag, 'N')) AND
873         (Recinfo.MANUALLY_ENTERED_FLAG = NVL(p_Manually_Entered_Flag, 'N')) AND
874         ((Recinfo.MRC_TAX_LINE_FLAG = p_MRC_TAX_LINE_FLAG) OR
875          ((Recinfo.MRC_TAX_LINE_FLAG IS NULL) AND
876           (p_MRC_TAX_LINE_FLAG IS NULL))) AND
877         ((Recinfo.LAST_MANUAL_ENTRY = p_last_manual_entry) OR
878          ((Recinfo.LAST_MANUAL_ENTRY IS NULL) AND
879           (p_last_manual_entry IS NULL))) AND
880         ((Recinfo.Record_Type_Code = p_Record_Type_Code) OR
881          ((Recinfo.Record_Type_Code IS NULL) AND
882           (p_Record_Type_Code IS NULL))) AND
883         ((Recinfo.TAX_PROVIDER_ID = p_tax_provider_id) OR
884          ((Recinfo.TAX_PROVIDER_ID IS NULL) AND
885           (p_tax_provider_id IS NULL))) AND
886         (NVL(Recinfo.Tax_Only_Line_Flag, 'N') = NVL(p_Tax_Only_Line_Flag, 'N')) AND
887         (NVL(Recinfo.adjust_tax_amt_flag, 'N') = NVL(p_adjust_tax_amt_flag, 'N')) AND
888         ((Recinfo.ATTRIBUTE_CATEGORY = p_attribute_category) OR
889          ((Recinfo.ATTRIBUTE_CATEGORY IS NULL) AND
890           (p_attribute_category IS NULL))) AND
891         ((Recinfo.ATTRIBUTE1 = p_attribute1) OR
892          ((Recinfo.ATTRIBUTE1 IS NULL) AND
893           (p_attribute1 IS NULL))) AND
894         ((Recinfo.ATTRIBUTE2 = p_attribute2) OR
895          ((Recinfo.ATTRIBUTE2 IS NULL) AND
896           (p_attribute2 IS NULL))) AND
897         ((Recinfo.ATTRIBUTE3 = p_attribute3) OR
898          ((Recinfo.ATTRIBUTE3 IS NULL) AND
899           (p_attribute3 IS NULL))) AND
900         ((Recinfo.ATTRIBUTE4 = p_attribute4) OR
901          ((Recinfo.ATTRIBUTE4 IS NULL) AND
902           (p_attribute4 IS NULL))) AND
903         ((Recinfo.ATTRIBUTE5 = p_attribute5) OR
904          ((Recinfo.ATTRIBUTE5 IS NULL) AND
905           (p_attribute5 IS NULL))) AND
906         ((Recinfo.ATTRIBUTE6 = p_attribute6) OR
907          ((Recinfo.ATTRIBUTE6 IS NULL) AND
908           (p_attribute6 IS NULL))) AND
909         ((Recinfo.ATTRIBUTE7 = p_attribute7) OR
910          ((Recinfo.ATTRIBUTE7 IS NULL) AND
911           (p_attribute7 IS NULL))) AND
912         ((Recinfo.ATTRIBUTE8 = p_attribute8) OR
913          ((Recinfo.ATTRIBUTE8 IS NULL) AND
914           (p_attribute8 IS NULL))) AND
915         ((Recinfo.ATTRIBUTE9 = p_attribute9) OR
916          ((Recinfo.ATTRIBUTE9 IS NULL) AND
917           (p_attribute9 IS NULL))) AND
918         ((Recinfo.ATTRIBUTE10 = p_attribute10) OR
919          ((Recinfo.ATTRIBUTE10 IS NULL) AND
920           (p_attribute10 IS NULL))) AND
921         ((Recinfo.ATTRIBUTE11 = p_attribute11) OR
922          ((Recinfo.ATTRIBUTE11 IS NULL) AND
923           (p_attribute11 IS NULL))) AND
924         ((Recinfo.ATTRIBUTE12 = p_attribute12) OR
925          ((Recinfo.ATTRIBUTE12 IS NULL) AND
929           (p_attribute13 IS NULL))) AND
926           (p_attribute12 IS NULL))) AND
927         ((Recinfo.ATTRIBUTE13 = p_attribute13) OR
928          ((Recinfo.ATTRIBUTE13 IS NULL) AND
930         ((Recinfo.ATTRIBUTE14 = p_attribute14) OR
931          ((Recinfo.ATTRIBUTE14 IS NULL) AND
932           (p_attribute14 IS NULL))) AND
933         ((Recinfo.ATTRIBUTE15 = p_attribute15) OR
934          ((Recinfo.ATTRIBUTE15 IS NULL) AND
935           (p_attribute15 IS NULL))) AND
936         ((Recinfo.GLOBAL_ATTRIBUTE_CATEGORY = p_global_attribute_category) OR
937          ((Recinfo.GLOBAL_ATTRIBUTE_CATEGORY IS NULL) AND
938           (p_global_attribute_category IS NULL))) AND
939         ((Recinfo.GLOBAL_ATTRIBUTE1 = p_global_attribute1) OR
940          ((Recinfo.GLOBAL_ATTRIBUTE1 IS NULL) AND
941           (p_global_attribute1 IS NULL))) AND
942         ((Recinfo.GLOBAL_ATTRIBUTE2 = p_global_attribute2) OR
943          ((Recinfo.GLOBAL_ATTRIBUTE2 IS NULL) AND
944           (p_global_attribute2 IS NULL))) AND
945         ((Recinfo.GLOBAL_ATTRIBUTE3 = p_global_attribute3) OR
946          ((Recinfo.GLOBAL_ATTRIBUTE3 IS NULL) AND
947           (p_global_attribute3 IS NULL))) AND
948         ((Recinfo.GLOBAL_ATTRIBUTE4 = p_global_attribute4) OR
949          ((Recinfo.GLOBAL_ATTRIBUTE4 IS NULL) AND
950           (p_global_attribute4 IS NULL))) AND
951         ((Recinfo.GLOBAL_ATTRIBUTE5 = p_global_attribute5) OR
952          ((Recinfo.GLOBAL_ATTRIBUTE5 IS NULL) AND
953           (p_global_attribute5 IS NULL))) AND
954         ((Recinfo.GLOBAL_ATTRIBUTE6 = p_global_attribute6) OR
955          ((Recinfo.GLOBAL_ATTRIBUTE6 IS NULL) AND
956           (p_global_attribute6 IS NULL))) AND
957         ((Recinfo.GLOBAL_ATTRIBUTE7 = p_global_attribute7) OR
958          ((Recinfo.GLOBAL_ATTRIBUTE7 IS NULL) AND
959           (p_global_attribute7 IS NULL))) AND
960         ((Recinfo.GLOBAL_ATTRIBUTE8 = p_global_attribute8) OR
961          ((Recinfo.GLOBAL_ATTRIBUTE8 IS NULL) AND
962           (p_global_attribute8 IS NULL))) AND
963         ((Recinfo.GLOBAL_ATTRIBUTE9 = p_global_attribute9) OR
964          ((Recinfo.GLOBAL_ATTRIBUTE9 IS NULL) AND
965           (p_global_attribute9 IS NULL))) AND
966         ((Recinfo.GLOBAL_ATTRIBUTE10 = p_global_attribute10) OR
967          ((Recinfo.GLOBAL_ATTRIBUTE10 IS NULL) AND
968           (p_global_attribute10 IS NULL))) AND
969         ((Recinfo.GLOBAL_ATTRIBUTE11 = p_global_attribute11) OR
970          ((Recinfo.GLOBAL_ATTRIBUTE11 IS NULL) AND
971           (p_global_attribute11 IS NULL))) AND
972         ((Recinfo.GLOBAL_ATTRIBUTE12 = p_global_attribute12) OR
973          ((Recinfo.GLOBAL_ATTRIBUTE12 IS NULL) AND
974           (p_global_attribute12 IS NULL))) AND
975         ((Recinfo.GLOBAL_ATTRIBUTE13 = p_global_attribute13) OR
976          ((Recinfo.GLOBAL_ATTRIBUTE13 IS NULL) AND
977           (p_global_attribute13 IS NULL))) AND
978         ((Recinfo.GLOBAL_ATTRIBUTE14 = p_global_attribute14) OR
979          ((Recinfo.GLOBAL_ATTRIBUTE14 IS NULL) AND
980           (p_global_attribute14 IS NULL))) AND
981         ((Recinfo.GLOBAL_ATTRIBUTE15 = p_global_attribute15) OR
982          ((Recinfo.GLOBAL_ATTRIBUTE15 IS NULL) AND
983           (p_global_attribute15 IS NULL))) AND
984         ((Recinfo.GLOBAL_ATTRIBUTE16 = p_global_attribute16) OR
985          ((Recinfo.GLOBAL_ATTRIBUTE16 IS NULL) AND
986           (p_global_attribute16 IS NULL))) AND
987         ((Recinfo.GLOBAL_ATTRIBUTE17 = p_global_attribute17) OR
988          ((Recinfo.GLOBAL_ATTRIBUTE17 IS NULL) AND
989           (p_global_attribute17 IS NULL))) AND
990         ((Recinfo.GLOBAL_ATTRIBUTE18 = p_global_attribute18) OR
991          ((Recinfo.GLOBAL_ATTRIBUTE18 IS NULL) AND
992           (p_global_attribute18 IS NULL))) AND
993         ((Recinfo.GLOBAL_ATTRIBUTE19 = p_global_attribute19) OR
994          ((Recinfo.GLOBAL_ATTRIBUTE19 IS NULL) AND
995           (p_global_attribute19 IS NULL))) AND
996         ((Recinfo.GLOBAL_ATTRIBUTE20 = p_global_attribute20) OR
997          ((Recinfo.GLOBAL_ATTRIBUTE20 IS NULL) AND
998           (p_global_attribute20 IS NULL))) AND
999         (Recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER) AND
1000         (Recinfo.CREATED_BY = p_CREATED_BY) AND
1001         (Recinfo.CREATION_DATE = p_CREATION_DATE) AND
1002         (Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY) AND
1003         (Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE) AND
1004         ((Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN) OR
1005          ((Recinfo.LAST_UPDATE_LOGIN IS NULL) AND
1006           (p_LAST_UPDATE_LOGIN IS NULL))) ) THEN
1007       l_transaction_rec.APPLICATION_ID    :=  Recinfo.APPLICATION_ID;
1008       l_transaction_rec.ENTITY_CODE       :=  Recinfo.ENTITY_CODE;
1009       l_transaction_rec.EVENT_CLASS_CODE  :=  Recinfo.EVENT_CLASS_CODE;
1010       l_transaction_rec.TRX_ID            :=  Recinfo.TRX_ID;
1011       l_transaction_rec.INTERNAL_ORGANIZATION_ID  := Recinfo.INTERNAL_ORGANIZATION_ID;
1012 
1013       ZX_LINES_DET_FACTORS_PKG.lock_line_det_factors (
1014                 l_transaction_rec,
1015                 l_return_status );
1016 
1017       RETURN;
1018     ELSE
1019       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1020       APP_EXCEPTION.Raise_Exception;
1021     END IF;
1022 
1023     IF (g_level_procedure >= g_current_runtime_level ) THEN
1024       FND_LOG.STRING(g_level_procedure,
1025                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Lock_Row.END',
1026                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Lock_Row (-)');
1027     END IF;
1028 
1029   END Lock_Row;
1030 
1031   PROCEDURE oa_lock_row
1032     ( p_application_id           NUMBER,
1033       p_entity_code              VARCHAR2,
1034       p_event_class_code         VARCHAR2,
1035       p_trx_id                   NUMBER,
1036       p_internal_organization_id NUMBER)  IS
1037 
1038     l_transaction_rec ZX_API_PUB.transaction_rec_type;
1039     l_return_status VARCHAR2(100);
1040 
1041   BEGIN
1042 
1046     l_transaction_rec.TRX_ID            :=  p_TRX_ID;
1043     l_transaction_rec.APPLICATION_ID    :=  p_APPLICATION_ID;
1044     l_transaction_rec.ENTITY_CODE       :=  p_ENTITY_CODE;
1045     l_transaction_rec.EVENT_CLASS_CODE  :=  p_EVENT_CLASS_CODE;
1047     l_transaction_rec.INTERNAL_ORGANIZATION_ID  := p_INTERNAL_ORGANIZATION_ID;
1048 
1049     ZX_LINES_DET_FACTORS_PKG.lock_line_det_factors (
1050               l_transaction_rec,
1051               l_return_status );
1052 
1053   END;
1054 
1055 
1056   PROCEDURE Update_Row
1057     (--x_rowid                        IN OUT NOCOPY VARCHAR2,
1058      p_summary_tax_line_id          NUMBER,
1059      p_internal_organization_id     NUMBER,
1060      p_application_id               NUMBER,
1061      p_entity_code                  VARCHAR2,
1062      p_event_class_code             VARCHAR2,
1063      p_trx_id                       NUMBER,
1064      p_summary_tax_line_number      NUMBER,
1065      p_trx_number                   VARCHAR2,
1066      p_applied_from_application_id  NUMBER,
1067      p_applied_from_evt_class_code  VARCHAR2, --reduced size p_applied_from_event_class_code
1068      p_applied_from_entity_code     VARCHAR2,
1069      p_applied_from_trx_id          NUMBER,
1070      p_applied_from_trx_level_type  VARCHAR2,
1071      p_applied_from_line_id         NUMBER,
1072      p_adjusted_doc_application_id  NUMBER,
1073      p_adjusted_doc_entity_code     VARCHAR2,
1074      p_adjusted_doc_evt_class_code  VARCHAR2, --reduced size p_adjusted_doc_event_class_code
1075      p_adjusted_doc_trx_id          NUMBER,
1076      p_adjusted_doc_trx_level_type  VARCHAR2,
1077      p_applied_to_application_id    NUMBER,
1078      p_applied_to_event_class_code  VARCHAR2,
1079      p_applied_to_entity_code       VARCHAR2,
1080      p_applied_to_trx_id            NUMBER,
1081      p_applied_to_trx_level_type    VARCHAR2,
1082      p_applied_to_line_id           NUMBER,
1083      p_tax_exemption_id             NUMBER,
1084      p_tax_rate_before_exemption    NUMBER,
1085      p_tax_rate_name_before_exempt  VARCHAR2, --reduced size p_tax_rate_name_before_exemption
1086      p_exempt_rate_modifier         NUMBER,
1087      p_exempt_certificate_number    VARCHAR2,
1088      p_exempt_reason                VARCHAR2,
1089      p_exempt_reason_code           VARCHAR2,
1090      p_tax_rate_before_exception    NUMBER,
1091      p_tax_rate_name_before_except  VARCHAR2, --reduced size p_tax_rate_name_before_exception
1092      p_tax_exception_id             NUMBER,
1093      p_exception_rate               NUMBER,
1094      p_content_owner_id             NUMBER,
1095      p_tax_regime_code              VARCHAR2,
1096      p_tax                          VARCHAR2,
1097      p_tax_status_id                NUMBER,
1098      p_tax_status_code              VARCHAR2,
1099      p_tax_rate_id                  NUMBER,
1100      p_tax_rate_code                VARCHAR2,
1101      p_tax_rate                     NUMBER,
1102      p_tax_amt                      NUMBER,
1103      p_tax_amt_tax_curr             NUMBER,
1104      p_tax_amt_funcl_curr           NUMBER,
1105      p_tax_jurisdiction_code        VARCHAR2,
1106      p_total_rec_tax_amt            NUMBER,
1107      p_total_rec_tax_amt_func_curr  NUMBER,   --reduced size p_total_rec_tax_amt_funcl_curr
1108      p_total_rec_tax_amt_tax_curr   NUMBER,
1109      p_total_nrec_tax_amt           NUMBER,
1110      p_total_nrec_tax_amt_func_curr NUMBER,   --reduced size p_total_nrec_tax_amt_funcl_curr
1111      p_total_nrec_tax_amt_tax_curr  NUMBER,
1112      p_ledger_id                    NUMBER,
1113      p_legal_entity_id              NUMBER,
1114      p_establishment_id             NUMBER,
1115      p_currency_conversion_date     DATE,
1116      p_currency_conversion_type     VARCHAR2,
1117      p_currency_conversion_rate     NUMBER,
1118      p_summarization_template_id    NUMBER,
1119      p_taxable_basis_formula        VARCHAR2,
1120      p_tax_calculation_formula      VARCHAR2,
1121      p_historical_flag              VARCHAR2,
1122      p_cancel_flag                  VARCHAR2,
1123      p_delete_flag                  VARCHAR2,
1124      p_tax_amt_included_flag        VARCHAR2,
1125      p_compounding_tax_flag         VARCHAR2,
1126      p_self_assessed_flag           VARCHAR2,
1127      p_overridden_flag              VARCHAR2,
1128      p_reporting_only_flag          VARCHAR2,
1129      p_assoc_child_frozen_flag      VARCHAR2, --reduced size p_Associated_Child_Frozen_Flag
1130      p_copied_from_other_doc_flag   VARCHAR2,
1131      p_manually_entered_flag        VARCHAR2,
1132      p_mrc_tax_line_flag            VARCHAR2,
1133      p_last_manual_entry            VARCHAR2,
1134      p_record_type_code             VARCHAR2,
1135      p_tax_provider_id              NUMBER,
1136      p_tax_only_line_flag           VARCHAR2,
1137      p_adjust_tax_amt_flag          VARCHAR2,
1138      --p_ctrl_ef_ov_cal_line_flag     VARCHAR2,
1139      p_attribute_category           VARCHAR2,
1140      p_attribute1                   VARCHAR2,
1141      p_attribute2                   VARCHAR2,
1142      p_attribute3                   VARCHAR2,
1143      p_attribute4                   VARCHAR2,
1144      p_attribute5                   VARCHAR2,
1145      p_attribute6                   VARCHAR2,
1146      p_attribute7                   VARCHAR2,
1147      p_attribute8                   VARCHAR2,
1148      p_attribute9                   VARCHAR2,
1149      p_attribute10                  VARCHAR2,
1150      p_attribute11                  VARCHAR2,
1151      p_attribute12                  VARCHAR2,
1152      p_attribute13                  VARCHAR2,
1153      p_attribute14                  VARCHAR2,
1154      p_attribute15                  VARCHAR2,
1155      p_global_attribute_category    VARCHAR2,
1156      p_global_attribute1            VARCHAR2,
1157      p_global_attribute2            VARCHAR2,
1158      p_global_attribute3            VARCHAR2,
1159      p_global_attribute4            VARCHAR2,
1163      p_global_attribute8            VARCHAR2,
1160      p_global_attribute5            VARCHAR2,
1161      p_global_attribute6            VARCHAR2,
1162      p_global_attribute7            VARCHAR2,
1164      p_global_attribute9            VARCHAR2,
1165      p_global_attribute10           VARCHAR2,
1166      p_global_attribute11           VARCHAR2,
1167      p_global_attribute12           VARCHAR2,
1168      p_global_attribute13           VARCHAR2,
1169      p_global_attribute14           VARCHAR2,
1170      p_global_attribute15           VARCHAR2,
1171      p_global_attribute16           VARCHAR2,
1172      p_global_attribute17           VARCHAR2,
1173      p_global_attribute18           VARCHAR2,
1174      p_global_attribute19           VARCHAR2,
1175      p_global_attribute20           VARCHAR2,
1176      p_object_version_number        NUMBER,
1177      --p_created_by                   NUMBER,
1178      --p_creation_date                DATE,
1179      p_last_updated_by              NUMBER,
1180      p_last_update_date             DATE,
1181      p_last_update_login            NUMBER) IS
1182 
1183     CURSOR c_det (p_application_id NUMBER,
1184                   p_entity_code VARCHAR2,
1185                   p_event_class_code VARCHAR2,
1186                   p_trx_id      NUMBER) IS
1187       SELECT trx_line_id, summary_tax_line_id
1188       FROM zx_lines
1189       WHERE application_id = p_application_id
1190       AND   entity_code = p_entity_code
1191       AND   event_class_code = p_event_class_code
1192       AND   trx_id = p_trx_id;
1193 
1194     CURSOR c_line (p_application_id NUMBER,
1195                    p_entity_code VARCHAR2,
1196                    p_event_class_code VARCHAR2,
1197                    p_trx_id      NUMBER,
1198                    p_tax_line_id NUMBER) IS
1199       SELECT
1200          tax_status_code,
1201          tax_rate_id,
1202          tax_rate_code,
1203          tax_rate,
1204          tax_jurisdiction_code,
1205          ledger_id,
1206          legal_entity_id,
1207          establishment_id,
1208          TRUNC(currency_conversion_date) currency_conversion_date,
1209          currency_conversion_type,
1210          currency_conversion_rate,
1211          taxable_basis_formula,
1212          tax_calculation_formula,
1213          tax_amt_included_flag,
1214          compounding_tax_flag,
1215          self_assessed_flag,
1216          reporting_only_flag,
1217          copied_from_other_doc_flag,
1218          record_type_code,
1219          tax_provider_id,
1220          historical_flag,
1221          delete_flag,
1222          overridden_flag,
1223          manually_entered_flag,
1224          tax_exemption_id,
1225          tax_rate_before_exemption,
1226          tax_rate_name_before_exemption,
1227          exempt_rate_modifier,
1228          exempt_certificate_number,
1229          exempt_reason,
1230          exempt_reason_code,
1231          tax_rate_before_exception,
1232          tax_rate_name_before_exception,
1233          tax_exception_id,
1234          exception_rate,
1235          mrc_tax_line_flag,
1236          tax_only_line_flag
1237        FROM zx_lines
1238        WHERE application_id = p_application_id
1239        AND   entity_code = p_entity_code
1240        AND   event_class_code = p_event_class_code
1241        AND   trx_id  = p_trx_id
1242        AND   tax_line_id = p_tax_line_id;
1243 
1244     Cursor c2(p_application_id       NUMBER,
1245               p_entity_code          VARCHAR2,
1246               p_event_class_code     VARCHAR2,
1247               p_trx_id               NUMBER,
1248               p_summary_tax_line_id  NUMBER) IS
1249     SELECT
1250        tax_line_id,
1251        internal_organization_id,
1252        application_id,
1253        entity_code,
1254        event_class_code,
1255        event_type_code,
1256        trx_id,
1257        trx_line_id,
1258        trx_level_type,
1259        trx_line_number,
1260        doc_event_status,
1261        tax_event_class_code,
1262        tax_event_type_code,
1263        tax_line_number,
1264        content_owner_id,
1265        tax_regime_id,
1266        tax_regime_code,
1267        tax_id,
1268        tax,
1269        tax_status_id,
1270        tax_status_code,
1271        tax_rate_id,
1272        tax_rate_code,
1273        tax_rate,
1274        tax_rate_type,
1275        tax_apportionment_line_number,  --reduced in size tax_apportionment_line_number
1276        trx_id_level2,
1277        trx_id_level3,
1278        trx_id_level4,
1279        trx_id_level5,
1280        trx_id_level6,
1281        trx_user_key_level1,
1282        trx_user_key_level2,
1283        trx_user_key_level3,
1284        trx_user_key_level4,
1285        trx_user_key_level5,
1286        trx_user_key_level6,
1287        mrc_tax_line_flag,
1288        mrc_link_to_tax_line_id,
1289        ledger_id,
1290        establishment_id,
1291        legal_entity_id,
1292        hq_estb_reg_number,
1293        hq_estb_party_tax_prof_id,
1294        currency_conversion_date,
1295        currency_conversion_type,
1296        currency_conversion_rate,
1297        tax_currency_conversion_date,   --reduced in size tax_currency_conversion_date
1298        tax_currency_conversion_type,   --reduced in sizetax_currency_conversion_type
1299        tax_currency_conversion_rate,   --reduced in sizetax_currency_conversion_rate
1300        trx_currency_code,
1301        reporting_currency_code,
1302        minimum_accountable_unit,
1303        precision,
1304        trx_number,
1305        trx_date,
1306        unit_price,
1307        line_amt,
1308        trx_line_quantity,
1309        tax_base_modifier_rate,
1310        ref_doc_application_id,
1311        ref_doc_entity_code,
1315        ref_doc_line_id,
1312        ref_doc_event_class_code,
1313        ref_doc_trx_id,
1314        ref_doc_trx_level_type,
1316        ref_doc_line_quantity,
1317        other_doc_line_amt,
1318        other_doc_line_tax_amt,
1319        other_doc_line_taxable_amt,
1320        unrounded_taxable_amt,
1321        unrounded_tax_amt,
1322        related_doc_application_id,
1323        related_doc_entity_code,
1324        related_doc_event_class_code,   --reduced in sizerelated_doc_event_class_code
1325        related_doc_trx_id,
1326        related_doc_trx_level_type,
1327        related_doc_number,
1328        related_doc_date,
1329        applied_from_application_id,    --reduced in sizeapplied_from_application_id
1330        applied_from_event_class_code,  --reduced in sizeapplied_from_event_class_code
1331        applied_from_entity_code,
1332        applied_from_trx_id,
1333        applied_from_trx_level_type,
1334        applied_from_line_id,
1335        applied_from_trx_number,
1336        adjusted_doc_application_id,    -- reduced in size adjusted_doc_application_id
1337        adjusted_doc_entity_code,
1338        adjusted_doc_event_class_code,  -- reduced in size adjusted_doc_event_class_code
1339        adjusted_doc_trx_id,
1340        adjusted_doc_trx_level_type,
1341        adjusted_doc_line_id,
1342        adjusted_doc_number,
1343        adjusted_doc_date,
1344        applied_to_application_id,
1345        applied_to_event_class_code,    --reduced in sizeapplied_to_event_class_code
1346        applied_to_entity_code,
1347        applied_to_trx_id,
1348        applied_to_trx_level_type,
1349        applied_to_line_id,
1350        summary_tax_line_id,
1351        offset_link_to_tax_line_id,
1352        offset_flag,
1353        process_for_recovery_flag,
1354        tax_jurisdiction_id,
1355        tax_jurisdiction_code,
1356        place_of_supply,
1357        place_of_supply_type_code,
1358        place_of_supply_result_id,
1359        tax_date_rule_id,
1360        tax_date,
1361        tax_determine_date,
1362        tax_point_date,
1363        trx_line_date,
1364        tax_type_code,
1365        tax_code,
1366        tax_registration_id,
1367        tax_registration_number,
1368        registration_party_type,
1369        rounding_level_code,
1370        rounding_rule_code,
1371        rounding_lvl_party_tax_prof_id, -- reduced in size rounding_lvl_party_tax_prof_id
1372        rounding_lvl_party_type,
1373        compounding_tax_flag,
1374        orig_tax_status_id,
1375        orig_tax_status_code,
1376        orig_tax_rate_id,
1377        orig_tax_rate_code,
1378        orig_tax_rate,
1379        orig_tax_jurisdiction_id,
1380        orig_tax_jurisdiction_code,
1381        orig_tax_amt_included_flag,
1382        orig_self_assessed_flag,
1383        tax_currency_code,
1384        tax_amt,
1385        tax_amt_tax_curr,
1386        tax_amt_funcl_curr,
1387        taxable_amt,
1388        taxable_amt_tax_curr,
1389        taxable_amt_funcl_curr,
1390        orig_taxable_amt,
1391        orig_taxable_amt_tax_curr,
1392        cal_tax_amt,
1393        cal_tax_amt_tax_curr,
1394        cal_tax_amt_funcl_curr,
1395        orig_tax_amt,
1396        orig_tax_amt_tax_curr,
1397        rec_tax_amt,
1398        rec_tax_amt_tax_curr,
1399        rec_tax_amt_funcl_curr,
1400        nrec_tax_amt,
1401        nrec_tax_amt_tax_curr,
1402        nrec_tax_amt_funcl_curr,
1403        tax_exemption_id,
1404        tax_rate_before_exemption,
1405        tax_rate_name_before_exemption,
1406        exempt_rate_modifier,
1407        exempt_certificate_number,
1408        exempt_reason,
1409        exempt_reason_code,
1410        tax_exception_id,
1411        tax_rate_before_exception,
1412        tax_rate_name_before_exception,
1413        exception_rate,
1414        tax_apportionment_flag,
1415        historical_flag,
1416        taxable_basis_formula,
1417        tax_calculation_formula,
1418        cancel_flag,
1419        purge_flag,
1420        delete_flag,
1421        tax_amt_included_flag,
1422        self_assessed_flag,
1423        overridden_flag,
1424        manually_entered_flag,
1425        reporting_only_flag,
1426        freeze_until_overridden_flag,   -- reduced in size Freeze_Until_Overridden_Flag
1427        copied_from_other_doc_flag,
1428        recalc_required_flag,
1429        settlement_flag,
1430        item_dist_changed_flag,
1431        associated_child_frozen_flag,   -- reduced in size Associated_Child_Frozen_Flag
1432        tax_only_line_flag,
1433        compounding_dep_tax_flag,
1434        compounding_tax_miss_flag,
1435        sync_with_prvdr_flag,
1436        last_manual_entry,
1437        tax_provider_id,
1438        record_type_code,
1439        reporting_period_id,
1440        legal_justification_text1,
1441        legal_justification_text2,
1442        legal_justification_text3,
1443        legal_message_appl_2,
1444        legal_message_status,
1445        legal_message_rate,
1446        legal_message_basis,
1447        legal_message_calc,
1448        legal_message_threshold,
1449        legal_message_pos,
1450        legal_message_trn,
1451        legal_message_exmpt,
1452        legal_message_excpt,
1453        tax_regime_template_id,
1454        tax_applicability_result_id,    --reduced in sizetax_applicability_result_id
1455        direct_rate_result_id,
1456        status_result_id,
1457        rate_result_id,
1458        basis_result_id,
1459        thresh_result_id,
1460        calc_result_id,
1461        tax_reg_num_det_result_id,
1462        eval_exmpt_result_id,
1463        eval_excpt_result_id,
1464        enforce_from_natural_acct_flag, --reduced in sizeEnforce_From_Natural_Acct_Flag
1468        prd_total_tax_amt_tax_curr,
1465        tax_hold_code,
1466        tax_hold_released_code,
1467        prd_total_tax_amt,
1469        prd_total_tax_amt_funcl_curr,
1470        trx_line_index,
1471        offset_tax_rate_code,
1472        proration_code,
1473        other_doc_source,
1474        internal_org_location_id,
1475        line_assessable_value,
1476        ctrl_total_line_tx_amt,
1477        applied_to_trx_number,
1478        attribute_category,
1479        attribute1,
1480        attribute2,
1481        attribute3,
1482        attribute4,
1483        attribute5,
1484        attribute6,
1485        attribute7,
1486        attribute8,
1487        attribute9,
1488        attribute10,
1489        attribute11,
1490        attribute12,
1491        attribute13,
1492        attribute14,
1493        attribute15,
1494        global_attribute_category,
1495        global_attribute1,
1496        global_attribute2,
1497        global_attribute3,
1498        global_attribute4,
1499        global_attribute5,
1500        global_attribute6,
1501        global_attribute7,
1502        global_attribute8,
1503        global_attribute9,
1504        global_attribute10,
1505        global_attribute11,
1506        global_attribute12,
1507        global_attribute13,
1508        global_attribute14,
1509        global_attribute15,
1510        numeric1,
1511        numeric2,
1512        numeric3,
1513        numeric4,
1514        numeric5,
1515        numeric6,
1516        numeric7,
1517        numeric8,
1518        numeric9,
1519        numeric10,
1520        char1,
1521        char2,
1522        char3,
1523        char4,
1524        char5,
1525        char6,
1526        char7,
1527        char8,
1528        char9,
1529        char10,
1530        date1,
1531        date2,
1532        date3,
1533        date4,
1534        date5,
1535        date6,
1536        date7,
1537        date8,
1538        date9,
1539        date10,
1540        interface_entity_code,
1541        interface_tax_line_id,
1542        taxing_juris_geography_id,
1543        adjusted_doc_tax_line_id,
1544        object_version_number,
1545        last_updated_by,
1546        last_update_date,
1547        last_update_login
1548     FROM zx_lines
1549     WHERE application_id = p_application_id
1550       AND entity_code = p_entity_code
1551       AND event_class_code = p_event_class_code
1552       AND trx_id = p_trx_id
1553       AND summary_tax_line_id = p_summary_tax_line_id
1554       AND nvl(cancel_flag,'N') <> 'Y'
1555     ORDER by associated_child_frozen_flag DESC NULLS LAST;
1556 
1557     CURSOR existing_summary_tax_line(l_tax_rate NUMBER) IS
1558     SELECT summary_tax_line_id
1559     FROM   zx_lines_summary
1560     WHERE  application_id = p_application_id
1561     AND    entity_code = p_entity_code
1562     AND    event_class_code = p_event_class_code
1563     AND    trx_id = p_trx_id
1564     AND    tax_status_code = p_tax_status_code
1565     AND    tax_rate_id = p_tax_rate_id
1566     AND    tax_rate_code = p_tax_rate_code
1567     AND    tax_rate = l_tax_rate
1568     AND    NVL(tax_jurisdiction_code, 'x') = NVL(p_tax_jurisdiction_code, 'x')
1569     AND    NVL(ledger_id, -999) = NVL(p_ledger_id, -999)
1570     AND    NVL(legal_entity_id, -999) = NVL(p_legal_entity_id, -999)
1571     AND    NVL(establishment_id, -999) = NVL(p_establishment_id, -999)
1572     AND    NVL(TRUNC(currency_conversion_date), DATE_DUMMY) = NVL(TRUNC(p_currency_conversion_date), DATE_DUMMY)
1573     AND    NVL(currency_conversion_type, 'x') = NVL(p_currency_conversion_type, 'x')
1574     AND    NVL(currency_conversion_rate, 1) = NVL(p_currency_conversion_rate, 1)
1575     AND    NVL(taxable_basis_formula, 'x') = NVL(p_taxable_basis_formula, 'x')
1576     AND    NVL(tax_calculation_formula, 'x') = NVL(p_tax_calculation_formula, 'x')
1577     AND    NVL(tax_amt_included_flag,'N') = NVL(p_tax_amt_included_flag,'N')
1578     AND    NVL(compounding_tax_flag,'N') = NVL(p_compounding_tax_flag,'N')
1579     AND    NVL(self_assessed_flag,'N') = NVL(p_self_assessed_flag,'N')
1580     AND    NVL(reporting_only_flag,'N') = NVL(p_reporting_only_flag,'N')
1581     -- AND NVL(copied_from_other_doc_flag,'N') = NVL(p_copied_from_other_doc_flag,'N')
1582     AND    NVL(record_type_code, 'x') = NVL(p_record_type_code, 'x')
1583     AND    NVL(tax_provider_id, -999) = NVL(p_tax_provider_id, -999)
1584     AND    NVL(historical_flag,'N') = NVL(p_historical_flag,'N')
1585     AND    NVL(delete_flag,'N') = NVL(p_delete_flag,'N')
1586     --     AND NVL(overridden_flag,'N') = NVL(p_overridden_flag,'N')
1587     AND    NVL(manually_entered_flag,'N') = NVL(p_manually_entered_flag,'N')
1588     AND    NVL(tax_exemption_id, -999) = NVL(p_tax_exemption_id, -999)
1589     -- AND NVL(tax_rate_before_exemption, -999) = NVL(p_tax_rate_before_exemption, -999)
1590     -- AND NVL(tax_rate_name_before_exemption, 'x') = NVL(p_tax_rate_name_before_exempt, 'x')
1591     -- AND NVL(exempt_rate_modifier, -999) = NVL(p_exempt_rate_modifier, -999)
1592     AND    NVL(exempt_certificate_number, 'x') = NVL(p_exempt_certificate_number, 'x')
1593     -- AND NVL(exempt_reason, 'x') = NVL(p_exempt_reason, 'x')
1594     AND    NVL(exempt_reason_code, 'x') = NVL(p_exempt_reason_code, 'x')
1595     -- AND NVL(tax_rate_before_exception, -999) = NVL(p_tax_rate_before_exception, -999)
1596     -- AND NVL(tax_rate_name_before_exception, 'x') = NVL(p_tax_rate_name_before_except, 'x')
1597     AND    NVL(tax_exception_id, -999) = NVL(p_tax_exception_id, -999)
1598     -- AND NVL(exception_rate, -999) = NVL(p_exception_rate, -999)
1599     AND    NVL(mrc_tax_line_flag,'N') = NVL(p_mrc_tax_line_flag,'N')
1600     AND    NVL(tax_only_line_flag,'N') = NVL(p_tax_only_line_flag,'N');
1601 
1602     recinfo                     c2%ROWTYPE;
1603     l_total_detail_tax_amt      NUMBER;
1607     l_ctrl_ef_ov_cal_line_flag  VARCHAR2(1);
1604     l_total_detail_taxable_amt  NUMBER;
1605     l_num_det_lines             NUMBER;
1606     l_summary_tax_line_id       NUMBER;
1608     Invalid_unrounded_amt       EXCEPTION;
1609     l_tax_line_id               NUMBER;
1610     l_offset_tax_line_id        NUMBER;
1611     l_offset_trx_line_id        NUMBER;
1612     l_row_id                    VARCHAR2(100);
1613     l_tax_apportionment_line_num  NUMBER;
1614     l_tax_line_number           NUMBER;
1615     l_value VARCHAR2(10) := 'N';
1616 
1617     l_summary_tax_amt                NUMBER;
1618     l_overridden_flag                VARCHAR2(1);
1619 
1620     l_existing_summary_tax_line_id   NUMBER;
1621     l_tax_rate                       NUMBER;
1622     l_had_frozen_dists               BOOLEAN;
1623     l_num_canceled_detail_lines      NUMBER;
1624     l_allow_adhoc_tax_rate_flag      VARCHAR2(1);
1625     l_adj_for_adhoc_amt_code         VARCHAR2(30);
1626 
1627     l_orig_self_assessed_flag        VARCHAR2(1);
1628     l_orig_tax_amt_included_flag     VARCHAR2(1);
1629     l_allow_update_flag              VARCHAR2(1);
1630 
1631   BEGIN
1632 
1633     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1634 
1635     IF (g_level_procedure >= g_current_runtime_level ) THEN
1636       FND_LOG.STRING(g_level_procedure,
1637                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row.BEGIN',
1638                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Update_Row (+)');
1639     END IF;
1640 
1641     IF (g_level_statement >= g_current_runtime_level) THEN
1642       FND_LOG.STRING(g_level_statement,
1643                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1644                     'Self_assessed_flag : '||p_self_assessed_flag);
1645     END IF;
1646 
1647     BEGIN
1648       SELECT tax_amt, overridden_flag INTO l_summary_tax_amt, l_overridden_flag
1649         FROM zx_lines_summary
1650        WHERE summary_tax_line_id = p_summary_tax_line_id;
1651     EXCEPTION
1652       WHEN OTHERS THEN
1653         NULL;
1654     END;
1655 
1656     BEGIN
1657       SELECT sum(unrounded_tax_amt), SUM(unrounded_taxable_amt), COUNT(*)
1658         INTO l_total_detail_tax_amt, l_total_detail_taxable_amt, l_num_det_lines
1659         FROM zx_lines
1660        WHERE summary_tax_line_id = p_summary_tax_line_id
1661          AND application_id      = p_application_id
1662          AND entity_code         = p_entity_code
1663          AND event_class_code    = p_event_class_code
1664          AND trx_id              = p_trx_id
1665          AND NVL(cancel_flag, 'N') <> 'Y';
1666     EXCEPTION
1667       WHEN NO_DATA_FOUND THEN
1668         IF (g_level_statement >= g_current_runtime_level) THEN
1669           FND_LOG.STRING(g_level_statement,
1670                         'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1671                         'No Lines to Update ');
1672           FND_LOG.STRING(g_level_statement,
1673                         'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row.END',
1674                         'ZX_TRL_SUMMARY_OVERRIDE_PKG: Update_Row (-)');
1675         END IF;
1676         RETURN;
1677       WHEN OTHERS THEN
1678         NULL;
1679     END;
1680 
1681     -- bug#8264829- taxable_amt = 0, error if tax_amt <> 0
1682     IF (l_total_detail_taxable_amt = 0 AND
1683         p_tax_amt <> 0 ) THEN
1684       IF (g_level_statement >= g_current_runtime_level) THEN
1685         FND_LOG.STRING(g_level_statement,
1686                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1687                       'error: taxable_amt = 0 but tax_amt <> 0');
1688       END IF;
1689 
1690       FND_MESSAGE.Set_Name ('ZX','ZX_TAX_AMT_UPDATE_NOT_ALLOWED');
1691       FND_MSG_PUB.ADD;
1692       RETURN;
1693     END IF;
1694 
1695     l_tax_rate := p_tax_rate;
1696     l_summary_tax_line_id := p_summary_tax_line_id;
1697     l_had_frozen_dists := FALSE;
1698     l_num_canceled_detail_lines := 0;
1699     l_allow_update_flag := 'N';
1700 
1701     IF p_last_manual_entry = 'TAX_AMOUNT' AND p_tax_amt <> l_summary_tax_amt AND
1702        NVL(p_cancel_flag, 'N') <> 'Y' AND
1703        NVL(p_manually_entered_flag,'N') <> 'Y'  -- Added condition to fix Bug#10040554
1704     THEN
1705 
1706       BEGIN
1707         SELECT allow_adhoc_tax_rate_flag, adj_for_adhoc_amt_code
1708           INTO l_allow_adhoc_tax_rate_flag, l_adj_for_adhoc_amt_code
1709           FROM zx_rates_b
1710          WHERE tax_rate_id = p_tax_rate_id;
1711       EXCEPTION
1712         WHEN OTHERS THEN
1713           NULL;
1714       END;
1715 
1716       IF NVL(l_allow_adhoc_tax_rate_flag,'N') = 'Y' AND
1717         l_adj_for_adhoc_amt_code = 'TAX_RATE'
1718       THEN
1719         IF l_total_detail_taxable_amt <> 0 THEN
1720          l_tax_rate := round(p_tax_amt/l_total_detail_taxable_amt*100, 6); -- Bug 8217841
1721         END IF;
1722       END IF;
1723     END IF;   -- p_last_manual_entry = 'TAX_AMOUNT' AND
1724 
1725     -- new changes
1726     FOR rec IN existing_summary_tax_line(l_tax_rate) LOOP
1727       IF rec.summary_tax_line_id = p_summary_tax_line_id THEN
1728         l_existing_summary_tax_line_id := NULL;
1729         EXIT;
1730       ELSE
1731         l_existing_summary_tax_line_id := rec.summary_tax_line_id;
1732       END IF;
1733     END LOOP;
1734    -- new changes end
1735 
1736     BEGIN
1737       SELECT CTRL_EFF_OVRD_CALC_LINES_FLAG
1738       INTO l_ctrl_ef_ov_cal_line_flag
1739       FROM ZX_EVNT_CLS_OPTIONS
1740       WHERE EVENT_CLASS_CODE = p_event_class_code
1741       AND APPLICATION_ID = p_application_id
1742       AND ENTITY_CODE = p_entity_code
1743       AND ENABLED_FLAG = 'Y'
1744       AND FIRST_PTY_ORG_ID = p_internal_organization_id
1745       AND EFFECTIVE_FROM <= sysdate
1749       WHEN NO_DATA_FOUND THEN
1746       AND (EFFECTIVE_TO >= sysdate OR
1747            EFFECTIVE_TO IS NULL);
1748     EXCEPTION
1750         SELECT CTRL_EFF_OVRD_CALC_LINES_FLAG
1751         INTO l_ctrl_ef_ov_cal_line_flag
1752         FROM ZX_EVNT_CLS_MAPPINGS
1753         WHERE EVENT_CLASS_CODE = p_event_class_code
1754         AND APPLICATION_ID = p_application_id
1755         AND ENTITY_CODE = p_entity_code;
1756 
1757     END;
1758 
1759     IF (g_level_procedure >= g_current_runtime_level ) THEN
1760       FND_LOG.STRING(g_level_procedure,
1761                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1762                     'Update zx_lines_summary (+)');
1763     END IF;
1764 
1765     FOR rec IN  c2(p_application_id,
1766                    p_entity_code,
1767                    p_event_class_code,
1768                    p_trx_id,
1769                    p_summary_tax_line_id)
1770     LOOP
1771 
1772       IF (g_level_statement >= g_current_runtime_level) THEN
1773         FND_LOG.STRING(g_level_statement,
1774                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1775                       'Tax_only_line_flag : '||rec.tax_only_line_flag);
1776         FND_LOG.STRING(g_level_statement,
1777                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1778                       'Associated_child_frozen_flag : '||rec.associated_child_frozen_flag);
1779       END IF;
1780 
1781       IF rec.freeze_until_overridden_flag = 'Y' AND
1782          rec.overridden_flag = 'Y' AND
1783          rec.copied_from_other_doc_flag = 'Y' AND
1784          rec.ref_doc_application_id = 201 AND
1785          rec.other_doc_source = 'REFERENCE' AND
1786          rec.tax_amt = 0 AND
1787          rec.taxable_amt = 0 AND
1788          l_allow_update_flag = 'N' THEN
1789         l_allow_update_flag := 'N';
1790       ELSE
1791         l_allow_update_flag := 'Y';
1792       END IF;
1793 
1794       IF NVL(rec.tax_only_line_flag, 'N') = 'N' THEN
1795         IF(   rec.tax_status_code                                 <> p_tax_status_code
1796            OR rec.tax_rate_id                                     <> p_tax_rate_id
1797            OR rec.tax_rate_code                                   <> p_tax_rate_code
1798            OR rec.tax_rate                                        <> l_tax_rate
1799            OR NVL(rec.tax_jurisdiction_code, 'x')                 <> NVL(p_tax_jurisdiction_code, 'x')
1800            OR NVL(rec.ledger_id, -999)                            <> NVL(p_ledger_id, -999)
1801            OR NVL(rec.legal_entity_id, -999)                      <> NVL(p_legal_entity_id, -999)
1802            OR NVL(rec.establishment_id, -999)                     <> NVL(p_establishment_id, -999)
1803            OR NVL(TRUNC(rec.currency_conversion_date),DATE_DUMMY) <> NVL(TRUNC(p_currency_conversion_date), DATE_DUMMY)
1804            OR NVL(rec.currency_conversion_type, 'x')              <> NVL(p_currency_conversion_type,'x')
1805            OR NVL(rec.currency_conversion_rate, 1)                <> NVL(p_currency_conversion_rate, 1)
1806            OR NVL(rec.taxable_basis_formula,'x')                  <> NVL(p_taxable_basis_formula, 'x')
1807            OR NVL(rec.tax_calculation_formula, 'x')               <> NVL(p_tax_calculation_formula, 'x')
1808            OR NVL(rec.tax_amt_included_flag,'N')                  <> NVL(p_tax_amt_included_flag,'N')
1809            OR NVL(rec.compounding_tax_flag,'N')                   <> NVL(p_compounding_tax_flag,'N')
1810            OR NVL(rec.self_assessed_flag,'N')                     <> NVL(p_self_assessed_flag,'N')
1811            OR NVL(rec.reporting_only_flag,'N')                    <> NVL(p_reporting_only_flag,'N')
1812            -- OR NVL(rec.copied_from_other_doc_flag,'N')             <> NVL(p_copied_from_other_doc_flag,'N')
1813            OR NVL(rec.record_type_code,'x')                       <> NVL(p_record_type_code, 'x')
1814            OR NVL(rec.tax_provider_id, -999)                      <> NVL(p_tax_provider_id, -999)
1815            OR NVL(rec.historical_flag,'N')                        <> NVL(p_historical_flag,'N')
1816            OR NVL(rec.delete_flag,'N')                            <> NVL(p_delete_flag,'N')
1817            -- OR NVL(rec.overridden_flag,'N')                        <> NVL(p_overridden_flag,'N')
1818            OR NVL(rec.manually_entered_flag,'N')                  <> NVL(p_manually_entered_flag,'N')
1819            OR NVL(rec.tax_exemption_id, -999)                     <> NVL(p_tax_exemption_id, -999)
1820            -- OR NVL(rec.tax_rate_before_exemption, -999)            <> NVL(p_tax_rate_before_exemption, -999)
1821            -- OR NVL(rec.tax_rate_name_before_exemption, 'x')        <> NVL(p_tax_rate_name_before_exempt, 'x')
1822            -- OR NVL(rec.exempt_rate_modifier, -999)                 <> NVL(p_exempt_rate_modifier, -999)
1823            OR NVL(rec.exempt_certificate_number,'x')              <> NVL(p_exempt_certificate_number, 'x')
1824            -- OR NVL(rec.exempt_reason, 'x')                         <> NVL(p_exempt_reason, 'x')
1825            OR NVL(rec.exempt_reason_code,'x')                     <> NVL(p_exempt_reason_code, 'x')
1826            -- OR NVL(rec.tax_rate_before_exception, -999)            <> NVL(p_tax_rate_before_exception, -999)
1827            -- OR NVL(rec.tax_rate_name_before_exception, 'x')        <> NVL(p_tax_rate_name_before_except, 'x')
1828            OR NVL(rec.tax_exception_id, -999)                     <> NVL(p_tax_exception_id, -999)
1829            -- OR NVL(rec.exception_rate, -999)                       <> NVL(p_exception_rate, -999)
1830            OR NVL(rec.mrc_tax_line_flag,'N')                      <> NVL(p_mrc_tax_line_flag,'N')
1831            OR NVL(rec.tax_only_line_flag,'N')                     <> NVL(p_tax_only_line_flag,'N')
1832            -- OR (NVL(l_summary_tax_amt,-999999999)                  <> NVL(p_tax_amt,-999999999)
1833            -- AND NVL(l_overridden_flag,'N')='N')
1834           )
1835         THEN
1836 
1837           IF NVL(rec.associated_child_frozen_flag,'N') = 'Y' THEN
1838 
1839             SELECT zx_lines_s.NEXTVAL INTO l_tax_line_id FROM DUAL;
1840 
1841             -- new changes
1845             -- new changes
1842             IF l_summary_tax_line_id = p_summary_tax_line_id THEN
1843               SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
1844             END IF;
1846 
1847             SELECT max(abs(tax_apportionment_line_number))+1
1848             INTO l_tax_apportionment_line_num
1849             FROM zx_lines
1850             WHERE application_id = p_application_id
1851             AND entity_code = p_entity_code
1852             AND event_class_code = p_event_class_code
1853             AND trx_id = p_trx_id
1854             AND trx_line_id = rec.trx_line_id;
1855 
1856             SELECT nvl(max(tax_line_number),0)+1
1857             INTO l_tax_line_number
1858             FROM zx_lines
1859             WHERE application_id = p_application_id
1860             AND entity_code = p_entity_code
1861             AND event_class_code = p_event_class_code
1862             AND trx_id = p_trx_id
1863             AND trx_level_type = rec.trx_level_type
1864             AND trx_line_id = rec.trx_line_id;
1865 
1866             UPDATE ZX_LINES
1867             SET cancel_flag = 'Y',
1868                 tax_apportionment_line_number = -1*l_tax_apportionment_line_num,
1869                 tax_amt = 0,
1870                 tax_amt_tax_curr = 0,
1871                 tax_amt_funcl_curr = 0,
1872                 unrounded_tax_amt = 0,
1873                 process_for_recovery_flag = 'Y',
1874                 legal_reporting_status = decode(legal_reporting_status, '111111111111111','000000000000000',legal_reporting_status),
1875                 tax_hold_code = NULL,
1876                 tax_hold_released_code = NULL
1877             WHERE tax_line_id = rec.tax_line_id;
1878 
1879             IF (g_level_statement >= g_current_runtime_level) THEN
1880               FND_LOG.STRING(g_level_statement,
1881                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1882                             'Tax_line_id updated : '||to_char(rec.tax_line_id));
1883             END IF;
1884 
1885             -- we need to perform subsequent actions only if the current line is having offset tax
1886             IF rec.offset_tax_rate_code IS NOT NULL THEN
1887               BEGIN
1888 
1889                 SELECT tax_line_id INTO l_offset_tax_line_id
1890                 FROM zx_lines
1891                 WHERE application_id = p_application_id
1892                 AND entity_code = p_entity_code
1893                 AND event_class_code = p_event_class_code
1894                 AND trx_id = p_trx_id
1895                 AND trx_level_type = rec.trx_level_type
1896                 AND offset_link_to_tax_line_id = rec.tax_line_id;
1897 
1898                 SELECT trx_line_id INTO l_offset_trx_line_id
1899                 FROM zx_lines
1900                 WHERE tax_line_id = l_offset_tax_line_id;
1901 
1902                 SELECT MAX(ABS(tax_apportionment_line_number)) + 1
1903                 INTO l_tax_apportionment_line_num
1904                 FROM zx_lines
1905                 WHERE application_id = p_application_id
1906                 AND entity_code = p_entity_code
1907                 AND event_class_code = p_event_class_code
1908                 AND trx_id = p_trx_id
1909                 AND trx_line_id = l_offset_trx_line_id;
1910 
1911                 UPDATE ZX_LINES
1912                 SET cancel_flag = 'Y',
1913                     tax_amt = 0,
1914                     tax_apportionment_line_number = -1*l_tax_apportionment_line_num,
1915                     unrounded_tax_amt = 0,
1916                     tax_amt_tax_curr = 0,
1917                     tax_amt_funcl_curr = 0,
1918                     process_for_recovery_flag = 'Y',
1919                     legal_reporting_status = decode(legal_reporting_status, '111111111111111','000000000000000',legal_reporting_status),
1920                     tax_hold_code = NULL,
1921                     tax_hold_released_code = NULL
1922                 WHERE tax_line_id = l_offset_tax_line_id;
1923 
1924               EXCEPTION
1925                 WHEN OTHERS THEN
1926                   NULL;
1927               END;
1928             END IF;  -- rec.offset_tax_rate_code IS NOT NULL
1929 
1930             IF (g_level_statement >= g_current_runtime_level) THEN
1931               FND_LOG.STRING(g_level_statement,
1932                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1933                             'Offset_Tax_line_id Updated : '||to_char(l_offset_tax_line_id));
1934             END IF;
1935 
1936             IF (g_level_procedure >= g_current_runtime_level ) THEN
1937               FND_LOG.STRING(g_level_procedure,
1938                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1939                             'Tax_apportionment_line_num : '||l_tax_apportionment_line_num);
1940             END IF;
1941 
1942             IF (g_level_procedure >= g_current_runtime_level ) THEN
1943               FND_LOG.STRING(g_level_procedure,
1944                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
1945                             'Historical_flag : '|| p_historical_flag);
1946             END IF;
1947 
1948             l_had_frozen_dists := TRUE;
1949             IF rec.orig_self_assessed_flag IS NULL THEN
1950               IF p_self_assessed_flag = rec.self_assessed_flag THEN
1951                  l_orig_self_assessed_flag := NULL;
1952               ELSE
1953                  l_orig_self_assessed_flag := nvl(rec.self_assessed_flag,'N');
1954               END IF;
1955             ELSE
1956               l_orig_self_assessed_flag := rec.orig_self_assessed_flag;
1957             END IF;
1958 
1959             IF rec.orig_tax_amt_included_flag IS NULL THEN
1960               IF p_tax_amt_included_flag = rec.tax_amt_included_flag THEN
1961                  l_orig_tax_amt_included_flag := NULL;
1962               ELSE
1966               l_orig_tax_amt_included_flag := rec.orig_tax_amt_included_flag;
1963                  l_orig_tax_amt_included_flag := nvl(rec.tax_amt_included_flag,'N');
1964               END IF;
1965             ELSE
1967             END IF;
1968 
1969             zx_trl_detail_override_pkg.Insert_Row
1970               (l_row_id,
1971                l_tax_line_id,
1972                p_internal_organization_id,
1973                rec.application_id,
1974                rec.entity_code,
1975                rec.event_class_code,
1976                rec.event_type_code,
1977                rec.trx_id,
1978                rec.trx_line_id,
1979                rec.trx_level_type,
1980                rec.trx_line_number,
1981                rec.doc_event_status,
1982                rec.tax_event_class_code,
1983                rec.tax_event_type_code,
1984                l_tax_line_number,
1985                rec.content_owner_id,
1986                rec.tax_regime_id,
1987                rec.tax_regime_code,
1988                rec.tax_id,
1989                rec.tax,
1990                p_tax_status_id,
1991                p_tax_status_code,
1992                p_tax_rate_id,
1993                p_tax_rate_code,
1994                l_tax_rate,  --tax_rate
1995                rec.tax_rate_type,
1996                rec.tax_apportionment_line_number,  --reduced in size tax_apportionment_line_number
1997                rec.trx_id_level2,
1998                rec.trx_id_level3,
1999                rec.trx_id_level4,
2000                rec.trx_id_level5,
2001                rec.trx_id_level6,
2002                rec.trx_user_key_level1,
2003                rec.trx_user_key_level2,
2004                rec.trx_user_key_level3,
2005                rec.trx_user_key_level4,
2006                rec.trx_user_key_level5,
2007                rec.trx_user_key_level6,
2008                rec.mrc_tax_line_flag,
2009                rec.mrc_link_to_tax_line_id,
2010                rec.ledger_id,
2011                rec.establishment_id,
2012                rec.legal_entity_id,
2013                rec.hq_estb_reg_number,
2014                rec.hq_estb_party_tax_prof_id,
2015                rec.currency_conversion_date,
2016                rec.currency_conversion_type,
2017                rec.currency_conversion_rate,
2018                rec.tax_currency_conversion_date,   --reduced in size tax_currency_conversion_date
2019                rec.tax_currency_conversion_type,   --reduced in size rec.tax_currency_conversion_type
2020                rec.tax_currency_conversion_rate,   --reduced in size rec.tax_currency_conversion_rate
2021                rec.trx_currency_code,
2022                rec.reporting_currency_code,
2023                rec.minimum_accountable_unit,
2024                rec.precision,
2025                p_trx_number,
2026                rec.trx_date,
2027                rec.unit_price,
2028                rec.line_amt,
2029                rec.trx_line_quantity,
2030                rec.tax_base_modifier_rate,
2031                rec.ref_doc_application_id,
2032                rec.ref_doc_entity_code,
2033                rec.ref_doc_event_class_code,
2034                rec.ref_doc_trx_id,
2035                rec.ref_doc_trx_level_type,
2036                rec.ref_doc_line_id,
2037                rec.ref_doc_line_quantity,
2038                rec.other_doc_line_amt,
2039                rec.other_doc_line_tax_amt,
2040                rec.other_doc_line_taxable_amt,
2041                rec.unrounded_taxable_amt,
2042                rec.unrounded_tax_amt,
2043                rec.related_doc_application_id,
2044                rec.related_doc_entity_code,
2045                rec.related_doc_event_class_code,   --reduced in size rec.related_doc_event_class_code
2046                rec.related_doc_trx_id,
2047                rec.related_doc_trx_level_type,
2048                rec.related_doc_number,
2049                rec.related_doc_date,
2050                p_applied_from_application_id,      --reduced in size rec.applied_from_application_id
2051                rec.applied_from_event_class_code,  --reduced in size rec.applied_from_event_class_code
2052                p_applied_from_entity_code,
2053                rec.applied_from_trx_id,
2054                rec.applied_from_trx_level_type,
2055                rec.applied_from_line_id,
2056                rec.applied_from_trx_number,
2057                rec.adjusted_doc_application_id,    --reduced in size rec.adjusted_doc_application_id
2058                rec.adjusted_doc_entity_code,
2059                rec.adjusted_doc_event_class_code,  --reduced in size rec.adjusted_doc_event_class_code
2060                rec.adjusted_doc_trx_id,
2061                rec.adjusted_doc_trx_level_type,
2062                rec.adjusted_doc_line_id,
2063                rec.adjusted_doc_number,
2064                rec.adjusted_doc_date,
2065                rec.applied_to_application_id,
2066                rec.applied_to_event_class_code,    --reduced in size rec.applied_to_event_class_code
2067                rec.applied_to_entity_code,
2068                rec.applied_to_trx_id,
2069                rec.applied_to_trx_level_type,
2070                rec.applied_to_line_id,
2071                l_summary_tax_line_id,              --summary_tax_line_id
2072                rec.offset_link_to_tax_line_id,
2073                rec.offset_flag,
2074                rec.process_for_recovery_flag,
2075                rec.tax_jurisdiction_id,
2076                p_tax_jurisdiction_code,
2077                rec.place_of_supply,
2078                rec.place_of_supply_type_code,
2079                rec.place_of_supply_result_id,
2080                rec.tax_date_rule_id,
2081                rec.tax_date,
2082                rec.tax_determine_date,
2083                rec.tax_point_date,
2084                rec.trx_line_date,
2085                rec.tax_type_code,
2086                rec.tax_code,
2090                rec.rounding_level_code,
2087                rec.tax_registration_id,
2088                rec.tax_registration_number,
2089                rec.registration_party_type,
2091                rec.rounding_rule_code,
2092                rec.rounding_lvl_party_tax_prof_id, --reduced in size rec.rounding_lvl_party_tax_prof_id
2093                rec.rounding_lvl_party_type,
2094                rec.compounding_tax_flag,
2095                rec.orig_tax_status_id,
2096                rec.orig_tax_status_code,
2097                rec.orig_tax_rate_id,
2098                rec.orig_tax_rate_code,
2099                rec.orig_tax_rate,
2100                rec.orig_tax_jurisdiction_id,
2101                rec.orig_tax_jurisdiction_code,
2102                l_orig_tax_amt_included_flag,
2103                l_orig_self_assessed_flag,
2104                rec.tax_currency_code,
2105                rec.tax_amt,
2106                rec.tax_amt_tax_curr,
2107                rec.tax_amt_funcl_curr,
2108                rec.taxable_amt,
2109                rec.taxable_amt_tax_curr,
2110                rec.taxable_amt_funcl_curr,
2111                rec.orig_taxable_amt,
2112                rec.orig_taxable_amt_tax_curr,
2113                rec.cal_tax_amt,
2114                rec.cal_tax_amt_tax_curr,
2115                rec.cal_tax_amt_funcl_curr,
2116                rec.orig_tax_amt,
2117                rec.orig_tax_amt_tax_curr,
2118                rec.rec_tax_amt,
2119                rec.rec_tax_amt_tax_curr,
2120                rec.rec_tax_amt_funcl_curr,
2121                rec.nrec_tax_amt,
2122                rec.nrec_tax_amt_tax_curr,
2123                rec.nrec_tax_amt_funcl_curr,
2124                rec.tax_exemption_id,
2125                rec.tax_rate_before_exemption,
2126                rec.tax_rate_name_before_exemption,
2127                rec.exempt_rate_modifier,
2128                rec.exempt_certificate_number,
2129                rec.exempt_reason,
2130                rec.exempt_reason_code,
2131                rec.tax_exception_id,
2132                rec.tax_rate_before_exception,
2133                rec.tax_rate_name_before_exception,
2134                rec.exception_rate,
2135                rec.tax_apportionment_flag,
2136                'N',                                --historical_flag -- Bug#8886272
2137                p_taxable_basis_formula,
2138                p_tax_calculation_formula,
2139                nvl(rec.cancel_flag,'N'),
2140                rec.purge_flag,
2141                rec.delete_flag,
2142                p_tax_amt_included_flag,
2143                p_self_assessed_flag,
2144                'C',
2145                p_manually_entered_flag,
2146                p_reporting_only_flag,
2147                rec.freeze_until_overridden_flag,   --reduced in size rec.Freeze_Until_Overridden_Flag
2148                rec.copied_from_other_doc_flag,
2149                rec.recalc_required_flag,
2150                rec.settlement_flag,
2151                rec.item_dist_changed_flag,
2152                NULL,                               --reduced in size rec.Associated_Child_Frozen_Flag
2153                rec.tax_only_line_flag,
2154                rec.compounding_tax_flag,
2155                rec.compounding_tax_miss_flag,
2156                rec.sync_with_prvdr_flag,
2157                rec.last_manual_entry,
2158                rec.tax_provider_id,
2159                p_record_type_code,
2160                rec.reporting_period_id,
2161                rec.legal_justification_text1,
2162                rec.legal_justification_text2,
2163                rec.legal_justification_text3,
2164                rec.legal_message_appl_2,
2165                rec.legal_message_status,
2166                rec.legal_message_rate,
2167                rec.legal_message_basis,
2168                rec.legal_message_calc,
2169                rec.legal_message_threshold,
2170                rec.legal_message_pos,
2171                rec.legal_message_trn,
2172                rec.legal_message_exmpt,
2173                rec.legal_message_excpt,
2174                rec.tax_regime_template_id,
2175                rec.tax_applicability_result_id,    --reduced in size rec.tax_applicability_result_id
2176                rec.direct_rate_result_id,
2177                rec.status_result_id,
2178                rec.rate_result_id,
2179                rec.basis_result_id,
2180                rec.thresh_result_id,
2181                rec.calc_result_id,
2182                rec.tax_reg_num_det_result_id,
2183                rec.eval_exmpt_result_id,
2184                rec.eval_excpt_result_id,
2185                rec.enforce_from_natural_acct_flag, --reduced in size rec.Enforce_From_Natural_Acct_Flag
2186                NULL, --tax_hold_code
2187                NULL, --tax_hold_released_code
2188                rec.prd_total_tax_amt,
2189                rec.prd_total_tax_amt_tax_curr,
2190                rec.prd_total_tax_amt_funcl_curr,
2191                rec.trx_line_index,
2192                rec.offset_tax_rate_code,
2193                rec.proration_code,
2194                rec.other_doc_source,
2195                rec.internal_org_location_id,
2196                rec.line_assessable_value,
2197                rec.ctrl_total_line_tx_amt,
2198                rec.applied_to_trx_number,
2199                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute_category
2200                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute1
2201                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute2
2202                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute3
2203                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute4
2204                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute5
2205                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute6
2209                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute10
2206                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute7
2207                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute8
2208                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute9
2210                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute11
2211                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute12
2212                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute13
2213                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute14
2214                NULL,                      -- Bug 7117340 -- DFF ER -- rec.attribute15
2215                rec.global_attribute_category,
2216                rec.global_attribute1,
2217                rec.global_attribute2,
2218                rec.global_attribute3,
2219                rec.global_attribute4,
2220                rec.global_attribute5,
2221                rec.global_attribute6,
2222                rec.global_attribute7,
2223                rec.global_attribute8,
2224                rec.global_attribute9,
2225                rec.global_attribute10,
2226                rec.global_attribute11,
2227                rec.global_attribute12,
2228                rec.global_attribute13,
2229                rec.global_attribute14,
2230                rec.global_attribute15,
2231                rec.numeric1,
2232                rec.numeric2,
2233                rec.numeric3,
2234                rec.numeric4,
2235                rec.numeric5,
2236                rec.numeric6,
2237                rec.numeric7,
2238                rec.numeric8,
2239                rec.numeric9,
2240                rec.numeric10,
2241                rec.char1,
2242                rec.char2,
2243                rec.char3,
2244                rec.char4,
2245                rec.char5,
2246                rec.char6,
2247                rec.char7,
2248                rec.char8,
2249                rec.char9,
2250                rec.char10,
2251                rec.date1,
2252                rec.date2,
2253                rec.date3,
2254                rec.date4,
2255                rec.date5,
2256                rec.date6,
2257                rec.date7,
2258                rec.date8,
2259                rec.date9,
2260                rec.date10,
2261                rec.interface_entity_code,
2262                rec.interface_tax_line_id,
2263                rec.taxing_juris_geography_id,
2264                rec.adjusted_doc_tax_line_id,
2265                rec.object_version_number,
2266                rec.last_updated_by,
2267                rec.last_update_date,
2268                rec.last_updated_by,
2269                rec.last_update_date,
2270                rec.last_update_login);
2271 
2272           ELSE  -- associated_child_frozen_flag = 'N'
2273 
2274             -- new changes
2275             IF l_existing_summary_tax_line_id is NULL AND NOT(l_had_frozen_dists)
2276             THEN
2277 
2278               SELECT count(*) INTO l_num_canceled_detail_lines
2279                 FROM zx_lines
2280                WHERE application_id      = p_application_id
2281                  AND entity_code         = p_entity_code
2282                  AND event_class_code    = p_event_class_code
2283                  AND trx_id              = p_trx_id
2284                  AND summary_tax_line_id = p_summary_tax_line_id
2285                  AND nvl(cancel_flag,'N')= 'Y';
2286             END IF;
2287 
2288             IF l_num_canceled_detail_lines > 0
2289                --  OR l_existing_summary_tax_line_id is NOT NULL
2290             THEN
2291               l_had_frozen_dists := TRUE;
2292               IF l_summary_tax_line_id = p_summary_tax_line_id THEN
2293                 SELECT zx_lines_summary_s.NEXTVAL INTO l_summary_tax_line_id FROM DUAL;
2294               END IF;
2295             END IF;
2296 
2297             -- update detail tax line with the new summary tax line id
2298             --
2299             IF l_summary_tax_line_id <> p_summary_tax_line_id THEN
2300               BEGIN
2301                 UPDATE ZX_LINES
2302                    SET summary_tax_line_id = l_summary_tax_line_id
2303                 WHERE tax_line_id = rec.tax_line_id;
2304               EXCEPTION
2305                 WHEN OTHERS THEN
2306                   NULL;
2307               END;
2308             END IF;
2309             -- new changes end
2310 
2311           END IF;    -- associated_child_frozen_flag
2312         END IF;      -- grouping columns
2313       END IF;        -- tax_only_line_flag
2314     END LOOP;
2315 
2316     IF l_allow_update_flag = 'Y' THEN
2317       IF l_existing_summary_tax_line_id is NULL THEN
2318         UPDATE ZX_LINES_SUMMARY
2319         SET TAX_STATUS_CODE       = p_tax_status_code,
2320             TAX_RATE_ID           = p_tax_rate_Id,
2321             SUMMARY_TAX_LINE_ID   = nvl(l_summary_tax_line_id,p_summary_tax_line_id) ,
2322             TAX_RATE_CODE         = p_tax_rate_code,
2323             TAX_RATE              = l_tax_rate,
2324             TAX_AMT               = p_tax_amt,
2325             TAX_JURISDICTION_CODE = p_tax_jurisdiction_code, -- Bug 8329584
2326             OVERRIDDEN_FLAG       = p_overridden_flag,
2327             LAST_MANUAL_ENTRY     = decode (nvl(p_cancel_flag,'N'), 'N', p_last_manual_entry, 'TAX_AMOUNT'),
2328             ADJUST_TAX_AMT_FLAG   = decode (nvl(p_cancel_flag,'N'), 'N', 'Y', ADJUST_TAX_AMT_FLAG),
2329             CANCEL_FLAG           = NVL(p_cancel_flag,'N'),
2330             TAX_AMT_INCLUDED_FLAG = p_tax_amt_included_flag,
2331             SELF_ASSESSED_FLAG    = p_self_assessed_flag,
2332             TAX_ONLY_LINE_FLAG    = p_tax_only_line_flag,
2333             OBJECT_VERSION_NUMBER = NVL(p_object_version_number, OBJECT_VERSION_NUMBER + 1),
2334             LAST_UPDATED_BY       = fnd_global.user_id,
2335             LAST_UPDATE_DATE      = sysdate,
2336             LAST_UPDATE_LOGIN     = fnd_global.login_id
2337         WHERE summary_tax_line_id = p_summary_tax_line_id;
2338       END IF;
2339 
2340       IF (g_level_procedure >= g_current_runtime_level ) THEN
2341         FND_LOG.STRING(g_level_procedure,
2342                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2343                       'Cancel_flag : '||p_cancel_flag);
2344       END IF;
2345 
2346       IF (g_level_procedure >= g_current_runtime_level ) THEN
2347         FND_LOG.STRING(g_level_procedure,
2348                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2349                       'Total_detail_tax_amt : '||to_char(l_total_detail_tax_amt));
2350       END IF;
2351       IF (g_level_procedure >= g_current_runtime_level ) THEN
2352         FND_LOG.STRING(g_level_procedure,
2353                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2354                       'Total_detail_taxable_amt : '||to_char(l_total_detail_taxable_amt));
2355       END IF;
2356 
2357       IF nvl(p_cancel_flag,'N') = 'N' THEN
2358         IF nvl(l_num_det_lines,0) = 1 THEN
2359           IF (g_level_statement >= g_current_runtime_level) THEN
2360             FND_LOG.STRING(g_level_statement,
2361                           'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2362                           'No. of Det Lines 1');
2363           END IF;
2364           UPDATE ZX_LINES
2365           SET UNROUNDED_TAX_AMT = p_tax_amt
2366           WHERE APPLICATION_ID = p_application_id
2367           AND ENTITY_CODE = p_entity_code
2368           AND EVENT_CLASS_CODE = p_event_class_code
2369           AND TRX_ID = p_trx_id
2370           AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id
2371           AND nvl(cancel_flag,'N') <> 'Y';
2372         ELSE
2373           IF nvl(l_total_detail_tax_amt,0) <> 0 THEN
2374             IF (g_level_statement >= g_current_runtime_level) THEN
2375               FND_LOG.STRING(g_level_statement,
2376                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2377                             'Total_detail_tax_amt <> 0');
2378             END IF;
2379             UPDATE ZX_LINES
2380             SET UNROUNDED_TAX_AMT = decode(nvl(p_cancel_flag,'N'), 'N', ((unrounded_tax_amt * p_tax_amt)/l_total_detail_tax_amt), 0)
2381             WHERE APPLICATION_ID = p_application_id
2382             AND ENTITY_CODE = p_entity_code
2383             AND EVENT_CLASS_CODE = p_event_class_code
2384             AND TRX_ID = p_trx_id
2385             AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id
2386             AND nvl(cancel_flag,'N') <> 'Y';
2387           ELSIF nvl(l_total_detail_taxable_amt,0) <> 0 THEN
2388             IF (g_level_statement >= g_current_runtime_level) THEN
2389               FND_LOG.STRING(g_level_statement,
2390                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2391                             'Total_detail_taxable_amt <> 0');
2392             END IF;
2393             UPDATE ZX_LINES
2394             SET UNROUNDED_TAX_AMT = decode(nvl(p_cancel_flag,'N'), 'N', ((unrounded_taxable_amt * p_tax_amt)/l_total_detail_taxable_amt), 0)
2395             WHERE APPLICATION_ID = p_application_id
2396             AND ENTITY_CODE = p_entity_code
2397             AND EVENT_CLASS_CODE = p_event_class_code
2398             AND TRX_ID = p_trx_id
2399             AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id
2400             AND nvl(cancel_flag,'N') <> 'Y';
2401           ELSE
2402             IF (g_level_statement >= g_current_runtime_level) THEN
2403               FND_LOG.STRING(g_level_statement,
2404                             'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2405                             'EXCEPTION');
2406             END IF;
2407             IF p_tax_amt <> 0 THEN
2408               --RAISE Invalid_unrounded_amt;
2409               -- Bug 7227477
2410               IF (g_level_statement >= g_current_runtime_level) THEN
2411                 FND_LOG.STRING(g_level_statement,
2412                               'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2413                               'EXCEPTION -- Tax amount is Not Zero');
2414               END IF;
2415 
2416               FND_MESSAGE.Set_Name ('ZX','ZX_TAX_AMT_UPDATE_NOT_ALLOWED');
2417               FND_MSG_PUB.ADD;
2418 
2419             END IF;
2420           END IF;
2421         END IF;          -- nvl(l_num_det_lines,0) = 1
2422       END IF;            -- cancel_flag ='N'
2423 
2424       --Recalculation flag for records in zx_lines
2425       -- manual entered tax line:
2426       IF nvl(p_manually_entered_flag,'N') = 'N' THEN
2427         -- this is system generated tax line :
2428         IF nvl(p_tax_amt_included_flag,'N') = 'Y' THEN
2429           IF l_ctrl_ef_ov_cal_line_flag = 'Y' THEN
2430             UPDATE ZX_LINES
2431               SET RECALC_REQUIRED_FLAG = 'Y'
2432               WHERE APPLICATION_ID = p_application_id
2433               AND ENTITY_CODE      = p_entity_code
2434               AND EVENT_CLASS_CODE = p_event_class_code
2435               AND TRX_ID           = p_trx_id
2436               AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id
2437               AND nvl(MANUALLY_ENTERED_FLAG,'N')     = 'N'
2438               AND nvl(CANCEL_FLAG,'N') = 'N';
2439           END IF;
2440 
2441         ELSE
2442           -- tax_amt_included_flag = 'N'
2443           IF nvl(p_compounding_tax_flag,'N') = 'Y' THEN
2444             UPDATE ZX_LINES
2445               SET RECALC_REQUIRED_FLAG = 'Y'
2446               WHERE APPLICATION_ID = p_application_id
2447               AND ENTITY_CODE      = p_entity_code
2448               AND EVENT_CLASS_CODE = p_event_class_code
2449               AND TRX_ID           = p_trx_id
2450               AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id
2451               AND nvl(COMPOUNDING_DEP_TAX_FLAG,'N') = 'Y'
2452               AND nvl(CANCEL_FLAG,'N') = 'N';
2453           END IF;
2454         END IF;
2455       END IF;
2456 
2457       UPDATE ZX_LINES
2458         SET ORIG_TAX_STATUS_ID        = nvl(ORIG_TAX_STATUS_ID, TAX_STATUS_ID),
2459             ORIG_TAX_STATUS_CODE      = nvl(ORIG_TAX_STATUS_CODE, TAX_STATUS_CODE),
2460             ORIG_TAX_RATE_ID          = nvl(ORIG_TAX_RATE_ID, TAX_RATE_ID),
2461             ORIG_TAX_RATE_CODE        = nvl(ORIG_TAX_RATE_CODE, TAX_RATE_CODE),
2462             ORIG_TAX_RATE             = nvl(ORIG_TAX_RATE, TAX_RATE),
2463             ORIG_TAXABLE_AMT          = nvl(ORIG_TAXABLE_AMT, TAXABLE_AMT),
2464             ORIG_TAXABLE_AMT_TAX_CURR = nvl(ORIG_TAXABLE_AMT_TAX_CURR, TAXABLE_AMT_TAX_CURR),
2465             ORIG_TAX_AMT              = nvl(ORIG_TAX_AMT, TAX_AMT),
2466             ORIG_TAX_AMT_TAX_CURR     = nvl(ORIG_TAX_AMT_TAX_CURR, TAX_AMT_TAX_CURR),
2467             SYNC_WITH_PRVDR_FLAG      = decode(p_tax_provider_id, NULL, 'N', 'Y'),
2468             TAX_STATUS_ID             = p_tax_status_id,
2469             TAX_STATUS_CODE           = p_tax_status_code,
2470             TAX_RATE_ID               = p_tax_rate_id,
2471             TAX_RATE_CODE             = p_tax_rate_code,
2472             TAX_RATE                  = l_tax_rate,
2473             --TAX_AMT                   = decode(nvl(p_cancel_flag,'N'), 'N', NULL, 0),
2474             TAX_AMT                   = decode(nvl(p_cancel_flag,'N'), 'N', NULL, 0),
2475             TAX_JURISDICTION_CODE     = p_tax_jurisdiction_code, -- Bug 8329584
2476             RECALC_REQUIRED_FLAG      = decode(nvl(p_cancel_flag,'N'), 'N', 'Y', 'N'),
2477             OVERRIDDEN_FLAG           = decode(nvl(p_cancel_flag,'N'), 'N', p_overridden_flag, 'Y'),
2478             SELF_ASSESSED_FLAG        = p_self_assessed_flag,
2479             ORIG_SELF_ASSESSED_FLAG   = decode(ORIG_SELF_ASSESSED_FLAG,NULL,decode(p_self_assessed_flag,SELF_ASSESSED_FLAG,ORIG_SELF_ASSESSED_FLAG,SELF_ASSESSED_FLAG),ORIG_SELF_ASSESSED_FLAG),
2480             ORIG_TAX_AMT_INCLUDED_FLAG   = decode(ORIG_TAX_AMT_INCLUDED_FLAG,NULL,decode(p_tax_amt_included_flag,TAX_AMT_INCLUDED_FLAG,ORIG_TAX_AMT_INCLUDED_FLAG,TAX_AMT_INCLUDED_FLAG),ORIG_TAX_AMT_INCLUDED_FLAG),
2481             LAST_MANUAL_ENTRY         = decode(nvl(p_cancel_flag,'N'), 'N', p_last_manual_entry, 'TAX_AMOUNT'),
2482             CANCEL_FLAG               = nvl(p_cancel_flag,'N'),
2483             TAX_HOLD_CODE             = decode(p_cancel_flag, 'Y', NULL, tax_hold_code),
2484             TAX_HOLD_RELEASED_CODE    = decode(p_cancel_flag, 'Y', NULL, tax_hold_released_code),
2485             OBJECT_VERSION_NUMBER     = OBJECT_VERSION_NUMBER + 1,
2486             UNROUNDED_TAX_AMT         = decode(nvl(p_cancel_flag,'N'),'Y',0,UNROUNDED_TAX_AMT),
2487             PROCESS_FOR_RECOVERY_FLAG = decode(p_reporting_only_flag, 'N', 'Y', 'N'),
2488             SUMMARY_TAX_LINE_ID       = nvl(l_existing_summary_tax_line_id,l_summary_tax_line_id)  -- new changes
2489         WHERE APPLICATION_ID = p_application_id
2490         AND ENTITY_CODE      = p_entity_code
2491         AND EVENT_CLASS_CODE = p_event_class_code
2492         AND TRX_ID           = p_trx_id
2493         AND SUMMARY_TAX_LINE_ID = l_summary_tax_line_id
2494         AND nvl(cancel_flag,'N') <> 'Y';
2495 
2496     ELSE
2497       -- Tax Lines are created for variance purposes, no updates will be allowed.
2498       IF (g_level_procedure >= g_current_runtime_level ) THEN
2499         FND_LOG.STRING(g_level_procedure,
2500                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2501                       'Tax Lines are created for variance purposes, no updates will be allowed');
2502       END IF;
2503     END IF; --l_allow_update_flag = 'Y'
2504 
2505     IF (g_level_procedure >= g_current_runtime_level ) THEN
2506       FND_LOG.STRING(g_level_procedure,
2507                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row',
2508                     'Update zx_lines_summary (-)');
2509     END IF;
2510 
2511     IF (g_level_procedure >= g_current_runtime_level ) THEN
2512       FND_LOG.STRING(g_level_procedure,
2513                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Update_Row.END',
2514                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Update_Row (-)');
2515     END IF;
2516   END Update_Row;
2517 
2518   PROCEDURE Delete_Row
2519     (x_rowid                        IN OUT NOCOPY VARCHAR2,
2520      p_summary_tax_line_id          NUMBER,
2521      p_internal_organization_id     NUMBER,
2522      p_application_id               NUMBER,
2523      p_entity_code                  VARCHAR2,
2524      p_event_class_code             VARCHAR2,
2525      p_trx_id                       NUMBER,
2526      p_summary_tax_line_number      NUMBER,
2527      p_trx_number                   VARCHAR2,
2528      p_applied_from_application_id  NUMBER,
2529      p_applied_from_evt_class_code  VARCHAR2, --reduced size p_applied_from_event_class_code
2530      p_applied_from_entity_code     VARCHAR2,
2531      p_applied_from_trx_id          NUMBER,
2532      p_applied_from_trx_level_type  VARCHAR2,
2533      p_applied_from_line_id         NUMBER,
2534      p_adjusted_doc_application_id  NUMBER,
2535      p_adjusted_doc_entity_code     VARCHAR2,
2536      p_adjusted_doc_evt_class_code  VARCHAR2, --reduced size p_adjusted_doc_event_class_code
2537      p_adjusted_doc_trx_id          NUMBER,
2538      p_adjusted_doc_trx_level_type  VARCHAR2,
2539      p_applied_to_application_id    NUMBER,
2540      p_applied_to_event_class_code  VARCHAR2,
2541      p_applied_to_entity_code       VARCHAR2,
2542      p_applied_to_trx_id            NUMBER,
2543      p_applied_to_trx_level_type    VARCHAR2,
2544      p_applied_to_line_id           NUMBER,
2545      p_tax_exemption_id             NUMBER,
2546      p_tax_rate_before_exemption    NUMBER,
2547      p_tax_rate_name_before_exempt  VARCHAR2, --reduced size p_tax_rate_name_before_exemption
2548      p_exempt_rate_modifier         NUMBER,
2549      p_exempt_certificate_number    VARCHAR2,
2550      p_exempt_reason                VARCHAR2,
2551      p_exempt_reason_code           VARCHAR2,
2552      p_tax_rate_before_exception    NUMBER,
2553      p_tax_rate_name_before_except  VARCHAR2, --reduced size p_tax_rate_name_before_exception
2554      p_tax_exception_id             NUMBER,
2555      p_exception_rate               NUMBER,
2556      p_content_owner_id             NUMBER,
2557      p_tax_regime_code              VARCHAR2,
2558      p_tax                          VARCHAR2,
2559      p_tax_status_code              VARCHAR2,
2560      p_tax_rate_id                  NUMBER,
2561      p_tax_rate_code                VARCHAR2,
2562      p_tax_rate                     NUMBER,
2563      p_tax_amt                      NUMBER,
2564      p_tax_amt_tax_curr             NUMBER,
2565      p_tax_amt_funcl_curr           NUMBER,
2566      p_tax_jurisdiction_code        VARCHAR2,
2567      p_total_rec_tax_amt            NUMBER,
2568      p_total_rec_tax_amt_func_curr  NUMBER,   --reduced size p_total_rec_tax_amt_funcl_curr
2569      p_total_rec_tax_amt_tax_curr   NUMBER,
2570      p_total_nrec_tax_amt           NUMBER,
2571      p_total_nrec_tax_amt_func_curr NUMBER,   --reduced size p_total_nrec_tax_amt_funcl_curr
2572      p_total_nrec_tax_amt_tax_curr  NUMBER,
2573      p_ledger_id                    NUMBER,
2574      p_legal_entity_id              NUMBER,
2575      p_establishment_id             NUMBER,
2576      p_currency_conversion_date     DATE,
2577      p_currency_conversion_type     VARCHAR2,
2578      p_currency_conversion_rate     NUMBER,
2579      p_summarization_template_id    NUMBER,
2580      p_taxable_basis_formula        VARCHAR2,
2581      p_tax_calculation_formula      VARCHAR2,
2582      p_historical_flag              VARCHAR2,
2583      p_cancel_flag                  VARCHAR2,
2584      p_delete_flag                  VARCHAR2,
2585      p_tax_amt_included_flag        VARCHAR2,
2586      p_compounding_tax_flag         VARCHAR2,
2587      p_self_assessed_flag           VARCHAR2,
2588      p_overridden_flag              VARCHAR2,
2589      p_reporting_only_flag          VARCHAR2,
2590      p_assoc_child_frozen_flag      VARCHAR2, --reduced size p_Associated_Child_Frozen_Flag
2591      p_copied_from_other_doc_flag   VARCHAR2,
2592      p_manually_entered_flag        VARCHAR2,
2593      p_mrc_tax_line_flag            VARCHAR2,
2594      p_last_manual_entry            VARCHAR2,
2595      p_record_type_code             VARCHAR2,
2596      p_tax_provider_id              NUMBER,
2597      p_tax_only_line_flag           VARCHAR2,
2598      p_adjust_tax_amt_flag          VARCHAR2,
2599      p_attribute_category           VARCHAR2,
2600      p_attribute1                   VARCHAR2,
2601      p_attribute2                   VARCHAR2,
2602      p_attribute3                   VARCHAR2,
2603      p_attribute4                   VARCHAR2,
2604      p_attribute5                   VARCHAR2,
2605      p_attribute6                   VARCHAR2,
2606      p_attribute7                   VARCHAR2,
2607      p_attribute8                   VARCHAR2,
2608      p_attribute9                   VARCHAR2,
2609      p_attribute10                  VARCHAR2,
2610      p_attribute11                  VARCHAR2,
2611      p_attribute12                  VARCHAR2,
2612      p_attribute13                  VARCHAR2,
2613      p_attribute14                  VARCHAR2,
2614      p_attribute15                  VARCHAR2,
2615      p_global_attribute_category    VARCHAR2,
2616      p_global_attribute1            VARCHAR2,
2617      p_global_attribute2            VARCHAR2,
2618      p_global_attribute3            VARCHAR2,
2619      p_global_attribute4            VARCHAR2,
2620      p_global_attribute5            VARCHAR2,
2621      p_global_attribute6            VARCHAR2,
2622      p_global_attribute7            VARCHAR2,
2623      p_global_attribute8            VARCHAR2,
2624      p_global_attribute9            VARCHAR2,
2625      p_global_attribute10           VARCHAR2,
2626      p_global_attribute11           VARCHAR2,
2627      p_global_attribute12           VARCHAR2,
2628      p_global_attribute13           VARCHAR2,
2629      p_global_attribute14           VARCHAR2,
2630      p_global_attribute15           VARCHAR2,
2631      p_global_attribute16           VARCHAR2,
2632      p_global_attribute17           VARCHAR2,
2633      p_global_attribute18           VARCHAR2,
2634      p_global_attribute19           VARCHAR2,
2635      p_global_attribute20           VARCHAR2,
2636      p_object_version_number        NUMBER,
2637      p_created_by                   NUMBER,
2638      p_creation_date                DATE,
2639      p_last_updated_by              NUMBER,
2640      p_last_update_date             DATE,
2641      p_last_update_login            NUMBER) IS
2642 
2643   BEGIN
2644     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2645 
2646     IF (g_level_procedure >= g_current_runtime_level ) THEN
2647       FND_LOG.STRING(g_level_procedure,
2648                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row.BEGIN',
2649                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Delete_Row (+)');
2650     END IF;
2651 
2652     IF (g_level_procedure >= g_current_runtime_level ) THEN
2653       FND_LOG.STRING(g_level_procedure,
2654                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2655                     'Update zx_lines_summary for DELETE (+)');
2656     END IF;
2657 
2658     UPDATE ZX_LINES_SUMMARY
2659       SET DELETE_FLAG = 'Y',
2660           OBJECT_VERSION_NUMBER = NVL(p_object_version_number, OBJECT_VERSION_NUMBER + 1)
2661       WHERE SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
2662 
2663     UPDATE ZX_LINES
2664       SET DELETE_FLAG = 'Y',
2665           SYNC_WITH_PRVDR_FLAG = DECODE(p_tax_provider_id,
2666                                         NULL, 'N', 'Y'),
2667           OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1
2668       WHERE APPLICATION_ID    = p_application_id
2669       AND ENTITY_CODE         = p_entity_code
2670       AND EVENT_CLASS_CODE    = p_event_class_code
2671       AND TRX_ID              = p_trx_id
2672       AND SUMMARY_TAX_LINE_ID = p_summary_tax_line_id;
2673 
2674     IF ( SQL%NOTFOUND ) THEN
2675       RAISE NO_DATA_FOUND;
2676     END IF;
2677 
2678     IF (g_level_procedure >= g_current_runtime_level ) THEN
2679       FND_LOG.STRING(g_level_procedure,
2680                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row',
2681                     'Update zx_lines_summary for DELETE (-)');
2682       FND_LOG.STRING(g_level_procedure,
2683                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row.END',
2684                     'ZX_TRL_SUMMARY_OVERRIDE_PKG.Delete_Row (-)');
2685     END IF;
2686 
2687   END Delete_Row;
2688 
2689   PROCEDURE Override_Row
2690      (p_application_id        NUMBER,
2691       p_entity_code           VARCHAR2,
2692       p_event_class_code      VARCHAR2,
2693       p_trx_id                NUMBER,
2694       p_event_id              NUMBER,
2695       p_summary_tax_line_id   NUMBER) IS
2696 
2697   BEGIN
2698     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2699 
2700     IF (g_level_procedure >= g_current_runtime_level ) THEN
2701       FND_LOG.STRING(g_level_procedure,
2702                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row.BEGIN',
2703                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Override_Row (+)');
2704 
2705     END IF;
2706 
2707     IF (g_level_procedure >= g_current_runtime_level ) THEN
2708       FND_LOG.STRING(g_level_procedure,
2709                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2710                     'Update zx_lines_det_factors (+)');
2711     END IF;
2712 
2713     UPDATE ZX_LINES_DET_FACTORS
2714       SET EVENT_ID = p_event_id
2715       WHERE APPLICATION_ID = p_application_id
2716         AND ENTITY_CODE      = p_entity_code
2717         AND EVENT_CLASS_CODE = p_event_class_code
2718         AND TRX_ID           = p_trx_id
2719         AND (TRX_LINE_ID, TRX_LEVEL_TYPE)
2720            IN (SELECT TRX_LINE_ID, TRX_LEVEL_TYPE
2721                  FROM ZX_LINES
2722                  WHERE APPLICATION_ID    = p_application_id
2723                    AND ENTITY_CODE         = p_entity_code
2724                    AND EVENT_CLASS_CODE    = p_event_class_code
2725                    AND TRX_ID              = p_trx_id
2726                    AND SUMMARY_TAX_LINE_ID = p_summary_tax_line_id);
2727 
2728     IF (g_level_procedure >= g_current_runtime_level ) THEN
2729       FND_LOG.STRING(g_level_procedure,
2730                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row',
2731                     'Update zx_lines_det_factors (-)');
2732     END IF;
2733 
2734     IF (g_level_procedure >= g_current_runtime_level ) THEN
2735       FND_LOG.STRING(g_level_procedure,
2736                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Override_Row.END',
2737                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: Override_Row (-)');
2738     END IF;
2739 
2740     --commit;
2741   END Override_Row;
2742 
2743   PROCEDURE Check_Unique
2744     (p_internal_organization_id   NUMBER,
2745      p_application_id             NUMBER,
2746      p_entity_code                VARCHAR2,
2747      p_event_class_code           VARCHAR2,
2748      p_trx_id                     NUMBER,
2749      p_tax_regime_code            VARCHAR2,
2750      p_tax                        VARCHAR2,
2751      p_tax_status_code            VARCHAR2,
2752      p_tax_rate_code              VARCHAR2) IS
2753 
2754     l_key_check NUMBER;
2755     debug_info             VARCHAR2(100);
2756 
2757   BEGIN
2758 
2759     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2760 
2761     IF (g_level_procedure >= g_current_runtime_level ) THEN
2762       FND_LOG.STRING(g_level_procedure,
2763                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Check_Unique',
2764                     'Validation for logical primary key (+)');
2765     END IF;
2766 
2767     BEGIN
2768 
2769       --User would be prevented from entering a manual tax line with the same
2770       --tax if such a tax line already exists for the transaction line
2771       --Validation for logical primary key
2772       SELECT count(*)
2773       INTO l_key_check
2774       FROM ZX_LINES_SUMMARY LS
2775       WHERE APPLICATION_ID         = p_application_id
2776       AND ENTITY_CODE              = p_entity_code
2777       AND EVENT_CLASS_CODE         = p_event_class_code
2778       AND INTERNAL_ORGANIZATION_ID = p_internal_organization_id
2779       AND TRX_ID                   = p_trx_id
2780       AND TAX_REGIME_CODE          = p_tax_regime_code
2781       AND TAX                      = p_tax
2782       AND TAX_STATUS_CODE          = p_tax_status_code
2783       AND TAX_RATE_CODE            = p_tax_rate_code;
2784 
2785       IF l_key_check >= 1 THEN
2786         FND_MESSAGE.SET_TOKEN('Error:', 'CANNOT CREATE RECORD' );
2787         FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
2788         APP_EXCEPTION.RAISE_EXCEPTION;
2789       END IF;
2790 
2791     END;
2792 
2793     IF (g_level_procedure >= g_current_runtime_level ) THEN
2794       FND_LOG.STRING(g_level_procedure,
2795                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.Check_Unique',
2796                     'Validation for logical primary key (-)');
2797     END IF;
2798 
2799   END Check_Unique;
2800 
2801   PROCEDURE lock_summ_tax_lines_for_doc
2802     (p_application_id     IN NUMBER,
2803      p_entity_code        IN VARCHAR2,
2804      p_event_class_code   IN VARCHAR2,
2805      p_trx_id             IN NUMBER,
2806      x_return_status      OUT NOCOPY VARCHAR2,
2807      x_error_buffer       OUT NOCOPY VARCHAR2)  IS
2808 
2809     l_return_status          VARCHAR2(1000);
2810 
2811   -- Cursor to Lock the tax lines for the entire document
2812   CURSOR lock_sum_tax_lines_for_doc_csr(c_application_id NUMBER,
2813          c_event_class_code VARCHAR2,
2814          c_entity_code VARCHAR2,
2815          c_trx_id NUMBER) IS
2816   SELECT *
2817     FROM ZX_LINES_SUMMARY
2818    WHERE application_id = c_application_id
2819      AND entity_code    = c_entity_code
2820      AND event_class_code = c_event_class_code
2821      AND trx_id = c_trx_id
2822   FOR UPDATE NOWAIT;
2823 
2824   BEGIN
2825     x_return_status := FND_API.G_RET_STS_SUCCESS;
2826 
2827     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2828 
2829     IF (g_level_procedure >= g_current_runtime_level ) THEN
2830       FND_LOG.STRING(g_level_procedure,
2831                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc.BEGIN',
2832                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: lock_summ_tax_lines_for_doc (+)');
2833     END IF;
2834 
2835     OPEN lock_sum_tax_lines_for_doc_csr(p_application_id,
2836                                         p_event_class_code,
2837                                         p_entity_code,
2838                                         p_trx_id);
2839     CLOSE lock_sum_tax_lines_for_doc_csr;
2840 
2841     IF (g_level_procedure >= g_current_runtime_level ) THEN
2842       FND_LOG.STRING(g_level_procedure,
2843                     'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc.END',
2844                     'ZX_TRL_SUMMARY_OVERRIDE_PKG: lock_summ_tax_lines_for_doc (-)');
2845     END IF;
2846   EXCEPTION
2847     WHEN OTHERS THEN
2848       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2849       x_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
2850 
2851       FND_MESSAGE.SET_NAME('ZX','ZX_UNEXPECTED_ERROR');
2852       FND_MSG_PUB.Add;
2853 
2854       IF (g_level_procedure >= g_current_runtime_level ) THEN
2855         FND_LOG.STRING(g_level_procedure,
2856                       'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_summ_tax_lines_for_doc',
2857                       'Exception:' ||x_error_buffer);
2858       END IF;
2859   END lock_summ_tax_lines_for_doc;
2860 
2861 
2862 
2863 END ZX_TRL_SUMMARY_OVERRIDE_PKG;