DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_CR_BATCHES_PKG

Source


1 PACKAGE BODY ARP_CR_BATCHES_PKG AS
2 /* $Header: ARRIBATB.pls 120.8.12010000.2 2008/11/11 08:52:03 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   /*---------------------------------------------------------------+
16    |  Package global variable to hold the parsed update cursor.    |
17    |  This allows the cursors to be reused without being reparsed. |
18    +---------------------------------------------------------------*/
19 --
20   pg_cursor1  integer := '';
21 --
22   /*-------------------------------------+
23    |  WHO column values from ARP_GLOBAL  |
24    +-------------------------------------*/
25 --
26   pg_request_id                 number;
27   pg_program_application_id     number;
28   pg_program_id                 number;
29   pg_program_update_date        date;
30   pg_last_updated_by            number;
31   pg_last_update_date           date;
32   pg_last_update_login          number;
33   pg_set_of_books_id            number;
34 --
35 --
36 --
37 --
38 /*===========================================================================+
39  | PROCEDURE                                                                 |
40  |    insert_p                                                               |
41  |                                                                           |
42  | DESCRIPTION                                                               |
43  |    This function inserts a row into AR_BATCHES table                      |
44  |									     |
45  | SCOPE - PUBLIC                                                            |
46  |									     |
47  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
48  |                                                                           |
49  | ARGUMENTS  : IN:                     				     |
50  |                    p_bat_rec - Batches Record structure                   |
51  |              OUT:                                                         |
52  |                    p_bat_id - Batch Id of inserted AR_BATCHES row         |
53  |                                                                           |
54  | RETURNS    : NONE                    				     |
55  |                                                                           |
56  | NOTES - Overloaded procedure                                              |
57  |                                                                           |
58  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95		     |
59  |                                                                           |
60  +===========================================================================*/
61 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
62 
63 PROCEDURE insert_p( p_bat_rec    IN ar_batches%ROWTYPE,
64         p_row_id OUT NOCOPY VARCHAR2,
65         p_bat_id OUT NOCOPY ar_batches.batch_id%TYPE ) IS
66 l_bat_id  ar_batches.batch_id%TYPE;
67 l_row_id  VARCHAR2( 20 );
68 BEGIN
69       IF PG_DEBUG in ('Y', 'C') THEN
70          arp_standard.debug( 'arp_cr_batches_pkg.insert_p()+' );
71       END IF;
72       --
73       ARP_CR_BATCHES_PKG.insert_p( p_bat_rec, l_bat_id );
74       --
75       SELECT rowid
76       INTO   l_row_id
77       FROM   ar_batches
78       WHERE  batch_id = l_bat_id;
79       --
80       p_bat_id := l_bat_id;
81       p_row_id := l_row_id;
82       --
83       IF PG_DEBUG in ('Y', 'C') THEN
84          arp_standard.debug( 'arp_cr_batches_pkg.insert_p()-' );
85       END IF;
86     EXCEPTION
87         WHEN  OTHERS THEN
88             IF PG_DEBUG in ('Y', 'C') THEN
89                arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.insert_p' );
90             END IF;
91             RAISE;
92 END insert_p;
93 --
94 /*===========================================================================+
95  | PROCEDURE                                                                 |
96  |    insert_p                                                               |
97  |                                                                           |
98  | DESCRIPTION                                                               |
99  |    This function inserts a row into AR_BATCHES table                      |
100  |									     |
101  | SCOPE - PUBLIC                                                            |
102  |									     |
103  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
104  |                                                                           |
105  | ARGUMENTS  : IN:                     				     |
106  |                    p_bat_rec - Batches Record structure                   |
107  |              OUT:                                                         |
108  |                    p_bat_id - Batch Id of inserted AR_BATCHES row         |
109  |                                                                           |
110  | RETURNS    : NONE                    				     |
111  |                                                                           |
112  | NOTES - Overloaded procedure                                              |
113  |                                                                           |
114  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95		     |
115  |                                                                           |
116  | 20-MAR-2000  J Rautiainen    Added BR project related columns             |
117  |                              WITH_RECOURSE_FLAG, AUTO_PRINT_PROGRAM_ID and|
118  |                              AUTO_TRANS_PROGRAM_ID into table handlers.   |
119  |                                                                           |
120  | 31-OCT-2000 Y Rakotonirainy	Bug 1243304 : Added column 	             |
121  |				purged_children_flag 			     |
122  | 				into the table handlers.  		     |
123  |                                                                           |
124  +===========================================================================*/
125 PROCEDURE insert_p( p_bat_rec 	IN ar_batches%ROWTYPE,
126        p_bat_id OUT NOCOPY ar_batches.batch_id%TYPE ) IS
127 l_bat_id    ar_batches.batch_id%TYPE;
128 
129 BEGIN
130       arp_standard.debug( '>>>>>>>> arp_cr_batches_pkg.insert_p' );
131       --
132       SELECT ar_batches_s.nextval
133       INTO   l_bat_id
134       FROM   dual;
135       --
136       INSERT INTO  ar_batches (
137 		   batch_id,
138  		   batch_applied_status,
139  		   batch_date,
140  		   batch_source_id,
141  		   created_by,
142  		   creation_date,
143  		   currency_code,
144  		   last_updated_by,
145  		   last_update_date,
146  		   name,
147  		   set_of_books_id,
148  		   type,
149  		   closed_date,
150  		   comments,
151  		   control_amount,
152  		   control_count,
153  		   deposit_date,
154  		   exchange_date,
155  		   exchange_rate,
156  		   exchange_rate_type,
157  		   gl_date,
158  		   last_update_login,
159  		   lockbox_batch_name,
160  		   lockbox_id,
161  		   media_reference,
162  		   operation_request_id,
163  		   receipt_class_id,
164  		   receipt_method_id,
165  		   remit_method_code,
166  		   remit_bank_acct_use_id,
167  		   remittance_bank_branch_id,
168  		   status,
169  		   transmission_request_id,
170  		   attribute_category,
171  		   attribute1,
172  		   attribute2,
173  		   attribute3,
174  		   attribute4,
175  		   attribute5,
176  		   attribute6,
177  		   attribute7,
178  		   attribute8,
179  		   attribute9,
180  		   attribute10,
181  		   attribute11,
182  		   attribute12,
183  		   attribute13,
184  		   attribute14,
185  		   attribute15,
186  		   request_id ,
187  		   program_application_id,
188  		   program_id,
189  		   program_update_date,
190  		   transmission_id,
191  		   bank_deposit_number,
192                    with_recourse_flag,
193                    auto_print_program_id,
194                    auto_trans_program_id,
195                    purged_children_flag
196                   ,org_id
197  		 )
198        VALUES (    l_bat_id,
199  		   p_bat_rec.batch_applied_status,
200  		   p_bat_rec.batch_date,
201  		   p_bat_rec.batch_source_id,
202  		   arp_global.created_by,
203  		   arp_global.creation_date,
204  		   p_bat_rec.currency_code,
205  		   arp_global.last_updated_by,
206  		   arp_global.last_update_date,
207  		   p_bat_rec.name,
208  		   arp_global.set_of_books_id,
209  		   p_bat_rec.type,
210  		   p_bat_rec.closed_date,
211  		   p_bat_rec.comments,
212  		   p_bat_rec.control_amount,
213  		   p_bat_rec.control_count,
214  		   p_bat_rec.deposit_date,
215  		   p_bat_rec.exchange_date,
216  		   p_bat_rec.exchange_rate,
217  		   p_bat_rec.exchange_rate_type,
218  		   p_bat_rec.gl_date,
219  		   arp_global.last_update_login,
220  		   p_bat_rec.lockbox_batch_name,
221  		   p_bat_rec.lockbox_id,
222  		   p_bat_rec.media_reference,
223  		   p_bat_rec.operation_request_id,
224  		   p_bat_rec.receipt_class_id,
225  		   p_bat_rec.receipt_method_id,
226  		   p_bat_rec.remit_method_code,
227  		   p_bat_rec.remit_bank_acct_use_id,
228  		   p_bat_rec.remittance_bank_branch_id,
229  		   p_bat_rec.status,
230  		   p_bat_rec.transmission_request_id,
231  		   p_bat_rec.attribute_category,
232  		   p_bat_rec.attribute1,
233  		   p_bat_rec.attribute2,
234  		   p_bat_rec.attribute3,
235  		   p_bat_rec.attribute4,
236  		   p_bat_rec.attribute5,
237  		   p_bat_rec.attribute6,
238  		   p_bat_rec.attribute7,
239  		   p_bat_rec.attribute8,
240  		   p_bat_rec.attribute9,
241  		   p_bat_rec.attribute10,
242  		   p_bat_rec.attribute11,
243  		   p_bat_rec.attribute12,
244  		   p_bat_rec.attribute13,
245  		   p_bat_rec.attribute14,
246  		   p_bat_rec.attribute15,
247  		   arp_global.request_id,
248  		   arp_global.program_application_id,
249  		   arp_global.program_id,
250                    arp_global.program_update_date,
251  		   p_bat_rec.transmission_id,
252  		   p_bat_rec.bank_deposit_number,
253                    p_bat_rec.with_recourse_flag,
254                    p_bat_rec.auto_print_program_id,
255                    p_bat_rec.auto_trans_program_id,
256                    p_bat_rec.purged_children_flag
257                   ,arp_standard.sysparm.org_id /* SSA changes anuj */
258 	       );
259     p_bat_id := l_bat_id;
260 
261                 /*---------------------------------+
262                 |  Calling central MRC library     |
263                 |  for MRC integration             |
264                 +----------------------------------*/
265 --{BUG4301323
266 --                ar_mrc_engine.maintain_mrc_data(
267 --                        p_event_mode        => 'INSERT',
268 --                        p_table_name        => 'AR_BATCHES',
269 --                        p_mode              => 'SINGLE',
270 --                        p_key_value         => l_bat_id);
271 --}
272       --
273     arp_standard.debug( '<<<<<<<< arp_cr_batches_pkg.insert_p' );
274     EXCEPTION
275 	WHEN  OTHERS THEN
276 	    arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.insert_p' );
277 	    RAISE;
278 END;
279 --
280 --
281 PROCEDURE construct_bat_update_stmt( update_text OUT NOCOPY varchar2) IS
282 --
283 BEGIN
284    arp_standard.debug('arp_cr_batches_pkg.construct_bat_update_stmt()+');
285 --
286    update_text :=
287  'update ar_batches
288    SET    batch_applied_status =
289                decode(:batch_applied_status,
290                       :ar_text_dummy, batch_applied_status,
291                                         :batch_applied_status),
292           batch_date =
293                decode(:batch_date,
294                       :ar_date_dummy, batch_date,
295                                         :batch_date),
296           batch_source_id =
297                decode(:batch_source_id,
298                       :ar_number_dummy, batch_source_id,
299                                         :batch_source_id),
300            currency_code =
301                decode(:currency_code,
302                       :ar_text_dummy,  currency_code,
303                                         :currency_code),
304           last_updated_by    = :pg_last_updated_by,
305           last_update_date   = :pg_last_update_date,
306           name =
307                decode(:name,
308                       :ar_text_dummy, name,
309                                         :name),
310           set_of_books_id = :pg_set_of_books_id,
311           type =
312                decode(:type,
313                       :ar_text_dummy, type,
314                                         :type),
315           closed_date =
316                decode(:closed_date,
317                       :ar_date_dummy, closed_date,
318                                         :closed_date),
319           comments =
320                decode(:comments,
321                       :ar_text_dummy, comments,
322                                         :comments),
323           control_amount =
324                decode(:control_amount,
325                       :ar_number_dummy, control_amount,
326                                         :control_amount),
327            control_count =
328                decode(:control_count,
329                       :ar_number_dummy,  control_count,
330                                         :control_count),
331           deposit_date =
332                decode(:deposit_date,
333                       :ar_date_dummy, deposit_date,
334                                         :deposit_date),
335           exchange_date =
336                decode(:exchange_date,
337                       :ar_date_dummy, exchange_date,
338                                         :exchange_date),
339           exchange_rate =
340                decode(:exchange_rate,
341                       :ar_number_dummy, exchange_rate,
342                                         :exchange_rate),
343           exchange_rate_type =
344                decode(:exchange_rate_type,
345                       :ar_text_dummy, exchange_rate_type,
346                                         :exchange_rate_type),
347           gl_date =
348                decode(:gl_date,
349                       :ar_date_dummy, gl_date,
350                                         :gl_date),
351           last_update_login  = :pg_last_update_login,
352 
353           lockbox_batch_name =
354                decode(:lockbox_batch_name,
355                       :ar_text_dummy, lockbox_batch_name,
356                                         :lockbox_batch_name),
357            lockbox_id =
358                decode(:lockbox_id,
359                       :ar_number_dummy,  lockbox_id,
360                                         :lockbox_id),
361           media_reference =
362                decode(:media_reference,
363                       :ar_text_dummy, media_reference,
364                                         :media_reference),
365           operation_request_id =
366                decode(:operation_request_id,
367                       :ar_number_dummy, operation_request_id,
368                                         :operation_request_id),
369           receipt_class_id =
370                decode(:receipt_class_id,
371                       :ar_number_dummy, receipt_class_id,
372                                         :receipt_class_id),
373           receipt_method_id =
374                decode(:receipt_method_id,
375                       :ar_number_dummy, receipt_method_id,
376                                         :receipt_method_id),
377           remit_method_code =
378                decode(:remit_method_code,
379                       :ar_text_dummy, remit_method_code,
380                                         :remit_method_code),
381           remit_bank_acct_use_id =
382                decode(:remit_bank_acct_use_id,
383                       :ar_number_dummy,  remit_bank_acct_use_id,
384                                         :remit_bank_acct_use_id),
385           remittance_bank_branch_id =
386                decode(:remittance_bank_branch_id,
387                       :ar_number_dummy, remittance_bank_branch_id,
388                                         :remittance_bank_branch_id),
389           status =
390                decode(:status,
391                       :ar_text_dummy, status,
392                                         :status),
393           transmission_request_id =
394                decode(:transmission_request_id,
395                       :ar_number_dummy, transmission_request_id,
396                                         :transmission_request_id),
397           attribute_category =
398                decode(:attribute_category,
399                       :ar_text_dummy, attribute_category,
400                                         :attribute_category),
401           attribute1 =
402                decode(:attribute1,
403                       :ar_text_dummy,   attribute1,
404                                         :attribute1),
405           attribute2 =
406                decode(:attribute2,
407                       :ar_text_dummy,   attribute2,
408                                         :attribute2),
409           attribute3 =
410                decode(:attribute3,
411                       :ar_text_dummy,   attribute3,
412                                         :attribute3),
413           attribute4 =
414                decode(:attribute4,
415                       :ar_text_dummy,   attribute4,
416                                         :attribute4),
417           attribute5 =
418                decode(:attribute5,
419                       :ar_text_dummy,   attribute5,
420                                         :attribute5),
421           attribute6 =
422                decode(:attribute6,
423                       :ar_text_dummy,   attribute6,
424                                         :attribute6),
425           attribute7 =
426                decode(:attribute7,
427                       :ar_text_dummy,   attribute7,
428                                         :attribute7),
429           attribute8 =
430                decode(:attribute8,
431                       :ar_text_dummy,   attribute8,
432                                         :attribute8),
433           attribute9 =
434                decode(:attribute9,
435                       :ar_text_dummy,   attribute9,
436                                         :attribute9),
437           attribute10 =
438                decode(:attribute10,
439                       :ar_text_dummy,   attribute10,
440                                         :attribute10),
441           attribute11 =
442                decode(:attribute11,
443                       :ar_text_dummy,   attribute11,
444                                         :attribute11),
445           attribute12 =
446                decode(:attribute12,
447                       :ar_text_dummy,   attribute12,
448                                         :attribute12),
449           attribute13 =
450                decode(:attribute13,
451                       :ar_text_dummy,   attribute13,
452                                         :attribute13),
453           attribute14 =
454                decode(:attribute14,
455                       :ar_text_dummy,   attribute14,
456                                         :attribute14),
457           attribute15 =
458                decode(:attribute15,
459                       :ar_text_dummy,   attribute15,
460                                         :attribute15),
461           request_id =
462                      NVL( :pg_request_id,
463                            request_id),
464           program_application_id =
465                      NVL( :pg_program_application_id,
466                            program_application_id),
467           program_id =
468                      NVL( :pg_program_id,
469                            program_id),
470           program_update_date =
471                      NVL( :pg_program_update_date,
472                            program_update_date),
473           transmission_id =
474                decode(:transmission_id,
475                       :ar_number_dummy, transmission_id,
476                                         :transmission_id),
477           bank_deposit_number =
478                decode(:bank_deposit_number,
479                       :ar_text_dummy, bank_deposit_number,
480                                       :bank_deposit_number),
481           with_recourse_flag  =
482                decode(:with_recourse_flag,
483                       :ar_flag_dummy, with_recourse_flag,
484                                       :with_recourse_flag),
485           auto_print_program_id  =
486                decode(:auto_print_program_id,
487                       :ar_number_dummy, auto_print_program_id,
488                                         :auto_print_program_id),
489           auto_trans_program_id  =
490                decode(:auto_trans_program_id,
491                       :ar_number_dummy, auto_trans_program_id,
492                                         :auto_trans_program_id),
493           purged_children_flag  =
494                decode(:purged_children_flag,
495                       :ar_flag_dummy, purged_children_flag,
496                                         :purged_children_flag) ';
497 
498 
499    arp_standard.debug('arp_cr_batches_pkg.construct_bat_update_stmt()-');
500 --
501 EXCEPTION
502     WHEN OTHERS THEN
503         arp_standard.debug('EXCEPTION: arp_cr_batches_pkg .construct_bat_update_stmt()');
504         RAISE;
505 --
506 END;
507 --
508 --
509 --
510 PROCEDURE bind_bat_variables(p_update_cursor  IN integer,
511                               p_bat_rec   IN ar_batches%rowtype)
512 IS
513 --
514 BEGIN
515 --
516    arp_standard.debug('arp_cr_batches_pkg.bind_bat_variables()+');
517 --
518 --
519   /*------------------+
520    |  Dummy constants |
521    +------------------*/
522 --
523    dbms_sql.bind_variable(p_update_cursor, ':ar_text_dummy',
524                           AR_TEXT_DUMMY);
525    /* 31-MAY-2000 J Rautiainen BR Implementation
526     * The flag bind variable was commented out. Comments were removed since
527     * BR changes require this flag */
528    dbms_sql.bind_variable(p_update_cursor, ':ar_flag_dummy',
529                           AR_FLAG_DUMMY);
530 
531    dbms_sql.bind_variable(p_update_cursor, ':ar_number_dummy',
532                           AR_NUMBER_DUMMY);
533 --
534    dbms_sql.bind_variable(p_update_cursor, ':ar_date_dummy',
535                           AR_DATE_DUMMY);
536 arp_standard.debug('after duummy');
537 --
538   /*------------------+
539    |  WHO variables   |
540    +------------------*/
541 --
542    dbms_sql.bind_variable(p_update_cursor, ':pg_request_id',
543                           pg_request_id);
544 --
545    dbms_sql.bind_variable(p_update_cursor, ':pg_program_application_id',
546                           pg_program_application_id);
547 --
548    dbms_sql.bind_variable(p_update_cursor, ':pg_program_id',
549                           pg_program_id);
550 --
551    dbms_sql.bind_variable(p_update_cursor, ':pg_program_update_date',
552                           pg_program_update_date);
553 --
554    dbms_sql.bind_variable(p_update_cursor, ':pg_last_updated_by',
555                           pg_last_updated_by);
556 --
557    dbms_sql.bind_variable(p_update_cursor, ':pg_last_update_date',
558                           pg_last_update_date);
559 --
560    dbms_sql.bind_variable(p_update_cursor, ':pg_last_update_login',
561                           pg_last_update_login);
562    dbms_sql.bind_variable(p_update_cursor, ':pg_set_of_books_id',
563                           arp_global.set_of_books_id);
564 arp_standard.debug('after who');
565   /*----------------------------------------------+
566    |  Bind variables for all columns in the table |
567    +----------------------------------------------*/
568 --
569 --
570    dbms_sql.bind_variable(p_update_cursor, ':batch_applied_status',
571                           p_bat_rec.batch_applied_status);
572 --
573    dbms_sql.bind_variable(p_update_cursor, ':batch_date',
574                           p_bat_rec.batch_date);
575 --
576    dbms_sql.bind_variable(p_update_cursor, ':batch_source_id',
577                           p_bat_rec.batch_source_id);
578 --
579    dbms_sql.bind_variable(p_update_cursor, ':currency_code',
580                           p_bat_rec.currency_code);
581 --
582    dbms_sql.bind_variable(p_update_cursor, ':name',
583                           p_bat_rec.name);
584 --
585    dbms_sql.bind_variable(p_update_cursor, ':type',
586                           p_bat_rec.type);
587 --
588    dbms_sql.bind_variable(p_update_cursor, ':closed_date',
589                           p_bat_rec.closed_date);
590 --
591    dbms_sql.bind_variable(p_update_cursor, ':comments',
592                           p_bat_rec.comments);
593 --
594    dbms_sql.bind_variable(p_update_cursor, ':control_amount',
595                           p_bat_rec.control_amount);
596 --
597    dbms_sql.bind_variable(p_update_cursor, ':control_count',
598                           p_bat_rec.control_count);
599 --
600    dbms_sql.bind_variable(p_update_cursor, ':deposit_date',
601                           p_bat_rec.deposit_date);
602 --
603    dbms_sql.bind_variable(p_update_cursor, ':exchange_date',
604                           p_bat_rec.exchange_date);
605 --
606    dbms_sql.bind_variable(p_update_cursor, ':exchange_rate',
607                           p_bat_rec.exchange_rate);
608 --
609    dbms_sql.bind_variable(p_update_cursor, ':exchange_rate_type',
610                           p_bat_rec.exchange_rate_type);
611 --
612    dbms_sql.bind_variable(p_update_cursor, ':gl_date',
613                           p_bat_rec.gl_date);
614 --
615 --
616    dbms_sql.bind_variable(p_update_cursor, ':lockbox_batch_name',
617                           p_bat_rec.lockbox_batch_name);
618 --
619    dbms_sql.bind_variable(p_update_cursor, ':lockbox_id',
620                           p_bat_rec.lockbox_id);
621 --
622    dbms_sql.bind_variable(p_update_cursor, ':media_reference',
623                           p_bat_rec.media_reference);
624 --
625    dbms_sql.bind_variable(p_update_cursor, ':operation_request_id',
626                           p_bat_rec.operation_request_id);
627 --
628    dbms_sql.bind_variable(p_update_cursor, ':receipt_class_id',
629                           p_bat_rec.receipt_class_id);
630 --
631    dbms_sql.bind_variable(p_update_cursor, ':receipt_method_id',
632                           p_bat_rec.receipt_method_id);
633 --
634    dbms_sql.bind_variable(p_update_cursor, ':remit_method_code',
635                           p_bat_rec.remit_method_code);
636 --
637    dbms_sql.bind_variable(p_update_cursor, ':remit_bank_acct_use_id',
638                           p_bat_rec.remit_bank_acct_use_id);
639 --
640    dbms_sql.bind_variable(p_update_cursor, ':remittance_bank_branch_id',
641                           p_bat_rec.remittance_bank_branch_id);
642 --
643    dbms_sql.bind_variable(p_update_cursor, ':status',
644                           p_bat_rec.status);
645    dbms_sql.bind_variable(p_update_cursor, ':transmission_request_id',
646                           p_bat_rec.transmission_request_id);
647 --
648    dbms_sql.bind_variable(p_update_cursor, ':attribute_category',
649                           p_bat_rec.attribute_category);
650 --
651    dbms_sql.bind_variable(p_update_cursor, ':attribute1',
652                           p_bat_rec.attribute1);
653 --
654    dbms_sql.bind_variable(p_update_cursor, ':attribute2',
655                           p_bat_rec.attribute2);
656 --
657    dbms_sql.bind_variable(p_update_cursor, ':attribute3',
658                           p_bat_rec.attribute3);
659 --
660    dbms_sql.bind_variable(p_update_cursor, ':attribute4',
661                           p_bat_rec.attribute4);
662 --
663 --
664    dbms_sql.bind_variable(p_update_cursor, ':attribute5',
665                           p_bat_rec.attribute5);
666 --
667    dbms_sql.bind_variable(p_update_cursor, ':attribute6',
668                           p_bat_rec.attribute6);
669 --
670    dbms_sql.bind_variable(p_update_cursor, ':attribute7',
671                           p_bat_rec.attribute7);
672 --
673    dbms_sql.bind_variable(p_update_cursor, ':attribute8',
674                           p_bat_rec.attribute8);
675 --
676    dbms_sql.bind_variable(p_update_cursor, ':attribute9',
677                           p_bat_rec.attribute9);
678 --
679    dbms_sql.bind_variable(p_update_cursor, ':attribute10',
680                           p_bat_rec.attribute10);
681 --
682    dbms_sql.bind_variable(p_update_cursor, ':attribute11',
683                           p_bat_rec.attribute11);
684 --
685    dbms_sql.bind_variable(p_update_cursor, ':attribute12',
686                           p_bat_rec.attribute12);
687 --
688    dbms_sql.bind_variable(p_update_cursor, ':attribute13',
689                           p_bat_rec.attribute13);
690 --
691    dbms_sql.bind_variable(p_update_cursor, ':attribute14',
692                           p_bat_rec.attribute14);
693 --
694    dbms_sql.bind_variable(p_update_cursor, ':attribute15',
695                           p_bat_rec.attribute15);
696 --
697    dbms_sql.bind_variable(p_update_cursor, ':transmission_id',
698                           p_bat_rec.transmission_id);
699 --
700    dbms_sql.bind_variable(p_update_cursor, ':bank_deposit_number',
701                           p_bat_rec.bank_deposit_number);
702 --
703    dbms_sql.bind_variable(p_update_cursor, ':with_recourse_flag',
704                           p_bat_rec.with_recourse_flag);
705 --
706    dbms_sql.bind_variable(p_update_cursor, ':auto_print_program_id',
707                           p_bat_rec.auto_print_program_id);
708 --
709    dbms_sql.bind_variable(p_update_cursor, ':auto_trans_program_id',
710                           p_bat_rec.auto_trans_program_id);
711 --
712    dbms_sql.bind_variable(p_update_cursor, ':purged_children_flag',
713                           p_bat_rec.purged_children_flag);
714 --
715    arp_standard.debug('arp_cr_batches_pkg.bind_bat_variables()-');
716 --
717 EXCEPTION
718     WHEN OTHERS THEN
719         arp_standard.debug('EXCEPTION:  arp_cr_batches_pkg.bind_bat_variables()');
720         arp_standard.debug('Error at character: ' ||
721                            to_char(dbms_sql.last_error_position));
722 
723         RAISE;
724 --
725 END;
726 --
727 --
728 --
729 PROCEDURE generic_update(p_update_cursor IN OUT NOCOPY integer,
730                          p_where_clause      IN varchar2,
731                          p_where1            IN number,
732                          p_bat_rec IN ar_batches%ROWTYPE)
733 IS
734 --
735    l_count             number;
736    l_update_statement  varchar2(20000);
737    ar_batch_array   dbms_sql.number_table;
738 
739 --
740 BEGIN
741    arp_standard.debug('arp_cr_batches_pkg.generic_update()+');
742 --
743   /*--------------------------------------------------------------+
744    |  If this update statement has not already been parsed,       |
745    |  construct the statement and parse it.                       |
746    |  Otherwise, use the already parsed statement and rebind its  |
747    |  variables.                                                  |
748    +--------------------------------------------------------------*/
749 --
750    if (p_update_cursor is null)
751    then
752 --
753          p_update_cursor := dbms_sql.open_cursor;
754 --
755          /*---------------------------------+
756           |  Construct the update statement |
757           +---------------------------------*/
758 --
759          arp_cr_batches_pkg.construct_bat_update_stmt(l_update_statement);
760 --
761          l_update_statement := l_update_statement || p_where_clause;
762 
763 	 /*  add on mrc variables for bulk collect */
764          l_update_statement := l_update_statement ||
765              ' RETURNING batch_id INTO :ar_batch_key_value ';
766 
767 --
768    arp_standard.debug('after l_update_statement');
769          /*-----------------------------------------------+
770           |  Parse, bind, execute and close the statement |
771           +-----------------------------------------------*/
772 --
773          dbms_sql.parse(p_update_cursor,
774                         l_update_statement,
775                         dbms_sql.v7);
776 --
777 
778     arp_standard.debug('after dbms_sql');
779 
780    end if;
781 --
782    arp_cr_batches_pkg.bind_bat_variables(p_update_cursor, p_bat_rec);
783 --
784 --
785    arp_standard.debug('after .bind_app');
786   /*-----------------------------------------+
787    |  Bind the variables in the where clause |
788    +-----------------------------------------*/
789 --
790    if ( p_where1 is not null )
791    then
792         dbms_sql.bind_variable(p_update_cursor, ':where_1',
793                           p_where1);
794    end if;
795    arp_standard.debug('after bind_variable ');
796 --
797            /*---------------------------+
798             | Bind output variable      |
799             +---------------------------*/
800            dbms_sql.bind_array(p_update_cursor,':ar_batch_key_value',
801                                ar_batch_array);
802 
803    l_count := dbms_sql.execute(p_update_cursor);
804 --
805    arp_standard.debug( to_char(l_count) || ' rows updated');
806 --
807    /*------------------------------------------+
808     | get RETURNING COLUMN into OUT NOCOPY bind array |
809     +------------------------------------------*/
810 
811     dbms_sql.variable_value( p_update_cursor, ':ar_batch_key_value',
812                              ar_batch_array);
813 
814 --
815    /*------------------------------------------------------------+
816     |  Raise the NO_DATA_FOUND exception if no rows were updated |
817     +------------------------------------------------------------*/
818 --
819    if (l_count = 0)
820    then raise NO_DATA_FOUND;
821    arp_standard.debug('after l_count = 0');
822    end if;
823 --
824 --{BUG#4301323
825 --   arp_standard.debug('before loop for MRC processing...');
826 --	FOR I in ar_batch_array.FIRST .. ar_batch_array.LAST LOOP
827        /*---------------------------------------------+
828         | call mrc engine to update AR_MC_BATCHES     |
829         +---------------------------------------------*/
830 --       arp_standard.debug('before calling maintain_mrc ');
831 --       arp_standard.debug('batch array('||to_char(I) || ') = ' || to_char(ar_batch_array(I)));
832 
833 --       ar_mrc_engine.maintain_mrc_data(
834 --                        p_event_mode       => 'UPDATE',
835 --                        p_table_name       => 'AR_BATCHES',
836 --                        p_mode             => 'SINGLE',
837 --                        p_key_value        => ar_batch_array(I));
838 --        END LOOP;
839 --}
840 --
841    arp_standard.debug('arp_cr_batches_pkg.generic_update()-');
842 --
843 EXCEPTION
844     WHEN OTHERS THEN
845         arp_standard.debug('EXCEPTION:  arp_cr_batches_pkg.generic_update()
846 ');
847         arp_standard.debug(l_update_statement);
848         arp_standard.debug('Error at character: ' ||
849                            to_char(dbms_sql.last_error_position));
850         --arp_standard.debug('ERROR MESSAGE: ' ||
851          --                  sqlerrm);
852         RAISE;
853 END;
854 --
855 --
856 --
857 PROCEDURE set_to_dummy( p_bat_rec OUT NOCOPY ar_batches%rowtype)
858 IS
859 --
860 BEGIN
861 --
862     arp_standard.debug('arp_cr_batches_pkg.set_to_dummy()+');
863 --
864     p_bat_rec.batch_applied_status             := AR_TEXT_DUMMY;
865     p_bat_rec.batch_date                       := AR_DATE_DUMMY;
866     p_bat_rec.batch_source_id                  := AR_NUMBER_DUMMY;
867     p_bat_rec.currency_code                    := AR_TEXT_DUMMY;
868     p_bat_rec.name                             := AR_TEXT_DUMMY;
869     p_bat_rec.type                             := AR_TEXT_DUMMY;
870     p_bat_rec.closed_date                      := AR_DATE_DUMMY;
871     p_bat_rec.comments                         := AR_TEXT_DUMMY;
872     p_bat_rec.control_amount                   := AR_NUMBER_DUMMY;
873     p_bat_rec.control_count                    := AR_NUMBER_DUMMY;
874     p_bat_rec.deposit_date                     := AR_DATE_DUMMY;
875     p_bat_rec.exchange_date                    := AR_DATE_DUMMY;
876     p_bat_rec.exchange_rate                    := AR_NUMBER_DUMMY;
877     p_bat_rec.exchange_rate_type               := AR_TEXT_DUMMY;
878     p_bat_rec.gl_date                          := AR_DATE_DUMMY;
879     p_bat_rec.lockbox_batch_name               := AR_TEXT_DUMMY;
880     p_bat_rec.lockbox_id                       := AR_NUMBER_DUMMY;
881     p_bat_rec.media_reference                  := AR_TEXT_DUMMY;
882     p_bat_rec.operation_request_id             := AR_NUMBER_DUMMY;
883     p_bat_rec.receipt_class_id                 := AR_NUMBER_DUMMY;
884     p_bat_rec.receipt_method_id                := AR_NUMBER_DUMMY;
885     p_bat_rec.remit_method_code                := AR_TEXT_DUMMY;
886     p_bat_rec.remit_bank_acct_use_id           := AR_NUMBER_DUMMY;
887     p_bat_rec.remittance_bank_branch_id        := AR_NUMBER_DUMMY;
888     p_bat_rec.status                           := AR_TEXT_DUMMY;
889     p_bat_rec.transmission_request_id          := AR_NUMBER_DUMMY;
890     p_bat_rec.attribute_category               := AR_TEXT_DUMMY;
891     p_bat_rec.attribute1                       := AR_TEXT_DUMMY;
892     p_bat_rec.attribute2                       := AR_TEXT_DUMMY;
893     p_bat_rec.attribute3                       := AR_TEXT_DUMMY;
894     p_bat_rec.attribute4                       := AR_TEXT_DUMMY;
895     p_bat_rec.attribute5                       := AR_TEXT_DUMMY;
896     p_bat_rec.attribute6                       := AR_TEXT_DUMMY;
897     p_bat_rec.attribute7                       := AR_TEXT_DUMMY;
898     p_bat_rec.attribute8                       := AR_TEXT_DUMMY;
899     p_bat_rec.attribute9                       := AR_TEXT_DUMMY;
900     p_bat_rec.attribute10                      := AR_TEXT_DUMMY;
901     p_bat_rec.attribute11                      := AR_TEXT_DUMMY;
902     p_bat_rec.attribute12                      := AR_TEXT_DUMMY;
903     p_bat_rec.attribute13                      := AR_TEXT_DUMMY;
904     p_bat_rec.attribute14                      := AR_TEXT_DUMMY;
905     p_bat_rec.attribute15                      := AR_TEXT_DUMMY;
906     p_bat_rec.transmission_id                  := AR_NUMBER_DUMMY;
907     p_bat_rec.bank_deposit_number              := AR_TEXT_DUMMY;
908     p_bat_rec.with_recourse_flag               := AR_FLAG_DUMMY;
909     p_bat_rec.auto_print_program_id            := AR_NUMBER_DUMMY;
910     p_bat_rec.auto_trans_program_id            := AR_NUMBER_DUMMY;
911     p_bat_rec.purged_children_flag	       := AR_FLAG_DUMMY;
912 --
913 
914     arp_standard.debug('arp_cr_batches_pkg.set_to_dummy()-');
915 --
916 EXCEPTION
917     WHEN OTHERS THEN
918         arp_standard.debug('EXCEPTION:  arp_cr_batches_pkg.set_to_dummy()');
919         RAISE;
920 --
921 END;
922 --
923 --
924 --
925 --
926 --
927 PROCEDURE update_p( p_bat_rec IN ar_batches%ROWTYPE,
928                     p_batch_id IN
929                            ar_batches.batch_id%TYPE) IS
930 --
931 BEGIN
932 --
933    arp_standard.debug('arp_cr_batches_pkg.update_p()+  ');
934 --
935 --
936    arp_cr_batches_pkg.generic_update( pg_cursor1,
937                               ' WHERE batch_id = :where_1',
938                                p_batch_id,
939                                p_bat_rec);
940 --
941    arp_standard.debug('arp_cr_batches_pkg.update_p()-  ' ||
942                       to_char(sysdate, 'HH:MI:SS'));
943 --
944 --
945 EXCEPTION
946     WHEN OTHERS THEN
947         arp_standard.debug('EXCEPTION:  arp_cr_batches_pkg.update_p()');
948         RAISE;
949 END;
950 --
951 /*===========================================================================+
952  | PROCEDURE                                                                 |
953  |    update_p                                                               |
954  |                                                                           |
955  | DESCRIPTION                                                               |
956  |    This function updates a row into AR_BATCHES table                      |
957  |                                                                           |
958  | SCOPE - PUBLIC                                                            |
959  |                                                                           |
960  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
961  |                                                                           |
962  | ARGUMENTS  : IN:                                                          |
963  |                    p_adj_rec - Batches Record structure                   |
964  |                                                                           |
965  | RETURNS    : NONE                                                         |
966  |                                                                           |
967  | NOTES - Overloaded procedure                                              |
968  |                                                                           |
969  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
970  |                                                                           |
971  +===========================================================================*/
972 PROCEDURE update_p( p_bat_rec 	IN ar_batches%ROWTYPE ) IS
973 BEGIN
974     arp_standard.debug( ' arp_cr_batches_pkg.update_p()+ ' );
975     --
976    update_p( p_bat_rec, p_bat_rec.batch_id );
977    --
978     arp_standard.debug( 'arp_cr_batches_pkg.update_p()- ' );
979     EXCEPTION
980         WHEN  OTHERS THEN
981 	    arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.update_p' );
982             RAISE;
983 END;
984 --
985 /*===========================================================================+
986  | PROCEDURE                                                                 |
987  |    delete_p                                                               |
988  |                                                                           |
989  | DESCRIPTION                                                               |
990  |    This function deletes a row into AR_BATCHES table                      |
991  |                                                                           |
992  | SCOPE - PUBLIC                                                            |
993  |                                                                           |
994  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
995  |                                                                           |
996  | ARGUMENTS  : IN:                                                          |
997  |                  p_bat_id - Batch id to delete a row from AR_BATCHES      |
998  |                                                                           |
999  | RETURNS    : NONE                                                         |
1000  |                                                                           |
1001  | NOTES                                                                     |
1002  |                                                                           |
1003  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1004  |                                                                           |
1005  +===========================================================================*/
1006 PROCEDURE delete_p(
1007 	p_bat_id IN ar_batches.batch_id%TYPE ) IS
1008 BEGIN
1009     arp_standard.debug( '>>>>>>>> arp_cr_batches_pkg.delete_p' );
1010     --
1011     DELETE FROM ar_batches
1012     WHERE batch_id = p_bat_id;
1013 
1014  	/*---------------------------------+
1015     	| Calling central MRC library     |
1016     	| for MRC Integration             |
1017     	+---------------------------------*/
1018 --{BUG4301323
1019 --    	ar_mrc_engine.maintain_mrc_data(
1020 --                 p_event_mode        => 'DELETE',
1021 --                 p_table_name        => 'AR_BATCHES',
1022 --                 p_mode              => 'SINGLE',
1023 --                 p_key_value         => p_bat_id);
1024 --}
1025     --
1026     arp_standard.debug( '<<<<<<<< arp_cr_batches_pkg.delete_p' );
1027     EXCEPTION
1028         WHEN  OTHERS THEN
1029 	    arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.delete_p' );
1030             RAISE;
1031 END;
1032 --
1033 /*===========================================================================+
1034  | PROCEDURE                                                                 |
1035  |    lock_p                                                                 |
1036  |                                                                           |
1037  | DESCRIPTION                                                               |
1038  |    This function locks a row in AR_BATCHES table                          |
1039  |                                                                           |
1040  | SCOPE - PUBLIC                                                            |
1041  |                                                                           |
1042  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1043  |                                                                           |
1044  | ARGUMENTS  : IN:                                                          |
1045  |                                                                           |
1046  | RETURNS    : NONE                                                         |
1047  |                                                                           |
1048  | NOTES                                                                     |
1049  |                                                                           |
1050  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1051  |                                                                           |
1052  +===========================================================================*/
1053 PROCEDURE lock_p(
1054         p_row_id        VARCHAR2,
1055         p_set_of_books_id  ar_batches.set_of_books_id%TYPE,
1056         p_batch_id  ar_batches.batch_id%TYPE,
1057         p_batch_applied_status  ar_batches.batch_applied_status%TYPE,
1058         p_batch_date  ar_batches.batch_date%TYPE,
1059         p_batch_source_id  ar_batches.batch_source_id%TYPE,
1060         p_comments  ar_batches.comments%TYPE,
1061         p_control_amount  ar_batches.control_amount%TYPE,
1062         p_control_count  ar_batches.control_count%TYPE,
1063         p_exchange_date  ar_batches.exchange_date%TYPE,
1064         p_exchange_rate  ar_batches.exchange_rate%TYPE,
1065         p_exchange_rate_type  ar_batches.exchange_rate_type%TYPE,
1066         p_lockbox_batch_name  ar_batches.lockbox_batch_name%TYPE,
1067         p_media_reference  ar_batches.media_reference%TYPE,
1068         p_operation_request_id  ar_batches.operation_request_id%TYPE,
1069         p_receipt_class_id  ar_batches.receipt_class_id%TYPE,
1070         p_receipt_method_id  ar_batches.receipt_method_id%TYPE,
1071         p_remit_method_code  ar_batches.remit_method_code%TYPE,
1072         p_remittance_bank_account_id  ar_batches.remit_bank_acct_use_id%type,
1073         p_remittance_bank_branch_id  ar_batches.remittance_bank_branch_id%TYPE,
1074         p_attribute_category  ar_batches.attribute_category%TYPE,
1075         p_attribute1  ar_batches.attribute1%TYPE,
1076         p_attribute2  ar_batches.attribute2%TYPE,
1077         p_attribute3  ar_batches.attribute3%TYPE,
1078         p_attribute4  ar_batches.attribute4%TYPE,
1079         p_attribute5  ar_batches.attribute5%TYPE,
1080         p_attribute6  ar_batches.attribute6%TYPE,
1081         p_attribute7  ar_batches.attribute7%TYPE,
1082         p_attribute8  ar_batches.attribute8%TYPE,
1083         p_attribute9  ar_batches.attribute9%TYPE,
1084         p_attribute10  ar_batches.attribute10%TYPE,
1085         p_attribute11  ar_batches.attribute11%TYPE,
1086         p_attribute12  ar_batches.attribute12%TYPE,
1087         p_attribute13  ar_batches.attribute13%TYPE,
1088         p_attribute14  ar_batches.attribute14%TYPE,
1089         p_attribute15  ar_batches.attribute15%TYPE,
1090         p_request_id  ar_batches.request_id%TYPE,
1091         p_transmission_id  ar_batches.transmission_id%TYPE,
1092         p_bank_deposit_number  ar_batches.bank_deposit_number%TYPE ) IS
1093     CURSOR C IS
1094 	SELECT *
1095 	FROM ar_batches
1096 	WHERE rowid = p_row_id
1097 	FOR UPDATE of BATCH_ID NOWAIT;
1098     Recinfo C%ROWTYPE;
1099 --
1100 BEGIN
1101     OPEN C;
1102     FETCH C INTO Recinfo;
1103     if (C%NOTFOUND) then
1104 	CLOSE C;
1105 	FND_MESSAGE.Set_Name( 'FND', 'FORM_RECORD_DELETED' );
1106 	APP_EXCEPTION.Raise_Exception;
1107     end if;
1108     CLOSE C;
1109     if(
1110 		(Recinfo.set_of_books_id = p_set_of_books_id )
1111 	    AND (Recinfo.batch_id = p_batch_id )
1112 	    AND (Recinfo.batch_applied_status = p_batch_applied_status )
1113 	    AND (Recinfo.batch_date = p_batch_date )
1114 	    AND (Recinfo.batch_source_id = p_batch_source_id )
1115 	    AND (   (Recinfo.comments = p_comments )
1116 	        OR  (    (Recinfo.comments IS NULL )
1117 		    AND  (p_comments IS NULL )))
1118             /*
1119 
1120 	    AND (   (Recinfo.control_count = p_control_count )
1121 	        OR  (    (Recinfo.control_count IS NULL )
1122 		    AND  (p_control_count IS NULL )))
1123 
1124 	    AND (   (Recinfo.control_amount = p_control_amount )
1125 	        OR  (    (Recinfo.control_amount IS NULL )
1126 		    AND  (p_control_amount IS NULL )))
1127             */
1128 	    AND (   (Recinfo.exchange_date = p_exchange_date )
1129 	        OR  (    (Recinfo.exchange_date IS NULL )
1130 		    AND  (p_exchange_date IS NULL )))
1131 	    AND (   (Recinfo.exchange_rate = p_exchange_rate )
1132 	        OR  (    (Recinfo.exchange_rate IS NULL )
1133 		    AND  (p_exchange_rate IS NULL )))
1134 	    AND (   (Recinfo.exchange_rate_type = p_exchange_rate_type )
1135 	        OR  (    (Recinfo.exchange_rate_type IS NULL )
1136 		    AND  (p_exchange_rate_type IS NULL )))
1137 	    AND (   (Recinfo.lockbox_batch_name = p_lockbox_batch_name )
1138 	        OR  (    (Recinfo.lockbox_batch_name IS NULL )
1139 		    AND  (p_lockbox_batch_name IS NULL )))
1140 	    AND (   (Recinfo.media_reference = p_media_reference )
1141 	        OR  (    (Recinfo.media_reference IS NULL )
1142 		    AND  (p_media_reference IS NULL )))
1143 	    AND (   (Recinfo.operation_request_id = p_operation_request_id )
1144 	        OR  (    (Recinfo.operation_request_id IS NULL )
1145 		    AND  (p_operation_request_id IS NULL )))
1146 	    AND (   (Recinfo.receipt_class_id = p_receipt_class_id )
1147 	        OR  (    (Recinfo.receipt_class_id IS NULL )
1148 		    AND  (p_receipt_class_id IS NULL )))
1149 	    AND (   (Recinfo.receipt_method_id = p_receipt_method_id )
1150 	        OR  (    (Recinfo.receipt_method_id IS NULL )
1151 		    AND  (p_receipt_method_id IS NULL )))
1152 	    AND (   (Recinfo.remit_method_code = p_remit_method_code )
1153 	        OR  (    (Recinfo.remit_method_code IS NULL )
1154 		    AND  (p_remit_method_code IS NULL )))
1155 	    AND (   (Recinfo.remit_bank_acct_use_id = p_remittance_bank_account_id )
1156 	        OR  (    (Recinfo.remit_bank_acct_use_id IS NULL )
1157 		    AND  (p_remittance_bank_account_id IS NULL )))
1158 	    AND (   (Recinfo.transmission_id = p_transmission_id )
1159 	        OR  (    (Recinfo.transmission_id IS NULL )
1160 		    AND  (p_transmission_id IS NULL )))
1161 	    AND (   (Recinfo.request_id = p_request_id )
1162 	        OR  (    (Recinfo.request_id IS NULL )
1163 		    AND  (p_request_id IS NULL )))
1164 	    AND (   (Recinfo.bank_deposit_number = p_bank_deposit_number )
1165 	        OR  (    (Recinfo.bank_deposit_number IS NULL )
1166 		    AND  (p_bank_deposit_number IS NULL )))
1167 	    AND (   (Recinfo.attribute_category = p_attribute_category )
1168 	        OR  (    (Recinfo.attribute_category IS NULL )
1169 		    AND  (p_attribute_category IS NULL )))
1170 	    AND (   (Recinfo.attribute1 = p_attribute1 )
1171 	        OR  (    (Recinfo.attribute1 IS NULL )
1172 		    AND  (p_attribute1 IS NULL )))
1173 	    AND (   (Recinfo.attribute2 = p_attribute2 )
1174 	        OR  (    (Recinfo.attribute2 IS NULL )
1175 		    AND  (p_attribute2 IS NULL )))
1176 	    AND (   (Recinfo.attribute3 = p_attribute3 )
1177 	        OR  (    (Recinfo.attribute3 IS NULL )
1178 		    AND  (p_attribute3 IS NULL )))
1179 	    AND (   (Recinfo.attribute4 = p_attribute4 )
1180 	        OR  (    (Recinfo.attribute4 IS NULL )
1181 		    AND  (p_attribute4 IS NULL )))
1182 	    AND (   (Recinfo.attribute5 = p_attribute5 )
1183 	        OR  (    (Recinfo.attribute5 IS NULL )
1184 		    AND  (p_attribute5 IS NULL )))
1185 	    AND (   (Recinfo.attribute6 = p_attribute6 )
1186 	        OR  (    (Recinfo.attribute6 IS NULL )
1187 		    AND  (p_attribute6 IS NULL )))
1188 	    AND (   (Recinfo.attribute7 = p_attribute7 )
1189 	        OR  (    (Recinfo.attribute7 IS NULL )
1190 		    AND  (p_attribute7 IS NULL )))
1191 	    AND (   (Recinfo.attribute8 = p_attribute8 )
1192 	        OR  (    (Recinfo.attribute8 IS NULL )
1193 		    AND  (p_attribute8 IS NULL )))
1194 	    AND (   (Recinfo.attribute9 = p_attribute9 )
1195 	        OR  (    (Recinfo.attribute9 IS NULL )
1196 		    AND  (p_attribute9 IS NULL )))
1197 	    AND (   (Recinfo.attribute10 = p_attribute10 )
1198 	        OR  (    (Recinfo.attribute10 IS NULL )
1199 		    AND  (p_attribute10 IS NULL )))
1200 	    AND (   (Recinfo.attribute11 = p_attribute11 )
1201 	        OR  (    (Recinfo.attribute11 IS NULL )
1202 		    AND  (p_attribute11 IS NULL )))
1203 	    AND (   (Recinfo.attribute12 = p_attribute12 )
1204 	        OR  (    (Recinfo.attribute12 IS NULL )
1205 		    AND  (p_attribute12 IS NULL )))
1206 	    AND (   (Recinfo.attribute13 = p_attribute13 )
1207 	        OR  (    (Recinfo.attribute13 IS NULL )
1208 		    AND  (p_attribute13 IS NULL )))
1209 	    AND (   (Recinfo.attribute14 = p_attribute14 )
1210 	        OR  (    (Recinfo.attribute14 IS NULL )
1211 		    AND  (p_attribute14 IS NULL )))
1212 	    AND (   (Recinfo.attribute15 = p_attribute15 )
1213 	        OR  (    (Recinfo.attribute15 IS NULL )
1214 		    AND  (p_attribute15 IS NULL )))
1215     ) then
1216         return;
1217     else
1218 	IF PG_DEBUG in ('Y', 'C') THEN
1219 	   arp_standard.debug('lock_p: ' || 'set_of_books_id:      ' || recinfo.set_of_books_id || ' -- ' || p_set_of_books_id);
1220 	   arp_standard.debug('lock_p: ' || 'batch_id:             ' || recinfo.batch_id || ' -- ' || p_batch_id);
1221 	   arp_standard.debug('lock_p: ' || 'batch_applied_status: ' || recinfo.batch_applied_status || ' -- ' ||
1222 										p_batch_applied_status);
1223 	   arp_standard.debug('lock_p: ' || 'batch_date:           ' || recinfo.batch_date || ' -- ' || p_batch_date);
1224 	   arp_standard.debug('lock_p: ' || 'batch_source_id:      ' || recinfo.batch_source_id || ' -- ' || p_batch_source_id);
1225 	   arp_standard.debug('lock_p: ' || 'comments:             ' || recinfo.comments || ' -- ' || p_comments);
1226 	   arp_standard.debug('lock_p: ' || 'control_count:        ' || recinfo.control_count || ' -- ' || p_control_count);
1227 	   arp_standard.debug('lock_p: ' || 'exchange_date:        ' || recinfo.exchange_date || ' -- ' || p_exchange_date);
1228 	   arp_standard.debug('lock_p: ' || 'exchange_rate:        ' || recinfo.exchange_rate || ' -- ' || p_exchange_rate);
1229 	   arp_standard.debug('lock_p: ' || 'exchange_Rate_type:   ' || recinfo.exchange_Rate_type||' -- '||p_exchange_Rate_type);
1230 	   arp_standard.debug('lock_p: ' || 'lockbox_batch_name:   ' || recinfo.lockbox_batch_name||' -- '||p_lockbox_batch_name);
1231 	   arp_standard.debug('lock_p: ' || 'media_reference:      ' || recinfo.media_reference || ' -- ' || p_media_reference);
1232 	   arp_standard.debug('lock_p: ' || 'operation_request_id: ' || recinfo.operation_request_id || ' -- ' ||
1233 										p_operation_request_id);
1234 	   arp_standard.debug('lock_p: ' || 'receipt_class_id:     ' || recinfo.receipt_class_id || ' -- ' || p_receipt_class_id);
1235 	   arp_standard.debug('lock_p: ' || 'receipt_method_id:    ' || recinfo.receipt_method_id || ' -- ' || p_receipt_method_id);
1236 	   arp_standard.debug('lock_p: ' || 'remit_method_code:    ' || recinfo.remit_method_code || ' -- ' || p_remit_method_code);
1237 	   arp_standard.debug('lock_p: ' || 'remit_bank_acct_use_id:   ' || recinfo.remit_bank_acct_use_id || ' -- ' ||
1238 										p_remittance_bank_account_id);
1239 	   arp_standard.debug('lock_p: ' || 'transmission_id:      ' || recinfo.transmission_id || ' -- ' || p_transmission_id);
1240 	   arp_standard.debug('lock_p: ' || 'request_id:           ' || recinfo.request_id || ' -- ' || p_request_id);
1241 	   arp_standard.debug('lock_p: ' || 'bank_deposit_number:  ' || recinfo.bank_deposit_number||' -- '||p_bank_deposit_number);
1242 	   arp_standard.debug('lock_p: ' || 'attribute_category:   ' || recinfo.attribute_category||' -- '||p_attribute_category);
1243 	   arp_standard.debug('lock_p: ' || 'attribute1:           ' || recinfo.attribute1  || ' -- ' || p_attribute1);
1244 	   arp_standard.debug('lock_p: ' || 'attribute2:           ' || recinfo.attribute2  || ' -- ' || p_attribute2);
1245 	   arp_standard.debug('lock_p: ' || 'attribute3:           ' || recinfo.attribute3  || ' -- ' || p_attribute3);
1246 	   arp_standard.debug('lock_p: ' || 'attribute4:           ' || recinfo.attribute4  || ' -- ' || p_attribute4);
1247 	   arp_standard.debug('lock_p: ' || 'attribute5:           ' || recinfo.attribute5  || ' -- ' || p_attribute5);
1248 	   arp_standard.debug('lock_p: ' || 'attribute6:           ' || recinfo.attribute6  || ' -- ' || p_attribute6);
1249 	   arp_standard.debug('lock_p: ' || 'attribute7:           ' || recinfo.attribute7  || ' -- ' || p_attribute7);
1250 	   arp_standard.debug('lock_p: ' || 'attribute8:           ' || recinfo.attribute8  || ' -- ' || p_attribute8);
1251 	   arp_standard.debug('lock_p: ' || 'attribute9:           ' || recinfo.attribute9  || ' -- ' || p_attribute9);
1252 	   arp_standard.debug('lock_p: ' || 'attribute10:          ' || recinfo.attribute10 || ' -- ' || p_attribute10);
1253 	   arp_standard.debug('lock_p: ' || 'attribute11:          ' || recinfo.attribute11 || ' -- ' || p_attribute11);
1254 	   arp_standard.debug('lock_p: ' || 'attribute12:          ' || recinfo.attribute12 || ' -- ' || p_attribute12);
1255 	   arp_standard.debug('lock_p: ' || 'attribute13:          ' || recinfo.attribute13 || ' -- ' || p_attribute13);
1256 	   arp_standard.debug('lock_p: ' || 'attribute14:          ' || recinfo.attribute14 || ' -- ' || p_attribute14);
1257 	   arp_standard.debug('lock_p: ' || 'attribute15:          ' || recinfo.attribute15 || ' -- ' || p_attribute15);
1258 	END IF;
1259 
1260         FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1261         APP_EXCEPTION.Raise_Exception;
1262     end if;
1263 END lock_p;
1264 --
1265 PROCEDURE nowaitlock_p( p_bat_id IN ar_batches.batch_id%TYPE ) IS
1266 l_bat_id		ar_batches.batch_id%TYPE;
1267 BEGIN
1268     arp_standard.debug( '>>>>>>>> arp_cr_batches_pkg.nowaitlock_p' );
1269     --
1270     SELECT batch_id
1271     INTO   l_bat_id
1272     FROM  ar_batches
1273     WHERE batch_id = p_bat_id
1274     FOR UPDATE OF STATUS NOWAIT;
1275     --
1276     arp_standard.debug( '<<<<<<<< arp_cr_batches_pkg.nowaitlock_p' );
1277     EXCEPTION
1278         WHEN  OTHERS THEN
1279 	    arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.nowaitlock_p' );
1280             RAISE;
1281 END;
1282 --
1283 /*===========================================================================+
1284  | PROCEDURE                                                                 |
1285  |    fetch_p                                                                |
1286  |                                                                           |
1287  | DESCRIPTION                                                               |
1288  |    This function fetches a row from AR_BATCHES table                      |
1289  |                                                                           |
1290  | SCOPE - PUBLIC                                                            |
1291  |                                                                           |
1292  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1293  |                                                                           |
1294  | ARGUMENTS  : IN:                                                          |
1295  |                  p_bat_id - Batch Id of row to be fetched from AR_BATCHES |
1296  |              OUT:                                                         |
1297  |                  p_adj_rec - Batches Record structure                     |
1298  |                                                                           |
1299  | RETURNS    : NONE                                                         |
1300  |                                                                           |
1301  | NOTES                                                                     |
1302  |                                                                           |
1303  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1304  |                                                                           |
1305  +===========================================================================*/
1306 PROCEDURE fetch_p( p_batch_id IN ar_batches.batch_id%TYPE,
1307                    p_batch_rec OUT NOCOPY ar_batches%ROWTYPE ) IS
1308 BEGIN
1309     arp_standard.debug( '>>>>>>>> arp_cr_batches_pkg.fetch_p' );
1310     --
1311     SELECT *
1312     INTO   p_batch_rec
1313     FROM   ar_batches
1314     WHERE  batch_id = p_batch_id;
1315     --
1316     arp_standard.debug( '<<<<<<<<< arp_cr_batches_pkg.fetch_p' );
1317     EXCEPTION
1318     --
1319          WHEN OTHERS THEN
1320 	      arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.fetch_p' );
1321               RAISE;
1322 END;
1323 --
1324 PROCEDURE lock_fetch_p( p_batch_rec IN OUT NOCOPY ar_batches%ROWTYPE ) IS
1325 BEGIN
1326     IF PG_DEBUG in ('Y', 'C') THEN
1327        arp_standard.debug( 'arp_cr_batches_pkg.lock_fetch_p()+' );
1328     END IF;
1329     --
1330     SELECT *
1331     INTO   p_batch_rec
1332     FROM  ar_batches
1333     WHERE batch_id = p_batch_rec.batch_id
1334     FOR UPDATE OF STATUS;
1335     --
1336     IF PG_DEBUG in ('Y', 'C') THEN
1337        arp_standard.debug( 'arp_cr_batches_pkg.lock_fetch_p()-' );
1338     END IF;
1339     EXCEPTION
1340         WHEN  OTHERS THEN
1341 	    IF PG_DEBUG in ('Y', 'C') THEN
1342 	       arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.lock_fetch_p' );
1343 	    END IF;
1344             RAISE;
1345 END lock_fetch_p;
1346 --
1347 --
1348 PROCEDURE nowaitlock_fetch_p( p_batch_rec IN OUT NOCOPY ar_batches%ROWTYPE ) IS
1349 BEGIN
1350     IF PG_DEBUG in ('Y', 'C') THEN
1351        arp_standard.debug( 'arp_cr_batches_pkg.nowaitlock_fetch_p()+' );
1352     END IF;
1353     --
1354     SELECT *
1355     INTO   p_batch_rec
1356     FROM  ar_batches
1357     WHERE batch_id = p_batch_rec.batch_id
1358     FOR UPDATE OF STATUS NOWAIT;
1359     --
1360     IF PG_DEBUG in ('Y', 'C') THEN
1361        arp_standard.debug( 'arp_cr_batches_pkg.nowaitlock_fetch_p()-' );
1362     END IF;
1363     EXCEPTION
1364         WHEN  OTHERS THEN
1365 	    IF PG_DEBUG in ('Y', 'C') THEN
1366 	       arp_standard.debug( 'EXCEPTION: arp_cr_batches_pkg.nowaitlock_fetch_p' );
1367 	    END IF;
1368             RAISE;
1369 END nowaitlock_fetch_p;
1370 --
1371 --
1372 --
1373 --
1374 --
1375 --
1376 --
1377   /*---------------------------------------------+
1378    |   Package initialization section.           |
1379    |   Sets WHO column variables for later use.  |
1380    +---------------------------------------------*/
1381 --
1382 BEGIN
1383 --
1384   pg_request_id             :=  arp_global.request_id;
1385   pg_program_application_id :=  arp_global.program_application_id;
1386   pg_program_id             :=  arp_global.program_id;
1387   pg_program_update_date    :=  arp_global.program_update_date;
1388   pg_last_updated_by        :=  arp_global.last_updated_by;
1389   pg_last_update_date       :=  arp_global.last_update_date;
1390   pg_last_update_login      :=  arp_global.last_update_login;
1391   pg_set_of_books_id        :=  arp_global.set_of_books_id;
1392 --
1393 --
1394 END  ARP_CR_BATCHES_PKG;
1395 --