DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_CASH_RECEIPTS_PKG

Source


1 PACKAGE BODY ARP_CASH_RECEIPTS_PKG AS
2 /* $Header: ARRICRB.pls 120.14.12010000.4 2008/09/24 13:12:32 spdixit ship $*/
3 --
4 --
5 --
6   /*--------------------------------------------------------+
7    |  Dummy constants for use in update and lock operations |
8    +--------------------------------------------------------*/
9 --
10   AR_TEXT_DUMMY   CONSTANT VARCHAR2(10) := '~~!@#$*&^';
11   AR_FLAG_DUMMY   CONSTANT VARCHAR2(10) := '~';
12   AR_NUMBER_DUMMY CONSTANT NUMBER(15)   := -999999999999999;
13   AR_DATE_DUMMY   CONSTANT DATE         := to_date(1, 'J');
14   /*-------------------------------------+
15    |  WHO column values from ARP_GLOBAL  |
16    +-------------------------------------*/
17 --
18   pg_request_id                 number;
19   pg_program_application_id     number;
20   pg_program_id                 number;
21   pg_program_update_date        date;
22   pg_last_updated_by            number;
23   pg_last_update_date           date;
24   pg_last_update_login          number;
25 --  pg_set_of_books_id            number;
26 
27 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
28 
29 PROCEDURE set_to_dummy( p_cr_rec 	OUT NOCOPY ar_cash_receipts%ROWTYPE ) IS
30 BEGIN
31     IF PG_DEBUG in ('Y', 'C') THEN
32        arp_util.debug( 'arp_cash_receipts_pkg.set_to_dummy()+' );
33     END IF;
34     --
35  		   p_cr_rec.amount := AR_NUMBER_DUMMY;
36  		   p_cr_rec.currency_code := AR_TEXT_DUMMY;
37  		   p_cr_rec.receipt_method_id := AR_NUMBER_DUMMY;
38  		   p_cr_rec.set_of_books_id := AR_NUMBER_DUMMY;
39  		   p_cr_rec.comments := AR_TEXT_DUMMY;
40  		   p_cr_rec.confirmed_flag := AR_FLAG_DUMMY;
41  		   p_cr_rec.customer_bank_account_id := AR_NUMBER_DUMMY;
42 		   p_cr_rec.customer_bank_branch_id := AR_NUMBER_DUMMY;
43  		   p_cr_rec.customer_site_use_id := AR_NUMBER_DUMMY;
44  		   p_cr_rec.deposit_date := AR_DATE_DUMMY;
45  		   p_cr_rec.distribution_set_id := AR_NUMBER_DUMMY;
46  		   p_cr_rec.exchange_date := AR_DATE_DUMMY;
47  		   p_cr_rec.exchange_rate := AR_NUMBER_DUMMY;
48  		   p_cr_rec.exchange_rate_type := AR_TEXT_DUMMY;
49  		   p_cr_rec.misc_payment_source := AR_TEXT_DUMMY;
50  		   p_cr_rec.pay_from_customer := AR_NUMBER_DUMMY;
51  		   p_cr_rec.receipt_date := AR_DATE_DUMMY;
52  		   p_cr_rec.receipt_number := AR_TEXT_DUMMY;
53  		   p_cr_rec.receivables_trx_id := AR_NUMBER_DUMMY;
54  		   p_cr_rec.remit_bank_acct_use_id := AR_NUMBER_DUMMY;
55  		   p_cr_rec.reversal_category := AR_TEXT_DUMMY;
56  		   p_cr_rec.reversal_comments := AR_TEXT_DUMMY;
57  		   p_cr_rec.reversal_date := AR_DATE_DUMMY;
58  		   p_cr_rec.selected_for_factoring_flag := AR_FLAG_DUMMY;
59  		   p_cr_rec.selected_remittance_batch_id := AR_NUMBER_DUMMY;
60  		   p_cr_rec.status := AR_TEXT_DUMMY;
61  		   p_cr_rec.type := AR_TEXT_DUMMY;
62  		   p_cr_rec.attribute_category := AR_TEXT_DUMMY;
63  		   p_cr_rec.attribute1 := AR_TEXT_DUMMY;
64  		   p_cr_rec.attribute2 := AR_TEXT_DUMMY;
65  		   p_cr_rec.attribute3 := AR_TEXT_DUMMY;
66  		   p_cr_rec.attribute4 := AR_TEXT_DUMMY;
67  		   p_cr_rec.attribute5 := AR_TEXT_DUMMY;
68  		   p_cr_rec.attribute6 := AR_TEXT_DUMMY;
69  		   p_cr_rec.attribute7 := AR_TEXT_DUMMY;
70  		   p_cr_rec.attribute8 := AR_TEXT_DUMMY;
71  		   p_cr_rec.attribute9 := AR_TEXT_DUMMY;
72  		   p_cr_rec.attribute10 := AR_TEXT_DUMMY;
73  		   p_cr_rec.attribute11 := AR_TEXT_DUMMY;
74  		   p_cr_rec.attribute12 := AR_TEXT_DUMMY;
75  		   p_cr_rec.attribute13 := AR_TEXT_DUMMY;
76  		   p_cr_rec.attribute14 := AR_TEXT_DUMMY;
77  		   p_cr_rec.attribute15 := AR_TEXT_DUMMY;
78  		   p_cr_rec.factor_discount_amount := AR_NUMBER_DUMMY;
79  		   p_cr_rec.ussgl_transaction_code := AR_TEXT_DUMMY;
80  		   p_cr_rec.ussgl_transaction_code_context := AR_TEXT_DUMMY;
81  		   p_cr_rec.reversal_reason_code := AR_TEXT_DUMMY;
82  		   p_cr_rec.doc_sequence_id := AR_NUMBER_DUMMY;
83  		   p_cr_rec.doc_sequence_value := AR_NUMBER_DUMMY;
84  		   p_cr_rec.vat_tax_id := AR_NUMBER_DUMMY;
85  		   p_cr_rec.reference_type := AR_TEXT_DUMMY;
86  		   p_cr_rec.reference_id := AR_NUMBER_DUMMY;
87  		   p_cr_rec.customer_receipt_reference := AR_TEXT_DUMMY;
88                    p_cr_rec.override_remit_account_flag := AR_FLAG_DUMMY;
89 		   p_cr_rec.anticipated_clearing_date := AR_DATE_DUMMY;
90  		   p_cr_rec.global_attribute_category := AR_TEXT_DUMMY;
91  		   p_cr_rec.global_attribute1 := AR_TEXT_DUMMY;
92  		   p_cr_rec.global_attribute2 := AR_TEXT_DUMMY;
93  		   p_cr_rec.global_attribute3 := AR_TEXT_DUMMY;
94  		   p_cr_rec.global_attribute4 := AR_TEXT_DUMMY;
95  		   p_cr_rec.global_attribute5 := AR_TEXT_DUMMY;
96  		   p_cr_rec.global_attribute6 := AR_TEXT_DUMMY;
97  		   p_cr_rec.global_attribute7 := AR_TEXT_DUMMY;
98  		   p_cr_rec.global_attribute8 := AR_TEXT_DUMMY;
99  		   p_cr_rec.global_attribute9 := AR_TEXT_DUMMY;
100  		   p_cr_rec.global_attribute10 := AR_TEXT_DUMMY;
101  		   p_cr_rec.global_attribute11 := AR_TEXT_DUMMY;
102  		   p_cr_rec.global_attribute12 := AR_TEXT_DUMMY;
103  		   p_cr_rec.global_attribute13 := AR_TEXT_DUMMY;
104  		   p_cr_rec.global_attribute14 := AR_TEXT_DUMMY;
105  		   p_cr_rec.global_attribute15 := AR_TEXT_DUMMY;
106  		   p_cr_rec.global_attribute16 := AR_TEXT_DUMMY;
107  		   p_cr_rec.global_attribute17 := AR_TEXT_DUMMY;
108  		   p_cr_rec.global_attribute18 := AR_TEXT_DUMMY;
109  		   p_cr_rec.global_attribute19 := AR_TEXT_DUMMY;
110  		   p_cr_rec.global_attribute20 := AR_TEXT_DUMMY;
111     --
112     --             Notes Receivable additional information
113     --
114                    p_cr_rec.issuer_name           := AR_TEXT_DUMMY;
115                    p_cr_rec.issue_date            := AR_DATE_DUMMY;
116                    p_cr_rec.issuer_bank_branch_id := AR_NUMBER_DUMMY;
117 
118                    -- ARTA Changes
119                    p_cr_rec.postmark_date      := AR_DATE_DUMMY;
120 
121                    -- OSTEINME 3/12/01: need to set credit card fields to
122                    -- dummy values (bug 1683007)
123 		   /* Bug 7427809 Obsoleted  this column in R12
124                    p_cr_rec.payment_server_order_num := AR_TEXT_DUMMY; */
125                    p_cr_rec.approval_code := AR_TEXT_DUMMY;
126 
127                    -- enhancement 2074220
128                    p_cr_rec.application_notes := AR_TEXT_DUMMY;
129 
130                    /* Bug fix 3226723 */
131                    p_cr_rec.rec_version_number := AR_NUMBER_DUMMY;
132 
133                    p_cr_rec.legal_entity_id := AR_NUMBER_DUMMY;   /* LE */
134 
135                    p_cr_rec.payment_trxn_extension_id := AR_NUMBER_DUMMY; /* bichatte payment uptake project */
136     --
137     IF PG_DEBUG in ('Y', 'C') THEN
138        arp_util.debug( 'arp_cash_receipts_pkg.set_to_dummy_p()-' );
139     END IF;
140     --
141     EXCEPTION
142         WHEN  OTHERS THEN
143             IF PG_DEBUG in ('Y', 'C') THEN
144                arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.set_to_dummy' );
145             END IF;
146             RAISE;
147 END set_to_dummy;
148 --
149 PROCEDURE insert_p(
150 	p_cr_rec IN OUT NOCOPY ar_cash_receipts%ROWTYPE ) IS
151 
152 l_cr_id	ar_cash_receipts.cash_receipt_id%TYPE;
153 l_cr_key_value_list  gl_ca_utility_pkg.r_key_value_arr;
154 l_rec_version_number ar_cash_receipts.rec_version_number%TYPE  := 1 ; /* Bug fix 3226723 */
155 --begin LE
156   l_legal_entity_id   number;
157 --end LE
158 
159 BEGIN
160       IF PG_DEBUG in ('Y', 'C') THEN
161          arp_util.debug( 'arp_cash_receipts_pkg.insert_p()+' );
162       END IF;
163       --
164       SELECT ar_cash_receipts_s.nextval
165       INTO   l_cr_id
166       FROM   dual;
167       --
168 
169       INSERT INTO  ar_cash_receipts (
170 		    cash_receipt_id,
171  		    amount,
172  		    currency_code,
173  		    receipt_method_id,
174  		    set_of_books_id,
175  		    comments,
176  		    confirmed_flag,
177  		    customer_bank_account_id,
178 		    customer_bank_branch_id,
179  		    customer_site_use_id,
180  		    deposit_date,
181  		    distribution_set_id,
182  		    exchange_date,
183  		    exchange_rate,
184  		    exchange_rate_type,
185  		    misc_payment_source,
186  		    pay_from_customer,
187  		    receipt_date,
188  		    receipt_number,
189  		    receivables_trx_id,
190  		    remit_bank_acct_use_id,
191  		    reversal_category,
192  		    reversal_comments,
193  		    reversal_date,
194  		    selected_for_factoring_flag,
195  		    selected_remittance_batch_id,
196  		    status,
197  		    type,
198  		    attribute_category,
199  		    attribute1,
200  		    attribute2,
201  		    attribute3,
202  		    attribute4,
203  		    attribute5,
204  		    attribute6,
205  		    attribute7,
206  		    attribute8,
207  		    attribute9,
208  		    attribute10,
209  		    attribute11,
210  		    attribute12,
211  		    attribute13,
212  		    attribute14,
213  		    attribute15,
214  		    request_id,
215  		    program_application_id,
216  		    program_id,
217  		    program_update_date,
218  		    created_by,
219  		    creation_date,
220  		    last_updated_by,
221  		    last_update_date,
222  		    last_update_login,
223  		    factor_discount_amount,
224  		    ussgl_transaction_code,
225  		    ussgl_transaction_code_context,
226  		    reversal_reason_code,
227  		    doc_sequence_id,
228  		    doc_sequence_value,
229  		    vat_tax_id,
230  		    reference_type,
231  		    reference_id,
232  		    customer_receipt_reference,
233 		    override_remit_account_flag,
234 		    anticipated_clearing_date,
235  		    global_attribute_category,
236  		    global_attribute1,
237  		    global_attribute2,
238  		    global_attribute3,
239  		    global_attribute4,
240  		    global_attribute5,
241  		    global_attribute6,
242  		    global_attribute7,
243  		    global_attribute8,
244  		    global_attribute9,
245  		    global_attribute10,
246  		    global_attribute11,
247  		    global_attribute12,
248  		    global_attribute13,
249  		    global_attribute14,
250  		    global_attribute15,
251  		    global_attribute16,
252  		    global_attribute17,
253  		    global_attribute18,
254  		    global_attribute19,
255  		    global_attribute20,
256 		    issuer_name,
257 		    issue_date,
258 		    issuer_bank_branch_id,
259 		    tax_rate,
260                     postmark_date, -- ARTA Changes
261 		    /* Bug 7427809 Obsoleted  this column in R12
262                     payment_server_order_num, --apandit Bug 1820063 */
263                     approval_code,
264                     application_notes -- djancis 2074220
265                     ,org_id
266                     ,legal_entity_id
267                     ,payment_trxn_extension_id -- bichatte payment uptake project
268                     ,rec_version_number /* Bug fix 3226723 */
269  		 )
270        VALUES (    l_cr_id,
271  		   p_cr_rec.amount,
272  		   p_cr_rec.currency_code,
273  		   p_cr_rec.receipt_method_id,
274  		   arp_global.set_of_books_id,
275  		   p_cr_rec.comments,
276  		   p_cr_rec.confirmed_flag,
277  		   p_cr_rec.customer_bank_account_id,
278 		   p_cr_rec.customer_bank_branch_id,
279  		   p_cr_rec.customer_site_use_id,
280  		   p_cr_rec.deposit_date,
281  		   p_cr_rec.distribution_set_id,
282  		   p_cr_rec.exchange_date,
283  		   p_cr_rec.exchange_rate,
284  		   p_cr_rec.exchange_rate_type,
285  		   p_cr_rec.misc_payment_source,
286  		   p_cr_rec.pay_from_customer,
287  		   p_cr_rec.receipt_date,
288  		   p_cr_rec.receipt_number,
289  		   p_cr_rec.receivables_trx_id,
290  		   p_cr_rec.remit_bank_acct_use_id,
291  		   p_cr_rec.reversal_category,
292  		   p_cr_rec.reversal_comments,
293  		   p_cr_rec.reversal_date,
294  		   p_cr_rec.selected_for_factoring_flag,
295  		   p_cr_rec.selected_remittance_batch_id,
296  		   p_cr_rec.status,
297  		   p_cr_rec.type,
298  		   p_cr_rec.attribute_category,
299  		   p_cr_rec.attribute1,
300  		   p_cr_rec.attribute2,
301  		   p_cr_rec.attribute3,
302  		   p_cr_rec.attribute4,
303  		   p_cr_rec.attribute5,
304  		   p_cr_rec.attribute6,
305  		   p_cr_rec.attribute7,
306  		   p_cr_rec.attribute8,
307  		   p_cr_rec.attribute9,
308  		   p_cr_rec.attribute10,
309  		   p_cr_rec.attribute11,
310  		   p_cr_rec.attribute12,
311  		   p_cr_rec.attribute13,
312  		   p_cr_rec.attribute14,
313  		   p_cr_rec.attribute15,
314  		   pg_request_id,
315  		   pg_program_application_id,
316  		   pg_program_id,
317  		   DECODE( pg_program_id,
318                    NULL, NULL,
319                    SYSDATE),
320  		   arp_global.last_updated_by, /* FP Bug 5715840 pg_last_updated_by,*/
321  		   SYSDATE,
322  		   arp_global.last_updated_by, /* FP Bug 5715840 pg_last_updated_by,*/
323  		   SYSDATE,
324  		   arp_global.last_update_login, /* FP Bug 5715840 pg_last_update_login,*/
325  		   p_cr_rec.factor_discount_amount,
326  		   p_cr_rec.ussgl_transaction_code,
327  		   p_cr_rec.ussgl_transaction_code_context,
328  		   p_cr_rec.reversal_reason_code,
329  		   p_cr_rec.doc_sequence_id,
330  		   p_cr_rec.doc_sequence_value,
331  		   p_cr_rec.vat_tax_id,
332  		   p_cr_rec.reference_type,
333  		   p_cr_rec.reference_id,
334  		   p_cr_rec.customer_receipt_reference,
335 		   p_cr_rec.override_remit_account_flag,
336 		   p_cr_rec.anticipated_clearing_date,
337  		   p_cr_rec.global_attribute_category,
338  		   p_cr_rec.global_attribute1,
339  		   p_cr_rec.global_attribute2,
340  		   p_cr_rec.global_attribute3,
341  		   p_cr_rec.global_attribute4,
342  		   p_cr_rec.global_attribute5,
343  		   p_cr_rec.global_attribute6,
344  		   p_cr_rec.global_attribute7,
345  		   p_cr_rec.global_attribute8,
346  		   p_cr_rec.global_attribute9,
347  		   p_cr_rec.global_attribute10,
348  		   p_cr_rec.global_attribute11,
349  		   p_cr_rec.global_attribute12,
350  		   p_cr_rec.global_attribute13,
351  		   p_cr_rec.global_attribute14,
352  		   p_cr_rec.global_attribute15,
353  		   p_cr_rec.global_attribute16,
354  		   p_cr_rec.global_attribute17,
355  		   p_cr_rec.global_attribute18,
356  		   p_cr_rec.global_attribute19,
357  		   p_cr_rec.global_attribute20,
358 		   p_cr_rec.issuer_name,
359 		   p_cr_rec.issue_date,
360 		   p_cr_rec.issuer_bank_branch_id,
361 		   p_cr_rec.tax_rate,
362                    p_cr_rec.postmark_date,
363 		   /* Bug 7427809 Obsoleted  this column in R12
364                    p_cr_rec.payment_server_order_num, --apandit Bug 1820063. */
365                    p_cr_rec.approval_code,
366                    p_cr_rec.application_notes, -- djancis 2074220
367                    arp_standard.sysparm.org_id, /* SSA changes */
368                    p_cr_rec.legal_entity_id, /* LE */
369                    p_cr_rec.payment_trxn_extension_id, /* bichatte payment uptake */
370                    l_rec_version_number  /* Bug fix 3226723 */
371 	       );
372     p_cr_rec.cash_receipt_id := l_cr_id;
373 
374     /*-----------------------------------+
375      | Calling Central MRC library for   |
376      | MRC integration.                  |
377      +-----------------------------------*/
378 
379      ar_mrc_engine.maintain_mrc_data(
380                      p_event_mode    => 'INSERT',
381                      p_table_name    => 'AR_CASH_RECEIPTS',
382                      p_mode          => 'SINGLE',
383                      p_key_value     => l_cr_id);
384 
385     --
386     IF PG_DEBUG in ('Y', 'C') THEN
387        arp_util.debug( 'arp_cash_receipts_pkg.insert_p()-' );
388     END IF;
392 	    IF PG_DEBUG in ('Y', 'C') THEN
389     --
390     EXCEPTION
391 	WHEN  OTHERS THEN
393 	       arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.insert_p' );
394 	    END IF;
395 	    RAISE;
396 END insert_p;
397 --
398 PROCEDURE update_p( p_cr_rec    IN ar_cash_receipts%ROWTYPE,
399                     p_cr_id     IN ar_cash_receipts.cash_receipt_id%TYPE ) IS
400 BEGIN
401     IF PG_DEBUG in ('Y', 'C') THEN
402        arp_util.debug( 'arp_cash_receipts_pkg.update_p()+' );
403     END IF;
404     --
405     IF PG_DEBUG in ('Y', 'C') THEN
406        arp_util.debug('update_p: ' || 'before call to update ar_cash_receipts');
407     END IF;
408     UPDATE ar_cash_receipts SET
409 	amount =  DECODE( p_cr_rec.amount,
410                           AR_NUMBER_DUMMY, amount,
411                           p_cr_rec.amount ),
412  	currency_code = DECODE( p_cr_rec.currency_code,
413                           AR_TEXT_DUMMY, currency_code,
414                           p_cr_rec.currency_code ),
415  	receipt_method_id = DECODE( p_cr_rec.receipt_method_id,
416                           AR_NUMBER_DUMMY, receipt_method_id,
417                           p_cr_rec.receipt_method_id ),
418  	set_of_books_id = DECODE( p_cr_rec.set_of_books_id,
419                           AR_NUMBER_DUMMY, set_of_books_id,
420 			  -- pg_set_of_books_id ),
421                           arp_global.set_of_books_id ),-- FP Bug 5964025
422  	comments = DECODE( p_cr_rec.comments,
423                           AR_TEXT_DUMMY, comments,
424                           p_cr_rec.comments ),
425  	confirmed_flag = DECODE( p_cr_rec.confirmed_flag,
426                           AR_FLAG_DUMMY, confirmed_flag,
427                           p_cr_rec.confirmed_flag ),
428  	customer_bank_account_id = DECODE( p_cr_rec.customer_bank_account_id,
429                           AR_NUMBER_DUMMY, customer_bank_account_id,
430                           p_cr_rec.customer_bank_account_id ),
431  	customer_bank_branch_id = DECODE( p_cr_rec.customer_bank_branch_id,
432                           AR_NUMBER_DUMMY, customer_bank_branch_id,
433                           p_cr_rec.customer_bank_branch_id ),
434  	customer_site_use_id = DECODE( p_cr_rec.customer_site_use_id,
435                           AR_NUMBER_DUMMY, customer_site_use_id,
436                           p_cr_rec.customer_site_use_id ),
437  	deposit_date = DECODE( p_cr_rec.deposit_date,
438                           AR_DATE_DUMMY, deposit_date,
439                           p_cr_rec.deposit_date ),
440  	distribution_set_id = DECODE( p_cr_rec.distribution_set_id,
441                           AR_NUMBER_DUMMY, distribution_set_id,
442                           p_cr_rec.distribution_set_id ),
443  	exchange_date = DECODE( p_cr_rec.exchange_date,
444                           AR_DATE_DUMMY, exchange_date,
445                           p_cr_rec.exchange_date ),
446  	exchange_rate = DECODE( p_cr_rec.exchange_rate,
447                           AR_NUMBER_DUMMY, exchange_rate,
448                           p_cr_rec.exchange_rate ),
449  	exchange_rate_type = DECODE( p_cr_rec.exchange_rate_type,
450                           AR_TEXT_DUMMY, exchange_rate_type,
451                           p_cr_rec.exchange_rate_type ),
452  	misc_payment_source = DECODE( p_cr_rec.misc_payment_source,
453                           AR_TEXT_DUMMY, misc_payment_source,
454                           p_cr_rec.misc_payment_source ),
455  	pay_from_customer = DECODE( p_cr_rec.pay_from_customer,
456                           AR_NUMBER_DUMMY, pay_from_customer,
457                           p_cr_rec.pay_from_customer ),
458  	receipt_date = DECODE( p_cr_rec.receipt_date,
459                           AR_DATE_DUMMY, receipt_date,
460                           p_cr_rec.receipt_date ),
461  	receipt_number = DECODE( p_cr_rec.receipt_number,
462                           AR_TEXT_DUMMY, receipt_number,
463                           p_cr_rec.receipt_number ),
464  	receivables_trx_id = DECODE( p_cr_rec.receivables_trx_id,
465                           AR_NUMBER_DUMMY, receivables_trx_id,
466                           p_cr_rec.receivables_trx_id ),
467  	remit_bank_acct_use_id =
468 		DECODE( p_cr_rec.remit_bank_acct_use_id,
469                           AR_NUMBER_DUMMY, remit_bank_acct_use_id,
470                           p_cr_rec.remit_bank_acct_use_id ),
471  	reversal_category = DECODE( p_cr_rec.reversal_category,
472                           AR_TEXT_DUMMY, reversal_category,
473                           p_cr_rec.reversal_category ),
474  	reversal_comments = DECODE( p_cr_rec.reversal_comments,
475                           AR_TEXT_DUMMY, reversal_comments,
476                           p_cr_rec.reversal_comments ),
477  	reversal_date = DECODE( p_cr_rec.reversal_date,
478                           AR_DATE_DUMMY, reversal_date,
479                           p_cr_rec.reversal_date ),
480  	selected_for_factoring_flag =
481 			DECODE( p_cr_rec.selected_for_factoring_flag,
482                           AR_FLAG_DUMMY, selected_for_factoring_flag,
483                           p_cr_rec.selected_for_factoring_flag ),
484  	selected_remittance_batch_id =
485 			DECODE( p_cr_rec.selected_remittance_batch_id,
486                           AR_NUMBER_DUMMY, selected_remittance_batch_id,
487                           p_cr_rec.selected_remittance_batch_id ),
488  	status = DECODE( p_cr_rec.status,
492                           AR_TEXT_DUMMY, type,
489                           AR_TEXT_DUMMY, status,
490                           p_cr_rec.status ),
491  	type = DECODE( p_cr_rec.type,
493                           p_cr_rec.type ),
494  	attribute_category = DECODE( p_cr_rec.attribute_category,
495                           AR_TEXT_DUMMY, attribute_category,
496                           p_cr_rec.attribute_category ),
497  	attribute1 = DECODE( p_cr_rec.attribute1,
498                           AR_TEXT_DUMMY, attribute1,
499                           p_cr_rec.attribute1 ),
500  	attribute2 = DECODE( p_cr_rec.attribute2,
501                           AR_TEXT_DUMMY, attribute2,
502                           p_cr_rec.attribute2 ),
503  	attribute3 = DECODE( p_cr_rec.attribute3,
504                           AR_TEXT_DUMMY, attribute3,
505                           p_cr_rec.attribute3 ),
506  	attribute4 = DECODE( p_cr_rec.attribute4,
507                           AR_TEXT_DUMMY, attribute4,
508                           p_cr_rec.attribute4 ),
509  	attribute5 = DECODE( p_cr_rec.attribute5,
510                           AR_TEXT_DUMMY, attribute5,
511                           p_cr_rec.attribute5 ),
512  	attribute6 = DECODE( p_cr_rec.attribute6,
513                           AR_TEXT_DUMMY, attribute6,
514                           p_cr_rec.attribute6 ),
515  	attribute7 = DECODE( p_cr_rec.attribute7,
516                           AR_TEXT_DUMMY, attribute7,
517                           p_cr_rec.attribute7 ),
518  	attribute8 = DECODE( p_cr_rec.attribute8,
519                           AR_TEXT_DUMMY, attribute8,
520                           p_cr_rec.attribute8 ),
521  	attribute9 = DECODE( p_cr_rec.attribute9,
522                           AR_TEXT_DUMMY, attribute9,
523                           p_cr_rec.attribute9 ),
524  	attribute10 = DECODE( p_cr_rec.attribute10,
525                           AR_TEXT_DUMMY, attribute10,
526                           p_cr_rec.attribute10 ),
527  	attribute11 = DECODE( p_cr_rec.attribute11,
528                           AR_TEXT_DUMMY, attribute11,
529                           p_cr_rec.attribute11 ),
530  	attribute12 = DECODE( p_cr_rec.attribute12,
531                           AR_TEXT_DUMMY, attribute12,
532                           p_cr_rec.attribute12 ),
533  	attribute13 = DECODE( p_cr_rec.attribute13,
534                           AR_TEXT_DUMMY, attribute13,
535                           p_cr_rec.attribute13 ),
536  	attribute14 = DECODE( p_cr_rec.attribute14,
537                           AR_TEXT_DUMMY, attribute14,
538                           p_cr_rec.attribute14 ),
539  	attribute15 = DECODE( p_cr_rec.attribute15,
540                           AR_TEXT_DUMMY, attribute15,
541                           p_cr_rec.attribute15 ),
542  	request_id             = pg_request_id,
543  	program_application_id = pg_program_application_id,
544  	program_id             = pg_program_id,
545  	program_update_date    = DECODE( pg_program_id,
546                                  NULL, NULL,
547                                  SYSDATE),
548  	last_updated_by        = arp_global.last_updated_by, /* FP Bug 5715840 pg_last_updated_by, */
549  	last_update_date       = SYSDATE,
550  	last_update_login      = arp_global.last_update_login, /* FP Bug 5715840 pg_last_update_login, */
551  	factor_discount_amount =  DECODE( p_cr_rec.factor_discount_amount,
552                           AR_NUMBER_DUMMY, factor_discount_amount,
553                           p_cr_rec.factor_discount_amount ),
554  	ussgl_transaction_code = DECODE( p_cr_rec.ussgl_transaction_code,
555                           AR_TEXT_DUMMY, ussgl_transaction_code,
556                           p_cr_rec.ussgl_transaction_code ),
557  	ussgl_transaction_code_context =
558  			  DECODE( p_cr_rec.ussgl_transaction_code_context,
559                           AR_TEXT_DUMMY, ussgl_transaction_code_context,
560                           p_cr_rec.ussgl_transaction_code_context ),
561  	reversal_reason_code = DECODE( p_cr_rec.reversal_reason_code,
562                           AR_TEXT_DUMMY, reversal_reason_code,
563                           p_cr_rec.reversal_reason_code ),
564  	doc_sequence_id = DECODE( p_cr_rec.doc_sequence_id,
565                           AR_NUMBER_DUMMY, doc_sequence_id,
566                           p_cr_rec.doc_sequence_id ),
567  	doc_sequence_value = DECODE( p_cr_rec.doc_sequence_value,
568                           AR_NUMBER_DUMMY, doc_sequence_value,
569                           p_cr_rec.doc_sequence_value ),
570  	vat_tax_id = DECODE( p_cr_rec.vat_tax_id,
571                           AR_NUMBER_DUMMY, vat_tax_id,
572                           p_cr_rec.vat_tax_id ),
573  	reference_type = DECODE( p_cr_rec.reference_type,
574                           AR_TEXT_DUMMY, reference_type,
575                           p_cr_rec.reference_type ),
576  	reference_id = DECODE( p_cr_rec.reference_id,
577                           AR_NUMBER_DUMMY, reference_id,
578                           p_cr_rec.reference_id ),
579  	customer_receipt_reference =
580 			DECODE( p_cr_rec.customer_receipt_reference,
581                           AR_TEXT_DUMMY, customer_receipt_reference,
582                           p_cr_rec.customer_receipt_reference ),
583         override_remit_account_flag =
584 			DECODE( p_cr_rec.override_remit_account_flag,
585                           AR_FLAG_DUMMY, override_remit_account_flag,
589                           AR_DATE_DUMMY, anticipated_clearing_date,
586                           p_cr_rec.override_remit_account_flag ),
587         anticipated_clearing_date =
588 			DECODE( p_cr_rec.anticipated_clearing_date,
590                           p_cr_rec.anticipated_clearing_date ),
591  	global_attribute_category = DECODE( p_cr_rec.global_attribute_category,
592                           AR_TEXT_DUMMY, global_attribute_category,
593                           p_cr_rec.global_attribute_category ),
594  	global_attribute1 = DECODE( p_cr_rec.global_attribute1,
595                           AR_TEXT_DUMMY, global_attribute1,
596                           p_cr_rec.global_attribute1 ),
597  	global_attribute2 = DECODE( p_cr_rec.global_attribute2,
598                           AR_TEXT_DUMMY, global_attribute2,
599                           p_cr_rec.global_attribute2 ),
600  	global_attribute3 = DECODE( p_cr_rec.global_attribute3,
601                           AR_TEXT_DUMMY, global_attribute3,
602                           p_cr_rec.global_attribute3 ),
603  	global_attribute4 = DECODE( p_cr_rec.global_attribute4,
604                           AR_TEXT_DUMMY, global_attribute4,
605                           p_cr_rec.global_attribute4 ),
606  	global_attribute5 = DECODE( p_cr_rec.global_attribute5,
607                           AR_TEXT_DUMMY, global_attribute5,
608                           p_cr_rec.global_attribute5 ),
609  	global_attribute6 = DECODE( p_cr_rec.global_attribute6,
610                           AR_TEXT_DUMMY, global_attribute6,
611                           p_cr_rec.global_attribute6 ),
612  	global_attribute7 = DECODE( p_cr_rec.global_attribute7,
613                           AR_TEXT_DUMMY, global_attribute7,
614                           p_cr_rec.global_attribute7 ),
615  	global_attribute8 = DECODE( p_cr_rec.global_attribute8,
616                           AR_TEXT_DUMMY, global_attribute8,
617                           p_cr_rec.global_attribute8 ),
618  	global_attribute9 = DECODE( p_cr_rec.global_attribute9,
619                           AR_TEXT_DUMMY, global_attribute9,
620                           p_cr_rec.global_attribute9 ),
621  	global_attribute10 = DECODE( p_cr_rec.global_attribute10,
622                           AR_TEXT_DUMMY, global_attribute10,
623                           p_cr_rec.global_attribute10 ),
624  	global_attribute11 = DECODE( p_cr_rec.global_attribute11,
625                           AR_TEXT_DUMMY, global_attribute11,
626                           p_cr_rec.global_attribute11 ),
627  	global_attribute12 = DECODE( p_cr_rec.global_attribute12,
628                           AR_TEXT_DUMMY, global_attribute12,
629                           p_cr_rec.global_attribute12 ),
630  	global_attribute13 = DECODE( p_cr_rec.global_attribute13,
631                           AR_TEXT_DUMMY, global_attribute13,
632                           p_cr_rec.global_attribute13 ),
633  	global_attribute14 = DECODE( p_cr_rec.global_attribute14,
634                           AR_TEXT_DUMMY, global_attribute14,
635                           p_cr_rec.global_attribute14 ),
636  	global_attribute15 = DECODE( p_cr_rec.global_attribute15,
637                           AR_TEXT_DUMMY, global_attribute15,
638                           p_cr_rec.global_attribute15 ),
639  	global_attribute16 = DECODE( p_cr_rec.global_attribute16,
640                           AR_TEXT_DUMMY, global_attribute16,
641                           p_cr_rec.global_attribute16 ),
642  	global_attribute17 = DECODE( p_cr_rec.global_attribute17,
643                           AR_TEXT_DUMMY, global_attribute17,
644                           p_cr_rec.global_attribute17 ),
645  	global_attribute18 = DECODE( p_cr_rec.global_attribute18,
646                           AR_TEXT_DUMMY, global_attribute18,
647                           p_cr_rec.global_attribute18 ),
648  	global_attribute19 = DECODE( p_cr_rec.global_attribute19,
649                           AR_TEXT_DUMMY, global_attribute19,
650                           p_cr_rec.global_attribute19 ),
651  	global_attribute20 = DECODE( p_cr_rec.global_attribute20,
652                           AR_TEXT_DUMMY, global_attribute20,
653                           p_cr_rec.global_attribute20 ),
654         issuer_name        = DECODE (p_cr_rec.issuer_name,
655                           AR_TEXT_DUMMY, issuer_name,
656                           p_cr_rec.issuer_name),
657         issue_date         = DECODE (p_cr_rec.issue_date,
658                           AR_DATE_DUMMY, issue_date,
659                           p_cr_rec.issue_date),
660         issuer_bank_branch_id = DECODE (p_cr_rec.issuer_bank_branch_id,
661                           AR_NUMBER_DUMMY, issuer_bank_branch_id,
662                           p_cr_rec.issuer_bank_branch_id),
663 	/* Bug 7427809 Obsoleted  this column in R12
664         payment_server_order_num = DECODE (p_cr_rec.payment_server_order_num,
665                           AR_TEXT_DUMMY, payment_server_order_num,
666                           p_cr_rec.payment_server_order_num), */
667         approval_code      = DECODE (p_cr_rec.approval_code,
668                           AR_TEXT_DUMMY, approval_code,
669                           p_cr_rec.approval_code),
670         tax_rate           = DECODE (p_cr_rec.tax_rate,
671                           AR_NUMBER_DUMMY, tax_rate,
672                           p_cr_rec.tax_rate),
673         -- ARTA Changes
674         postmark_date   = DECODE( p_cr_rec.postmark_date, AR_DATE_DUMMY,
675                           postmark_date,p_cr_rec.postmark_date),
676         -- enhancement 2074220
680         rec_version_number = nvl(rec_version_number,1)+1,  /* Bug fix 3226723*/
677         application_notes = DECODE(p_cr_rec.application_notes,
678                                    AR_TEXT_DUMMY, application_notes,
679                                    p_cr_rec.application_notes),
681         legal_entity_id  = DECODE (p_cr_rec.legal_entity_id,
682                                    AR_NUMBER_DUMMY, legal_entity_id,
683                                    p_cr_rec.legal_entity_id),  /* LE */
684         payment_trxn_extension_id  = DECODE (p_cr_rec.payment_trxn_extension_id,
685                                    AR_NUMBER_DUMMY, payment_trxn_extension_id,
686                                    p_cr_rec.payment_trxn_extension_id),  /* bichatte payment uptake*/
687         work_item_status_code = DECODE(work_item_status_code,
688                                         null, work_item_status_code,
689                                         DECODE (p_cr_rec.status,
690                                         'APP', 'CLOSED',
691                                         'REV', 'CLOSED',
692                                         'NSF', 'CLOSED',
693                                         'STOP', 'CLOSED',
694                                         'CC_CHARGEBACK_REV', 'CLOSED',
695                                         'UNAPP', decode(status , 'APP', 'NEW', work_item_status_code),
696                                         work_item_status_code))
697     WHERE
698           cash_receipt_id = p_cr_id; -- OSTEINME 3/12/01 bug 1683007
699 
700      IF PG_DEBUG in ('Y', 'C') THEN
701         arp_util.debug('update_p: ' || 'after updating cash_receipts');
702         arp_util.debug('update_p: ' || 'exchange_rate = ' || to_char(p_cr_rec.exchange_rate));
703         arp_util.debug('update_p: ' || 'exchange date = ' || to_char(p_cr_rec.exchange_date));
704      END IF;
705 --
706 
707      /*-----------------------------------+
708      | Calling Central MRC library for   |
709      | MRC integration.                  |
710      +-----------------------------------*/
711 
712      ar_mrc_engine.maintain_mrc_data(
713                      p_event_mode    => 'UPDATE',
714                      p_table_name    => 'AR_CASH_RECEIPTS',
715                      p_mode          => 'SINGLE',
716                      p_key_value     => p_cr_id);
717 
718     --
719     IF PG_DEBUG in ('Y', 'C') THEN
720        arp_util.debug( 'arp_cash_receipts_pkg.update_p()-' );
721     END IF;
722     --
723     EXCEPTION
724         WHEN  OTHERS THEN
725             IF PG_DEBUG in ('Y', 'C') THEN
726                arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.update_p' );
727             END IF;
728             RAISE;
729 END update_p;
730 ---------------------------------------------------------------------------------
731 --  Caroline M Clyde              October 22, 1997
732 --  Log 454787
733 --
734 --  Removed the UPDATE statement from this procedure.  It now calls the new
735 --  update_p to physically do the update.
736 ---------------------------------------------------------------------------------
737 PROCEDURE update_p( p_cr_rec 	IN ar_cash_receipts%ROWTYPE ) IS
738 BEGIN
739     IF PG_DEBUG in ('Y', 'C') THEN
740        arp_util.debug( 'arp_cash_receipts_pkg.update_p()+' );
741     END IF;
742     --
743     arp_cash_receipts_pkg.update_p (p_cr_rec,
744                                     p_cr_rec.cash_receipt_id);
745     --
746     IF PG_DEBUG in ('Y', 'C') THEN
747        arp_util.debug( 'arp_cash_receipts_pkg.update_p()-' );
748     END IF;
749     --
750 END update_p;
751 --
752 PROCEDURE delete_p(
753 	p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE ) IS
754 BEGIN
755     IF PG_DEBUG in ('Y', 'C') THEN
756        arp_util.debug( 'arp_cash_receipts_pkg.delete_p()+' );
757     END IF;
758     --
759     DELETE FROM ar_cash_receipts
760     WHERE cash_receipt_id = p_cr_id;
761 
762      /*-----------------------------------+
763      | Calling Central MRC library for   |
764      | MRC integration.                  |
765      +-----------------------------------*/
766 
767      ar_mrc_engine.maintain_mrc_data(
768                      p_event_mode    => 'DELETE',
769                      p_table_name    => 'AR_CASH_RECEIPTS',
770                      p_mode          => 'SINGLE',
771                      p_key_value     => p_cr_id);
772 
773     --
774     IF PG_DEBUG in ('Y', 'C') THEN
775        arp_util.debug( 'arp_cash_receipts_pkg.delete_p()-' );
776     END IF;
777     EXCEPTION
778         WHEN  OTHERS THEN
779             IF PG_DEBUG in ('Y', 'C') THEN
780                arp_util.debug( 'Exception: arp_cash_receipts_pkg.delete_p' );
781             END IF;
782             RAISE;
783 END delete_p;
784 --
785 PROCEDURE lock_p(
786 	p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE ) IS
787 l_cr_id		ar_cash_receipts.cash_receipt_id%TYPE;
788 BEGIN
789     IF PG_DEBUG in ('Y', 'C') THEN
790        arp_util.debug( 'arp_cash_receipts_pkg.lock_p()+' );
791     END IF;
792     --
793     SELECT cash_receipt_id
794     INTO   l_cr_id
795     FROM  ar_cash_receipts
796     WHERE cash_receipt_id = p_cr_id
797     FOR UPDATE OF STATUS;
798     --
799     IF PG_DEBUG in ('Y', 'C') THEN
800        arp_util.debug( 'arp_cash_receipts_pkg.lock_p()-' );
801     END IF;
802     EXCEPTION
803         WHEN  OTHERS THEN
807             RAISE;
804             IF PG_DEBUG in ('Y', 'C') THEN
805                arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.lock_p' );
806             END IF;
808 END lock_p;
809 --
810 --
811 PROCEDURE nowaitlock_p(
812 	p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE ) IS
813 l_cr_id		ar_cash_receipts.cash_receipt_id%TYPE;
814 BEGIN
815     IF PG_DEBUG in ('Y', 'C') THEN
816        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_p()+' );
817     END IF;
818     --
819     SELECT cash_receipt_id
820     INTO   l_cr_id
821     FROM  ar_cash_receipts
822     WHERE cash_receipt_id = p_cr_id
823     FOR UPDATE OF STATUS NOWAIT;
824     --
825     IF PG_DEBUG in ('Y', 'C') THEN
826        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_p()-' );
827     END IF;
828     EXCEPTION
829         WHEN  OTHERS THEN
830             IF PG_DEBUG in ('Y', 'C') THEN
831                arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.nowaitlock_p' );
832             END IF;
833             RAISE;
834 END nowaitlock_p;
835 --
836 /* Bug fix 3226723
837    Locking procedure with additional parameter rec_version_number added */
838 PROCEDURE nowaitlock_version_p(
839         p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE,
840         p_rec_version_number IN ar_cash_receipts.rec_version_number%TYPE DEFAULT NULL ) IS
841 l_cr_id         ar_cash_receipts.cash_receipt_id%TYPE;
842 BEGIN
843     IF PG_DEBUG in ('Y', 'C') THEN
844        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_version_p()+' );
845        arp_util.debug('Cash receipt_id = '||to_char(p_cr_id));
846        arp_util.debug('receipt version number = '||to_char(p_rec_version_number));
847     END IF;
848     --
849 
850     SELECT cash_receipt_id
851     INTO   l_cr_id
852     FROM  ar_cash_receipts
853     WHERE cash_receipt_id = p_cr_id
854       AND (
855            rec_version_number = p_rec_version_number
856            OR
857             (rec_version_number is NULL
858              AND p_rec_version_number = 1)
859           )
860     FOR UPDATE OF REC_VERSION_NUMBER NOWAIT;
861     --
862     IF PG_DEBUG in ('Y', 'C') THEN
863        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_version_p()-' );
864     END IF;
865     EXCEPTION
866         WHEN  OTHERS THEN
867             IF PG_DEBUG in ('Y', 'C') THEN
868                arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.nowaitlock_version_p()' );
869             END IF;
870             RAISE;
871 END nowaitlock_version_p;
872 
873 PROCEDURE update_version_number(p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE) IS
874 BEGIN
875    IF PG_DEBUG in ('Y', 'C') THEN
876        arp_util.debug( 'arp_cash_receipts_pkg.update_version_number()+' );
877    END IF;
878 
879    update ar_cash_receipts
880     set rec_version_number = nvl(rec_version_number,1)+1
881    where cash_receipt_id = p_cr_id;
882 
883     IF PG_DEBUG in ('Y', 'C') THEN
884        arp_util.debug( 'arp_cash_receipts_pkg.update_version_number()-');
885     END IF;
886     EXCEPTION
887         WHEN  OTHERS THEN
888             IF PG_DEBUG in ('Y', 'C') THEN
889                arp_util.debug( 'EXCEPTION: arp_cash_receipts_pkg.update_version_number()' );
890             END IF;
891             RAISE;
892 END update_version_number;
893 
894 /* End bug fix 3226723 */
895 PROCEDURE fetch_p(
896                    p_cr_rec IN OUT NOCOPY ar_cash_receipts%ROWTYPE) IS
897 BEGIN
898     IF PG_DEBUG in ('Y', 'C') THEN
899        arp_util.debug( 'arp_cash_receipts_pkg.fetch_p()+' );
900     END IF;
901     --
902     SELECT *
903     INTO   p_cr_rec
904     FROM   ar_cash_receipts
905     WHERE  cash_receipt_id = p_cr_rec.cash_receipt_id;
906     --
907     IF PG_DEBUG in ('Y', 'C') THEN
908        arp_util.debug( 'arp_cash_receipts_pkg.fetch_p()-' );
909     END IF;
910     --
911     EXCEPTION
912          WHEN OTHERS THEN
913               IF PG_DEBUG in ('Y', 'C') THEN
914                  arp_util.debug('fetch_p: ' ||
915 			'EXCEPTION: arp_cash_receipts_pkg.fetch error' );
916               END IF;
917               RAISE;
918 END fetch_p;
919 --
920 --
921 PROCEDURE lock_fetch_p(
922                    p_cr_rec IN OUT NOCOPY ar_cash_receipts%ROWTYPE) IS
923 BEGIN
924     IF PG_DEBUG in ('Y', 'C') THEN
925        arp_util.debug( 'arp_cash_receipts_pkg.lock_fetch_p()+' );
926     END IF;
927     --
928     SELECT *
929     INTO   p_cr_rec
930     FROM   ar_cash_receipts
931     WHERE  cash_receipt_id = p_cr_rec.cash_receipt_id
932     FOR UPDATE OF status;
933     --
934     IF PG_DEBUG in ('Y', 'C') THEN
935        arp_util.debug( 'arp_cash_receipts_pkg.lock_fetch_p()-' );
936     END IF;
937     --
938     EXCEPTION
939          WHEN OTHERS THEN
940               IF PG_DEBUG in ('Y', 'C') THEN
941                  arp_util.debug('lock_fetch_p: ' ||
942 			'EXCEPTION: arp_cash_receipts_pkg.lock_fetch_p' );
943               END IF;
944               RAISE;
945 END lock_fetch_p;
946 --
947 --
948 PROCEDURE nowaitlock_fetch_p(
949                    p_cr_rec IN OUT NOCOPY ar_cash_receipts%ROWTYPE) IS
950 BEGIN
951     IF PG_DEBUG in ('Y', 'C') THEN
952        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_fetch_p()+' );
953     END IF;
954     --
955     SELECT *
959     FOR UPDATE OF status NOWAIT;
956     INTO   p_cr_rec
957     FROM   ar_cash_receipts
958     WHERE  cash_receipt_id = p_cr_rec.cash_receipt_id
960     --
961     IF PG_DEBUG in ('Y', 'C') THEN
962        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_fetch_p()-' );
963     END IF;
964     --
965     EXCEPTION
966          WHEN OTHERS THEN
967               IF PG_DEBUG in ('Y', 'C') THEN
968                  arp_util.debug('nowaitlock_fetch_p: ' ||
969 			'EXCEPTION: arp_cash_receipts_pkg.nowaitlock_fetch_p' );
970               END IF;
971               RAISE;
972 END nowaitlock_fetch_p;
973 --
974 --
975 PROCEDURE lock_f_batch_id(
976                    p_batch_id IN ar_batches.batch_id%TYPE ) IS
977 --
978 CURSOR lock_C IS
979 SELECT 'lock'
980 FROM   ar_cash_receipts cr,
981        ar_cash_receipt_history crh
982 WHERE  cr.cash_receipt_id = crh.cash_receipt_id
983 AND    crh.batch_id = p_batch_id
984 FOR UPDATE OF cr.status;
985 --
986 BEGIN
987     IF PG_DEBUG in ('Y', 'C') THEN
988        arp_util.debug( 'arp_cash_receipts_pkg.lock_f_batch_id()+' );
989     END IF;
990     --
991     OPEN lock_C;
992     CLOSE lock_C;
993     --
994     IF PG_DEBUG in ('Y', 'C') THEN
995        arp_util.debug( 'arp_cash_receipts_pkg.lock_f_batch_id()-' );
996     END IF;
997     --
998     EXCEPTION
999          WHEN OTHERS THEN
1000 	      IF lock_C%ISOPEN THEN
1001    	         CLOSE lock_C;
1002 	      END IF;
1003            --
1004               IF PG_DEBUG in ('Y', 'C') THEN
1005                  arp_util.debug('lock_f_batch_id: ' ||
1006 			'EXCEPTION: arp_cash_receipts_pkg.lock_f_batch_id' );
1007               END IF;
1008               RAISE;
1009 END lock_f_batch_id;
1010 --
1011 --
1012 PROCEDURE nowaitlock_f_batch_id(
1013                    p_batch_id IN ar_batches.batch_id%TYPE ) IS
1014 --
1015 CURSOR lock_C IS
1016 SELECT 'lock'
1017 FROM   ar_cash_receipts cr,
1018        ar_cash_receipt_history crh
1019 WHERE  cr.cash_receipt_id = crh.cash_receipt_id
1020 AND    crh.batch_id = p_batch_id
1021 FOR UPDATE OF cr.status NOWAIT;
1022 --
1023 BEGIN
1024     IF PG_DEBUG in ('Y', 'C') THEN
1025        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_f_batch_id()+' );
1026     END IF;
1027     --
1028     OPEN lock_C;
1029     CLOSE lock_C;
1030     --
1031     IF PG_DEBUG in ('Y', 'C') THEN
1032        arp_util.debug( 'arp_cash_receipts_pkg.nowaitlock_f_batch_id()-' );
1033     END IF;
1034     --
1035     EXCEPTION
1036          WHEN OTHERS THEN
1037 	      IF lock_C%ISOPEN THEN
1038    	         CLOSE lock_C;
1039 	      END IF;
1040            --
1041               IF PG_DEBUG in ('Y', 'C') THEN
1042                  arp_util.debug('nowaitlock_f_batch_id: ' ||
1043 			'EXCEPTION: arp_cash_receipts_pkg.nowaitlock_f_batch_id' );
1044               END IF;
1045               RAISE;
1046 END nowaitlock_f_batch_id;
1047 --
1048 --
1049 PROCEDURE lock_compare_p( p_cr_rec IN ar_cash_receipts%ROWTYPE ) IS
1050 
1051   l_new_cr_rec    ar_cash_receipts%ROWTYPE;
1052   l_exchange_date DATE;
1053 
1054 BEGIN
1055   IF PG_DEBUG in ('Y', 'C') THEN
1056      arp_util.debug('arp_cash_receipts_pkg.lock_compare_p()+');
1057   END IF;
1058 
1059 /* For testing only:
1060 
1061   IF PG_DEBUG in ('Y', 'C') THEN
1062      arp_standard.debug('lock_compare_p: ' || 'Exchange date: ' ||
1063  	TO_CHAR(p_cr_rec.exchange_date, 'DD-MON-YYYY HH24-MM-SS'));
1064   END IF;
1065 
1066   SELECT exchange_date
1067   INTO l_exchange_date
1068   FROM ar_cash_receipts cr
1069   WHERE cr.cash_receipt_id = p_cr_rec.cash_receipt_id
1070   AND  TO_CHAR(cr.exchange_date,'DD-MON-RR') =
1071 	TO_CHAR(p_cr_rec.exchange_date,'DD-MON-RR');
1072 
1073   IF PG_DEBUG in ('Y', 'C') THEN
1074      arp_standard.debug('lock_compare_p: ' || 'Exchange date in DB: ' ||
1075  	TO_CHAR(l_exchange_date, 'DD-MON-YYYY HH24-MM-SS'));
1076   END IF;
1077 
1078 */
1079 
1080   SELECT *
1081   INTO
1082          l_new_cr_rec
1083   FROM
1084          ar_cash_receipts cr
1085   WHERE
1086          cr.cash_receipt_id = p_cr_rec.cash_receipt_id
1087   AND
1088       NVL(cr.amount, AR_NUMBER_DUMMY) =
1089       NVL(
1090 	   DECODE(p_cr_rec.amount,
1091 		  AR_NUMBER_DUMMY, cr.amount,
1092 		  p_cr_rec.amount),
1093 	   AR_NUMBER_DUMMY
1094 	  )
1095   AND
1096       NVL(cr.set_of_books_id , AR_NUMBER_DUMMY) =
1097       NVL(
1098 	   DECODE(p_cr_rec.set_of_books_id,
1099 		  AR_NUMBER_DUMMY, cr.set_of_books_id,
1100 		  p_cr_rec.set_of_books_id),
1101 	   AR_NUMBER_DUMMY
1102 	  )
1103   AND
1104       NVL(cr.currency_code , AR_TEXT_DUMMY) =
1105       NVL(
1106 	   DECODE(p_cr_rec.currency_code,
1107 		AR_TEXT_DUMMY, cr.currency_code,
1108 				p_cr_rec.currency_code),
1109 	   AR_TEXT_DUMMY
1110 	  )
1111   AND
1112       NVL(cr.receivables_trx_id , AR_NUMBER_DUMMY) =
1113       NVL(
1114 	   DECODE(p_cr_rec.receivables_trx_id,
1115 		AR_NUMBER_DUMMY, cr.receivables_trx_id,
1116 				p_cr_rec.receivables_trx_id),
1117 	   AR_NUMBER_DUMMY
1118 	  )
1119 AND
1120       NVL(cr.pay_from_customer , AR_NUMBER_DUMMY) =
1121       NVL(
1122 	   DECODE(p_cr_rec.pay_from_customer ,
1123 		AR_NUMBER_DUMMY, cr.pay_from_customer,
1127 AND
1124 				p_cr_rec.pay_from_customer),
1125 	   AR_NUMBER_DUMMY
1126 	  )
1128       NVL(cr.status , AR_TEXT_DUMMY) =
1129       NVL(
1130 	   DECODE(p_cr_rec.status ,
1131 		AR_TEXT_DUMMY, cr.status,
1132 				p_cr_rec.status),
1133 	   AR_TEXT_DUMMY
1134 	  )
1135 AND
1136       NVL(cr.type , AR_TEXT_DUMMY) =
1137       NVL(
1138 	   DECODE(p_cr_rec.type ,
1139 		AR_TEXT_DUMMY, cr.type,
1140 				p_cr_rec.type),
1141 	   AR_TEXT_DUMMY
1142 	  )
1143 AND
1144       NVL(cr.receipt_number , AR_TEXT_DUMMY) =
1145       NVL(
1146 	   DECODE(p_cr_rec.receipt_number ,
1147 		AR_TEXT_DUMMY, cr.receipt_number,
1148 				p_cr_rec.receipt_number),
1149 	   AR_TEXT_DUMMY
1150 	  )
1151 AND
1152       NVL(cr.receipt_date , AR_DATE_DUMMY) =
1153       NVL(
1154 	   DECODE(p_cr_rec.receipt_date ,
1155 		AR_DATE_DUMMY, cr.receipt_date,
1156 				p_cr_rec.receipt_date),
1157 	   AR_DATE_DUMMY
1158 	  )
1159 AND
1160       NVL(cr.misc_payment_source , AR_TEXT_DUMMY) =
1161       NVL(
1162 	   DECODE(p_cr_rec.misc_payment_source ,
1163 		AR_TEXT_DUMMY, cr.misc_payment_source,
1164 				p_cr_rec.misc_payment_source),
1165 	   AR_TEXT_DUMMY
1166 	  )
1167 AND
1168       NVL(cr.comments , AR_TEXT_DUMMY) =
1169       NVL(
1170 	   DECODE(p_cr_rec.comments ,
1171 		AR_TEXT_DUMMY, cr.comments,
1172 				p_cr_rec.comments),
1173 	   AR_TEXT_DUMMY
1174 	  )
1175 AND
1176       NVL(cr.distribution_set_id , AR_NUMBER_DUMMY) =
1177       NVL(
1178 	   DECODE(p_cr_rec.distribution_set_id ,
1179 		AR_NUMBER_DUMMY, cr.distribution_set_id,
1180 				p_cr_rec.distribution_set_id),
1181 	   AR_NUMBER_DUMMY
1182 	  )
1183 AND
1184       NVL(cr.reversal_date , AR_DATE_DUMMY) =
1185       NVL(
1186 	   DECODE(p_cr_rec.reversal_date ,
1187 		AR_DATE_DUMMY, cr.reversal_date,
1188 				p_cr_rec.reversal_date),
1189 	   AR_DATE_DUMMY
1190 	  )
1191 AND
1192       NVL(cr.reversal_category , AR_TEXT_DUMMY) =
1193       NVL(
1194 	   DECODE(p_cr_rec.reversal_category ,
1195 		AR_TEXT_DUMMY, cr.reversal_category,
1196 				p_cr_rec.reversal_category),
1197 	   AR_TEXT_DUMMY
1198 	  )
1199 AND
1200       NVL(cr.reversal_reason_code , AR_TEXT_DUMMY) =
1201       NVL(
1202 	   DECODE(p_cr_rec.reversal_reason_code ,
1203 		AR_TEXT_DUMMY, cr.reversal_reason_code,
1204 				p_cr_rec.reversal_reason_code),
1205 	   AR_TEXT_DUMMY
1206 	  )
1207 AND
1208       NVL(cr.reversal_comments , AR_TEXT_DUMMY) =
1209       NVL(
1210 	   DECODE(p_cr_rec.reversal_comments ,
1211 		AR_TEXT_DUMMY, cr.reversal_comments,
1212 				p_cr_rec.reversal_comments),
1213 	   AR_TEXT_DUMMY
1214 	  )
1215 AND
1216       NVL(cr.exchange_rate_type , AR_TEXT_DUMMY) =
1217       NVL(
1218 	   DECODE(p_cr_rec.exchange_rate_type ,
1219 		AR_TEXT_DUMMY, cr.exchange_rate_type,
1220 				p_cr_rec.exchange_rate_type),
1221 	   AR_TEXT_DUMMY
1222 	  )
1223 AND
1224       NVL(cr.exchange_rate , AR_NUMBER_DUMMY) =
1225       NVL(
1226 	   DECODE(p_cr_rec.exchange_rate ,
1227 		AR_NUMBER_DUMMY, cr.exchange_rate,
1228 				p_cr_rec.exchange_rate),
1229 	   AR_NUMBER_DUMMY
1230 	  )
1231 AND
1232       NVL(cr.exchange_date , AR_DATE_DUMMY) =
1233       NVL(
1234 	   DECODE(p_cr_rec.exchange_date ,
1235 		AR_DATE_DUMMY, cr.exchange_date,
1236 				p_cr_rec.exchange_date),
1237 	   AR_DATE_DUMMY
1238 	  )
1239 AND
1240       NVL(cr.attribute_category , AR_TEXT_DUMMY) =
1241       NVL(
1242 	   DECODE(p_cr_rec.attribute_category ,
1243 		AR_TEXT_DUMMY, cr.attribute_category,
1244 				p_cr_rec.attribute_category),
1245 	   AR_TEXT_DUMMY
1246 	  )
1247 AND
1248       NVL(cr.attribute1 , AR_TEXT_DUMMY) =
1249       NVL(
1250 	   DECODE(p_cr_rec.attribute1 ,
1251 		AR_TEXT_DUMMY, cr.attribute1,
1252 				p_cr_rec.attribute1),
1253 	   AR_TEXT_DUMMY
1254 	  )
1255 AND
1256       NVL(cr.attribute2 , AR_TEXT_DUMMY) =
1257       NVL(
1258 	   DECODE(p_cr_rec.attribute2 ,
1259 		AR_TEXT_DUMMY, cr.attribute2,
1260 				p_cr_rec.attribute2),
1261 	   AR_TEXT_DUMMY
1262 	  )
1263 AND
1264       NVL(cr.attribute3 , AR_TEXT_DUMMY) =
1265       NVL(
1266 	   DECODE(p_cr_rec.attribute3 ,
1267 		AR_TEXT_DUMMY, cr.attribute3,
1268 				p_cr_rec.attribute3),
1269 	   AR_TEXT_DUMMY
1270 	  )
1271 AND
1272       NVL(cr.attribute4 , AR_TEXT_DUMMY) =
1273       NVL(
1274 	   DECODE(p_cr_rec.attribute4 ,
1275 		AR_TEXT_DUMMY, cr.attribute4,
1276 				p_cr_rec.attribute4),
1277 	   AR_TEXT_DUMMY
1278 	  )
1279 AND
1280       NVL(cr.attribute5 , AR_TEXT_DUMMY) =
1281       NVL(
1282 	   DECODE(p_cr_rec.attribute5 ,
1283 		AR_TEXT_DUMMY, cr.attribute5,
1284 				p_cr_rec.attribute5),
1285 	   AR_TEXT_DUMMY
1286 	  )
1287 AND
1288       NVL(cr.attribute6 , AR_TEXT_DUMMY) =
1289       NVL(
1290 	   DECODE(p_cr_rec.attribute6 ,
1291 		AR_TEXT_DUMMY, cr.attribute6,
1292 				p_cr_rec.attribute6),
1293 	   AR_TEXT_DUMMY
1294 	  )
1295 AND
1296       NVL(cr.attribute7 , AR_TEXT_DUMMY) =
1297       NVL(
1298 	   DECODE(p_cr_rec.attribute7 ,
1299 		AR_TEXT_DUMMY, cr.attribute7,
1300 				p_cr_rec.attribute7),
1301 	   AR_TEXT_DUMMY
1302 	  )
1303 AND
1307 		AR_TEXT_DUMMY, cr.attribute8,
1304       NVL(cr.attribute8 , AR_TEXT_DUMMY) =
1305       NVL(
1306 	   DECODE(p_cr_rec.attribute8 ,
1308 				p_cr_rec.attribute8),
1309 	   AR_TEXT_DUMMY
1310 	  )
1311 AND
1312       NVL(cr.attribute9 , AR_TEXT_DUMMY) =
1313       NVL(
1314 	   DECODE(p_cr_rec.attribute9 ,
1315 		AR_TEXT_DUMMY, cr.attribute9,
1316 				p_cr_rec.attribute9),
1317 	   AR_TEXT_DUMMY
1318 	  )
1319 AND
1320       NVL(cr.attribute10 , AR_TEXT_DUMMY) =
1321       NVL(
1322 	   DECODE(p_cr_rec.attribute10 ,
1323 		AR_TEXT_DUMMY, cr.attribute10,
1324 				p_cr_rec.attribute10),
1325 	   AR_TEXT_DUMMY
1326 	  )
1327 AND
1328       NVL(cr.attribute11 , AR_TEXT_DUMMY) =
1329       NVL(
1330 	   DECODE(p_cr_rec.attribute11 ,
1331 		AR_TEXT_DUMMY, cr.attribute11,
1332 				p_cr_rec.attribute11),
1333 	   AR_TEXT_DUMMY
1334 	  )
1335 AND
1336       NVL(cr.attribute12 , AR_TEXT_DUMMY) =
1337       NVL(
1338 	   DECODE(p_cr_rec.attribute12 ,
1339 		AR_TEXT_DUMMY, cr.attribute12,
1340 				p_cr_rec.attribute12),
1341 	   AR_TEXT_DUMMY
1342 	  )
1343 AND
1344       NVL(cr.attribute13 , AR_TEXT_DUMMY) =
1345       NVL(
1346 	   DECODE(p_cr_rec.attribute13 ,
1347 		AR_TEXT_DUMMY, cr.attribute13,
1348 				p_cr_rec.attribute13),
1349 	   AR_TEXT_DUMMY
1350 	  )
1351 AND
1352       NVL(cr.attribute14 , AR_TEXT_DUMMY) =
1353       NVL(
1354 	   DECODE(p_cr_rec.attribute14 ,
1355 		AR_TEXT_DUMMY, cr.attribute14,
1356 				p_cr_rec.attribute14),
1357 	   AR_TEXT_DUMMY
1358 	  )
1359 AND
1360       NVL(cr.attribute15 , AR_TEXT_DUMMY) =
1361       NVL(
1362 	   DECODE(p_cr_rec.attribute15 ,
1363 		AR_TEXT_DUMMY, cr.attribute15,
1364 				p_cr_rec.attribute15),
1365 	   AR_TEXT_DUMMY
1366 	  )
1367 AND
1368       NVL(cr.receipt_method_id , AR_NUMBER_DUMMY) =
1369       NVL(
1370 	   DECODE(p_cr_rec.receipt_method_id ,
1371 		AR_NUMBER_DUMMY, cr.receipt_method_id,
1372 				p_cr_rec.receipt_method_id),
1373 	   AR_NUMBER_DUMMY
1374 	  )
1375 AND
1376       NVL(cr.confirmed_flag , AR_FLAG_DUMMY) =
1377       NVL(
1378 	   DECODE(p_cr_rec.confirmed_flag ,
1379 		AR_FLAG_DUMMY, cr.confirmed_flag,
1380 				p_cr_rec.confirmed_flag),
1381 	   AR_FLAG_DUMMY
1382 	  )
1383 AND
1384       NVL(cr.customer_bank_account_id , AR_NUMBER_DUMMY) =
1385       NVL(
1386 	   DECODE(p_cr_rec.customer_bank_account_id ,
1387 		AR_NUMBER_DUMMY, cr.customer_bank_account_id,
1388 				p_cr_rec.customer_bank_account_id),
1389 	   AR_NUMBER_DUMMY
1390 	  )
1391 AND
1392       NVL(cr.customer_bank_branch_id , AR_NUMBER_DUMMY) =
1393       NVL(
1394 	   DECODE(p_cr_rec.customer_bank_branch_id ,
1395 		AR_NUMBER_DUMMY, cr.customer_bank_branch_id,
1396 				p_cr_rec.customer_bank_branch_id),
1397 	   AR_NUMBER_DUMMY
1398 	  )
1399 AND
1400       NVL(cr.customer_site_use_id , AR_NUMBER_DUMMY) =
1401       NVL(
1402 	   DECODE(p_cr_rec.customer_site_use_id ,
1403 		AR_NUMBER_DUMMY, cr.customer_site_use_id,
1404 				p_cr_rec.customer_site_use_id),
1405 	   AR_NUMBER_DUMMY
1406 	  )
1407 AND
1408       NVL(cr.deposit_date , AR_DATE_DUMMY) =
1409       NVL(
1410 	   DECODE(p_cr_rec.deposit_date ,
1411 		AR_DATE_DUMMY, cr.deposit_date,
1412 				p_cr_rec.deposit_date),
1413 	   AR_DATE_DUMMY
1414 	  )
1415 AND
1416       NVL(cr.remit_bank_acct_use_id , AR_NUMBER_DUMMY) =
1417       NVL(
1418 	   DECODE(p_cr_rec.remit_bank_acct_use_id ,
1419 		AR_NUMBER_DUMMY, cr.remit_bank_acct_use_id,
1420 				p_cr_rec.remit_bank_acct_use_id),
1421 	   AR_NUMBER_DUMMY
1422 	  )
1423 AND
1424       NVL(cr.selected_for_factoring_flag , AR_FLAG_DUMMY) =
1425       NVL(
1426 	   DECODE(p_cr_rec.selected_for_factoring_flag ,
1427 		AR_FLAG_DUMMY, cr.selected_for_factoring_flag,
1428 				p_cr_rec.selected_for_factoring_flag),
1429 	   AR_FLAG_DUMMY
1430 	  )
1431 AND
1432       NVL(cr.selected_remittance_batch_id , AR_NUMBER_DUMMY) =
1433       NVL(
1434 	   DECODE(p_cr_rec.selected_remittance_batch_id ,
1435 		AR_NUMBER_DUMMY, cr.selected_remittance_batch_id,
1436 				p_cr_rec.selected_remittance_batch_id),
1437 	   AR_NUMBER_DUMMY
1438 	  )
1439 AND
1440       NVL(cr.factor_discount_amount , AR_NUMBER_DUMMY) =
1441       NVL(
1442 	   DECODE(p_cr_rec.factor_discount_amount ,
1443 		AR_NUMBER_DUMMY, cr.factor_discount_amount,
1444 				p_cr_rec.factor_discount_amount),
1445 	   AR_NUMBER_DUMMY
1446 	  )
1447 AND
1448       NVL(cr.ussgl_transaction_code , AR_TEXT_DUMMY) =
1449       NVL(
1450 	   DECODE(p_cr_rec.ussgl_transaction_code ,
1451 		AR_TEXT_DUMMY, cr.ussgl_transaction_code,
1452 				p_cr_rec.ussgl_transaction_code),
1453 	   AR_TEXT_DUMMY
1454 	  )
1455 AND
1456       NVL(cr.ussgl_transaction_code_context , AR_TEXT_DUMMY) =
1457       NVL(
1458 	   DECODE(p_cr_rec.ussgl_transaction_code_context ,
1459 		AR_TEXT_DUMMY, cr.ussgl_transaction_code_context,
1460 				p_cr_rec.ussgl_transaction_code_context),
1461 	   AR_TEXT_DUMMY
1462 	  )
1463 AND
1464       NVL(cr.doc_sequence_id , AR_NUMBER_DUMMY) =
1465       NVL(
1466 	   DECODE(p_cr_rec.doc_sequence_id ,
1467 		AR_NUMBER_DUMMY, cr.doc_sequence_id,
1471 AND
1468 				p_cr_rec.doc_sequence_id),
1469 	   AR_NUMBER_DUMMY
1470 	  )
1472       NVL(cr.doc_sequence_value , AR_NUMBER_DUMMY) =
1473       NVL(
1474 	   DECODE(p_cr_rec.doc_sequence_value ,
1475 		AR_NUMBER_DUMMY, cr.doc_sequence_value,
1476 				p_cr_rec.doc_sequence_value),
1477 	   AR_NUMBER_DUMMY
1478 	  )
1479 AND
1480       NVL(cr.vat_tax_id , AR_NUMBER_DUMMY) =
1481       NVL(
1482 	   DECODE(p_cr_rec.vat_tax_id ,
1483 		AR_NUMBER_DUMMY, cr.vat_tax_id,
1484 				p_cr_rec.vat_tax_id),
1485 	   AR_NUMBER_DUMMY
1486 	  )
1487 AND
1488       NVL(cr.reference_type , AR_TEXT_DUMMY) =
1489       NVL(
1490 	   DECODE(p_cr_rec.reference_type ,
1491 		AR_TEXT_DUMMY, cr.reference_type,
1492 				p_cr_rec.reference_type),
1493 	   AR_TEXT_DUMMY
1494 	  )
1495 AND
1496       NVL(cr.reference_id , AR_NUMBER_DUMMY) =
1497       NVL(
1498 	   DECODE(p_cr_rec.reference_id ,
1499 		AR_NUMBER_DUMMY, cr.reference_id,
1500 				p_cr_rec.reference_id),
1501 	   AR_NUMBER_DUMMY
1502 	  )
1503 AND
1504       NVL(cr.customer_receipt_reference , AR_TEXT_DUMMY) =
1505       NVL(
1506 	   DECODE(p_cr_rec.customer_receipt_reference ,
1507 		AR_TEXT_DUMMY, cr.customer_receipt_reference,
1508 				p_cr_rec.customer_receipt_reference),
1509 	   AR_TEXT_DUMMY
1510 	  )
1511 AND
1512       NVL(cr.override_remit_account_flag , 'Y') =
1513       NVL(
1514 	   DECODE(p_cr_rec.override_remit_account_flag ,
1515 		AR_FLAG_DUMMY, NVL(cr.override_remit_account_flag, 'Y'),
1516 				p_cr_rec.override_remit_account_flag),
1517 	   AR_FLAG_DUMMY
1518 	  )
1519 AND
1520       NVL(cr.anticipated_clearing_date , AR_DATE_DUMMY) =
1521       NVL(
1522 	   DECODE(p_cr_rec.anticipated_clearing_date ,
1523 		AR_DATE_DUMMY, cr.anticipated_clearing_date,
1524 				p_cr_rec.anticipated_clearing_date),
1525 	   AR_DATE_DUMMY
1526 	  )
1527 AND
1528       NVL(cr.global_attribute_category , AR_TEXT_DUMMY) =
1529       NVL(
1530 	   DECODE(p_cr_rec.global_attribute_category ,
1531 		AR_TEXT_DUMMY, cr.global_attribute_category,
1532 				p_cr_rec.global_attribute_category),
1533 	   AR_TEXT_DUMMY
1534 	  )
1535 AND
1536       NVL(cr.global_attribute1 , AR_TEXT_DUMMY) =
1537       NVL(
1538 	   DECODE(p_cr_rec.global_attribute1 ,
1539 		AR_TEXT_DUMMY, cr.global_attribute1,
1540 				p_cr_rec.global_attribute1),
1541 	   AR_TEXT_DUMMY
1542 	  )
1543 AND
1544       NVL(cr.global_attribute2 , AR_TEXT_DUMMY) =
1545       NVL(
1546 	   DECODE(p_cr_rec.global_attribute2 ,
1547 		AR_TEXT_DUMMY, cr.global_attribute2,
1548 				p_cr_rec.global_attribute2),
1549 	   AR_TEXT_DUMMY
1550 	  )
1551 AND
1552       NVL(cr.global_attribute3 , AR_TEXT_DUMMY) =
1553       NVL(
1554 	   DECODE(p_cr_rec.global_attribute3 ,
1555 		AR_TEXT_DUMMY, cr.global_attribute3,
1556 				p_cr_rec.global_attribute3),
1557 	   AR_TEXT_DUMMY
1558 	  )
1559 AND
1560       NVL(cr.global_attribute4 , AR_TEXT_DUMMY) =
1561       NVL(
1562 	   DECODE(p_cr_rec.global_attribute4 ,
1563 		AR_TEXT_DUMMY, cr.global_attribute4,
1564 				p_cr_rec.global_attribute4),
1565 	   AR_TEXT_DUMMY
1566 	  )
1567 AND
1568       NVL(cr.global_attribute5 , AR_TEXT_DUMMY) =
1569       NVL(
1570 	   DECODE(p_cr_rec.global_attribute5 ,
1571 		AR_TEXT_DUMMY, cr.global_attribute5,
1572 				p_cr_rec.global_attribute5),
1573 	   AR_TEXT_DUMMY
1574 	  )
1575 AND
1576       NVL(cr.global_attribute6 , AR_TEXT_DUMMY) =
1577       NVL(
1578 	   DECODE(p_cr_rec.global_attribute6 ,
1579 		AR_TEXT_DUMMY, cr.global_attribute6,
1580 				p_cr_rec.global_attribute6),
1581 	   AR_TEXT_DUMMY
1582 	  )
1583 AND
1584       NVL(cr.global_attribute7 , AR_TEXT_DUMMY) =
1585       NVL(
1586 	   DECODE(p_cr_rec.global_attribute7 ,
1587 		AR_TEXT_DUMMY, cr.global_attribute7,
1588 				p_cr_rec.global_attribute7),
1589 	   AR_TEXT_DUMMY
1590 	  )
1591 AND
1592       NVL(cr.global_attribute8 , AR_TEXT_DUMMY) =
1593       NVL(
1594 	   DECODE(p_cr_rec.global_attribute8 ,
1595 		AR_TEXT_DUMMY, cr.global_attribute8,
1596 				p_cr_rec.global_attribute8),
1597 	   AR_TEXT_DUMMY
1598 	  )
1599 AND
1600       NVL(cr.global_attribute9 , AR_TEXT_DUMMY) =
1601       NVL(
1602 	   DECODE(p_cr_rec.global_attribute9 ,
1603 		AR_TEXT_DUMMY, cr.global_attribute9,
1604 				p_cr_rec.global_attribute9),
1605 	   AR_TEXT_DUMMY
1606 	  )
1607 AND
1608       NVL(cr.global_attribute10 , AR_TEXT_DUMMY) =
1609       NVL(
1610 	   DECODE(p_cr_rec.global_attribute10 ,
1611 		AR_TEXT_DUMMY, cr.global_attribute10,
1612 				p_cr_rec.global_attribute10),
1613 	   AR_TEXT_DUMMY
1614 	  )
1615 AND
1616       NVL(cr.global_attribute11 , AR_TEXT_DUMMY) =
1617       NVL(
1618 	   DECODE(p_cr_rec.global_attribute11 ,
1619 		AR_TEXT_DUMMY, cr.global_attribute11,
1620 				p_cr_rec.global_attribute11),
1621 	   AR_TEXT_DUMMY
1622 	  )
1623 AND
1624       NVL(cr.global_attribute12 , AR_TEXT_DUMMY) =
1625       NVL(
1626 	   DECODE(p_cr_rec.global_attribute12 ,
1627 		AR_TEXT_DUMMY, cr.global_attribute12,
1628 				p_cr_rec.global_attribute12),
1629 	   AR_TEXT_DUMMY
1630 	  )
1631 AND
1632       NVL(cr.global_attribute13 , AR_TEXT_DUMMY) =
1633       NVL(
1637 	   AR_TEXT_DUMMY
1634 	   DECODE(p_cr_rec.global_attribute13 ,
1635 		AR_TEXT_DUMMY, cr.global_attribute13,
1636 				p_cr_rec.global_attribute13),
1638 	  )
1639 AND
1640       NVL(cr.global_attribute14 , AR_TEXT_DUMMY) =
1641       NVL(
1642 	   DECODE(p_cr_rec.global_attribute14 ,
1643 		AR_TEXT_DUMMY, cr.global_attribute14,
1644 				p_cr_rec.global_attribute14),
1645 	   AR_TEXT_DUMMY
1646 	  )
1647 AND
1648       NVL(cr.global_attribute15 , AR_TEXT_DUMMY) =
1649       NVL(
1650 	   DECODE(p_cr_rec.global_attribute15 ,
1651 		AR_TEXT_DUMMY, cr.global_attribute15,
1652 				p_cr_rec.global_attribute15),
1653 	   AR_TEXT_DUMMY
1654 	  )
1655 AND
1656       NVL(cr.global_attribute16 , AR_TEXT_DUMMY) =
1657       NVL(
1658 	   DECODE(p_cr_rec.global_attribute16 ,
1659 		AR_TEXT_DUMMY, cr.global_attribute16,
1660 				p_cr_rec.global_attribute16),
1661 	   AR_TEXT_DUMMY
1662 	  )
1663 AND
1664       NVL(cr.global_attribute17 , AR_TEXT_DUMMY) =
1665       NVL(
1666 	   DECODE(p_cr_rec.global_attribute17 ,
1667 		AR_TEXT_DUMMY, cr.global_attribute17,
1668 				p_cr_rec.global_attribute17),
1669 	   AR_TEXT_DUMMY
1670 	  )
1671 AND
1672       NVL(cr.global_attribute18 , AR_TEXT_DUMMY) =
1673       NVL(
1674 	   DECODE(p_cr_rec.global_attribute18 ,
1675 		AR_TEXT_DUMMY, cr.global_attribute18,
1676 				p_cr_rec.global_attribute18),
1677 	   AR_TEXT_DUMMY
1678 	  )
1679 AND
1680       NVL(cr.global_attribute19 , AR_TEXT_DUMMY) =
1681       NVL(
1682 	   DECODE(p_cr_rec.global_attribute19 ,
1683 		AR_TEXT_DUMMY, cr.global_attribute19,
1684 				p_cr_rec.global_attribute19),
1685 	   AR_TEXT_DUMMY
1686 	  )
1687 AND
1688       NVL(cr.global_attribute20 , AR_TEXT_DUMMY) =
1689       NVL(
1690 	   DECODE(p_cr_rec.global_attribute20 ,
1691 		AR_TEXT_DUMMY, cr.global_attribute20,
1692 				p_cr_rec.global_attribute20),
1693 	   AR_TEXT_DUMMY
1694 	  )
1695 AND   NVL (cr.issuer_name, AR_TEXT_DUMMY) =
1696       NVL (DECODE (p_cr_rec.issuer_name,
1697                    AR_TEXT_DUMMY, cr.issuer_name,
1698                                   p_cr_rec.issuer_name),
1699           AR_TEXT_DUMMY)
1700 AND   NVL (cr.issue_date, AR_DATE_DUMMY) =
1701       NVL (DECODE (p_cr_rec.issue_date,
1702                    AR_DATE_DUMMY, cr.issue_date,
1703                                   p_cr_rec.issue_date),
1704           AR_DATE_DUMMY)
1705 AND   NVL (cr.issuer_bank_branch_id, AR_NUMBER_DUMMY) =
1706       NVL (DECODE (p_cr_rec.issuer_bank_branch_id,
1707                    AR_NUMBER_DUMMY, cr.issuer_bank_branch_id,
1708                                     p_cr_rec.issuer_bank_branch_id),
1709           AR_NUMBER_DUMMY)
1710 /* Bug 7427809 Obsoleted  this column in R12
1711 AND   NVL (cr.payment_server_order_num, AR_TEXT_DUMMY) =
1712       NVL (DECODE (p_cr_rec.payment_server_order_num,
1713                    AR_TEXT_DUMMY, cr.payment_server_order_num,
1714                    p_cr_rec.payment_server_order_num),
1715            AR_TEXT_DUMMY)			*/
1716 AND   NVL (cr.approval_code, AR_TEXT_DUMMY) =
1717       NVL (DECODE (p_cr_rec.approval_code,
1718                    AR_TEXT_DUMMY, cr.approval_code,
1719                    p_cr_rec.approval_code),
1720            AR_TEXT_DUMMY)
1721 -- ARTA Changes
1722 AND
1723       NVL(cr.postmark_date , AR_DATE_DUMMY) =
1724       NVL(DECODE(p_cr_rec.postmark_date,
1725                  AR_DATE_DUMMY, cr.postmark_date,
1726                  p_cr_rec.postmark_date),
1727            AR_DATE_DUMMY)
1728 AND
1729 --   enhancement 2074220
1730      NVL(cr.application_notes, AR_TEXT_DUMMY) =
1731        NVL(DECODE(p_cr_rec.application_notes,
1732                   AR_TEXT_DUMMY, cr.application_notes,
1733                   p_cr_rec.application_notes),
1734            AR_TEXT_DUMMY)
1735      /* Bug fix 3226723 */
1736 AND
1737      (NVL(cr.rec_version_number,AR_NUMBER_DUMMY) =
1738        NVL(DECODE(p_cr_rec.rec_version_number,
1739                  AR_NUMBER_DUMMY,cr.rec_version_number,
1740                   p_cr_rec.rec_version_number),
1741            AR_NUMBER_DUMMY)
1742       OR
1743       (cr.rec_version_number is NULL
1744        AND p_cr_rec.rec_version_number = 1)
1745      )
1746 /* Legal entity project */
1747 AND
1748       NVL(cr.legal_entity_id , AR_NUMBER_DUMMY) =
1749       NVL(
1750            DECODE(p_cr_rec.legal_entity_id,
1751                 AR_NUMBER_DUMMY, cr.legal_entity_id,
1752                                 p_cr_rec.legal_entity_id),
1753            AR_NUMBER_DUMMY
1754           )
1755 /* bichatte payment uptake */
1756 AND
1757       NVL(cr.payment_trxn_extension_id , AR_NUMBER_DUMMY) =
1758       NVL(
1759            DECODE(p_cr_rec.payment_trxn_extension_id,
1760                 AR_NUMBER_DUMMY, cr.payment_trxn_extension_id,
1761                                 p_cr_rec.payment_trxn_extension_id),
1762            AR_NUMBER_DUMMY
1763           )
1764   FOR UPDATE NOWAIT;
1765 
1766   IF PG_DEBUG in ('Y', 'C') THEN
1767      arp_util.debug('arp_cash_receipts_pkg.lock_compare_p()-');
1768   END IF;
1769 
1770   EXCEPTION
1771      WHEN OTHERS THEN
1772         IF PG_DEBUG in ('Y', 'C') THEN
1773            arp_util.debug('EXCEPTION: arp_cash_receipts_pkg.lock_compare_p()');
1774         END IF;
1775      RAISE;
1776 
1777 END lock_compare_p;
1778 
1779 
1780 --
1781   /*---------------------------------------------+
1782    |   Package initialization section.           |
1783    |   Sets WHO column variables for later use.  |
1784    +---------------------------------------------*/
1785 --
1786 BEGIN
1787 --
1788   pg_request_id             :=  arp_global.request_id;
1789   pg_program_application_id :=  arp_global.program_application_id;
1790   pg_program_id             :=  arp_global.program_id;
1791   pg_program_update_date    :=  arp_global.program_update_date;
1792   pg_last_updated_by        :=  arp_global.last_updated_by;
1793   pg_last_update_date       :=  arp_global.last_update_date;
1794   pg_last_update_login      :=  arp_global.last_update_login;
1795 --  pg_set_of_books_id        :=  arp_global.set_of_books_id;
1796 --
1797 --
1798 END ARP_CASH_RECEIPTS_PKG;