DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_RW_ICR_REMIT_PKG

Source


1 PACKAGE BODY ARP_RW_ICR_REMIT_PKG AS
2 /* $Header: ARICRRLB.pls 120.0.12010000.3 2009/04/29 14:55:07 mpsingh noship $ */
3 --
4 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
5 
6 
7 /*===========================================================================+
8  | PROCEDURE                                                                 |
9  |    update_row   -  Update a row in the AR_ICR     table after checking for|
10  |                    uniqueness                                             |
11  |                                                                           |
12  | DESCRIPTION                                                               |
13  |    This function updates a row in AR_ICR     table after checking for     |
14  |    uniqueness for items of the receipt                                    |
15  |									     |
16  | SCOPE - PUBLIC                                                            |
17  |									     |
18  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED                                   |
19  |      arp_util.debug - debug procedure                                     |
20  |                                                                           |
21  |              OUT:                                                         |
22  |                                                                           |
23  | RETURNS    : NONE                    				     |
24  |                                                                           |
25   +===========================================================================*/
26 
27 
28 PROCEDURE update_row(
29           P_REMIT_REFERENCE_ID      IN     ar_cash_remit_refs_all.REMIT_REFERENCE_ID%TYPE,
30 	  P_AUTOMATCH_SET_ID        IN     ar_cash_remit_refs_all.AUTOMATCH_SET_ID%TYPE,
31 	  P_CASH_RECEIPT_ID         IN     ar_cash_remit_refs_all.CASH_RECEIPT_ID%TYPE,
32 	  P_LINE_NUMBER             IN     ar_cash_remit_refs_all.LINE_NUMBER%TYPE,
33 	  P_REFERENCE_SOURCE        IN     ar_cash_remit_refs_all.REFERENCE_SOURCE%TYPE,
34 	  P_CUSTOMER_ID             IN     ar_cash_remit_refs_all.CUSTOMER_ID%TYPE,
35 	  P_CUSTOMER_NUMBER         IN     ar_cash_remit_refs_all.CUSTOMER_NUMBER%TYPE,
36 	  P_BANK_ACCOUNT_NUMBER     IN     ar_cash_remit_refs_all.BANK_ACCOUNT_NUMBER%TYPE,
37 	  P_TRANSIT_ROUTING_NUMBER  IN     ar_cash_remit_refs_all.TRANSIT_ROUTING_NUMBER%TYPE,
38 	  P_INVOICE_REFERENCE       IN     ar_cash_remit_refs_all.INVOICE_REFERENCE%TYPE,
39 	  P_MATCHING_REFERENCE_DATE     IN ar_cash_remit_refs_all.MATCHING_REFERENCE_DATE%TYPE,
40 	  P_RESOLVED_MATCHING_NUMBER    IN ar_cash_remit_refs_all.RESOLVED_MATCHING_NUMBER%TYPE,
41 	  --P_RESOLVED_MATCHING_INSTALLMENT IN ar_cash_remit_refs_all.RESOLVED_MATCHING_INSTALLMENT%TYPE,
42 	  P_RESOLVED_MATCHING_DATE        IN ar_cash_remit_refs_all.RESOLVED_MATCHING_DATE%TYPE,
43 	  P_INVOICE_CURRENCY_CODE         IN ar_cash_remit_refs_all.INVOICE_CURRENCY_CODE%TYPE,
44 	  P_AMOUNT_APPLIED                IN ar_cash_remit_refs_all.AMOUNT_APPLIED%TYPE,
45 	  P_AMOUNT_APPLIED_FROM           IN ar_cash_remit_refs_all.AMOUNT_APPLIED_FROM%TYPE,
46 	  P_TRANS_TO_RECEIPT_RATE         IN ar_cash_remit_refs_all.TRANS_TO_RECEIPT_RATE%TYPE,
47 	  P_INVOICE_STATUS                IN ar_cash_remit_refs_all.INVOICE_STATUS%TYPE,
48 	  P_MATCH_RESOLVED_USING          IN ar_cash_remit_refs_all.MATCH_RESOLVED_USING%TYPE,
49 	  P_CUSTOMER_TRX_ID               IN ar_cash_remit_refs_all.CUSTOMER_TRX_ID%TYPE,
50 	  P_PAYMENT_SCHEDULE_ID           IN ar_cash_remit_refs_all.PAYMENT_SCHEDULE_ID%TYPE,
51 	  P_CUSTOMER_REFERENCE            IN ar_cash_remit_refs_all.CUSTOMER_REFERENCE%TYPE,
52 	  P_AUTO_APPLIED                  IN ar_cash_remit_refs_all.AUTO_APPLIED%TYPE,
53 	  P_MANUALLY_APPLIED              IN ar_cash_remit_refs_all.MANUALLY_APPLIED%TYPE,
54 	  P_INSTALLMENT_NUMBER            IN ar_cash_remit_refs_all.INSTALLMENT_NUMBER%TYPE,
55 	  P_PROGRAM_APPLICATION_ID        IN ar_cash_remit_refs_all.PROGRAM_APPLICATION_ID%TYPE,
56 	  P_PROGRAM_ID                    IN ar_cash_remit_refs_all.PROGRAM_ID%TYPE,
57 	  P_PROGRAM_UPDATE_DATE           IN ar_cash_remit_refs_all.PROGRAM_UPDATE_DATE%TYPE,
58 	  P_REQUEST_ID                    IN ar_cash_remit_refs_all.REQUEST_ID%TYPE ) IS
59 --
60 l_icr_rec   ar_interim_cash_receipts%ROWTYPE;
61 BEGIN
62     IF PG_DEBUG in ('Y', 'C') THEN
63        arp_util.debug(  'arp_rw_icr_remit_pkg.update_row()+' );
64     END IF;
65 
66      UPDATE AR_CASH_REMIT_REFS_ALL
67      SET
68        REMIT_REFERENCE_ID = P_REMIT_REFERENCE_ID,
69        AUTOMATCH_SET_ID   = P_AUTOMATCH_SET_ID,
70        CASH_RECEIPT_ID    = P_CASH_RECEIPT_ID,
71        LINE_NUMBER        = P_LINE_NUMBER,
72        REFERENCE_SOURCE   = P_REFERENCE_SOURCE,
73        CUSTOMER_ID        = P_CUSTOMER_ID,
74        CUSTOMER_NUMBER    = P_CUSTOMER_NUMBER,
75        BANK_ACCOUNT_NUMBER = P_BANK_ACCOUNT_NUMBER,
76        TRANSIT_ROUTING_NUMBER = P_TRANSIT_ROUTING_NUMBER,
77        INVOICE_REFERENCE   = P_INVOICE_REFERENCE,
78        MATCHING_REFERENCE_DATE  = P_MATCHING_REFERENCE_DATE,
79        RESOLVED_MATCHING_NUMBER = P_RESOLVED_MATCHING_NUMBER,
80        --RESOLVED_MATCHING_INSTALLMENT = P_RESOLVED_MATCHING_INSTALLMENT,
81        RESOLVED_MATCHING_DATE  = P_RESOLVED_MATCHING_DATE,
82        INVOICE_CURRENCY_CODE   = P_INVOICE_CURRENCY_CODE,
83        AMOUNT_APPLIED       = P_AMOUNT_APPLIED,
84        AMOUNT_APPLIED_FROM  = P_AMOUNT_APPLIED_FROM,
85        TRANS_TO_RECEIPT_RATE = P_TRANS_TO_RECEIPT_RATE,
86        INVOICE_STATUS        = P_INVOICE_STATUS,
87        MATCH_RESOLVED_USING = P_MATCH_RESOLVED_USING,
88        CUSTOMER_TRX_ID = P_CUSTOMER_TRX_ID,
89        PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID,
90        CUSTOMER_REFERENCE = P_CUSTOMER_REFERENCE,
91        AUTO_APPLIED = P_AUTO_APPLIED,
92        MANUALLY_APPLIED = P_MANUALLY_APPLIED,
93        INSTALLMENT_NUMBER = P_INSTALLMENT_NUMBER,
94        LAST_UPDATED_BY = arp_global.last_updated_by,
95        LAST_UPDATE_DATE = sysdate,
96        LAST_UPDATE_LOGIN = arp_global.last_update_login,
97        PROGRAM_APPLICATION_ID = P_PROGRAM_APPLICATION_ID,
98        PROGRAM_ID = P_PROGRAM_ID,
99        PROGRAM_UPDATE_DATE = P_PROGRAM_UPDATE_DATE,
100        REQUEST_ID = P_REQUEST_ID
101     WHERE  REMIT_REFERENCE_ID = P_REMIT_REFERENCE_ID;
102 
103 
104     IF PG_DEBUG in ('Y', 'C') THEN
105        arp_util.debug(  'arp_rw_icr_remit_pkg.update_row(-)' );
106     END IF;
107     --
108     EXCEPTION
109         WHEN OTHERS THEN
110              IF PG_DEBUG in ('Y', 'C') THEN
111                 arp_util.debug(  'EXCEPTION: arp_rw_icr_pkg.update_row' );
112              END IF;
113              RAISE;
114 END update_row;
115 --
116 
117 /*===========================================================================+
118  | PROCEDURE                                                                 |
119  |    insert_row   -  Inserts a row into the AR_CASH_REMIT_REFS_ALL table    |
120  |                                                                           |
121  |                                                                           |
122  | DESCRIPTION                                                               |
123  |									     |
124  | SCOPE - PUBLIC                                                            |
125  |									     |
126  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED                                   |
127  |      arp_util.debug - debug procedure                                     |
128  |                                                                           |
129  |                                                                           |
130  | MODIFICATION HISTORY -  	     	     |
131  +===========================================================================*/
132 PROCEDURE insert_row(
133 	  P_REMIT_REFERENCE_ID      IN     ar_cash_remit_refs_all.REMIT_REFERENCE_ID%TYPE,
134 	  P_AUTOMATCH_SET_ID        IN     ar_cash_remit_refs_all.AUTOMATCH_SET_ID%TYPE,
135 	  P_CASH_RECEIPT_ID         IN     ar_cash_remit_refs_all.CASH_RECEIPT_ID%TYPE,
136 	  P_LINE_NUMBER             IN     ar_cash_remit_refs_all.LINE_NUMBER%TYPE,
137 	  P_REFERENCE_SOURCE        IN     ar_cash_remit_refs_all.REFERENCE_SOURCE%TYPE,
138 	  P_CUSTOMER_ID             IN     ar_cash_remit_refs_all.CUSTOMER_ID%TYPE,
139 	  P_CUSTOMER_NUMBER         IN     ar_cash_remit_refs_all.CUSTOMER_NUMBER%TYPE,
140 	  P_BANK_ACCOUNT_NUMBER     IN     ar_cash_remit_refs_all.BANK_ACCOUNT_NUMBER%TYPE,
141 	  P_TRANSIT_ROUTING_NUMBER  IN     ar_cash_remit_refs_all.TRANSIT_ROUTING_NUMBER%TYPE,
142 	  P_INVOICE_REFERENCE       IN     ar_cash_remit_refs_all.INVOICE_REFERENCE%TYPE,
143 	  P_MATCHING_REFERENCE_DATE     IN ar_cash_remit_refs_all.MATCHING_REFERENCE_DATE%TYPE,
144 	  P_RESOLVED_MATCHING_NUMBER    IN ar_cash_remit_refs_all.RESOLVED_MATCHING_NUMBER%TYPE,
145 	 -- P_RESOLVED_MATCHING_INSTALLMENT IN ar_cash_remit_refs_all.RESOLVED_MATCHING_INSTALLMENT%TYPE,
146 	  P_RESOLVED_MATCHING_DATE        IN ar_cash_remit_refs_all.RESOLVED_MATCHING_DATE%TYPE,
147 	  P_INVOICE_CURRENCY_CODE         IN ar_cash_remit_refs_all.INVOICE_CURRENCY_CODE%TYPE,
148 	  P_AMOUNT_APPLIED                IN ar_cash_remit_refs_all.AMOUNT_APPLIED%TYPE,
149 	  P_AMOUNT_APPLIED_FROM           IN ar_cash_remit_refs_all.AMOUNT_APPLIED_FROM%TYPE,
150 	  P_TRANS_TO_RECEIPT_RATE         IN ar_cash_remit_refs_all.TRANS_TO_RECEIPT_RATE%TYPE,
151 	  P_INVOICE_STATUS                IN ar_cash_remit_refs_all.INVOICE_STATUS%TYPE,
152 	  P_MATCH_RESOLVED_USING          IN ar_cash_remit_refs_all.MATCH_RESOLVED_USING%TYPE,
153 	  P_CUSTOMER_TRX_ID               IN ar_cash_remit_refs_all.CUSTOMER_TRX_ID%TYPE,
154 	  P_PAYMENT_SCHEDULE_ID           IN ar_cash_remit_refs_all.PAYMENT_SCHEDULE_ID%TYPE,
155 	  P_CUSTOMER_REFERENCE            IN ar_cash_remit_refs_all.CUSTOMER_REFERENCE%TYPE,
156 	  P_AUTO_APPLIED                  IN ar_cash_remit_refs_all.AUTO_APPLIED%TYPE,
157 	  P_MANUALLY_APPLIED              IN ar_cash_remit_refs_all.MANUALLY_APPLIED%TYPE,
158 	  P_INSTALLMENT_NUMBER            IN ar_cash_remit_refs_all.INSTALLMENT_NUMBER%TYPE,
159 	  P_PROGRAM_APPLICATION_ID        IN ar_cash_remit_refs_all.PROGRAM_APPLICATION_ID%TYPE,
160 	  P_PROGRAM_ID                    IN ar_cash_remit_refs_all.PROGRAM_ID%TYPE,
161 	  P_PROGRAM_UPDATE_DATE           IN ar_cash_remit_refs_all.PROGRAM_UPDATE_DATE%TYPE,
162 	  P_REQUEST_ID                    IN ar_cash_remit_refs_all.REQUEST_ID%TYPE,
163 	  P_BATCH_ID			  IN NUMBER DEFAULT NULL) IS
164 --
165 l_rr_id    NUMBER;
166 l_line_num NUMBER;
167 
168 BEGIN
169     IF PG_DEBUG in ('Y', 'C') THEN
170        arp_util.debug(  'arp_rw_icr_remit_pkg.insert_row()+' );
171     END IF;
172 
173       SELECT AR_CASH_REMIT_REFS_S.nextval
174       INTO   l_rr_id
175       FROM   dual;
176       --
177 
178 
179 
180       INSERT INTO AR_CASH_REMIT_REFS_ALL (
181        REMIT_REFERENCE_ID,
182        AUTOMATCH_SET_ID,
183        CASH_RECEIPT_ID,
184        RECEIPT_REFERENCE_STATUS,
185        LINE_NUMBER,
186        REFERENCE_SOURCE,
187        CUSTOMER_ID,
188        CUSTOMER_NUMBER,
189        BANK_ACCOUNT_NUMBER,
190        TRANSIT_ROUTING_NUMBER,
191        INVOICE_REFERENCE,
192        MATCHING_REFERENCE_DATE,
193        RESOLVED_MATCHING_NUMBER,
194        --RESOLVED_MATCHING_INSTALLMENT,
195        RESOLVED_MATCHING_DATE,
196        INVOICE_CURRENCY_CODE,
197        AMOUNT_APPLIED,
198        AMOUNT_APPLIED_FROM,
199        TRANS_TO_RECEIPT_RATE,
200        INVOICE_STATUS,
201        MATCH_RESOLVED_USING,
202        ORG_ID,
203        CUSTOMER_TRX_ID,
204        PAYMENT_SCHEDULE_ID,
205        CUSTOMER_REFERENCE,
206        AUTO_APPLIED,
207        MANUALLY_APPLIED,
208        INSTALLMENT_NUMBER,
209        CREATED_BY,
210        CREATION_DATE,
211        LAST_UPDATED_BY,
212        LAST_UPDATE_DATE,
213        LAST_UPDATE_LOGIN,
214        PROGRAM_APPLICATION_ID,
215        PROGRAM_ID,
216        PROGRAM_UPDATE_DATE,
217        REQUEST_ID,
218        BATCH_ID
219       )
220       VALUES
221       (
222 	l_rr_id,
223 	P_AUTOMATCH_SET_ID,
224 	P_CASH_RECEIPT_ID,
225 	'AR_AM_NEW',
226 	P_LINE_NUMBER,
227 	P_REFERENCE_SOURCE,
228 	P_CUSTOMER_ID,
229 	P_CUSTOMER_NUMBER,
230 	P_BANK_ACCOUNT_NUMBER,
231 	P_TRANSIT_ROUTING_NUMBER,
232 	P_INVOICE_REFERENCE,
233 	P_MATCHING_REFERENCE_DATE,
234 	'NULL', -- P_RESOLVED_MATCHING_NUMBER,
235 	--P_RESOLVED_MATCHING_INSTALLMENT,
236 	P_RESOLVED_MATCHING_DATE,
237 	P_INVOICE_CURRENCY_CODE,
238 	P_AMOUNT_APPLIED,
239 	P_AMOUNT_APPLIED_FROM,
240 	P_TRANS_TO_RECEIPT_RATE,
241 	P_INVOICE_STATUS,
242 	P_MATCH_RESOLVED_USING,
243 	arp_standard.sysparm.org_id,
244 	P_CUSTOMER_TRX_ID,
245 	P_PAYMENT_SCHEDULE_ID,
246 	P_CUSTOMER_REFERENCE,
247 	P_AUTO_APPLIED,
248 	P_MANUALLY_APPLIED,
249 	P_INSTALLMENT_NUMBER,
250 	arp_global.last_updated_by,
251 	sysdate,
252 	arp_global.last_updated_by,
253 	sysdate,
254 	arp_global.last_update_login,
255 	P_PROGRAM_APPLICATION_ID,
256 	P_PROGRAM_ID,
257 	P_PROGRAM_UPDATE_DATE,
258 	P_REQUEST_ID,
259 	P_BATCH_ID
260       );
261 
262 
263     IF PG_DEBUG in ('Y', 'C') THEN
264        arp_util.debug(  'arp_rw_icr_remit_pkg.insert_row(-)' );
265     END IF;
266     --
267     EXCEPTION
268         WHEN OTHERS THEN
269              IF PG_DEBUG in ('Y', 'C') THEN
270                 arp_util.debug(  'EXCEPTION: arp_rw_icr_remit_pkg.insert_row' );
271              END IF;
272              RAISE;
273 END insert_row;
274 --
275 /*===========================================================================+
276  | PROCEDURE                                                                 |
277  |    delete_row   -  Deletes a row from the AR_CASH_REMIT_REFS_ALL table    |
278  |  									     |
279  |                                                                           |
280  | DESCRIPTION                                                               |
281  |    This function deletes a row from AR_CASH_REMIT_REFS_ALL.	             |
282  |   									     |
283  |                                                                           |
284  | SCOPE - PUBLIC                                                            |
285  |                                                                           |
286  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED                                   |
287  |      arp_util.debug - debug procedure                                     |
288  |                                                                           |
289  |                                                                           |
290  | MODIFICATION HISTORY -  08/08/95 - Created by Ganesh Vaidee               |
291   +===========================================================================*/
292 PROCEDURE delete_row(
293              p_rr_id IN ar_cash_remit_refs_all.remit_reference_id%TYPE
294             ) IS
295 BEGIN
296     IF PG_DEBUG in ('Y', 'C') THEN
297        arp_util.debug( 'arp_rw_icr_remit_pkg.delete_row()+' );
298     END IF;
299     --
300         IF ( p_rr_id is NULL ) THEN
301             FND_MESSAGE.set_name ('AR', 'AR_ARGUEMENTS_FAIL' );
302             APP_EXCEPTION.raise_exception;
303         END IF;
304 
305     DELETE FROM ar_cash_remit_refs_all
306     WHERE remit_reference_id = p_rr_id;
307 
308     IF PG_DEBUG in ('Y', 'C') THEN
309        arp_util.debug( 'arp_rw_icr_remit_pkg.delete_row(-)' );
310     END IF;
311     --
312     EXCEPTION
313         WHEN OTHERS THEN
314               IF PG_DEBUG in ('Y', 'C') THEN
315                  arp_util.debug('delete_row: ' ||
316                    'EXCEPTION: arp_rw_icr_remit_pkg.delete_row' );
317               END IF;
318         RAISE;
319 END delete_row;
320 --
321 /*===========================================================================+
322  | PROCEDURE                                                                 |
323  |    lock_row     -  Lock a row in the AR_CASH_REMIT_REFS_ALL     table     |
324  |                                                                           |
325  | DESCRIPTION                                                               |
326  |                                                                           |
327  | SCOPE - PUBLIC                                                            |
328  |                                                                           |
329  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED                                   |
330  |                                                                           |
331  | ARGUMENTS  : IN:                                                          |
332  |              OUT:                                                         |
333  |                                                                           |
334  | RETURNS    : NONE                                                         |
335  |                                                                           |
336  |                                                                           |
337  | MODIFICATION HISTORY -  08/08/95 - Created by Ganesh Vaidee               |
338  +===========================================================================*/
339 PROCEDURE lock_row(
340           P_REMIT_REFERENCE_ID      IN     ar_cash_remit_refs_all.REMIT_REFERENCE_ID%TYPE,
341 	  P_AUTOMATCH_SET_ID        IN     ar_cash_remit_refs_all.AUTOMATCH_SET_ID%TYPE,
342 	  P_CASH_RECEIPT_ID         IN     ar_cash_remit_refs_all.CASH_RECEIPT_ID%TYPE,
343 	  P_LINE_NUMBER             IN     ar_cash_remit_refs_all.LINE_NUMBER%TYPE,
344 	  P_REFERENCE_SOURCE        IN     ar_cash_remit_refs_all.REFERENCE_SOURCE%TYPE,
345 	  P_CUSTOMER_ID             IN     ar_cash_remit_refs_all.CUSTOMER_ID%TYPE,
346 	  P_CUSTOMER_NUMBER         IN     ar_cash_remit_refs_all.CUSTOMER_NUMBER%TYPE,
347 	  P_BANK_ACCOUNT_NUMBER     IN     ar_cash_remit_refs_all.BANK_ACCOUNT_NUMBER%TYPE,
348 	  P_TRANSIT_ROUTING_NUMBER  IN     ar_cash_remit_refs_all.TRANSIT_ROUTING_NUMBER%TYPE,
349 	  P_INVOICE_REFERENCE       IN     ar_cash_remit_refs_all.INVOICE_REFERENCE%TYPE,
350 	  P_MATCHING_REFERENCE_DATE     IN ar_cash_remit_refs_all.MATCHING_REFERENCE_DATE%TYPE,
351 	  P_RESOLVED_MATCHING_NUMBER    IN ar_cash_remit_refs_all.RESOLVED_MATCHING_NUMBER%TYPE,
352 	  --P_RESOLVED_MATCHING_INSTALLMENT IN ar_cash_remit_refs_all.RESOLVED_MATCHING_INSTALLMENT%TYPE,
353 	  P_RESOLVED_MATCHING_DATE        IN ar_cash_remit_refs_all.RESOLVED_MATCHING_DATE%TYPE,
354 	  P_INVOICE_CURRENCY_CODE         IN ar_cash_remit_refs_all.INVOICE_CURRENCY_CODE%TYPE,
355 	  P_AMOUNT_APPLIED                IN ar_cash_remit_refs_all.AMOUNT_APPLIED%TYPE,
356 	  P_AMOUNT_APPLIED_FROM           IN ar_cash_remit_refs_all.AMOUNT_APPLIED_FROM%TYPE,
357 	  P_TRANS_TO_RECEIPT_RATE         IN ar_cash_remit_refs_all.TRANS_TO_RECEIPT_RATE%TYPE,
358 	  P_INVOICE_STATUS                IN ar_cash_remit_refs_all.INVOICE_STATUS%TYPE,
359 	  P_MATCH_RESOLVED_USING          IN ar_cash_remit_refs_all.MATCH_RESOLVED_USING%TYPE,
360 	  P_CUSTOMER_TRX_ID               IN ar_cash_remit_refs_all.CUSTOMER_TRX_ID%TYPE,
361 	  P_PAYMENT_SCHEDULE_ID           IN ar_cash_remit_refs_all.PAYMENT_SCHEDULE_ID%TYPE,
362 	  P_CUSTOMER_REFERENCE            IN ar_cash_remit_refs_all.CUSTOMER_REFERENCE%TYPE,
363 	  P_AUTO_APPLIED                  IN ar_cash_remit_refs_all.AUTO_APPLIED%TYPE,
364 	  P_MANUALLY_APPLIED              IN ar_cash_remit_refs_all.MANUALLY_APPLIED%TYPE,
365 	  P_INSTALLMENT_NUMBER            IN ar_cash_remit_refs_all.INSTALLMENT_NUMBER%TYPE,
366 	  P_PROGRAM_APPLICATION_ID        IN ar_cash_remit_refs_all.PROGRAM_APPLICATION_ID%TYPE,
367 	  P_PROGRAM_ID                    IN ar_cash_remit_refs_all.PROGRAM_ID%TYPE,
368 	  P_PROGRAM_UPDATE_DATE           IN ar_cash_remit_refs_all.PROGRAM_UPDATE_DATE%TYPE,
369 	  P_REQUEST_ID                    IN ar_cash_remit_refs_all.REQUEST_ID%TYPE
370 	  ) IS
371     CURSOR C IS
372 	SELECT *
373 	FROM ar_cash_remit_refs_all
374 	WHERE remit_reference_id = P_REMIT_REFERENCE_ID
375 	FOR UPDATE of REMIT_REFERENCE_ID NOWAIT;
376     Recinfo C%ROWTYPE;
377 --
378 BEGIN
379 
380     IF PG_DEBUG in ('Y', 'C') THEN
381        arp_util.debug('lock_row: ' ||  'Made it to lock row' );
382     END IF;
383 
384     OPEN C;
385     FETCH C INTO Recinfo;
386     if (C%NOTFOUND) then
387 	CLOSE C;
388 	FND_MESSAGE.Set_Name( 'FND', 'FORM_RECORD_DELETED');
389 	APP_EXCEPTION.Raise_Exception;
390     end if;
391     CLOSE C;
392     if(
393                 (recinfo.remit_reference_id = p_remit_reference_id )
394 	    and	(recinfo.invoice_reference = p_invoice_reference)
395             and	(recinfo.amount_applied = p_amount_applied)
396 	    and	((recinfo.matching_reference_date = p_matching_reference_date)
397 		  or  ((recinfo.matching_reference_date is null)
398 		    and	(p_matching_reference_date is null)))
399             and	((recinfo.invoice_currency_code = p_invoice_currency_code)
400 		  or  ((recinfo.invoice_currency_code is null)
401 		    and	(p_invoice_currency_code is null)))
402 	    and	((recinfo.amount_applied_from = p_amount_applied_from)
403 		  or  ((recinfo.amount_applied_from is null)
404 		    and	(p_amount_applied_from is null)))
405             and	((recinfo.trans_to_receipt_rate = p_trans_to_receipt_rate)
406 		  or  ((recinfo.trans_to_receipt_rate is null)
407 		    and	(p_trans_to_receipt_rate is null)))
408             and	((recinfo.customer_reference = p_customer_reference)
409 		  or  ((recinfo.customer_reference is null)
410 		    and	(p_customer_reference is null)))
411 	    and	((recinfo.installment_number = p_installment_number)
412 		  or  ((recinfo.installment_number is null)
413 		    and	(p_installment_number is null)))
414     ) then
415         return;
416     else
417 	FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
418  	APP_EXCEPTION.Raise_Exception;
419     end if;
420 END lock_row;
421 --
422 END ARP_RW_ICR_REMIT_PKG;