DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_TRL_DISTRIBUTIONS_PKG

Source


1 PACKAGE BODY ZX_TRL_DISTRIBUTIONS_PKG AS
2 /* $Header: zxridistribnpkgb.pls 120.40.12010000.1 2008/07/28 13:36:06 appldev 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   PROCEDURE Insert_Row
11        (x_rowid                        IN OUT NOCOPY VARCHAR2,
12         p_rec_nrec_tax_dist_id                       NUMBER,
13         p_application_id                             NUMBER,
14         p_entity_code                                VARCHAR2,
15         p_event_class_code                           VARCHAR2,
16         p_event_type_code                            VARCHAR2,
17         p_trx_id                                     NUMBER,
18         p_trx_number                                 VARCHAR2,
19         p_trx_line_id                                NUMBER,
20         p_trx_line_number                            NUMBER,
21         p_tax_line_id                                NUMBER,
22         p_tax_line_number                            NUMBER,
23         p_trx_line_dist_id                           NUMBER,
24         p_trx_level_type                             VARCHAR2,
25         p_item_dist_number                           NUMBER,
26         p_rec_nrec_tax_dist_number                   NUMBER,
27         p_rec_nrec_rate                              NUMBER,
28         p_recoverable_flag                           VARCHAR2,
29         p_rec_nrec_tax_amt                           NUMBER,
30         p_tax_event_class_code                       VARCHAR2,
31         p_tax_event_type_code                        VARCHAR2,
32         p_content_owner_id                           NUMBER,
33         p_tax_regime_id                              NUMBER,
34         p_tax_regime_code                            VARCHAR2,
35         p_tax_id                                     NUMBER,
36         p_tax                                        VARCHAR2,
37         p_tax_status_id                              NUMBER,
38         p_tax_status_code                            VARCHAR2,
39         p_tax_rate_id                                NUMBER,
40         p_tax_rate_code                              VARCHAR2,
41         p_tax_rate                                   NUMBER,
42         p_inclusive_flag                             VARCHAR2,
43         p_recovery_type_id                           NUMBER,
44         p_recovery_type_code                         VARCHAR2,
45         p_recovery_rate_id                           NUMBER,
46         p_recovery_rate_code                         VARCHAR2,
47         p_rec_type_rule_flag                         VARCHAR2,
48         p_new_rec_rate_code_flag                     VARCHAR2,
49         p_reverse_flag                               VARCHAR2,
50         p_historical_flag                            VARCHAR2,
51         p_reversed_tax_dist_id                       NUMBER,
52         p_rec_nrec_tax_amt_tax_curr                  NUMBER,
53         p_rec_nrec_tax_amt_funcl_curr                NUMBER,
54         p_intended_use                               VARCHAR2,
55         p_project_id                                 NUMBER,
56         p_task_id                                    NUMBER,
57         p_award_id                                   NUMBER,
58         p_expenditure_type                           VARCHAR2,
59         p_expenditure_organization_id                NUMBER,
60         p_expenditure_item_date                      DATE,
61         p_rec_rate_det_rule_flag                     VARCHAR2,
62         p_ledger_id                                  NUMBER,
63         p_summary_tax_line_id                        NUMBER,
64         p_record_type_code                           VARCHAR2,
65         p_currency_conversion_date                   DATE,
66         p_currency_conversion_type                   VARCHAR2,
67         p_currency_conversion_rate                   NUMBER,
68         p_tax_currency_conversion_date               DATE,
69         p_tax_currency_conversion_type               VARCHAR2,
70         p_tax_currency_conversion_rate               NUMBER,
71         p_trx_currency_code                          VARCHAR2,
72         p_tax_currency_code                          VARCHAR2,
73         p_trx_line_dist_qty                          NUMBER,
74         p_ref_doc_trx_line_dist_qty                  NUMBER,
75         p_price_diff                                 NUMBER,
76         p_qty_diff                                   NUMBER,
77         p_per_trx_curr_unit_nr_amt                   NUMBER,
78         p_ref_per_trx_curr_unit_nr_amt               NUMBER,
79         p_ref_doc_curr_conv_rate                     NUMBER,
80         p_unit_price                                 NUMBER,
81         p_ref_doc_unit_price                         NUMBER,
82         p_per_unit_nrec_tax_amt                      NUMBER,
83         p_ref_doc_per_unit_nrec_tax_am               NUMBER,
84         p_rate_tax_factor                            NUMBER,
85         p_tax_apportionment_flag                     VARCHAR2,
86         p_trx_line_dist_amt                          NUMBER,
87         p_trx_line_dist_tax_amt                      NUMBER,
88         p_orig_rec_nrec_rate                         NUMBER,
89         p_orig_rec_rate_code                         VARCHAR2,
90         p_orig_rec_nrec_tax_amt                      NUMBER,
91         p_orig_rec_nrec_tax_amt_tax_cu               NUMBER,
92         p_account_ccid                               NUMBER,
93         p_account_string                             VARCHAR2,
94         p_unrounded_rec_nrec_tax_amt                 NUMBER,
95         p_applicability_result_id                    NUMBER,
96         p_rec_rate_result_id                         NUMBER,
97         p_backward_compatibility_flag                VARCHAR2,
98         p_overridden_flag                            VARCHAR2,
99         p_self_assessed_flag                         VARCHAR2,
100         p_freeze_flag                                VARCHAR2,
101         p_posting_flag                               VARCHAR2,
102         p_gl_date                                    DATE,
103         p_ref_doc_application_id                     NUMBER,
104         p_ref_doc_entity_code                        VARCHAR2,
105         p_ref_doc_event_class_code                   VARCHAR2,
106         p_ref_doc_trx_id                             NUMBER,
107         p_ref_doc_trx_level_type                     VARCHAR2,
108         p_ref_doc_line_id                            NUMBER,
109         p_ref_doc_dist_id                            NUMBER,
110         p_minimum_accountable_unit                   NUMBER,
111         p_precision                                  NUMBER,
112         p_rounding_rule_code                         VARCHAR2,
113         p_taxable_amt                                NUMBER,
114         p_taxable_amt_tax_curr                       NUMBER,
115         p_taxable_amt_funcl_curr                     NUMBER,
116         p_tax_only_line_flag                         VARCHAR2,
117         p_unrounded_taxable_amt                      NUMBER,
118         p_legal_entity_id                            NUMBER,
119         p_prd_tax_amt                                NUMBER,
120         p_prd_tax_amt_tax_curr                       NUMBER,
121         p_prd_tax_amt_funcl_curr                     NUMBER,
122         p_prd_total_tax_amt                          NUMBER,
123         p_prd_total_tax_amt_tax_curr                 NUMBER,
124         p_prd_total_tax_amt_funcl_curr               NUMBER,
125         p_applied_from_tax_dist_id                   NUMBER,
126         p_appl_to_doc_curr_conv_rate                 NUMBER, --p_appl_to_doc_curr_conv_rate
127         p_adjusted_doc_tax_dist_id                   NUMBER,
128         p_func_curr_rounding_adjust                  NUMBER,
129         p_tax_apportionment_line_num                 NUMBER,
130         p_last_manual_entry                          VARCHAR2,
131         p_ref_doc_tax_dist_id                        NUMBER,
132         p_mrc_tax_dist_flag                          VARCHAR2,
133         p_mrc_link_to_tax_dist_id                    NUMBER,
134         p_attribute_category                         VARCHAR2,
135         p_attribute1                                 VARCHAR2,
136         p_attribute2                                 VARCHAR2,
137         p_attribute3                                 VARCHAR2,
138         p_attribute4                                 VARCHAR2,
139         p_attribute5                                 VARCHAR2,
140         p_attribute6                                 VARCHAR2,
141         p_attribute7                                 VARCHAR2,
142         p_attribute8                                 VARCHAR2,
143         p_attribute9                                 VARCHAR2,
144         p_attribute10                                VARCHAR2,
145         p_attribute11                                VARCHAR2,
146         p_attribute12                                VARCHAR2,
147         p_attribute13                                VARCHAR2,
148         p_attribute14                                VARCHAR2,
149         p_attribute15                                VARCHAR2,
150         p_global_attribute_category                  VARCHAR2,
151         p_global_attribute1                          VARCHAR2,
152         p_global_attribute2                          VARCHAR2,
153         p_global_attribute3                          VARCHAR2,
154         p_global_attribute4                          VARCHAR2,
155         p_global_attribute5                          VARCHAR2,
156         p_global_attribute6                          VARCHAR2,
157         p_global_attribute7                          VARCHAR2,
158         p_global_attribute8                          VARCHAR2,
159         p_global_attribute9                          VARCHAR2,
160         p_global_attribute10                         VARCHAR2,
161         p_global_attribute11                         VARCHAR2,
162         p_global_attribute12                         VARCHAR2,
163         p_global_attribute13                         VARCHAR2,
164         p_global_attribute14                         VARCHAR2,
165         p_global_attribute15                         VARCHAR2,
166         p_global_attribute16                         VARCHAR2,
167         p_global_attribute17                         VARCHAR2,
168         p_global_attribute18                         VARCHAR2,
169         p_global_attribute19                         VARCHAR2,
170         p_global_attribute20                         VARCHAR2,
171         p_orig_ap_chrg_dist_num                      NUMBER,
172         p_orig_ap_chrg_dist_id                       NUMBER,
173         p_orig_ap_tax_dist_num                       NUMBER,
174         p_orig_ap_tax_dist_id                        NUMBER,
175         p_object_version_number                      NUMBER,
176         p_created_by                                 NUMBER,
177         p_creation_date                              DATE,
178         p_last_updated_by                            NUMBER,
179         p_last_update_date                           DATE,
180         p_last_update_login                          NUMBER) IS
181 
182   BEGIN
183     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
184 
185     IF (g_level_procedure >= g_current_runtime_level ) THEN
186       FND_LOG.STRING(g_level_procedure,
187                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Insert_Row.BEGIN',
188                      'ZX_TRL_DISTRIBUTIONS_PKG: Insert_Row (+)');
189     END IF;
190 
191     IF (g_level_procedure >= g_current_runtime_level ) THEN
192       FND_LOG.STRING(g_level_procedure,
193                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Insert_Row.END',
194                      'ZX_TRL_DISTRIBUTIONS_PKG: Insert_Row (-)');
195     END IF;
196 
197   END Insert_Row;
198 
199   PROCEDURE Lock_Row
200        (x_rowid                        IN OUT NOCOPY VARCHAR2,
201         p_rec_nrec_tax_dist_id                       NUMBER,
202         p_application_id                             NUMBER,
203         p_entity_code                                VARCHAR2,
204         p_event_class_code                           VARCHAR2,
205         p_event_type_code                            VARCHAR2,
206         p_trx_id                                     NUMBER,
207         p_trx_number                                 VARCHAR2,
208         p_trx_line_id                                NUMBER,
209         p_trx_line_number                            NUMBER,
210         p_tax_line_id                                NUMBER,
211         p_tax_line_number                            NUMBER,
212         p_trx_line_dist_id                           NUMBER,
213         p_trx_level_type                             VARCHAR2,
214         p_item_dist_number                           NUMBER,
215         p_rec_nrec_tax_dist_number                   NUMBER,
216         p_rec_nrec_rate                              NUMBER,
217         p_recoverable_flag                           VARCHAR2,
218         p_rec_nrec_tax_amt                           NUMBER,
219         p_tax_event_class_code                       VARCHAR2,
220         p_tax_event_type_code                        VARCHAR2,
221         p_content_owner_id                           NUMBER,
222         p_tax_regime_id                              NUMBER,
223         p_tax_regime_code                            VARCHAR2,
224         p_tax_id                                     NUMBER,
225         p_tax                                        VARCHAR2,
226         p_tax_status_id                              NUMBER,
227         p_tax_status_code                            VARCHAR2,
228         p_tax_rate_id                                NUMBER,
229         p_tax_rate_code                              VARCHAR2,
230         p_tax_rate                                   NUMBER,
231         p_inclusive_flag                             VARCHAR2,
232         p_recovery_type_id                           NUMBER,
233         p_recovery_type_code                         VARCHAR2,
234         p_recovery_rate_id                           NUMBER,
235         p_recovery_rate_code                         VARCHAR2,
236         p_rec_type_rule_flag                         VARCHAR2,
237         p_new_rec_rate_code_flag                     VARCHAR2,
238         p_reverse_flag                               VARCHAR2,
239         p_historical_flag                            VARCHAR2,
240         p_reversed_tax_dist_id                       NUMBER,
241         p_rec_nrec_tax_amt_tax_curr                  NUMBER,
242         p_rec_nrec_tax_amt_funcl_curr                NUMBER,
243         p_intended_use                               VARCHAR2,
244         p_project_id                                 NUMBER,
245         p_task_id                                    NUMBER,
246         p_award_id                                   NUMBER,
247         p_expenditure_type                           VARCHAR2,
248         p_expenditure_organization_id                NUMBER,
249         p_expenditure_item_date                      DATE,
250         p_rec_rate_det_rule_flag                     VARCHAR2,
251         p_ledger_id                                  NUMBER,
252         p_summary_tax_line_id                        NUMBER,
253         p_record_type_code                           VARCHAR2,
254         p_currency_conversion_date                   DATE,
255         p_currency_conversion_type                   VARCHAR2,
256         p_currency_conversion_rate                   NUMBER,
257         p_tax_currency_conversion_date               DATE,
258         p_tax_currency_conversion_type               VARCHAR2,
259         p_tax_currency_conversion_rate               NUMBER,
260         p_trx_currency_code                          VARCHAR2,
261         p_tax_currency_code                          VARCHAR2,
262         p_trx_line_dist_qty                          NUMBER,
263         p_ref_doc_trx_line_dist_qty                  NUMBER,
264         p_price_diff                                 NUMBER,
265         p_qty_diff                                   NUMBER,
266         p_per_trx_curr_unit_nr_amt                   NUMBER,
267         p_ref_per_trx_curr_unit_nr_amt               NUMBER,
268         p_ref_doc_curr_conv_rate                     NUMBER,
269         p_unit_price                                 NUMBER,
270         p_ref_doc_unit_price                         NUMBER,
271         p_per_unit_nrec_tax_amt                      NUMBER,
272         p_ref_doc_per_unit_nrec_tax_am               NUMBER,
273         p_rate_tax_factor                            NUMBER,
274         p_tax_apportionment_flag                     VARCHAR2,
275         p_trx_line_dist_amt                          NUMBER,
276         p_trx_line_dist_tax_amt                      NUMBER,
277         p_orig_rec_nrec_rate                         NUMBER,
278         p_orig_rec_rate_code                         VARCHAR2,
282         p_account_string                             VARCHAR2,
279         p_orig_rec_nrec_tax_amt                      NUMBER,
280         p_orig_rec_nrec_tax_amt_tax_cu               NUMBER,
281         p_account_ccid                               NUMBER,
283         p_unrounded_rec_nrec_tax_amt                 NUMBER,
284         p_applicability_result_id                    NUMBER,
285         p_rec_rate_result_id                         NUMBER,
286         p_backward_compatibility_flag                VARCHAR2,
287         p_overridden_flag                            VARCHAR2,
288         p_self_assessed_flag                         VARCHAR2,
289         p_freeze_flag                                VARCHAR2,
290         p_posting_flag                               VARCHAR2,
291         p_gl_date                                    DATE,
292         p_ref_doc_application_id                     NUMBER,
293         p_ref_doc_entity_code                        VARCHAR2,
294         p_ref_doc_event_class_code                   VARCHAR2,
295         p_ref_doc_trx_id                             NUMBER,
296         p_ref_doc_trx_level_type                     VARCHAR2,
297         p_ref_doc_line_id                            NUMBER,
298         p_ref_doc_dist_id                            NUMBER,
299         p_minimum_accountable_unit                   NUMBER,
300         p_precision                                  NUMBER,
301         p_rounding_rule_code                         VARCHAR2,
302         p_taxable_amt                                NUMBER,
303         p_taxable_amt_tax_curr                       NUMBER,
304         p_taxable_amt_funcl_curr                     NUMBER,
305         p_tax_only_line_flag                         VARCHAR2,
306         p_unrounded_taxable_amt                      NUMBER,
307         p_legal_entity_id                            NUMBER,
308         p_prd_tax_amt                                NUMBER,
309         p_prd_tax_amt_tax_curr                       NUMBER,
310         p_prd_tax_amt_funcl_curr                     NUMBER,
311         p_prd_total_tax_amt                          NUMBER,
312         p_prd_total_tax_amt_tax_curr                 NUMBER,
313         p_prd_total_tax_amt_funcl_curr               NUMBER,
314         p_applied_from_tax_dist_id                   NUMBER,
315         p_appl_to_doc_curr_conv_rate                 NUMBER, --p_appl_to_doc_curr_conv_rate
316         p_adjusted_doc_tax_dist_id                   NUMBER,
317         p_func_curr_rounding_adjust                  NUMBER,
318         p_tax_apportionment_line_num                 NUMBER,
319         p_last_manual_entry                          VARCHAR2,
320         p_ref_doc_tax_dist_id                        NUMBER,
321         p_mrc_tax_dist_flag                          VARCHAR2,
322         p_mrc_link_to_tax_dist_id                    NUMBER,
323         p_attribute_category                         VARCHAR2,
324         p_attribute1                                 VARCHAR2,
325         p_attribute2                                 VARCHAR2,
326         p_attribute3                                 VARCHAR2,
327         p_attribute4                                 VARCHAR2,
328         p_attribute5                                 VARCHAR2,
329         p_attribute6                                 VARCHAR2,
330         p_attribute7                                 VARCHAR2,
331         p_attribute8                                 VARCHAR2,
332         p_attribute9                                 VARCHAR2,
333         p_attribute10                                VARCHAR2,
334         p_attribute11                                VARCHAR2,
335         p_attribute12                                VARCHAR2,
336         p_attribute13                                VARCHAR2,
337         p_attribute14                                VARCHAR2,
338         p_attribute15                                VARCHAR2,
339         p_global_attribute_category                  VARCHAR2,
340         p_global_attribute1                          VARCHAR2,
341         p_global_attribute2                          VARCHAR2,
342         p_global_attribute3                          VARCHAR2,
343         p_global_attribute4                          VARCHAR2,
344         p_global_attribute5                          VARCHAR2,
345         p_global_attribute6                          VARCHAR2,
346         p_global_attribute7                          VARCHAR2,
347         p_global_attribute8                          VARCHAR2,
348         p_global_attribute9                          VARCHAR2,
349         p_global_attribute10                         VARCHAR2,
350         p_global_attribute11                         VARCHAR2,
351         p_global_attribute12                         VARCHAR2,
352         p_global_attribute13                         VARCHAR2,
353         p_global_attribute14                         VARCHAR2,
354         p_global_attribute15                         VARCHAR2,
355         p_global_attribute16                         VARCHAR2,
356         p_global_attribute17                         VARCHAR2,
357         p_global_attribute18                         VARCHAR2,
358         p_global_attribute19                         VARCHAR2,
359         p_global_attribute20                         VARCHAR2,
360         p_orig_ap_chrg_dist_num                      NUMBER,
361         p_orig_ap_chrg_dist_id                       NUMBER,
362         p_orig_ap_tax_dist_num                       NUMBER,
363         p_orig_ap_tax_dist_id                        NUMBER,
364         p_object_version_number                      NUMBER,
365         p_created_by                                 NUMBER,
366         p_creation_date                              DATE,
367         p_last_updated_by                            NUMBER,
368         p_last_update_date                           DATE,
369         p_last_update_login                          NUMBER) IS
370 
371     CURSOR dist_csr IS
372       SELECT REC_NREC_TAX_DIST_ID,
373              APPLICATION_ID,
374              ENTITY_CODE,
375              EVENT_CLASS_CODE,
379              TRX_LINE_ID,
376              EVENT_TYPE_CODE,
377              TRX_ID,
378              TRX_NUMBER,
380              TRX_LINE_NUMBER,
381              TAX_LINE_ID,
382              TAX_LINE_NUMBER,
383              TRX_LINE_DIST_ID,
384              TRX_LEVEL_TYPE,
385              ITEM_DIST_NUMBER,
386              REC_NREC_TAX_DIST_NUMBER,
387              REC_NREC_RATE,
388              RECOVERABLE_FLAG,
389              REC_NREC_TAX_AMT,
390              TAX_EVENT_CLASS_CODE,
391              TAX_EVENT_TYPE_CODE,
392              CONTENT_OWNER_ID,
393              TAX_REGIME_ID,
394              TAX_REGIME_CODE,
395              TAX_ID,
396              TAX,
397              TAX_STATUS_ID,
398              TAX_STATUS_CODE,
399              TAX_RATE_ID,
400              TAX_RATE_CODE,
401              TAX_RATE,
402              INCLUSIVE_FLAG,
403              RECOVERY_TYPE_ID,
404              RECOVERY_TYPE_CODE,
405              RECOVERY_RATE_ID,
406              RECOVERY_RATE_CODE,
407              REC_TYPE_RULE_FLAG,
408              NEW_REC_RATE_CODE_FLAG,
409              REVERSE_FLAG,
410              HISTORICAL_FLAG,
411              REVERSED_TAX_DIST_ID,
412              REC_NREC_TAX_AMT_TAX_CURR,
413              REC_NREC_TAX_AMT_FUNCL_CURR,
414              INTENDED_USE,
415              PROJECT_ID,
416              TASK_ID,
417              AWARD_ID,
418              EXPENDITURE_TYPE,
419              EXPENDITURE_ORGANIZATION_ID,
420              EXPENDITURE_ITEM_DATE,
421              REC_RATE_DET_RULE_FLAG,
422              LEDGER_ID,
423              SUMMARY_TAX_LINE_ID,
424              RECORD_TYPE_CODE,
425              CURRENCY_CONVERSION_DATE,
426              CURRENCY_CONVERSION_TYPE,
427              CURRENCY_CONVERSION_RATE,
428              TAX_CURRENCY_CONVERSION_DATE,
429              TAX_CURRENCY_CONVERSION_TYPE,
430              TAX_CURRENCY_CONVERSION_RATE,
431              TRX_CURRENCY_CODE,
432              TAX_CURRENCY_CODE,
433              TRX_LINE_DIST_QTY,
434              REF_DOC_TRX_LINE_DIST_QTY,
435              PRICE_DIFF,
436              QTY_DIFF,
437              PER_TRX_CURR_UNIT_NR_AMT,
438              REF_PER_TRX_CURR_UNIT_NR_AMT,
439              REF_DOC_CURR_CONV_RATE,
440              UNIT_PRICE,
441              REF_DOC_UNIT_PRICE,
442              PER_UNIT_NREC_TAX_AMT,
443              REF_DOC_PER_UNIT_NREC_TAX_AMT,
444              RATE_TAX_FACTOR,
445              TAX_APPORTIONMENT_FLAG,
446              TRX_LINE_DIST_AMT,
447              TRX_LINE_DIST_TAX_AMT,
448              ORIG_REC_NREC_RATE,
449              ORIG_REC_RATE_CODE,
450              ORIG_REC_NREC_TAX_AMT,
451              ORIG_REC_NREC_TAX_AMT_TAX_CURR,
452              ACCOUNT_CCID,
453              ACCOUNT_STRING,
454              UNROUNDED_REC_NREC_TAX_AMT,
455              APPLICABILITY_RESULT_ID,
456              REC_RATE_RESULT_ID,
457              BACKWARD_COMPATIBILITY_FLAG,
458              OVERRIDDEN_FLAG,
459              SELF_ASSESSED_FLAG,
460              FREEZE_FLAG,
461              POSTING_FLAG,
462              GL_DATE,
463              REF_DOC_APPLICATION_ID,
464              REF_DOC_ENTITY_CODE,
465              REF_DOC_EVENT_CLASS_CODE,
466              REF_DOC_TRX_ID,
467              REF_DOC_LINE_ID,
468              REF_DOC_DIST_ID,
469              REF_DOC_TRX_LEVEL_TYPE,
470              MINIMUM_ACCOUNTABLE_UNIT,
471              PRECISION,
472              ROUNDING_RULE_CODE,
473              TAXABLE_AMT,
474              TAXABLE_AMT_TAX_CURR,
475              TAXABLE_AMT_FUNCL_CURR,
476              TAX_ONLY_LINE_FLAG,
477              UNROUNDED_TAXABLE_AMT,
478              LEGAL_ENTITY_ID,
479              PRD_TAX_AMT,
480              PRD_TAX_AMT_TAX_CURR,
481              PRD_TAX_AMT_FUNCL_CURR,
482              PRD_TOTAL_TAX_AMT,
483              PRD_TOTAL_TAX_AMT_TAX_CURR,
484              PRD_TOTAL_TAX_AMT_FUNCL_CURR,
485              APPLIED_FROM_TAX_DIST_ID,
486              APPLIED_TO_DOC_CURR_CONV_RATE,
487              ADJUSTED_DOC_TAX_DIST_ID,
488              FUNC_CURR_ROUNDING_ADJUSTMENT,
489              TAX_APPORTIONMENT_LINE_NUMBER,
490              LAST_MANUAL_ENTRY,
491              REF_DOC_TAX_DIST_ID,
492              MRC_TAX_DIST_FLAG,
493              MRC_LINK_TO_TAX_DIST_ID,
494              ATTRIBUTE_CATEGORY,
495              ATTRIBUTE1,
496              ATTRIBUTE2,
497              ATTRIBUTE3,
498              ATTRIBUTE4,
499              ATTRIBUTE5,
500              ATTRIBUTE6,
501              ATTRIBUTE7,
502              ATTRIBUTE8,
503              ATTRIBUTE9,
504              ATTRIBUTE10,
505              ATTRIBUTE11,
506              ATTRIBUTE12,
507              ATTRIBUTE13,
508              ATTRIBUTE14,
509              ATTRIBUTE15,
510              GLOBAL_ATTRIBUTE_CATEGORY,
511              GLOBAL_ATTRIBUTE1,
512              GLOBAL_ATTRIBUTE2,
513              GLOBAL_ATTRIBUTE3,
514              GLOBAL_ATTRIBUTE4,
515              GLOBAL_ATTRIBUTE5,
516              GLOBAL_ATTRIBUTE6,
517              GLOBAL_ATTRIBUTE7,
518              GLOBAL_ATTRIBUTE8,
519              GLOBAL_ATTRIBUTE9,
520              GLOBAL_ATTRIBUTE10,
521              GLOBAL_ATTRIBUTE11,
522              GLOBAL_ATTRIBUTE12,
523              GLOBAL_ATTRIBUTE13,
524              GLOBAL_ATTRIBUTE14,
525              GLOBAL_ATTRIBUTE15,
526              GLOBAL_ATTRIBUTE16,
527              GLOBAL_ATTRIBUTE17,
528              GLOBAL_ATTRIBUTE18,
529              GLOBAL_ATTRIBUTE19,
533              ORIG_AP_TAX_DIST_NUM,
530              GLOBAL_ATTRIBUTE20,
531              ORIG_AP_CHRG_DIST_NUM,
532              ORIG_AP_CHRG_DIST_ID,
534              ORIG_AP_TAX_DIST_ID,
535              OBJECT_VERSION_NUMBER,
536              CREATED_BY,
537              CREATION_DATE,
538              LAST_UPDATED_BY,
539              LAST_UPDATE_DATE,
540              LAST_UPDATE_LOGIN
541         FROM ZX_REC_NREC_DIST
542         WHERE REC_NREC_TAX_DIST_ID = p_rec_nrec_tax_dist_id;
543 
544     Recinfo dist_csr%ROWTYPE;
545 
546   BEGIN
547     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
548 
549     IF (g_level_procedure >= g_current_runtime_level ) THEN
550       FND_LOG.STRING(g_level_procedure,
551                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Lock_Row.BEGIN',
552                      'ZX_TRL_DISTRIBUTIONS_PKG: Lock_Row (+)');
553     END IF;
554 
555     OPEN dist_csr;
556     FETCH dist_csr
557     INTO Recinfo;
558 
559     IF (dist_csr%NOTFOUND) THEN
560       CLOSE dist_csr;
561       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
562       APP_EXCEPTION.Raise_Exception;
563     END IF;
564 
565     CLOSE dist_csr;
566 
567   IF ((Recinfo.REC_NREC_TAX_DIST_ID     = p_rec_nrec_tax_dist_id) AND
568       (Recinfo.APPLICATION_ID           = p_application_id) AND
569       (Recinfo.ENTITY_CODE              = p_entity_code) AND
570       (Recinfo.EVENT_CLASS_CODE         = p_event_class_code) AND
571       ((Recinfo.EVENT_TYPE_CODE = p_event_type_code) OR
572        ((Recinfo.EVENT_TYPE_CODE IS NULL) AND
573         (p_event_type_code IS NULL))) AND
574       (Recinfo.TRX_ID                   = p_trx_id) AND
575       ((Recinfo.TRX_NUMBER = p_trx_number) OR
576        ((Recinfo.TRX_NUMBER IS NULL) AND
577         (p_trx_number IS NULL))) AND
578       (Recinfo.TRX_LINE_ID              = p_trx_line_id) AND
579       ((Recinfo.TRX_LINE_NUMBER = p_trx_line_number) OR
580        ((Recinfo.TRX_LINE_NUMBER IS NULL) AND
581         (p_trx_line_number IS NULL))) AND
582       (Recinfo.TAX_LINE_ID              = p_tax_line_id) AND
583       (Recinfo.TAX_LINE_NUMBER          = p_tax_line_number) AND
584       (Recinfo.TRX_LINE_DIST_ID         = p_trx_line_dist_id) AND
585       (Recinfo.TRX_LEVEL_TYPE           = p_trx_level_type) AND
586       ((Recinfo.ITEM_DIST_NUMBER = p_item_dist_number) OR
587        ((Recinfo.ITEM_DIST_NUMBER IS NULL) AND
588         (p_item_dist_number IS NULL))) AND
589       (Recinfo.REC_NREC_TAX_DIST_NUMBER = p_rec_nrec_tax_dist_number) AND
590       (Recinfo.REC_NREC_RATE            = p_rec_nrec_rate) AND
591       (Recinfo.RECOVERABLE_FLAG         = p_recoverable_flag) AND
592       (Recinfo.REC_NREC_TAX_AMT         = p_rec_nrec_tax_amt)  AND
593       ((Recinfo.TAX_EVENT_CLASS_CODE = p_tax_event_class_code) OR
594        ((Recinfo.TAX_EVENT_CLASS_CODE IS NULL) AND
595         (p_tax_event_class_code IS NULL))) AND
596       ((Recinfo.TAX_EVENT_TYPE_CODE = p_tax_event_type_code) OR
597        ((Recinfo.TAX_EVENT_TYPE_CODE IS NULL) AND
598         (p_tax_event_type_code IS NULL))) AND
599       ((Recinfo.CONTENT_OWNER_ID = p_content_owner_id) OR
600        ((Recinfo.CONTENT_OWNER_ID IS NULL) AND
601         (p_content_owner_id IS NULL))) AND
602       ((Recinfo.TAX_REGIME_ID = p_tax_regime_id) OR
603        ((Recinfo.TAX_REGIME_ID IS NULL) AND
604         (p_tax_regime_id IS NULL))) AND
605       ((Recinfo.TAX_REGIME_CODE = p_tax_regime_code) OR
606        ((Recinfo.TAX_REGIME_CODE IS NULL) AND
607         (p_tax_regime_code IS NULL))) AND
608       ((Recinfo.TAX_ID = p_tax_id) OR
609        ((Recinfo.TAX_ID IS NULL) AND
610         (p_tax_id IS NULL))) AND
611       ((Recinfo.TAX = p_tax) OR
612        ((Recinfo.TAX IS NULL) AND
613         (p_tax IS NULL))) AND
614       ((Recinfo.TAX_STATUS_ID = p_tax_status_id) OR
615        ((Recinfo.TAX_STATUS_ID IS NULL) AND
616         (p_tax_status_id IS NULL))) AND
617       ((Recinfo.TAX_STATUS_CODE = p_tax_status_code) OR
618        ((Recinfo.TAX_STATUS_CODE IS NULL) AND
619         (p_tax_status_code IS NULL))) AND
620       ((Recinfo.TAX_RATE_ID = p_tax_rate_id) OR
621        ((Recinfo.TAX_RATE_ID IS NULL) AND
622         (p_tax_rate_id  IS NULL))) AND
623       ((Recinfo.TAX_RATE_CODE = p_tax_rate_code) OR
624        ((Recinfo.TAX_RATE_CODE IS NULL) AND
625         (p_tax_rate_code IS NULL))) AND
626       ((Recinfo.TAX_RATE = p_tax_rate) OR
627        ((Recinfo.TAX_RATE IS NULL) AND
628         (p_tax_rate IS NULL))) AND
629       ((Recinfo.INCLUSIVE_FLAG = p_inclusive_flag) OR
630        ((Recinfo.INCLUSIVE_FLAG IS NULL) AND
631         (p_inclusive_flag IS NULL))) AND
632       ((Recinfo.RECOVERY_TYPE_ID = p_recovery_type_id) OR
633        ((Recinfo.RECOVERY_TYPE_ID IS NULL) AND
634         (p_recovery_type_id IS NULL))) AND
635       ((Recinfo.RECOVERY_TYPE_CODE = p_recovery_type_code) OR
636        ((Recinfo.RECOVERY_TYPE_CODE IS NULL) AND
637         (p_recovery_type_code IS NULL))) AND
638       ((Recinfo.RECOVERY_RATE_ID = p_recovery_rate_id) OR
639        ((Recinfo.RECOVERY_RATE_ID IS NULL) AND
640         (p_recovery_rate_id IS NULL))) AND
641       ((Recinfo.RECOVERY_RATE_CODE = p_recovery_rate_code) OR
642        ((Recinfo.RECOVERY_RATE_CODE IS NULL) AND
643         (p_recovery_rate_code IS NULL))) AND
644       ((Recinfo.REC_TYPE_RULE_FLAG = p_rec_type_rule_flag) OR
645        ((Recinfo.REC_TYPE_RULE_FLAG IS NULL) AND
646         (p_rec_type_rule_flag IS NULL))) AND
647       ((Recinfo.NEW_REC_RATE_CODE_FLAG = p_new_rec_rate_code_flag) OR
648        ((Recinfo.NEW_REC_RATE_CODE_FLAG IS NULL) AND
649         (p_new_rec_rate_code_flag IS NULL))) AND
650       ((Recinfo.REVERSE_FLAG = p_reverse_flag) OR
651        ((Recinfo.REVERSE_FLAG IS NULL) AND
652         (p_reverse_flag IS NULL))) AND
653       ((Recinfo.HISTORICAL_FLAG = p_historical_flag) OR
657        ((Recinfo.REVERSED_TAX_DIST_ID IS NULL) AND
654        ((Recinfo.HISTORICAL_FLAG IS NULL) AND
655         (p_historical_flag IS NULL))) AND
656       ((Recinfo.REVERSED_TAX_DIST_ID = p_reversed_tax_dist_id) OR
658         (p_reversed_tax_dist_id IS NULL))) AND
659       ((Recinfo.REC_NREC_TAX_AMT_TAX_CURR = p_rec_nrec_tax_amt_tax_curr) OR
660        ((Recinfo.REC_NREC_TAX_AMT_TAX_CURR IS NULL) AND
661         (p_rec_nrec_tax_amt_tax_curr IS NULL))) AND
662       ((Recinfo.REC_NREC_TAX_AMT_FUNCL_CURR = p_rec_nrec_tax_amt_funcl_curr) OR
663        ((Recinfo.REC_NREC_TAX_AMT_FUNCL_CURR IS NULL) AND
664         (p_rec_nrec_tax_amt_funcl_curr IS NULL))) AND
665       ((Recinfo.INTENDED_USE = p_intended_use) OR
666        ((Recinfo.INTENDED_USE IS NULL) AND
667         (p_intended_use  IS NULL))) AND
668       ((Recinfo.PROJECT_ID = p_project_id) OR
669         ((Recinfo.PROJECT_ID IS NULL) AND
670          (p_project_id	 IS NULL))) AND
671       ((Recinfo.TASK_ID = p_task_id) OR
672        ((Recinfo.TASK_ID IS NULL) AND
673         (p_task_id IS NULL))) AND
674       ((Recinfo.AWARD_ID = p_award_id) OR
675        ((Recinfo.AWARD_ID IS NULL) AND
676         (p_award_id IS NULL))) AND
677       ((Recinfo.EXPENDITURE_TYPE = p_expenditure_type) OR
678        ((Recinfo.EXPENDITURE_TYPE IS NULL) AND
679         (p_expenditure_type IS NULL))) AND
680       ((Recinfo.EXPENDITURE_ORGANIZATION_ID = p_expenditure_organization_id) OR
681        ((Recinfo.EXPENDITURE_ORGANIZATION_ID IS NULL) AND
682         (p_expenditure_organization_id IS NULL))) AND
683       ((Recinfo.EXPENDITURE_ITEM_DATE = p_expenditure_item_date) OR
684        ((Recinfo.EXPENDITURE_ITEM_DATE IS NULL) AND
685         (p_expenditure_item_date IS NULL))) AND
686       ((Recinfo.REC_RATE_DET_RULE_FLAG = p_rec_rate_det_rule_flag) OR
687        ((Recinfo.REC_RATE_DET_RULE_FLAG IS NULL) AND
688         (p_rec_rate_det_rule_flag IS NULL))) AND
689       ((Recinfo.LEDGER_ID = p_ledger_id) OR
690        ((Recinfo.LEDGER_ID IS NULL) AND
691         (p_ledger_id  IS NULL))) AND
692       ((Recinfo.SUMMARY_TAX_LINE_ID = p_summary_tax_line_id) OR
693        ((Recinfo.SUMMARY_TAX_LINE_ID IS NULL) AND
694         (p_summary_tax_line_id IS NULL))) AND
695       ((Recinfo.RECORD_TYPE_CODE = p_record_type_code) OR
696        ((Recinfo.RECORD_TYPE_CODE IS NULL) AND
697         (p_record_type_code IS NULL))) AND
698       ((Recinfo.CURRENCY_CONVERSION_DATE = p_currency_conversion_date) OR
699        ((Recinfo.CURRENCY_CONVERSION_DATE IS NULL) AND
700         (p_currency_conversion_date  IS NULL))) AND
701       ((Recinfo.CURRENCY_CONVERSION_TYPE = p_currency_conversion_type) OR
702        ((Recinfo.CURRENCY_CONVERSION_TYPE IS NULL) AND
703         (p_currency_conversion_type  IS NULL))) AND
704       ((Recinfo.CURRENCY_CONVERSION_RATE = p_currency_conversion_rate) OR
705        ((Recinfo.CURRENCY_CONVERSION_RATE IS NULL) AND
706         (p_currency_conversion_rate  IS NULL))) AND
707       ((Recinfo.TAX_CURRENCY_CONVERSION_DATE = p_tax_currency_conversion_date) OR
708        ((Recinfo.TAX_CURRENCY_CONVERSION_DATE IS NULL) AND
709         (p_tax_currency_conversion_date  IS NULL))) AND
710       ((Recinfo.TAX_CURRENCY_CONVERSION_TYPE = p_tax_currency_conversion_type) OR
711        ((Recinfo.TAX_CURRENCY_CONVERSION_TYPE IS NULL) AND
712         (p_tax_currency_conversion_type  IS NULL))) AND
713       ((Recinfo.TAX_CURRENCY_CONVERSION_RATE = p_tax_currency_conversion_rate) OR
714        ((Recinfo.TAX_CURRENCY_CONVERSION_RATE IS NULL) AND
715         (p_tax_currency_conversion_rate  IS NULL))) AND
716       ((Recinfo.TRX_CURRENCY_CODE = p_trx_currency_code) OR
717        ((Recinfo.TRX_CURRENCY_CODE IS NULL) AND
718         (p_trx_currency_code IS NULL))) AND
719       ((Recinfo.TAX_CURRENCY_CODE = p_tax_currency_code) OR
720        ((Recinfo.TAX_CURRENCY_CODE IS NULL) AND
721         (p_tax_currency_code IS NULL))) AND
722       ((Recinfo.TRX_LINE_DIST_QTY = p_TRX_LINE_DIST_QTY) OR
723        ((Recinfo.TRX_LINE_DIST_QTY IS NULL) AND
724         (p_TRX_LINE_DIST_QTY IS NULL))) AND
725       ((Recinfo.REF_DOC_TRX_LINE_DIST_QTY = p_REF_DOC_TRX_LINE_DIST_QTY) OR
726        ((Recinfo.REF_DOC_TRX_LINE_DIST_QTY IS NULL) AND
727         (p_REF_DOC_TRX_LINE_DIST_QTY IS NULL))) AND
728       ((Recinfo.PRICE_DIFF = p_PRICE_DIFF) OR
729        ((Recinfo.PRICE_DIFF IS NULL) AND
730         (p_PRICE_DIFF IS NULL))) AND
731       ((Recinfo.QTY_DIFF = p_QTY_DIFF) OR
732        ((Recinfo.QTY_DIFF IS NULL) AND
733         (p_QTY_DIFF IS NULL))) AND
734       ((Recinfo.PER_TRX_CURR_UNIT_NR_AMT = p_PER_TRX_CURR_UNIT_NR_AMT) OR
735        ((Recinfo.PER_TRX_CURR_UNIT_NR_AMT IS NULL) AND
736         (p_PER_TRX_CURR_UNIT_NR_AMT IS NULL))) AND
737       ((Recinfo.REF_PER_TRX_CURR_UNIT_NR_AMT = p_REF_PER_TRX_CURR_UNIT_NR_AMT) OR
738        ((Recinfo.REF_PER_TRX_CURR_UNIT_NR_AMT IS NULL) AND
739         (p_REF_PER_TRX_CURR_UNIT_NR_AMT IS NULL))) AND
740       ((Recinfo.REF_DOC_CURR_CONV_RATE = p_REF_DOC_CURR_CONV_RATE) OR
741        ((Recinfo.REF_DOC_CURR_CONV_RATE IS NULL) AND
742         (p_REF_DOC_CURR_CONV_RATE IS NULL))) AND
743       ((Recinfo.UNIT_PRICE = p_UNIT_PRICE) OR
744        ((Recinfo.UNIT_PRICE IS NULL) AND
745         (p_UNIT_PRICE IS NULL))) AND
746       ((Recinfo.REF_DOC_UNIT_PRICE = p_REF_DOC_UNIT_PRICE) OR
747        ((Recinfo.REF_DOC_UNIT_PRICE IS NULL) AND
748         (p_REF_DOC_UNIT_PRICE IS NULL))) AND
749       ((Recinfo.PER_UNIT_NREC_TAX_AMT = p_PER_UNIT_NREC_TAX_AMT) OR
750        ((Recinfo.PER_UNIT_NREC_TAX_AMT IS NULL) AND
751         (p_PER_UNIT_NREC_TAX_AMT IS NULL))) AND
752       ((Recinfo.REF_DOC_PER_UNIT_NREC_TAX_AMT = p_ref_doc_per_unit_nrec_tax_am) OR
753        ((Recinfo.REF_DOC_PER_UNIT_NREC_TAX_AMT IS NULL) AND
754         (p_ref_doc_per_unit_nrec_tax_am IS NULL))) AND
755       ((Recinfo.RATE_TAX_FACTOR = p_RATE_TAX_FACTOR) OR
756        ((Recinfo.RATE_TAX_FACTOR IS NULL) AND
757         (p_RATE_TAX_FACTOR IS NULL))) AND
758       ((Recinfo.TAX_APPORTIONMENT_FLAG = p_TAX_APPORTIONMENT_FLAG) OR
759        ((Recinfo.TAX_APPORTIONMENT_FLAG IS NULL) AND
763         (p_trx_line_dist_amt IS NULL))) AND
760         (p_TAX_APPORTIONMENT_FLAG IS NULL))) AND
761       ((Recinfo.TRX_LINE_DIST_AMT = p_trx_line_dist_amt) OR
762        ((Recinfo.TRX_LINE_DIST_AMT IS NULL) AND
764       ((Recinfo.TRX_LINE_DIST_TAX_AMT = p_trx_line_dist_tax_amt) OR
765        ((Recinfo.TRX_LINE_DIST_TAX_AMT IS NULL) AND
766         (p_trx_line_dist_tax_amt IS NULL))) AND
767       ((Recinfo.ORIG_REC_NREC_RATE = p_orig_rec_nrec_rate) OR
768        ((Recinfo.ORIG_REC_NREC_RATE IS NULL) AND
769         (p_orig_rec_nrec_rate IS NULL))) AND
770       ((Recinfo.ORIG_REC_RATE_CODE = p_orig_rec_rate_code) OR
771        ((Recinfo.ORIG_REC_RATE_CODE IS NULL) AND
772         (p_orig_rec_rate_code IS NULL))) AND
773       ((Recinfo.ORIG_REC_NREC_TAX_AMT = p_orig_rec_nrec_tax_amt) OR
774        ((Recinfo.ORIG_REC_NREC_TAX_AMT IS NULL) AND
775         (p_orig_rec_nrec_tax_amt IS NULL))) AND
776       ((Recinfo.ORIG_REC_NREC_TAX_AMT_TAX_CURR = p_orig_rec_nrec_tax_amt_tax_cu) OR
777        ((Recinfo.ORIG_REC_NREC_TAX_AMT_TAX_CURR IS NULL) AND
778         (p_orig_rec_nrec_tax_amt_tax_cu IS NULL))) AND
779       ((Recinfo.ACCOUNT_CCID = p_ACCOUNT_CCID) OR
780        ((Recinfo.ACCOUNT_CCID IS NULL) AND
781         (p_account_ccid IS NULL))) AND
782       ((Recinfo.ACCOUNT_STRING = p_account_string) OR
783        ((Recinfo.ACCOUNT_STRING IS NULL) AND
784         (p_account_string IS NULL))) AND
785       ((Recinfo.UNROUNDED_REC_NREC_TAX_AMT = p_unrounded_rec_nrec_tax_amt) OR
786        ((Recinfo.UNROUNDED_REC_NREC_TAX_AMT IS NULL) AND
787         (p_unrounded_rec_nrec_tax_amt IS NULL))) AND
788       ((Recinfo.APPLICABILITY_RESULT_ID = p_applicability_result_id) OR
789        ((Recinfo.APPLICABILITY_RESULT_ID IS NULL) AND
790         (p_applicability_result_id IS NULL))) AND
791       ((Recinfo.REC_RATE_RESULT_ID = p_rec_rate_result_id) OR
792        ((Recinfo.REC_RATE_RESULT_ID IS NULL) AND
793         (p_rec_rate_result_id IS NULL))) AND
794       ((Recinfo.BACKWARD_COMPATIBILITY_FLAG = p_backward_compatibility_flag) OR
795        ((Recinfo.BACKWARD_COMPATIBILITY_FLAG IS NULL) AND
796         (p_backward_compatibility_flag IS NULL))) AND
797       ((Recinfo.OVERRIDDEN_FLAG = p_overridden_flag) OR
798        ((Recinfo.OVERRIDDEN_FLAG IS NULL) AND
799         (p_overridden_flag IS NULL))) AND
800       ((Recinfo.SELF_ASSESSED_FLAG = p_self_assessed_flag) OR
801        ((Recinfo.SELF_ASSESSED_FLAG IS NULL) AND
802         (p_self_assessed_flag IS NULL))) AND
803       ((Recinfo.FREEZE_FLAG = p_freeze_flag) OR
804        ((Recinfo.FREEZE_FLAG IS NULL) AND
805         (p_freeze_flag IS NULL))) AND
806       ((Recinfo.POSTING_FLAG = p_posting_flag) OR
807        ((Recinfo.POSTING_FLAG IS NULL) AND
808         (p_posting_flag IS NULL))) AND
809       ((Recinfo.GL_DATE = p_gl_date) OR
810        ((Recinfo.GL_DATE IS NULL) AND
811         (p_gl_date IS NULL))) AND
812       ((Recinfo.REF_DOC_APPLICATION_ID = p_ref_doc_application_id) OR
813        ((Recinfo.REF_DOC_APPLICATION_ID IS NULL) AND
814         (p_ref_doc_application_id IS NULL))) AND
815       ((Recinfo.REF_DOC_ENTITY_CODE = p_ref_doc_entity_code) OR
816        ((Recinfo.REF_DOC_ENTITY_CODE IS NULL) AND
817         (p_ref_doc_entity_code IS NULL))) AND
818       ((Recinfo.REF_DOC_EVENT_CLASS_CODE = p_ref_doc_event_class_code) OR
819        ((Recinfo.REF_DOC_EVENT_CLASS_CODE IS NULL) AND
820         (p_ref_doc_event_class_code IS NULL))) AND
821       ((Recinfo.REF_DOC_TRX_ID = p_ref_doc_trx_id) OR
822        ((Recinfo.REF_DOC_TRX_ID IS NULL) AND
823         (p_ref_doc_trx_id IS NULL))) AND
824       ((Recinfo.REF_DOC_LINE_ID = p_ref_doc_line_id) OR
825        ((Recinfo.REF_DOC_LINE_ID IS NULL) AND
826         (p_ref_doc_line_id IS NULL))) AND
827       ((Recinfo.REF_DOC_DIST_ID = p_ref_doc_dist_id) OR
828        ((Recinfo.REF_DOC_DIST_ID IS NULL) AND
829         (p_ref_doc_dist_id IS NULL))) AND
830       ((Recinfo.REF_DOC_TRX_LEVEL_TYPE = p_ref_doc_trx_level_type) OR
831        ((Recinfo.REF_DOC_TRX_LEVEL_TYPE IS NULL) AND
832         (p_ref_doc_trx_level_type IS NULL))) AND
833       ((Recinfo.MINIMUM_ACCOUNTABLE_UNIT = p_minimum_accountable_unit) OR
834        ((Recinfo.MINIMUM_ACCOUNTABLE_UNIT IS NULL) AND
835         (p_minimum_accountable_unit IS NULL))) AND
836       ((Recinfo.PRECISION = p_precision) OR
837        ((Recinfo.PRECISION IS NULL) AND
838         (p_precision IS NULL))) AND
839       ((Recinfo.ROUNDING_RULE_CODE = p_rounding_rule_code) OR
840        ((Recinfo.ROUNDING_RULE_CODE IS NULL) AND
841         (p_rounding_rule_code IS NULL))) AND
842       ((Recinfo.TAXABLE_AMT = p_taxable_amt) OR
843        ((Recinfo.TAXABLE_AMT IS NULL) AND
844         (p_taxable_amt IS NULL))) AND
845       ((Recinfo.TAXABLE_AMT_TAX_CURR = p_taxable_amt_tax_curr) OR
846        ((Recinfo.TAXABLE_AMT_TAX_CURR IS NULL) AND
847         (p_taxable_amt_tax_curr IS NULL))) AND
848       ((Recinfo.TAXABLE_AMT_FUNCL_CURR = p_taxable_amt_funcl_curr) OR
849        ((Recinfo.TAXABLE_AMT_FUNCL_CURR IS NULL) AND
850         (p_taxable_amt_funcl_curr IS NULL))) AND
851       ((Recinfo.TAX_ONLY_LINE_FLAG = p_tax_only_line_flag) OR
852        ((Recinfo.TAX_ONLY_LINE_FLAG IS NULL) AND
853         (p_tax_only_line_flag IS NULL))) AND
854       ((Recinfo.UNROUNDED_TAXABLE_AMT = p_unrounded_taxable_amt) OR
855        ((Recinfo.UNROUNDED_TAXABLE_AMT IS NULL) AND
856         (p_unrounded_taxable_amt IS NULL))) AND
857       ((Recinfo.LEGAL_ENTITY_ID = p_legal_entity_id) OR
858        ((Recinfo.LEGAL_ENTITY_ID IS NULL) AND
859         (p_legal_entity_id IS NULL))) AND
860       ((Recinfo.PRD_TAX_AMT = p_prd_tax_amt) OR
861        ((Recinfo.PRD_TAX_AMT IS NULL) AND
862         (p_prd_tax_amt IS NULL))) AND
863       ((Recinfo.PRD_TAX_AMT_TAX_CURR = p_prd_tax_amt_tax_curr) OR
864        ((Recinfo.PRD_TAX_AMT_TAX_CURR IS NULL) AND
865         (p_prd_tax_amt_tax_curr IS NULL))) AND
866       ((Recinfo.PRD_TAX_AMT_FUNCL_CURR = p_prd_tax_amt_funcl_curr) OR
867        ((Recinfo.PRD_TAX_AMT_FUNCL_CURR IS NULL) AND
868         (p_prd_tax_amt_funcl_curr IS NULL))) AND
869       ((Recinfo.PRD_TOTAL_TAX_AMT = p_prd_total_tax_amt) OR
870        ((Recinfo.PRD_TOTAL_TAX_AMT IS NULL) AND
871         (p_prd_total_tax_amt IS NULL))) AND
872       ((Recinfo.PRD_TOTAL_TAX_AMT_TAX_CURR = p_prd_total_tax_amt_tax_curr) OR
873        ((Recinfo.PRD_TOTAL_TAX_AMT_TAX_CURR IS NULL) AND
874         (p_prd_total_tax_amt_tax_curr IS NULL))) AND
875       ((Recinfo.PRD_TOTAL_TAX_AMT_FUNCL_CURR = p_prd_total_tax_amt_funcl_curr) OR
876        ((Recinfo.PRD_TOTAL_TAX_AMT_FUNCL_CURR IS NULL) AND
877         (p_prd_total_tax_amt_funcl_curr IS NULL))) AND
878       ((Recinfo.APPLIED_FROM_TAX_DIST_ID = p_applied_from_tax_dist_id) OR
879        ((Recinfo.APPLIED_FROM_TAX_DIST_ID IS NULL) AND
880         (p_applied_from_tax_dist_id IS NULL))) AND
881       ((Recinfo.APPLIED_TO_DOC_CURR_CONV_RATE = p_appl_to_doc_curr_conv_rate) OR
882        ((Recinfo.APPLIED_TO_DOC_CURR_CONV_RATE IS NULL) AND
883         (p_appl_to_doc_curr_conv_rate IS NULL))) AND
884       ((Recinfo.ADJUSTED_DOC_TAX_DIST_ID = p_adjusted_doc_tax_dist_id) OR
885        ((Recinfo.ADJUSTED_DOC_TAX_DIST_ID IS NULL) AND
886         (p_adjusted_doc_tax_dist_id IS NULL))) AND
887       ((Recinfo.FUNC_CURR_ROUNDING_ADJUSTMENT = p_func_curr_rounding_adjust) OR
888        ((Recinfo.FUNC_CURR_ROUNDING_ADJUSTMENT IS NULL) AND
889         (p_func_curr_rounding_adjust IS NULL))) AND
890       ((Recinfo.TAX_APPORTIONMENT_LINE_NUMBER = p_tax_apportionment_line_num) OR
891        ((Recinfo.TAX_APPORTIONMENT_LINE_NUMBER IS NULL) AND
892         (p_tax_apportionment_line_num IS NULL))) AND
893       ((Recinfo.LAST_MANUAL_ENTRY = p_last_manual_entry) OR
894        ((Recinfo.LAST_MANUAL_ENTRY IS NULL) AND
895         (p_last_manual_entry IS NULL))) AND
896       ((Recinfo.REF_DOC_TAX_DIST_ID = p_REF_DOC_TAX_DIST_ID) OR
897        ((Recinfo.REF_DOC_TAX_DIST_ID IS NULL) AND
898         (p_REF_DOC_TAX_DIST_ID IS NULL))) AND
899       ((Recinfo.MRC_TAX_DIST_FLAG = p_MRC_TAX_DIST_FLAG) OR
900        ((Recinfo.MRC_TAX_DIST_FLAG IS NULL) AND
901         (p_MRC_TAX_DIST_FLAG IS NULL))) AND
902       ((Recinfo.MRC_LINK_TO_TAX_DIST_ID = p_MRC_LINK_TO_TAX_DIST_ID) OR
903        ((Recinfo.MRC_LINK_TO_TAX_DIST_ID IS NULL) AND
904         (p_MRC_LINK_TO_TAX_DIST_ID IS NULL))) AND
905       ((Recinfo.ATTRIBUTE_CATEGORY = p_attribute_category) OR
906        ((Recinfo.ATTRIBUTE_CATEGORY IS NULL) AND
907         (p_attribute_category IS NULL))) AND
908       ((Recinfo.ATTRIBUTE1 = p_attribute1) OR
909        ((Recinfo.ATTRIBUTE1 IS NULL) AND
910         (p_attribute1 IS NULL))) AND
911       ((Recinfo.ATTRIBUTE2 = p_attribute2) OR
912        ((Recinfo.ATTRIBUTE2 IS NULL) AND
913         (p_attribute2 IS NULL))) AND
914       ((Recinfo.ATTRIBUTE3 = p_attribute3) OR
915        ((Recinfo.ATTRIBUTE3 IS NULL) AND
916         (p_attribute3 IS NULL))) AND
917       ((Recinfo.ATTRIBUTE4 = p_attribute4) OR
918        ((Recinfo.ATTRIBUTE4 IS NULL) AND
919         (p_attribute4 IS NULL))) AND
920       ((Recinfo.ATTRIBUTE5 = p_attribute5) OR
921        ((Recinfo.ATTRIBUTE5 IS NULL) AND
922         (p_attribute5 IS NULL))) AND
923       ((Recinfo.ATTRIBUTE6 = p_attribute6) OR
927        ((Recinfo.ATTRIBUTE7 IS NULL) AND
924        ((Recinfo.ATTRIBUTE6 IS NULL) AND
925         (p_attribute6 IS NULL))) AND
926       ((Recinfo.ATTRIBUTE7 = p_attribute7) OR
928         (p_attribute7 IS NULL))) AND
929       ((Recinfo.ATTRIBUTE8 = p_attribute8) OR
930        ((Recinfo.ATTRIBUTE8 IS NULL) AND
931         (p_attribute8 IS NULL))) AND
932       ((Recinfo.ATTRIBUTE9 = p_attribute9) OR
933        ((Recinfo.ATTRIBUTE9 IS NULL) AND
934         (p_attribute9 IS NULL))) AND
935       ((Recinfo.ATTRIBUTE10 = p_attribute10) OR
936        ((Recinfo.ATTRIBUTE10 IS NULL) AND
937         (p_attribute10 IS NULL))) AND
938       ((Recinfo.ATTRIBUTE11 = p_attribute11) OR
939        ((Recinfo.ATTRIBUTE11 IS NULL) AND
940         (p_attribute11 IS NULL))) AND
941       ((Recinfo.ATTRIBUTE12 = p_attribute12) OR
942        ((Recinfo.ATTRIBUTE12 IS NULL) AND
943         (p_attribute12 IS NULL))) AND
944       ((Recinfo.ATTRIBUTE13 = p_attribute13) OR
945        ((Recinfo.ATTRIBUTE13 IS NULL) AND
946         (p_attribute13 IS NULL))) AND
947       ((Recinfo.ATTRIBUTE14 = p_attribute14) OR
948        ((Recinfo.ATTRIBUTE14 IS NULL) AND
949         (p_attribute14 IS NULL))) AND
950       ((Recinfo.ATTRIBUTE15 = p_attribute15) OR
951        ((Recinfo.ATTRIBUTE15 IS NULL) AND
952         (p_attribute15 IS NULL))) AND
953       ((Recinfo.GLOBAL_ATTRIBUTE_CATEGORY = p_GLOBAL_attribute_category) OR
954        ((Recinfo.GLOBAL_ATTRIBUTE_CATEGORY IS NULL) AND
955         (p_global_attribute_category IS NULL))) AND
956       ((Recinfo.GLOBAL_ATTRIBUTE1 = p_global_attribute1) OR
957        ((Recinfo.GLOBAL_ATTRIBUTE1 IS NULL) AND
958         (p_global_attribute1  IS NULL))) AND
959       ((Recinfo.GLOBAL_ATTRIBUTE2 = p_global_attribute2) OR
960        ((Recinfo.GLOBAL_ATTRIBUTE2 IS NULL) AND
961         (p_global_attribute2  IS NULL))) AND
962       ((Recinfo.GLOBAL_ATTRIBUTE3 = p_global_attribute3) OR
963        ((Recinfo.GLOBAL_ATTRIBUTE3 IS NULL) AND
964         (p_global_attribute3  IS NULL))) AND
965       ((Recinfo.GLOBAL_ATTRIBUTE4 = p_global_attribute4) OR
966        ((Recinfo.GLOBAL_ATTRIBUTE4 IS NULL) AND
967         (p_global_attribute4  IS NULL))) AND
968       ((Recinfo.GLOBAL_ATTRIBUTE5 = p_global_attribute5) OR
969        ((Recinfo.GLOBAL_ATTRIBUTE5 IS NULL) AND
970         (p_global_attribute5  IS NULL))) AND
971       ((Recinfo.GLOBAL_ATTRIBUTE6 = p_global_attribute6) OR
972        ((Recinfo.GLOBAL_ATTRIBUTE6 IS NULL) AND
973         (p_global_attribute6  IS NULL))) AND
974       ((Recinfo.GLOBAL_ATTRIBUTE7 = p_global_attribute7) OR
975        ((Recinfo.GLOBAL_ATTRIBUTE7 IS NULL) AND
976         (p_global_attribute7  IS NULL))) AND
977       ((Recinfo.GLOBAL_ATTRIBUTE8 = p_global_attribute8) OR
978        ((Recinfo.GLOBAL_ATTRIBUTE8 IS NULL) AND
979         (p_global_attribute8  IS NULL))) AND
980       ((Recinfo.GLOBAL_ATTRIBUTE9 = p_global_attribute9) OR
981        ((Recinfo.GLOBAL_ATTRIBUTE9 IS NULL) AND
982         (p_global_attribute9  IS NULL))) AND
983       ((Recinfo.GLOBAL_ATTRIBUTE10 = p_global_attribute10) OR
984        ((Recinfo.GLOBAL_ATTRIBUTE10 IS NULL) AND
985         (p_global_attribute10  IS NULL))) AND
986       ((Recinfo.GLOBAL_ATTRIBUTE11 = p_global_attribute11) OR
987        ((Recinfo.GLOBAL_ATTRIBUTE11 IS NULL) AND
988         (p_global_attribute11  IS NULL))) AND
989       ((Recinfo.GLOBAL_ATTRIBUTE12 = p_global_attribute12) OR
990        ((Recinfo.GLOBAL_ATTRIBUTE12 IS NULL) AND
991         (p_global_attribute12  IS NULL))) AND
992       ((Recinfo.GLOBAL_ATTRIBUTE13 = p_global_attribute13) OR
993        ((Recinfo.GLOBAL_ATTRIBUTE13 IS NULL) AND
994         (p_global_attribute13  IS NULL))) AND
995       ((Recinfo.GLOBAL_ATTRIBUTE14 = p_global_attribute14) OR
996        ((Recinfo.GLOBAL_ATTRIBUTE14 IS NULL) AND
997         (p_global_attribute14  IS NULL))) AND
998       ((Recinfo.GLOBAL_ATTRIBUTE15 = p_global_attribute15) OR
999        ((Recinfo.GLOBAL_ATTRIBUTE15 IS NULL) AND
1000         (p_global_attribute15  IS NULL))) AND
1001       ((Recinfo.GLOBAL_ATTRIBUTE16 = p_global_attribute16) OR
1002        ((Recinfo.GLOBAL_ATTRIBUTE16 IS NULL) AND
1003         (p_global_attribute16  IS NULL))) AND
1004       ((Recinfo.GLOBAL_ATTRIBUTE17 = p_global_attribute17) OR
1005        ((Recinfo.GLOBAL_ATTRIBUTE17 IS NULL) AND
1006         (p_global_attribute17  IS NULL))) AND
1007       ((Recinfo.GLOBAL_ATTRIBUTE18 = p_global_attribute18) OR
1008        ((Recinfo.GLOBAL_ATTRIBUTE18 IS NULL) AND
1009         (p_global_attribute18  IS NULL))) AND
1010       ((Recinfo.GLOBAL_ATTRIBUTE19 = p_global_attribute19) OR
1011        ((Recinfo.GLOBAL_ATTRIBUTE19 IS NULL) AND
1012         (p_global_attribute19  IS NULL))) AND
1013       ((Recinfo.GLOBAL_ATTRIBUTE20 = p_global_attribute20) OR
1014        ((Recinfo.GLOBAL_ATTRIBUTE20 IS NULL) AND
1015         (p_global_attribute20  IS NULL))) AND
1016       (Recinfo.ORIG_AP_CHRG_DIST_NUM= p_orig_ap_chrg_dist_num) AND
1017       (Recinfo.ORIG_AP_CHRG_DIST_ID= p_orig_ap_chrg_dist_id) AND
1018       (Recinfo.ORIG_AP_TAX_DIST_NUM= p_orig_ap_tax_dist_num) AND
1019       (Recinfo.ORIG_AP_TAX_DIST_ID= p_orig_ap_tax_dist_id) AND
1020       (Recinfo.OBJECT_VERSION_NUMBER = p_object_version_number) AND
1021       (Recinfo.CREATED_BY               = p_created_by) AND
1022       (Recinfo.CREATION_DATE            = p_creation_date) AND
1023       (Recinfo.LAST_UPDATED_BY          = p_last_updated_by) AND
1024       (Recinfo.LAST_UPDATE_DATE         = p_last_update_date) AND
1025       ((Recinfo.LAST_UPDATE_LOGIN = p_last_update_login) OR
1026        ((Recinfo.LAST_UPDATE_LOGIN IS NULL) AND
1027         (p_last_update_login IS NULL))) ) THEN
1028     RETURN;
1029   ELSE
1030     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1031     APP_EXCEPTION.Raise_Exception;
1032   END IF;
1033 
1034     IF (g_level_procedure >= g_current_runtime_level ) THEN
1035       FND_LOG.STRING(g_level_procedure,
1036                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Lock_Row.END',
1040 
1037                      'ZX_TRL_DISTRIBUTIONS_PKG: Lock_Row (-)');
1038     END IF;
1039   END Lock_Row;
1041   PROCEDURE Update_Row
1042        (p_rec_nrec_tax_dist_id                       NUMBER,
1043         p_application_id                             NUMBER,
1044         p_entity_code                                VARCHAR2,
1045         p_event_class_code                           VARCHAR2,
1046         p_event_type_code                            VARCHAR2,
1047         p_trx_id                                     NUMBER,
1048         p_trx_number                                 VARCHAR2,
1049         p_trx_line_id                                NUMBER,
1050         p_trx_line_number                            NUMBER,
1051         p_tax_line_id                                NUMBER,
1052         p_tax_line_number                            NUMBER,
1053         p_trx_line_dist_id                           NUMBER,
1054         p_trx_level_type                             VARCHAR2,
1055         p_item_dist_number                           NUMBER,
1056         p_rec_nrec_tax_dist_number                   NUMBER,
1057         p_rec_nrec_rate                              NUMBER,
1058         p_recoverable_flag                           VARCHAR2,
1059         p_rec_nrec_tax_amt                           NUMBER,
1060         p_tax_event_class_code                       VARCHAR2,
1061         p_tax_event_type_code                        VARCHAR2,
1062         p_content_owner_id                           NUMBER,
1063         p_tax_regime_id                              NUMBER,
1064         p_tax_regime_code                            VARCHAR2,
1065         p_tax_id                                     NUMBER,
1066         p_tax                                        VARCHAR2,
1067         p_tax_status_id                              NUMBER,
1068         p_tax_status_code                            VARCHAR2,
1069         p_tax_rate_id                                NUMBER,
1070         p_tax_rate_code                              VARCHAR2,
1071         p_tax_rate                                   NUMBER,
1072         p_inclusive_flag                             VARCHAR2,
1073         p_recovery_type_id                           NUMBER,
1074         p_recovery_type_code                         VARCHAR2,
1075         p_recovery_rate_id                           NUMBER,
1076         p_recovery_rate_code                         VARCHAR2,
1077         p_rec_type_rule_flag                         VARCHAR2,
1078         p_new_rec_rate_code_flag                     VARCHAR2,
1079         p_reverse_flag                               VARCHAR2,
1080         p_historical_flag                            VARCHAR2,
1081         p_reversed_tax_dist_id                       NUMBER,
1082         p_rec_nrec_tax_amt_tax_curr                  NUMBER,
1083         p_rec_nrec_tax_amt_funcl_curr                NUMBER,
1084         p_intended_use                               VARCHAR2,
1085         p_project_id                                 NUMBER,
1086         p_task_id                                    NUMBER,
1087         p_award_id                                   NUMBER,
1088         p_expenditure_type                           VARCHAR2,
1089         p_expenditure_organization_id                NUMBER,
1090         p_expenditure_item_date                      DATE,
1091         p_rec_rate_det_rule_flag                     VARCHAR2,
1092         p_ledger_id                                  NUMBER,
1093         p_summary_tax_line_id                        NUMBER,
1094         p_record_type_code                           VARCHAR2,
1095         p_currency_conversion_date                   DATE,
1096         p_currency_conversion_type                   VARCHAR2,
1097         p_currency_conversion_rate                   NUMBER,
1098         p_tax_currency_conversion_date               DATE,
1099         p_tax_currency_conversion_type               VARCHAR2,
1100         p_tax_currency_conversion_rate               NUMBER,
1101         p_trx_currency_code                          VARCHAR2,
1102         p_tax_currency_code                          VARCHAR2,
1103         p_trx_line_dist_qty                          NUMBER,
1104         p_ref_doc_trx_line_dist_qty                  NUMBER,
1105         p_price_diff                                 NUMBER,
1106         p_qty_diff                                   NUMBER,
1107         p_per_trx_curr_unit_nr_amt                   NUMBER,
1108         p_ref_per_trx_curr_unit_nr_amt               NUMBER,
1109         p_ref_doc_curr_conv_rate                     NUMBER,
1110         p_unit_price                                 NUMBER,
1111         p_ref_doc_unit_price                         NUMBER,
1112         p_per_unit_nrec_tax_amt                      NUMBER,
1113         p_ref_doc_per_unit_nrec_tax_am               NUMBER, --p_ref_doc_per_unit_nrec_tax_amt
1114         p_rate_tax_factor                            NUMBER,
1115         p_tax_apportionment_flag                     VARCHAR2,
1116         p_trx_line_dist_amt                          NUMBER,
1117         p_trx_line_dist_tax_amt                      NUMBER,
1118         p_orig_rec_nrec_rate                         NUMBER,
1119         p_orig_rec_rate_code                         VARCHAR2,
1120         p_orig_rec_nrec_tax_amt                      NUMBER,
1121         p_orig_rec_nrec_tax_amt_tax_cu               NUMBER,
1122         p_account_ccid                               NUMBER,
1123         p_account_string                             VARCHAR2,
1124         p_unrounded_rec_nrec_tax_amt                 NUMBER,
1125         p_applicability_result_id                    NUMBER,
1126         p_rec_rate_result_id                         NUMBER,
1127         p_backward_compatibility_flag                VARCHAR2,
1128         p_overridden_flag                            VARCHAR2,
1129         p_self_assessed_flag                         VARCHAR2,
1130         p_freeze_flag                                VARCHAR2,
1131         p_posting_flag                               VARCHAR2,
1132         p_gl_date                                    DATE,
1133         p_ref_doc_application_id                     NUMBER,
1137         p_ref_doc_trx_level_type                     VARCHAR2,
1134         p_ref_doc_entity_code                        VARCHAR2,
1135         p_ref_doc_event_class_code                   VARCHAR2,
1136         p_ref_doc_trx_id                             NUMBER,
1138         p_ref_doc_line_id                            NUMBER,
1139         p_ref_doc_dist_id                            NUMBER,
1140         p_minimum_accountable_unit                   NUMBER,
1141         p_precision                                  NUMBER,
1142         p_rounding_rule_code                         VARCHAR2,
1143         p_taxable_amt                                NUMBER,
1144         p_taxable_amt_tax_curr                       NUMBER,
1145         p_taxable_amt_funcl_curr                     NUMBER,
1146         p_tax_only_line_flag                         VARCHAR2,
1147         p_unrounded_taxable_amt                      NUMBER,
1148         p_legal_entity_id                            NUMBER,
1149         p_prd_tax_amt                                NUMBER,
1150         p_prd_tax_amt_tax_curr                       NUMBER,
1151         p_prd_tax_amt_funcl_curr                     NUMBER,
1152         p_prd_total_tax_amt                          NUMBER,
1153         p_prd_total_tax_amt_tax_curr                 NUMBER,
1154         p_prd_total_tax_amt_funcl_curr               NUMBER,
1155         p_applied_from_tax_dist_id                   NUMBER,
1156         p_appl_to_doc_curr_conv_rate                 NUMBER, --p_appl_to_doc_curr_conv_rate
1157         p_adjusted_doc_tax_dist_id                   NUMBER,
1158         p_func_curr_rounding_adjust                  NUMBER,
1159         p_tax_apportionment_line_num                 NUMBER,
1160         p_last_manual_entry                          VARCHAR2,
1161         p_ref_doc_tax_dist_id                        NUMBER,
1162         p_mrc_tax_dist_flag                          VARCHAR2,
1163         p_mrc_link_to_tax_dist_id                    NUMBER,
1164         p_attribute_category                         VARCHAR2,
1165         p_attribute1                                 VARCHAR2,
1166         p_attribute2                                 VARCHAR2,
1167         p_attribute3                                 VARCHAR2,
1168         p_attribute4                                 VARCHAR2,
1169         p_attribute5                                 VARCHAR2,
1170         p_attribute6                                 VARCHAR2,
1171         p_attribute7                                 VARCHAR2,
1172         p_attribute8                                 VARCHAR2,
1173         p_attribute9                                 VARCHAR2,
1174         p_attribute10                                VARCHAR2,
1175         p_attribute11                                VARCHAR2,
1176         p_attribute12                                VARCHAR2,
1177         p_attribute13                                VARCHAR2,
1178         p_attribute14                                VARCHAR2,
1179         p_attribute15                                VARCHAR2,
1180         p_global_attribute_category                  VARCHAR2,
1181         p_global_attribute1                          VARCHAR2,
1182         p_global_attribute2                          VARCHAR2,
1183         p_global_attribute3                          VARCHAR2,
1184         p_global_attribute4                          VARCHAR2,
1185         p_global_attribute5                          VARCHAR2,
1186         p_global_attribute6                          VARCHAR2,
1187         p_global_attribute7                          VARCHAR2,
1188         p_global_attribute8                          VARCHAR2,
1189         p_global_attribute9                          VARCHAR2,
1190         p_global_attribute10                         VARCHAR2,
1191         p_global_attribute11                         VARCHAR2,
1192         p_global_attribute12                         VARCHAR2,
1193         p_global_attribute13                         VARCHAR2,
1194         p_global_attribute14                         VARCHAR2,
1195         p_global_attribute15                         VARCHAR2,
1196         p_global_attribute16                         VARCHAR2,
1197         p_global_attribute17                         VARCHAR2,
1198         p_global_attribute18                         VARCHAR2,
1199         p_global_attribute19                         VARCHAR2,
1200         p_global_attribute20                         VARCHAR2,
1201         p_orig_ap_chrg_dist_num                      NUMBER,
1202         p_orig_ap_chrg_dist_id                       NUMBER,
1203         p_orig_ap_tax_dist_num                       NUMBER,
1204         p_orig_ap_tax_dist_id                        NUMBER,
1205         p_object_version_number                      NUMBER,
1206         p_last_updated_by                            NUMBER,
1207         p_last_update_date                           DATE,
1208         p_last_update_login                          NUMBER) IS
1209 
1210     l_unrounded_rec_nrec_tax_amt  NUMBER;
1211     l_rec_nrec_rate               NUMBER;
1212     l_return_status               VARCHAR2(1000);
1213 
1214   BEGIN
1215     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1216 
1217     IF (g_level_procedure >= g_current_runtime_level ) THEN
1218       FND_LOG.STRING(g_level_procedure,
1219                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row.BEGIN',
1220                      'ZX_TRL_DISTRIBUTIONS_PKG: Update_Row (+)');
1221     END IF;
1222 
1223     IF (g_level_procedure >= g_current_runtime_level ) THEN
1224       FND_LOG.STRING(g_level_procedure,
1225                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1226                      'Update for reverse dist ZX_TAX_DIST_ID_GT (+)');
1227     END IF;
1228 
1229     IF p_reverse_flag = 'Y' THEN
1230 
1231       INSERT INTO ZX_TAX_DIST_ID_GT (TAX_DIST_ID) VALUES (p_rec_nrec_tax_dist_id);
1232 
1233     ELSE
1234 
1235       l_unrounded_rec_nrec_tax_amt := (p_trx_line_dist_tax_amt * p_rec_nrec_rate)/100;
1236 
1237       IF (g_level_procedure >= g_current_runtime_level ) THEN
1241 
1238         FND_LOG.STRING(g_level_procedure,
1239                        'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1240                        'l_unrounded_rec_nrec_tax_amt :'||l_unrounded_rec_nrec_tax_amt);
1242         FND_LOG.STRING(g_level_procedure,
1243                        'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1244                        'Update ZX_REC_NREC_DIST (+)');
1245       END IF;
1246 
1247 
1248     -- Bug 5985143. In Determine_recovery call, update_taxline_rec_nrec_amt updates process_for_recovery_flag to 'N'.
1249     -- When override_recovery is called by AP, rec / nrec amount were not getting updated.
1250     -- Because delete_tax_distributions expects the flag to be 'Y'. So the tax distribution is not deleted and re-created.
1251     -- To resolve this, we need to set process_for_recovery_flag to 'Y'.
1252     --  AP has moved their code for freeze_tax_distribution ONLY in validation
1253 
1254 
1255      UPDATE ZX_LINES
1256      SET process_for_recovery_flag='Y'
1257      WHERE  (trx_id, trx_line_id) IN (SELECT trx_id, trx_line_id FROM zx_rec_nrec_dist WHERE REC_NREC_TAX_DIST_ID = p_rec_nrec_tax_dist_id)
1258      AND application_id=p_application_id
1259      AND entity_code=p_entity_code
1260      AND event_class_code=p_event_class_code;
1261 
1262 
1263       UPDATE ZX_REC_NREC_DIST
1264         SET orig_rec_nrec_rate             = NVL(orig_rec_nrec_rate, rec_nrec_rate),
1265             orig_rec_rate_code             = NVL(orig_rec_rate_code, recovery_rate_code),
1266             orig_rec_nrec_tax_amt          = NVL(orig_rec_nrec_tax_amt, rec_nrec_tax_amt),
1267             orig_rec_nrec_tax_amt_tax_curr = NVL(orig_rec_nrec_tax_amt_tax_curr, rec_nrec_tax_amt_tax_curr),
1268             recovery_rate_code             = p_recovery_rate_code,
1269             rec_nrec_rate                  = p_rec_nrec_rate,
1270             unrounded_rec_nrec_tax_amt     = l_unrounded_rec_nrec_tax_amt,
1271             last_manual_entry              = p_last_manual_entry,
1272             object_version_number          = NVL(p_object_version_number, object_version_number + 1),
1273             last_updated_by                = fnd_global.user_id,
1274             last_update_date               = sysdate,
1275             last_update_login              = fnd_global.login_id
1276         WHERE REC_NREC_TAX_DIST_ID = p_rec_nrec_tax_dist_id;
1277 
1278       IF (g_level_procedure >= g_current_runtime_level ) THEN
1279         FND_LOG.STRING(g_level_procedure,
1280                        'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1281                        'Update ZX_REC_NREC_DIST (-)');
1282       END IF;
1283 
1284       IF (g_level_procedure >= g_current_runtime_level ) THEN
1285         FND_LOG.STRING(g_level_procedure,
1286                        'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1287                        'Update for Non recoverable ZX_REC_NREC_DIST (+)');
1288       END IF;
1289 
1290       l_rec_nrec_rate := 100 - p_rec_nrec_rate;
1291 
1292       l_unrounded_rec_nrec_tax_amt := (p_trx_line_dist_tax_amt * l_rec_nrec_rate)/100;
1293 
1294       UPDATE ZX_REC_NREC_DIST
1295         SET recovery_rate_code             = NULL,
1296             rec_nrec_rate                  = l_rec_nrec_rate,
1297             unrounded_rec_nrec_tax_amt     = l_unrounded_rec_nrec_tax_amt,
1298             orig_rec_nrec_rate             = NVL(orig_rec_nrec_rate, rec_nrec_rate),
1299             orig_rec_rate_code             = NVL(orig_rec_rate_code, recovery_rate_code),
1300             orig_rec_nrec_tax_amt          = NVL(orig_rec_nrec_tax_amt, rec_nrec_tax_amt),
1301             orig_rec_nrec_tax_amt_tax_curr = NVL(orig_rec_nrec_tax_amt_tax_curr, rec_nrec_tax_amt_tax_curr),
1302             last_manual_entry              = p_last_manual_entry,
1303             object_version_number          = NVL(p_object_version_number, object_version_number + 1),
1304             last_updated_by                = fnd_global.user_id,
1305             last_update_date               = sysdate,
1306             last_update_login              = fnd_global.login_id
1307         WHERE APPLICATION_ID = p_application_id
1308         AND ENTITY_CODE = p_entity_code
1309         AND EVENT_CLASS_CODE = p_event_class_code
1310         AND TRX_ID = p_trx_id
1311         AND TRX_LINE_ID = p_trx_line_id
1312         AND TAX_LINE_ID = p_tax_line_id
1313         AND TRX_LINE_DIST_ID = p_trx_line_dist_id
1314         AND TRX_LEVEL_TYPE = p_trx_level_type
1315         AND RECOVERABLE_FLAG = 'N'
1316         AND NVL(FREEZE_FLAG, 'N') = 'N'
1317         AND NVL(REVERSE_FLAG, 'N') = 'N';
1318 
1319       IF (g_level_procedure >= g_current_runtime_level ) THEN
1320         FND_LOG.STRING(g_level_procedure,
1321                        'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1322                        'Update for Non recoverable ZX_REC_NREC_DIST (-)');
1323       END IF;
1324 
1325     END IF; -- reverse flag
1326 
1327     IF (g_level_procedure >= g_current_runtime_level ) THEN
1328       FND_LOG.STRING(g_level_procedure,
1329                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row',
1330                      'Update for reverse dist ZX_TAX_DIST_ID_GT (-)');
1331     END IF;
1332 
1333     IF (g_level_procedure >= g_current_runtime_level ) THEN
1334       FND_LOG.STRING(g_level_procedure,
1335                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Update_Row.END',
1336                      'ZX_TRL_DISTRIBUTIONS_PKG.Update_Row (-)');
1337     END IF;
1338 
1339   END Update_Row;
1340 
1341   PROCEDURE Delete_Row
1342        (x_rowid                        IN OUT NOCOPY VARCHAR2,
1343         p_created_by                                 NUMBER,
1344         p_creation_date                              DATE,
1345         p_last_updated_by                            NUMBER,
1346         p_last_update_date                           DATE,
1347         p_last_update_login                          NUMBER) IS
1348 
1349   BEGIN
1350     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1351 
1355                      'ZX_TRL_DISTRIBUTIONS_PKG: Delete_Row (+)');
1352     IF (g_level_procedure >= g_current_runtime_level ) THEN
1353       FND_LOG.STRING(g_level_procedure,
1354                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Delete_Row.BEGIN',
1356     END IF;
1357 
1358     NULL;
1359 
1360     IF (g_level_procedure >= g_current_runtime_level ) THEN
1361       FND_LOG.STRING(g_level_procedure,
1362                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Delete_Row.END',
1363                      'ZX_TRL_DISTRIBUTIONS_PKG: Delete_Row (-)');
1364     END IF;
1365   END Delete_Row;
1366 
1367   PROCEDURE Override_Recovery
1368        (p_internal_organization_id                   NUMBER,
1369         p_application_id                             NUMBER,
1370         p_entity_code                                VARCHAR2,
1371         p_event_class_code                           VARCHAR2,
1372         p_event_type_code                            VARCHAR2,
1373         p_trx_id                                     NUMBER) IS
1374 
1375     l_return_status               VARCHAR2(1000);
1376     l_msg_count                   NUMBER;
1377     l_msg_data                    VARCHAR2(1000);
1378     l_transaction_rec_type        ZX_API_PUB.transaction_rec_type;
1379 
1380   BEGIN
1381 
1382     IF (g_level_procedure >= g_current_runtime_level ) THEN
1383       FND_LOG.STRING(g_level_procedure,
1384                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Override_Recovery',
1385                      'Calling ZX_TRD_SERVICE_PUB_PKG.override_recovery (+)');
1386     END IF;
1387 
1388     l_transaction_rec_type.internal_organization_id := p_internal_organization_id;
1389     l_transaction_rec_type.application_id           := p_application_id;
1390     l_transaction_rec_type.entity_code              := p_entity_code;
1391     l_transaction_rec_type.event_class_code         := p_event_class_code;
1392     l_transaction_rec_type.event_type_code          := p_event_type_code;
1393     l_transaction_rec_type.trx_id                   := p_trx_id;
1394 
1395     ZX_API_PUB.OVERRIDE_RECOVERY (p_api_version      => 1.0,
1396                                   p_init_msg_list    => NULL,
1397                                   p_commit           => NULL,
1398                                   p_validation_level => NULL,
1399                                   x_return_status    => l_return_status,
1400                                   x_msg_count        => l_msg_count,
1401                                   x_msg_data         => l_msg_data,
1402                                   p_transaction_rec  => l_transaction_rec_type);
1403 
1404     IF (g_level_procedure >= g_current_runtime_level ) THEN
1405 
1406       FND_LOG.STRING(g_level_procedure,
1407                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Override_Recovery',
1408                      'Return Status = '  || l_return_status);
1409 
1410       FND_LOG.STRING(g_level_procedure,
1411                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Override_Recovery',
1412                      'Message Data = '  || l_msg_data);
1413 
1414     END IF;
1415 
1416     IF (g_level_procedure >= g_current_runtime_level ) THEN
1417       FND_LOG.STRING(g_level_procedure,
1418                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Override_Recovery',
1419                      'Calling ZX_TRD_SERVICE_PUB_PKG.override_recovery (-)');
1420     END IF;
1421 
1422   END Override_Recovery;
1423 
1424   PROCEDURE Reverse_Row IS
1425 
1426     l_rec_nrec_dist_tbl  ZX_TRD_SERVICES_PUB_PKG.rec_nrec_dist_tbl_type;
1427     l_tax_dist           NUMBER;
1428     l_return_status      VARCHAR2(1000);
1429 
1430   BEGIN
1431     g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1432 
1433     IF (g_level_procedure >= g_current_runtime_level ) THEN
1434       FND_LOG.STRING(g_level_procedure,
1435                      'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row.BEGIN',
1436                      'ZX_TRL_DISTRIBUTIONS_PKG: Reverse_Row (+)');
1437     END IF;
1438 
1439     SELECT count(*)
1440     INTO l_tax_dist
1441     FROM ZX_TAX_DIST_ID_GT;
1442 
1443     IF l_tax_dist > 0 THEN
1444       BEGIN
1445 
1446         IF (g_level_procedure >= g_current_runtime_level ) THEN
1447           FND_LOG.STRING(g_level_procedure,
1448                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1449                          'Call to zx_trd_service_pub_pkg.reverse_tax_dist (+)');
1450         END IF;
1451 
1452         ZX_TRD_SERVICES_PUB_PKG.REVERSE_TAX_DIST(l_rec_nrec_dist_tbl,
1453                                                  x_return_status => l_return_status);
1454 
1455         IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
1456           IF (g_level_unexpected >= g_current_runtime_level ) THEN
1457             FND_LOG.STRING(g_level_unexpected,
1458                            'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1459                            'Incorrect return_status after calling ' ||
1460                            'Insert into ZX_REC_NREC_DIST');
1461           END IF;
1462 
1463           RETURN;
1464 
1465         END IF;
1466 
1467         IF (g_level_procedure >= g_current_runtime_level ) THEN
1468           FND_LOG.STRING(g_level_procedure,
1469                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1470                          'Call to zx_trd_service_pub_pkg.reverse_tax_dist (-)');
1471         END IF;
1472 
1473         IF (g_level_procedure >= g_current_runtime_level ) THEN
1474           FND_LOG.STRING(g_level_procedure,
1475                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1476                          'Delete from ZX_REC_NREC_DIST (+)');
1477         END IF;
1478 
1479         DELETE FROM ZX_REC_NREC_DIST
1480           WHERE REC_NREC_TAX_DIST_ID IN (SELECT TAX_DIST_ID
1481                                          FROM ZX_TAX_DIST_ID_GT);
1482 
1483         IF (g_level_procedure >= g_current_runtime_level ) THEN
1484           FND_LOG.STRING(g_level_procedure,
1485                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1486                          'Delete from ZX_REC_NREC_DIST (-)');
1487         END IF;
1488 
1489         IF (g_level_procedure >= g_current_runtime_level ) THEN
1490           FND_LOG.STRING(g_level_procedure,
1491                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1492                          'Insert into ZX_REC_NREC_DIST (+)');
1493         END IF;
1494 
1495         FORALL i IN l_rec_nrec_dist_tbl.first..l_rec_nrec_dist_tbl.last
1496 
1497           INSERT INTO ZX_REC_NREC_DIST VALUES l_rec_nrec_dist_tbl(i);
1498 
1499         IF (g_level_procedure >= g_current_runtime_level ) THEN
1500           FND_LOG.STRING(g_level_procedure,
1501                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1502                          'Insert into ZX_REC_NREC_DIST (-)');
1503         END IF;
1504 
1505         IF (g_level_procedure >= g_current_runtime_level ) THEN
1506           FND_LOG.STRING(g_level_procedure,
1507                          'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row.END',
1508                          'ZX_TRL_DISTRIBUTIONS_PKG: Reverse_Row (-)');
1509         END IF;
1510       END;
1511     END IF;
1512 
1513   EXCEPTION
1514     WHEN OTHERS THEN
1515 
1516       FND_MESSAGE.SET_NAME('ZX','ZX_UNEXPECTED_ERROR');
1517       FND_MSG_PUB.Add;
1518 
1519       IF (g_level_procedure >= g_current_runtime_level ) THEN
1520         FND_LOG.STRING(g_level_procedure,
1521                        'ZX.PLSQL.ZX_TRL_DISTRIBUTIONS_PKG.Reverse_Row',
1522                        'Exception:' ||SQLCODE||';'||SQLERRM);
1523       END IF;
1524 
1525   END Reverse_Row;
1526 
1527   PROCEDURE lock_rec_nrec_dist_for_doc
1528   			(p_application_id			IN NUMBER,
1529   			 p_entity_code        IN VARCHAR2,
1530   			 p_event_class_code   IN VARCHAR2,
1531   			 p_trx_id             IN NUMBER,
1532 			   x_return_status      OUT NOCOPY VARCHAR2,
1533 			   x_error_buffer       OUT NOCOPY VARCHAR2)  IS
1534 
1535 		l_return_status          VARCHAR2(1000);
1536 
1537   /*Cursor to Lock the tax distributions for the entire document*/
1538   CURSOR lock_tax_dist_for_doc_csr(c_application_id NUMBER,
1539   			 c_event_class_code VARCHAR2,
1540   			 c_entity_code VARCHAR2,
1541   			 c_trx_id NUMBER) IS
1542       SELECT *
1543         FROM ZX_REC_NREC_DIST
1544        WHERE application_id = c_application_id
1545          AND entity_code    = c_entity_code
1546          AND event_class_code = c_event_class_code
1547     	   AND trx_id = c_trx_id
1548       FOR UPDATE NOWAIT;
1549 
1550   BEGIN
1551 		x_return_status := FND_API.G_RET_STS_SUCCESS;
1552 
1553 		g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1554 
1555 		IF (g_level_procedure >= g_current_runtime_level ) THEN
1556 			FND_LOG.STRING(g_level_procedure,
1557 		                 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_rec_nrec_dist_for_doc.BEGIN',
1558 		                 'ZX_TRL_SUMMARY_OVERRIDE_PKG: lock_rec_nrec_dist_for_doc (+)');
1559     END IF;
1560 
1561 		OPEN lock_tax_dist_for_doc_csr(p_application_id,
1562 																				p_event_class_code,
1563 																				p_entity_code,
1564 																				p_trx_id);
1565 		CLOSE lock_tax_dist_for_doc_csr;
1566 
1567 		IF (g_level_procedure >= g_current_runtime_level ) THEN
1568 			FND_LOG.STRING(g_level_procedure,
1569 		                 'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_rec_nrec_dist_for_doc.END',
1570 		                 'ZX_TRL_SUMMARY_OVERRIDE_PKG: lock_rec_nrec_dist_for_doc(-)');
1571     END IF;
1572   EXCEPTION
1573     WHEN OTHERS THEN
1574       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1575       x_error_buffer  := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1576 
1577       FND_MESSAGE.SET_NAME('ZX','ZX_UNEXPECTED_ERROR');
1578       FND_MSG_PUB.Add;
1579 
1580       IF (g_level_procedure >= g_current_runtime_level ) THEN
1581         FND_LOG.STRING(g_level_procedure,
1582 		                   'ZX.PLSQL.ZX_TRL_SUMMARY_OVERRIDE_PKG.lock_rec_nrec_dist_for_doc',
1583 			           'Exception:' ||x_error_buffer);
1584       END IF;
1585   END lock_rec_nrec_dist_for_doc;
1586 
1587 
1588 END ZX_TRL_DISTRIBUTIONS_PKG;