DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_PS_PKG

Source


1 PACKAGE BODY ARP_PS_PKG AS
2 /* $Header: ARCIPSB.pls 120.12 2006/06/30 06:03:00 arnkumar ship $*/
3 
4   /*--------------------------------------------------------+
5    |  Dummy constants for use in update and lock operations |
6    +--------------------------------------------------------*/
7 
8   AR_TEXT_DUMMY   CONSTANT VARCHAR2(10) := '~~!@#$*&^';
9   AR_FLAG_DUMMY   CONSTANT VARCHAR2(10) := '~';
10   AR_NUMBER_DUMMY CONSTANT NUMBER(15)   := -999999999999999;
11   AR_TWO_NUMBER_DUMMY   CONSTANT NUMBER(2)   := -99;
12   AR_DATE_DUMMY   CONSTANT DATE         := to_date(1, 'J');
13 
14   /*-------------------------------------+
15    |  WHO column values from ARP_GLOBAL  |
16    +-------------------------------------*/
17   pg_request_id                 number;
18   pg_program_application_id     number;
19   pg_program_id                 number;
20   pg_program_update_date        date;
21   pg_last_updated_by            number;
22   pg_last_update_date           date;
23   pg_last_update_login          number;
24   pg_set_of_books_id            number;
25 
26 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
27 
28 PROCEDURE dump_debug (p_ps_rec IN ar_payment_schedules%ROWTYPE);
29 
30 /*===========================================================================+
31  | PROCEDURE                                                                 |
32  |    set_to_dummy							     |
33  |                                                                           |
34  | DESCRIPTION                                                               |
35  |    This function sets all columns to dummy values                         |
36  |                                                                           |
37  | SCOPE - PUBLIC                                                            |
38  |                                                                           |
39  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
40  |                                                                           |
41  | ARGUMENTS  : IN OUT:                                                      |
42  |                    p_ps_rec - Payment Schedule record                     |
43  |                                                                           |
44  | RETURNS    : NONE                                                         |
45  |                                                                           |
46  | NOTES                                                                     |
47  |                                                                           |
48  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
49  |                                                                           |
50  | 20-MAR-2000  J Rautiainen    Added BR project related columns             |
51  |                              BR_AMOUNT_ASSIGNED, RESERVED_TYPE and        |
52  |                              RESERVED_VALUE into the table handlers.      |
53  |                                                                           |
54  | 31-OCT-2000 Y Rakotonirainy	Bug 1243304 : Added columns cons_inv_id and  |
55  |				cons_inv_id_rev	and		             |
56  |				dunning_level_override_date and		     |
57  |				exclude_from_dunning_flag and		     |
58  |				staged_dunning_level			     |
59  | 				into the table handlers.  		     |
60  |20-Jun-02     Sahana          Bug2427456 : Added global attribute columns  |
61  +===========================================================================*/
62 PROCEDURE set_to_dummy( p_ps_rec 	IN OUT NOCOPY ar_payment_schedules%ROWTYPE ) IS
63 BEGIN
64     IF PG_DEBUG in ('Y', 'C') THEN
65        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.set_to_dummy' );
66     END IF;
67      --
68     p_ps_rec.acctd_amount_due_remaining := AR_NUMBER_DUMMY;
69     p_ps_rec.amount_due_original := AR_NUMBER_DUMMY;
70     p_ps_rec.amount_due_remaining := AR_NUMBER_DUMMY;
71     p_ps_rec.class := AR_TEXT_DUMMY;
72     p_ps_rec.due_date := AR_DATE_DUMMY;
73     p_ps_rec.gl_date := AR_DATE_DUMMY;
74     p_ps_rec.invoice_currency_code := AR_TEXT_DUMMY;
75     p_ps_rec.number_of_due_dates := AR_NUMBER_DUMMY;
76     p_ps_rec.status := AR_TEXT_DUMMY;
77     p_ps_rec.actual_date_closed := AR_DATE_DUMMY;
78     p_ps_rec.adjustment_amount_last := AR_NUMBER_DUMMY;
79     p_ps_rec.adjustment_date_last := AR_DATE_DUMMY;
80     p_ps_rec.adjustment_gl_date_last := AR_DATE_DUMMY;
81     p_ps_rec.adjustment_id_last := AR_NUMBER_DUMMY;
82     p_ps_rec.amount_adjusted := AR_NUMBER_DUMMY;
83     p_ps_rec.amount_adjusted_pending := AR_NUMBER_DUMMY;
84     p_ps_rec.amount_applied := AR_NUMBER_DUMMY;
85     p_ps_rec.amount_credited := AR_NUMBER_DUMMY;
86     p_ps_rec.amount_in_dispute := AR_NUMBER_DUMMY;
87     p_ps_rec.amount_line_items_original := AR_NUMBER_DUMMY;
88     p_ps_rec.amount_line_items_remaining := AR_NUMBER_DUMMY;
89     p_ps_rec.associated_cash_receipt_id := AR_NUMBER_DUMMY;
90     p_ps_rec.call_date_last := AR_DATE_DUMMY;
91     p_ps_rec.cash_applied_amount_last := AR_NUMBER_DUMMY;
92     p_ps_rec.cash_applied_date_last := AR_DATE_DUMMY;
93     p_ps_rec.cash_applied_id_last := AR_NUMBER_DUMMY;
94     p_ps_rec.cash_applied_status_last := AR_TEXT_DUMMY;
95     p_ps_rec.cash_gl_date_last := AR_DATE_DUMMY;
96     p_ps_rec.cash_receipt_amount_last := AR_NUMBER_DUMMY;
97     p_ps_rec.cash_receipt_date_last := AR_DATE_DUMMY;
98     p_ps_rec.cash_receipt_id := AR_NUMBER_DUMMY;
99     p_ps_rec.cash_receipt_id_last := AR_NUMBER_DUMMY;
100     p_ps_rec.cash_receipt_status_last := AR_TEXT_DUMMY;
101     p_ps_rec.collector_last := AR_NUMBER_DUMMY;
102     p_ps_rec.customer_id := AR_NUMBER_DUMMY;
103     p_ps_rec.customer_site_use_id := AR_NUMBER_DUMMY;
104     p_ps_rec.customer_trx_id := AR_NUMBER_DUMMY;
105     p_ps_rec.cust_trx_type_id := AR_NUMBER_DUMMY;
106     p_ps_rec.discount_date := AR_DATE_DUMMY;
107     p_ps_rec.discount_original := AR_NUMBER_DUMMY;
108     p_ps_rec.discount_remaining := AR_NUMBER_DUMMY;
109     p_ps_rec.discount_taken_earned := AR_NUMBER_DUMMY;
110     p_ps_rec.discount_taken_unearned := AR_NUMBER_DUMMY;
111     p_ps_rec.exchange_date := AR_DATE_DUMMY;
112     p_ps_rec.exchange_rate := AR_NUMBER_DUMMY;
113     p_ps_rec.exchange_rate_type := AR_TEXT_DUMMY;
114     p_ps_rec.follow_up_code_last := AR_TEXT_DUMMY;
115     p_ps_rec.follow_up_date_last := AR_DATE_DUMMY;
116     p_ps_rec.freight_original := AR_NUMBER_DUMMY;
117     p_ps_rec.freight_remaining := AR_NUMBER_DUMMY;
118     p_ps_rec.gl_date_closed := AR_DATE_DUMMY;
119     p_ps_rec.in_collection := AR_FLAG_DUMMY;
120     p_ps_rec.promise_amount_last := AR_NUMBER_DUMMY;
121     p_ps_rec.promise_date_last := AR_DATE_DUMMY;
122     p_ps_rec.receipt_confirmed_flag := AR_FLAG_DUMMY;
123     p_ps_rec.receivables_charges_charged := AR_NUMBER_DUMMY;
124     p_ps_rec.receivables_charges_remaining := AR_NUMBER_DUMMY;
125     p_ps_rec.reversed_cash_receipt_id := AR_NUMBER_DUMMY;
126     p_ps_rec.selected_for_receipt_batch_id := AR_NUMBER_DUMMY;
127     p_ps_rec.tax_original := AR_NUMBER_DUMMY;
128     p_ps_rec.tax_remaining := AR_NUMBER_DUMMY;
129     p_ps_rec.terms_sequence_number := AR_NUMBER_DUMMY;
130     p_ps_rec.term_id := AR_NUMBER_DUMMY;
131     p_ps_rec.trx_date := AR_DATE_DUMMY;
132     p_ps_rec.trx_number := AR_TEXT_DUMMY;
133     p_ps_rec.attribute_category := AR_TEXT_DUMMY;
134     p_ps_rec.attribute1 := AR_TEXT_DUMMY;
135     p_ps_rec.attribute2 := AR_TEXT_DUMMY;
136     p_ps_rec.attribute3 := AR_TEXT_DUMMY;
137     p_ps_rec.attribute4 := AR_TEXT_DUMMY;
138     p_ps_rec.attribute5 := AR_TEXT_DUMMY;
139     p_ps_rec.attribute6 := AR_TEXT_DUMMY;
140     p_ps_rec.attribute7 := AR_TEXT_DUMMY;
141     p_ps_rec.attribute8 := AR_TEXT_DUMMY;
142     p_ps_rec.attribute9 := AR_TEXT_DUMMY;
143     p_ps_rec.attribute10 := AR_TEXT_DUMMY;
144     p_ps_rec.attribute11 := AR_TEXT_DUMMY;
145     p_ps_rec.attribute12 := AR_TEXT_DUMMY;
146     p_ps_rec.attribute13 := AR_TEXT_DUMMY;
147     p_ps_rec.attribute14 := AR_TEXT_DUMMY;
148     p_ps_rec.attribute15 := AR_TEXT_DUMMY;
149     p_ps_rec.dispute_date := AR_DATE_DUMMY;
150     p_ps_rec.last_charge_date := AR_DATE_DUMMY;
151     p_ps_rec.second_last_charge_date := AR_DATE_DUMMY;
152     p_ps_rec.br_amount_assigned := AR_NUMBER_DUMMY;
153     p_ps_rec.reserved_type := AR_TEXT_DUMMY;
154     p_ps_rec.reserved_value := AR_NUMBER_DUMMY;
155     p_ps_rec.cons_inv_id := AR_NUMBER_DUMMY;
156     p_ps_rec.cons_inv_id_rev := AR_NUMBER_DUMMY;
157     p_ps_rec.dunning_level_override_date := AR_DATE_DUMMY;
158     p_ps_rec.exclude_from_dunning_flag := AR_FLAG_DUMMY;
159     p_ps_rec.staged_dunning_level := AR_TWO_NUMBER_DUMMY;
160 /*Bug2427456*/
161     p_ps_rec.global_attribute_category := AR_TEXT_DUMMY;
162     p_ps_rec.global_attribute1 := AR_TEXT_DUMMY;
163     p_ps_rec.global_attribute2 := AR_TEXT_DUMMY;
164     p_ps_rec.global_attribute3 := AR_TEXT_DUMMY;
165     p_ps_rec.global_attribute4 := AR_TEXT_DUMMY;
166     p_ps_rec.global_attribute5 := AR_TEXT_DUMMY;
167     p_ps_rec.global_attribute6 := AR_TEXT_DUMMY;
168     p_ps_rec.global_attribute7 := AR_TEXT_DUMMY;
169     p_ps_rec.global_attribute8 := AR_TEXT_DUMMY;
170     p_ps_rec.global_attribute9 := AR_TEXT_DUMMY;
171     p_ps_rec.global_attribute10 := AR_TEXT_DUMMY;
172     p_ps_rec.global_attribute11 := AR_TEXT_DUMMY;
173     p_ps_rec.global_attribute12 := AR_TEXT_DUMMY;
174     p_ps_rec.global_attribute13 := AR_TEXT_DUMMY;
175     p_ps_rec.global_attribute14 := AR_TEXT_DUMMY;
176     p_ps_rec.global_attribute15 := AR_TEXT_DUMMY;
177     p_ps_rec.global_attribute16 := AR_TEXT_DUMMY;
178     p_ps_rec.global_attribute17 := AR_TEXT_DUMMY;
179     p_ps_rec.global_attribute18 := AR_TEXT_DUMMY;
180     p_ps_rec.global_attribute19 := AR_TEXT_DUMMY;
181     p_ps_rec.global_attribute20 := AR_TEXT_DUMMY;
182 
183     IF PG_DEBUG in ('Y', 'C') THEN
184        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.set_to_dummy()-' );
185     END IF;
186     EXCEPTION
187       WHEN  OTHERS THEN
188         IF PG_DEBUG in ('Y', 'C') THEN
189            arp_standard.debug('dump_debug: ' ||  'EXCEPTION: arp_ps_pkg.set_to_dummy' );
190         END IF;
191         RAISE;
192 END set_to_dummy;
193 --
194 /*===========================================================================+
195  | PROCEDURE                                                                 |
196  |    insert_p                                                               |
197  |                                                                           |
198  | DESCRIPTION                                                               |
199  |    This function inserts a row into AR_PAYMENT_SCHEDULES table            |
200  |                                                                           |
201  | SCOPE - PUBLIC                                                            |
202  |                                                                           |
203  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
204  |                                                                           |
205  | ARGUMENTS  : IN OUT:                                                      |
206  |                    p_ps_rec - Payment Schedule Record structure           |
207  |              OUT:                                                         |
208  |                    p_ps_id - Payment Schedule Id                          |
209  |                                                                           |
210  | RETURNS    : NONE                                                         |
211  |                                                                           |
212  | NOTES                                                                     |
213  |                                                                           |
214  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
215  | 2/4/1996	Harri Kaukovuo	Added debug information dump in case of	     |
216  |				exception.				     |
217  |                                                                           |
218  | 20-MAR-2000  J Rautiainen    Added BR project related columns             |
219  |                              BR_AMOUNT_ASSIGNED, RESERVED_TYPE and        |
220  |                              RESERVED_VALUE into the table handlers.      |
221  |                                                                           |
222  | 31-OCT-2000 Y Rakotonirainy	Bug 1243304 : Added columns cons_inv_id and  |
223  |				cons_inv_id_rev	and		             |
224  |				dunning_level_override_date and		     |
225  |				exclude_from_dunning_flag and		     |
226  |				staged_dunning_level			     |
227  | 				into the table handlers.  		     |
228  | 04-Feb-2001  Debbie Jancis   Modified for MRC Trigger Replacement project |
229  |                              added calls to ar_mrc_engine for inserts     |
230  |                              to ar_payment_schedules                      |
231  |20-Jun-02     Sahana          Bug2427456 : Added global attribute columns  |
232  +===========================================================================*/
233 PROCEDURE insert_p( p_ps_rec 	IN OUT NOCOPY ar_payment_schedules%ROWTYPE,
234 	p_ps_id OUT NOCOPY ar_payment_schedules.payment_schedule_id%TYPE ) IS
235 l_ps_id  ar_payment_schedules.payment_schedule_id%TYPE;
236 BEGIN
237       IF PG_DEBUG in ('Y', 'C') THEN
238          arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.insert_p()+');
239       END IF;
240 
241       SELECT ar_payment_schedules_s.nextval
242       INTO   l_ps_id
243       FROM   dual;
244 
245       p_ps_rec.created_by := FND_GLOBAL.user_id;
246       p_ps_rec.last_updated_by := FND_GLOBAL.user_id;
247       -- p_ps_rec.created_from := 'XXXXXXX';
248       --
249       INSERT INTO  ar_payment_schedules (
250 		 payment_schedule_id,
251  		 acctd_amount_due_remaining,
252  		 amount_due_original,
253  		 amount_due_remaining,
254  		 class,
255  		 created_by,
256  		 creation_date,
257  		 due_date,
258  		 gl_date,
259  		 invoice_currency_code,
260  		 last_updated_by,
261  		 last_update_date,
262  		 number_of_due_dates,
263  		 status,
264  		 actual_date_closed,
265  		 adjustment_amount_last,
266  		 adjustment_date_last,
267  		 adjustment_gl_date_last,
268  		 adjustment_id_last,
269  		 amount_adjusted,
270  		 amount_adjusted_pending,
271  		 amount_applied,
272  		 amount_credited,
273  		 amount_in_dispute,
274  		 amount_line_items_original,
275  		 amount_line_items_remaining,
276  		 associated_cash_receipt_id,
277  		 call_date_last,
278  		 cash_applied_amount_last,
279  		 cash_applied_date_last,
280  		 cash_applied_id_last,
281  		 cash_applied_status_last,
282  		 cash_gl_date_last,
283  		 cash_receipt_amount_last,
284  		 cash_receipt_date_last,
285  		 cash_receipt_id,
286  		 cash_receipt_id_last,
287  		 cash_receipt_status_last,
288  		 collector_last,
289  		 customer_id,
290  		 customer_site_use_id,
291  		 customer_trx_id,
292  		 cust_trx_type_id,
293  		 discount_date,
294  		 discount_original,
295  		 discount_remaining,
296  		 discount_taken_earned,
297  		 discount_taken_unearned,
298  		 exchange_date,
299  		 exchange_rate,
300  		 exchange_rate_type,
301  		 follow_up_code_last,
302  		 follow_up_date_last,
303  		 freight_original,
304  		 freight_remaining,
305  		 gl_date_closed,
306  		 in_collection,
307  		 last_update_login,
308  		 promise_amount_last,
309  		 promise_date_last,
310  		 receipt_confirmed_flag,
311  		 receivables_charges_charged,
312  		 receivables_charges_remaining,
313  		 reversed_cash_receipt_id,
314  		 selected_for_receipt_batch_id,
315  		 tax_original,
316  		 tax_remaining,
317  		 terms_sequence_number,
318  		 term_id,
319  		 trx_date,
320  		 trx_number,
321  		 attribute_category,
322  		 attribute1,
323  		 attribute2,
324  		 attribute3,
325  		 attribute4,
326  		 attribute5,
327  		 attribute6,
328  		 attribute7,
329  		 attribute8,
330  		 attribute9,
331  		 attribute10,
332  		 attribute11,
333  		 attribute12,
334  		 attribute13,
335  		 attribute14,
336  		 attribute15,
337  		 request_id,
338  		 program_application_id,
339  		 program_id,
340  		 program_update_date,
341  		 dispute_date,
342  		 last_charge_date,
343  		 second_last_charge_date,
344                  br_amount_assigned,
345                  reserved_type,
346                  reserved_value,
347                  cons_inv_id,
348                  cons_inv_id_rev,
349                  dunning_level_override_date,
350                  exclude_from_dunning_flag,
351                  staged_dunning_level,
352                  global_attribute_category,
353  		 global_attribute1,
354  		 global_attribute2,
355  		 global_attribute3,
356  		 global_attribute4,
357  		 global_attribute5,
358  		 global_attribute6,
359  		 global_attribute7,
360  		 global_attribute8,
361  		 global_attribute9,
362  		 global_attribute10,
363  		 global_attribute11,
364  		 global_attribute12,
365  		 global_attribute13,
366  		 global_attribute14,
367  		 global_attribute15,
368  		 global_attribute16,
369  		 global_attribute17,
370  		 global_attribute18,
371  		 global_attribute19,
372  		 global_attribute20
373                  ,org_id)
374        VALUES (  l_ps_id,
375  		 p_ps_rec.acctd_amount_due_remaining,
376  		 p_ps_rec.amount_due_original,
377  		 p_ps_rec.amount_due_remaining,
378  		 p_ps_rec.class,
379  		 arp_standard.profile.user_id,
380  		 SYSDATE,
381  		 p_ps_rec.due_date,
382  		 p_ps_rec.gl_date,
383  		 p_ps_rec.invoice_currency_code,
384  		 arp_standard.profile.user_id,
385  		 SYSDATE,
386  		 p_ps_rec.number_of_due_dates,
387  		 p_ps_rec.status,
388  		 nvl(p_ps_rec.actual_date_closed, to_date('12/31/4712','MM/DD/YYYY')),
389  		 p_ps_rec.adjustment_amount_last,
390  		 p_ps_rec.adjustment_date_last,
391  		 p_ps_rec.adjustment_gl_date_last,
392  		 p_ps_rec.adjustment_id_last,
393  		 p_ps_rec.amount_adjusted,
394  		 p_ps_rec.amount_adjusted_pending,
395  		 p_ps_rec.amount_applied,
396  		 p_ps_rec.amount_credited,
397  		 p_ps_rec.amount_in_dispute,
398  		 p_ps_rec.amount_line_items_original,
399  		 p_ps_rec.amount_line_items_remaining,
400  		 p_ps_rec.associated_cash_receipt_id,
401  		 p_ps_rec.call_date_last,
402  		 p_ps_rec.cash_applied_amount_last,
403  		 p_ps_rec.cash_applied_date_last,
404  		 p_ps_rec.cash_applied_id_last,
405  		 p_ps_rec.cash_applied_status_last,
406  		 p_ps_rec.cash_gl_date_last,
407  		 p_ps_rec.cash_receipt_amount_last,
408  		 p_ps_rec.cash_receipt_date_last,
409  		 p_ps_rec.cash_receipt_id,
410  		 p_ps_rec.cash_receipt_id_last,
411  		 p_ps_rec.cash_receipt_status_last,
412  		 p_ps_rec.collector_last,
413  		 p_ps_rec.customer_id,
414  		 p_ps_rec.customer_site_use_id,
415  		 p_ps_rec.customer_trx_id,
416  		 p_ps_rec.cust_trx_type_id,
417  		 p_ps_rec.discount_date,
418  		 p_ps_rec.discount_original,
419  		 p_ps_rec.discount_remaining,
420  		 p_ps_rec.discount_taken_earned,
421  		 p_ps_rec.discount_taken_unearned,
422  		 p_ps_rec.exchange_date,
423  		 p_ps_rec.exchange_rate,
424  		 p_ps_rec.exchange_rate_type,
425  		 p_ps_rec.follow_up_code_last,
426  		 p_ps_rec.follow_up_date_last,
427  		 p_ps_rec.freight_original,
428  		 p_ps_rec.freight_remaining,
429  		 nvl(p_ps_rec.gl_date_closed, to_date('12/31/4712','MM/DD/YYYY')),
430  		 p_ps_rec.in_collection,
431  		 NVL( arp_standard.profile.last_update_login,
432 		      p_ps_rec.last_update_login ),
433  		 p_ps_rec.promise_amount_last,
434  		 p_ps_rec.promise_date_last,
435  		 p_ps_rec.receipt_confirmed_flag,
436  		 p_ps_rec.receivables_charges_charged,
437  		 p_ps_rec.receivables_charges_remaining,
438  		 p_ps_rec.reversed_cash_receipt_id,
439  		 p_ps_rec.selected_for_receipt_batch_id,
440  		 p_ps_rec.tax_original,
441  		 p_ps_rec.tax_remaining,
442  		 p_ps_rec.terms_sequence_number,
443  		 p_ps_rec.term_id,
444  		 p_ps_rec.trx_date,
445  		 p_ps_rec.trx_number,
446  		 p_ps_rec.attribute_category,
447  		 p_ps_rec.attribute1,
448  		 p_ps_rec.attribute2,
449  		 p_ps_rec.attribute3,
450  		 p_ps_rec.attribute4,
451  		 p_ps_rec.attribute5,
452  		 p_ps_rec.attribute6,
453  		 p_ps_rec.attribute7,
454  		 p_ps_rec.attribute8,
455  		 p_ps_rec.attribute9,
456  		 p_ps_rec.attribute10,
457  		 p_ps_rec.attribute11,
458  		 p_ps_rec.attribute12,
459  		 p_ps_rec.attribute13,
460  		 p_ps_rec.attribute14,
461  		 p_ps_rec.attribute15,
462  		 NVL( arp_standard.profile.request_id, p_ps_rec.request_id ),
463  		 NVL( arp_standard.profile.program_application_id,
464 		      p_ps_rec.program_application_id ),
465  		 NVL( arp_standard.profile.program_id, p_ps_rec.program_id ),
466  		 DECODE( arp_standard.profile.program_id,
467                          NULL, NULL,
468                          SYSDATE
469                        ),
470  		 p_ps_rec.dispute_date,
471  		 p_ps_rec.last_charge_date,
472  		 p_ps_rec.second_last_charge_date,
473                  p_ps_rec.br_amount_assigned,
474                  p_ps_rec.reserved_type,
475                  p_ps_rec.reserved_value,
476                  p_ps_rec.cons_inv_id,
477                  p_ps_rec.cons_inv_id_rev,
478                  p_ps_rec.dunning_level_override_date,
479                  p_ps_rec.exclude_from_dunning_flag,
480                  p_ps_rec.staged_dunning_level,
481  		 p_ps_rec.global_attribute_category,
482  		 p_ps_rec.global_attribute1,
483  		 p_ps_rec.global_attribute2,
484  		 p_ps_rec.global_attribute3,
485  		 p_ps_rec.global_attribute4,
486  		 p_ps_rec.global_attribute5,
487  		 p_ps_rec.global_attribute6,
488  		 p_ps_rec.global_attribute7,
489  		 p_ps_rec.global_attribute8,
490  		 p_ps_rec.global_attribute9,
491  		 p_ps_rec.global_attribute10,
492  		 p_ps_rec.global_attribute11,
493  		 p_ps_rec.global_attribute12,
494  		 p_ps_rec.global_attribute13,
495  		 p_ps_rec.global_attribute14,
496  		 p_ps_rec.global_attribute15,
497  		 p_ps_rec.global_attribute16,
498  		 p_ps_rec.global_attribute17,
499  		 p_ps_rec.global_attribute18,
500  		 p_ps_rec.global_attribute19,
501  		 p_ps_rec.global_attribute20
502                  ,arp_standard.sysparm.org_id /* SSA changes anuj */
503 	       );
504     p_ps_id := l_ps_id;
505 
506    /*---------------------------------+
507     | Calling central MRC library     |
508     | for MRC Integration             |
509     +---------------------------------*/
510     IF PG_DEBUG in ('Y', 'C') THEN
511        arp_standard.debug('dump_debug: ' || 'calling mrc engine to process insert to ps');
512     END IF;
513 
514     ar_mrc_engine.maintain_mrc_data(
515                         p_event_mode => 'INSERT',
516                         p_table_name => 'AR_PAYMENT_SCHEDULES',
517                         p_mode       => 'SINGLE',
518                         p_key_value  => p_ps_id);
519 
520     IF PG_DEBUG in ('Y', 'C') THEN
521        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.insert_p()-');
522     END IF;
523     EXCEPTION
524       WHEN  OTHERS THEN
525         dump_debug(p_ps_rec);
526 	IF PG_DEBUG in ('Y', 'C') THEN
527 	   arp_standard.debug('dump_debug: ' || 'EXCEPTION: arp_ps_pkg.insert_p' );
528 	END IF;
529 	RAISE;
530 END;
531 --
532 /*===========================================================================+
533  | PROCEDURE                                                                 |
534  |    update_p                                                               |
535  |                                                                           |
536  | DESCRIPTION                                                               |
537  |    This function updates a row into AR_PAYMENT_SCHEDULES table            |
538  |    New update_p that does need a PS row to be fetched before upddating    |
539  |                                                                           |
540  | SCOPE - PUBLIC                                                            |
541  |                                                                           |
542  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
543  |                                                                           |
544  | ARGUMENTS  : IN:                                                          |
545  |                    p_ps_rec - Payment Schedule record                     |
546  |                                                                           |
547  | RETURNS    : NONE                                                         |
548  |                                                                           |
549  | NOTES                                                                     |
550  |                                                                           |
551  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 10/05/95                |
552  | 2/4/1996	Harri Kaukovuo		Added debug dump in case of error.   |
553  |                                                                           |
554  | 20-MAR-2000  J Rautiainen    Added BR project related columns             |
555  |                              BR_AMOUNT_ASSIGNED, RESERVED_TYPE and        |
556  |                              RESERVED_VALUE into the table handlers.      |
557  |                                                                           |
558  | 31-OCT-2000 Y Rakotonirainy	Bug 1243304 : Added columns cons_inv_id and  |
559  |				cons_inv_id_rev	and		             |
560  |				dunning_level_override_date and		     |
561  |				exclude_from_dunning_flag and		     |
562  |				staged_dunning_level			     |
563  | 				into the table handlers.  		     |
564  | 04-Feb-2001  Debbie Jancis   Modified for MRC trigger replacement project |
565  | 20-Jun-02    Sahana          Bug2427456 : Added global attribute columns  |
566  +===========================================================================*/
567 PROCEDURE update_p( p_ps_rec    IN ar_payment_schedules%ROWTYPE,
568                 p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE ) IS
569 /*Adding cursor as part of bug fix 5129946*/
570 CURSOR get_existing_ps (p_ps_id IN NUMBER) IS
571    SELECT payment_schedule_id,
572           amount_in_dispute,
573           amount_due_remaining,
574           dispute_date
575    FROM   ar_payment_schedules
576    WHERE  payment_schedule_id = p_ps_id;
577   l_old_dispute_date        DATE;
578   l_new_dispute_date        DATE;
579   l_old_dispute_amount      NUMBER;
580   l_amount_due_remaining    NUMBER;
581   l_ps_id                   NUMBER;
582   l_new_dispute_amount      NUMBER;
583   l_sysdate                 DATE := SYSDATE;
584   l_last_update_login       NUMBER := arp_standard.profile.last_update_login;
585   l_user_id                 NUMBER := arp_standard.profile.user_id;
586 BEGIN
587     IF PG_DEBUG in ('Y', 'C') THEN
588        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.update_p(1)+' );
589     END IF;
590     /*Bug 5129946: Calling arp_dispute_history.DisputeHistory*/
591     l_ps_id := p_ps_id;
592     OPEN get_existing_ps(l_ps_id);
593        FETCH get_existing_ps INTO
594           l_ps_id,
595           l_old_dispute_amount,
596           l_amount_due_remaining,
597           l_old_dispute_date;
598        IF  get_existing_ps%ROWCOUNT>0 THEN
599        if(p_ps_rec.amount_due_remaining = AR_NUMBER_DUMMY) THEN
600        l_amount_due_remaining := l_amount_due_remaining;
601        ELSE
602        l_amount_due_remaining := p_ps_rec.amount_due_remaining;
603        END IF;
604        if(p_ps_rec.amount_in_dispute = AR_NUMBER_DUMMY) THEN
605        l_new_dispute_amount := l_old_dispute_amount;
606        ELSE
607        l_new_dispute_amount := p_ps_rec.amount_in_dispute;
608        END IF;
609        if(p_ps_rec.dispute_date = AR_DATE_DUMMY) THEN
610        l_new_dispute_date := l_old_dispute_date;
611        ELSE
612        l_new_dispute_date := p_ps_rec.dispute_date;
613        END IF;
614          if(l_new_dispute_amount <> l_old_dispute_amount)
615          OR(l_new_dispute_amount IS NULL AND l_old_dispute_amount IS NOT NULL)
616          OR(l_new_dispute_amount IS NOT NULL AND l_old_dispute_amount IS NULL)
617          THEN
618              arp_dispute_history.DisputeHistory(l_sysdate,
619                                                l_old_dispute_date,
620                                                l_ps_id,
621                                                l_ps_id,
622                                                l_amount_due_remaining,
623                                                l_new_dispute_amount,
624                                                l_old_dispute_amount,
625                                                l_user_id,
626                                                l_sysdate,
627                                                l_user_id,
628                                                l_sysdate,
629                                                l_last_update_login);
630           END IF;
631        END IF;--IF  get_existing_ps%ROWCOUNT>0 THEN
632    CLOSE get_existing_ps;
633     UPDATE ar_payment_schedules SET
634  		 acctd_amount_due_remaining =
635 				DECODE( p_ps_rec.acctd_amount_due_remaining,
636                                 AR_NUMBER_DUMMY, acctd_amount_due_remaining,
637                                 p_ps_rec.acctd_amount_due_remaining ),
638  		 amount_due_original = DECODE( p_ps_rec.amount_due_original,
639                                 AR_NUMBER_DUMMY, amount_due_original,
640                                 p_ps_rec.amount_due_original ),
641  		 amount_due_remaining = DECODE( p_ps_rec.amount_due_remaining,
642                                 AR_NUMBER_DUMMY, amount_due_remaining,
643                                 p_ps_rec.amount_due_remaining ),
644  		 class = DECODE( p_ps_rec.class,
645                                 AR_TEXT_DUMMY, class,
646                                 p_ps_rec.class ),
647  		 due_date = DECODE( p_ps_rec.due_date,
648                                 AR_DATE_DUMMY, due_date,
649                                 p_ps_rec.due_date ),
650  		 gl_date = DECODE( p_ps_rec.gl_date,
651                                 AR_DATE_DUMMY, gl_date,
652                                 p_ps_rec.gl_date ),
653  		 invoice_currency_code = DECODE( p_ps_rec.invoice_currency_code,
654                                 AR_TEXT_DUMMY, invoice_currency_code,
655                                 p_ps_rec.invoice_currency_code ),
656  		 last_updated_by = pg_last_updated_by,
657  		 last_update_date = pg_last_update_date,
658  		 number_of_due_dates = DECODE( p_ps_rec.number_of_due_dates,
659                                 AR_NUMBER_DUMMY, number_of_due_dates,
660                                 p_ps_rec.number_of_due_dates ),
661  		 status = DECODE( p_ps_rec.status,
662                                 AR_TEXT_DUMMY, status,
663                                 p_ps_rec.status ),
664  		 actual_date_closed = DECODE( p_ps_rec.actual_date_closed,
665                                 AR_DATE_DUMMY, actual_date_closed,
666                                 p_ps_rec.actual_date_closed ),
667  		 adjustment_amount_last =
668 				DECODE( p_ps_rec.adjustment_amount_last,
669                                 AR_NUMBER_DUMMY, adjustment_amount_last,
670                                 p_ps_rec.adjustment_amount_last ),
671  		 adjustment_date_last = DECODE( p_ps_rec.adjustment_date_last,
672                                 AR_DATE_DUMMY, adjustment_date_last,
673                                 p_ps_rec.adjustment_date_last ),
674  		 adjustment_gl_date_last =
675 				DECODE( p_ps_rec.adjustment_gl_date_last,
676                                 AR_DATE_DUMMY, adjustment_gl_date_last,
677                                 p_ps_rec.adjustment_gl_date_last ),
678  		 adjustment_id_last = DECODE( p_ps_rec.adjustment_id_last,
679                                 AR_NUMBER_DUMMY, adjustment_id_last,
680                                 p_ps_rec.adjustment_id_last ),
681  		 amount_adjusted = DECODE( p_ps_rec.amount_adjusted,
682                                 AR_NUMBER_DUMMY, amount_adjusted,
683                                 p_ps_rec.amount_adjusted ),
684  		 amount_adjusted_pending =
685 				DECODE( p_ps_rec.amount_adjusted_pending,
686                                 AR_NUMBER_DUMMY, amount_adjusted_pending,
687                                 p_ps_rec.amount_adjusted_pending ),
688  		 amount_applied = DECODE( p_ps_rec.amount_applied,
689                                 AR_NUMBER_DUMMY, amount_applied,
690                                 p_ps_rec.amount_applied ),
691  		 amount_credited = DECODE( p_ps_rec.amount_credited,
692                                 AR_NUMBER_DUMMY, amount_credited,
693                                 p_ps_rec.amount_credited ),
694  		 amount_in_dispute = DECODE( p_ps_rec.amount_in_dispute,
695                                 AR_NUMBER_DUMMY, amount_in_dispute,
696                                 p_ps_rec.amount_in_dispute ),
697  		 amount_line_items_original =
698 				DECODE( p_ps_rec.amount_line_items_original,
699                                 AR_NUMBER_DUMMY, amount_line_items_original,
700                                 p_ps_rec.amount_line_items_original ),
701  		 amount_line_items_remaining =
702 				DECODE( p_ps_rec.amount_line_items_remaining,
703                                 AR_NUMBER_DUMMY, amount_line_items_remaining,
704                                 p_ps_rec.amount_line_items_remaining ),
705  		 associated_cash_receipt_id =
706 				DECODE( p_ps_rec.associated_cash_receipt_id,
707                                 AR_NUMBER_DUMMY, associated_cash_receipt_id,
708                                 p_ps_rec.associated_cash_receipt_id ),
709  		 call_date_last = DECODE( p_ps_rec.call_date_last,
710                                 AR_DATE_DUMMY, call_date_last,
711                                 p_ps_rec.call_date_last ),
712  		 cash_applied_amount_last =
713 				DECODE( p_ps_rec.cash_applied_amount_last,
714                                 AR_NUMBER_DUMMY, cash_applied_amount_last,
715                                 p_ps_rec.cash_applied_amount_last ),
716  		 cash_applied_date_last =
717 				DECODE( p_ps_rec.cash_applied_date_last,
718                                 AR_DATE_DUMMY, cash_applied_date_last,
719                                 p_ps_rec.cash_applied_date_last ),
720  		 cash_applied_id_last = DECODE( p_ps_rec.cash_applied_id_last,
721                                 AR_NUMBER_DUMMY, cash_applied_id_last,
722                                 p_ps_rec.cash_applied_id_last ),
723  		 cash_applied_status_last =
724 				DECODE( p_ps_rec.cash_applied_status_last,
725                                 AR_TEXT_DUMMY, cash_applied_status_last,
726                                 p_ps_rec.cash_applied_status_last ),
727  		 cash_gl_date_last = DECODE( p_ps_rec.cash_gl_date_last,
728                                 AR_DATE_DUMMY, cash_gl_date_last,
729                                 p_ps_rec.cash_gl_date_last ),
730  		 cash_receipt_amount_last =
731 				DECODE( p_ps_rec.cash_receipt_amount_last,
732                                 AR_NUMBER_DUMMY, cash_receipt_amount_last,
733                                 p_ps_rec.cash_receipt_amount_last ),
734  		 cash_receipt_date_last =
735 				DECODE( p_ps_rec.cash_receipt_date_last,
736                                 AR_DATE_DUMMY, cash_receipt_date_last,
737                                 p_ps_rec.cash_receipt_date_last ),
738  		 cash_receipt_id = DECODE( p_ps_rec.cash_receipt_id,
739                                 AR_NUMBER_DUMMY, cash_receipt_id,
740                                 p_ps_rec.cash_receipt_id ),
741  		 cash_receipt_id_last = DECODE( p_ps_rec.cash_receipt_id_last,
742                                 AR_NUMBER_DUMMY, cash_receipt_id_last,
743                                 p_ps_rec.cash_receipt_id_last ),
744  		 cash_receipt_status_last =
745 				DECODE( p_ps_rec.cash_receipt_status_last,
746                                 AR_TEXT_DUMMY, cash_receipt_status_last,
747                                 p_ps_rec.cash_receipt_status_last ),
748  		 collector_last = DECODE( p_ps_rec.collector_last,
749                                 AR_NUMBER_DUMMY, collector_last,
750                                 p_ps_rec.collector_last ),
751  		 customer_id = DECODE( p_ps_rec.customer_id,
752                                 AR_NUMBER_DUMMY, customer_id,
753                                 p_ps_rec.customer_id ),
754  		 customer_site_use_id = DECODE( p_ps_rec.customer_site_use_id,
755                                 AR_NUMBER_DUMMY, customer_site_use_id,
756                                 p_ps_rec.customer_site_use_id ),
757  		 customer_trx_id = DECODE( p_ps_rec.customer_trx_id,
758                                 AR_NUMBER_DUMMY, customer_trx_id,
759                                 p_ps_rec.customer_trx_id ),
760  		 cust_trx_type_id = DECODE( p_ps_rec.cust_trx_type_id,
761                                 AR_NUMBER_DUMMY, cust_trx_type_id,
762                                 p_ps_rec.cust_trx_type_id ),
763  		 discount_date = DECODE( p_ps_rec.discount_date,
764                                 AR_DATE_DUMMY, discount_date,
765                                 p_ps_rec.discount_date ),
766  		 discount_original = DECODE( p_ps_rec.discount_original,
767                                 AR_NUMBER_DUMMY, discount_original,
768                                 p_ps_rec.discount_original ),
769  		 discount_remaining = DECODE( p_ps_rec.discount_remaining,
770                                 AR_NUMBER_DUMMY, discount_remaining,
771                                 p_ps_rec.discount_remaining ),
772  		 discount_taken_earned = DECODE( p_ps_rec.discount_taken_earned,
773                                 AR_NUMBER_DUMMY, discount_taken_earned,
774                                 p_ps_rec.discount_taken_earned ),
775  		 discount_taken_unearned =
776 				DECODE( p_ps_rec.discount_taken_unearned,
777                                 AR_NUMBER_DUMMY, discount_taken_unearned,
778                                 p_ps_rec.discount_taken_unearned ),
779  		 exchange_date = DECODE( p_ps_rec.exchange_date,
780                                 AR_DATE_DUMMY, exchange_date,
781                                 p_ps_rec.exchange_date ),
782  		 exchange_rate = DECODE( p_ps_rec.exchange_rate,
783                                 AR_NUMBER_DUMMY, exchange_rate,
784                                 p_ps_rec.exchange_rate ),
785  		 exchange_rate_type = DECODE( p_ps_rec.exchange_rate_type,
786                                 AR_TEXT_DUMMY, exchange_rate_type,
787                                 p_ps_rec.exchange_rate_type ),
788  		 follow_up_code_last = DECODE( p_ps_rec.follow_up_code_last,
789                                 AR_TEXT_DUMMY, follow_up_code_last,
790                                 p_ps_rec.follow_up_code_last ),
791  		 follow_up_date_last = DECODE( p_ps_rec.follow_up_date_last,
792                                 AR_DATE_DUMMY, follow_up_date_last,
793                                 p_ps_rec.follow_up_date_last ),
794  		 freight_original = DECODE( p_ps_rec.freight_original,
795                                 AR_NUMBER_DUMMY, freight_original,
796                                 p_ps_rec.freight_original ),
797  		 freight_remaining = DECODE( p_ps_rec.freight_remaining,
798                                 AR_NUMBER_DUMMY, freight_remaining,
799                                 p_ps_rec.freight_remaining ),
800  		 gl_date_closed = DECODE( p_ps_rec.gl_date_closed,
801                                 AR_DATE_DUMMY, gl_date_closed,
802                                 p_ps_rec.gl_date_closed ),
803  		 in_collection = DECODE( p_ps_rec.in_collection,
804                                 AR_FLAG_DUMMY, in_collection,
805                                 p_ps_rec.in_collection ),
806  		 last_update_login = pg_last_update_login,
807  		 promise_amount_last = DECODE( p_ps_rec.promise_amount_last,
808                                 AR_NUMBER_DUMMY, promise_amount_last,
809                                 p_ps_rec.promise_amount_last ),
810  		 promise_date_last = DECODE( p_ps_rec.promise_date_last,
811                                 AR_DATE_DUMMY, promise_date_last,
812                                 p_ps_rec.promise_date_last ),
813  		 receipt_confirmed_flag =
814 				DECODE( p_ps_rec.receipt_confirmed_flag,
815                                 AR_FLAG_DUMMY, receipt_confirmed_flag,
816                                 p_ps_rec.receipt_confirmed_flag ),
817  		 receivables_charges_charged =
818 			DECODE( p_ps_rec.receivables_charges_charged,
819                                 AR_NUMBER_DUMMY, receivables_charges_charged,
820                                 p_ps_rec.receivables_charges_charged ),
821  		 receivables_charges_remaining =
822 				DECODE( p_ps_rec.receivables_charges_remaining,
823                                 AR_NUMBER_DUMMY, receivables_charges_remaining,
824                                 p_ps_rec.receivables_charges_remaining ),
825  		 reversed_cash_receipt_id =
826 				DECODE( p_ps_rec.reversed_cash_receipt_id,
827                                 AR_NUMBER_DUMMY, reversed_cash_receipt_id,
828                                 p_ps_rec.reversed_cash_receipt_id ),
829  		 selected_for_receipt_batch_id =
830 			DECODE(	p_ps_rec.selected_for_receipt_batch_id,
831                                 AR_NUMBER_DUMMY, selected_for_receipt_batch_id,
832                                 p_ps_rec.selected_for_receipt_batch_id ),
833  		 tax_original = DECODE( p_ps_rec.tax_original,
834                                 AR_NUMBER_DUMMY, tax_original,
835                                 p_ps_rec.tax_original ),
836  		 tax_remaining = DECODE( p_ps_rec.tax_remaining,
837                                 AR_NUMBER_DUMMY, tax_remaining,
838                                 p_ps_rec.tax_remaining ),
839  		 terms_sequence_number = DECODE( p_ps_rec.terms_sequence_number,
840                                 AR_NUMBER_DUMMY, terms_sequence_number,
841                                 p_ps_rec.terms_sequence_number ),
842  		 term_id = DECODE( p_ps_rec.term_id,
843                                 AR_NUMBER_DUMMY, term_id,
844                                 p_ps_rec.term_id ),
845  		 trx_date = DECODE( p_ps_rec.trx_date,
846                                 AR_DATE_DUMMY, trx_date,
847                                 p_ps_rec.trx_date ),
848  		 trx_number = DECODE( p_ps_rec.trx_number,
849                                 AR_TEXT_DUMMY, trx_number,
850                                 p_ps_rec.trx_number ),
851  		 attribute_category = DECODE( p_ps_rec.attribute_category,
852                                 AR_TEXT_DUMMY, attribute_category,
853                                 p_ps_rec.attribute_category ),
854  		 attribute1 = DECODE( p_ps_rec.attribute1,
855                                 AR_TEXT_DUMMY, attribute1,
856                                 p_ps_rec.attribute1 ),
857  		 attribute2 = DECODE( p_ps_rec.attribute2,
858                                 AR_TEXT_DUMMY, attribute2,
859                                 p_ps_rec.attribute2 ),
860  		 attribute3 = DECODE( p_ps_rec.attribute3,
861                                 AR_TEXT_DUMMY, attribute3,
862                                 p_ps_rec.attribute3 ),
863  		 attribute4 = DECODE( p_ps_rec.attribute4,
864                                 AR_TEXT_DUMMY, attribute4,
865                                 p_ps_rec.attribute4 ),
866  		 attribute5 = DECODE( p_ps_rec.attribute5,
867                                 AR_TEXT_DUMMY, attribute5,
868                                 p_ps_rec.attribute5 ),
869  		 attribute6 = DECODE( p_ps_rec.attribute6,
870                                 AR_TEXT_DUMMY, attribute6,
871                                 p_ps_rec.attribute6 ),
872  		 attribute7 = DECODE( p_ps_rec.attribute7,
873                                 AR_TEXT_DUMMY, attribute7,
874                                 p_ps_rec.attribute7 ),
875  		 attribute8 = DECODE( p_ps_rec.attribute8,
876                                 AR_TEXT_DUMMY, attribute8,
877                                 p_ps_rec.attribute8 ),
878  		 attribute9 = DECODE( p_ps_rec.attribute9,
879                                 AR_TEXT_DUMMY, attribute9,
880                                 p_ps_rec.attribute9 ),
881  		 attribute10 = DECODE( p_ps_rec.attribute10,
882                                 AR_TEXT_DUMMY, attribute10,
883                                 p_ps_rec.attribute10 ),
884  		 attribute11 = DECODE( p_ps_rec.attribute11,
885                                 AR_TEXT_DUMMY, attribute11,
886                                 p_ps_rec.attribute11 ),
887  		 attribute12 = DECODE( p_ps_rec.attribute12,
888                                 AR_TEXT_DUMMY, attribute12,
889                                 p_ps_rec.attribute12 ),
890  		 attribute13 = DECODE( p_ps_rec.attribute13,
891                                 AR_TEXT_DUMMY, attribute13,
892                                 p_ps_rec.attribute13 ),
893  		 attribute14 = DECODE( p_ps_rec.attribute14,
894                                 AR_TEXT_DUMMY, attribute14,
895                                 p_ps_rec.attribute14 ),
896  		 attribute15 = DECODE( p_ps_rec.attribute15,
897                                 AR_TEXT_DUMMY, attribute15,
898                                 p_ps_rec.attribute15 ),
899  		 request_id = pg_request_id,
900  		 program_application_id = pg_program_application_id,
901  		 program_id = pg_program_id,
902  		 program_update_date = pg_program_update_date,
903  		 dispute_date = DECODE( p_ps_rec.dispute_date,
904                                 AR_DATE_DUMMY, dispute_date,
905                                 p_ps_rec.dispute_date ),
906  		 last_charge_date = DECODE( p_ps_rec.last_charge_date,
907                                 AR_DATE_DUMMY, last_charge_date,
908                                 p_ps_rec.last_charge_date ),
909  		 second_last_charge_date =
910 				DECODE( p_ps_rec.second_last_charge_date ,
911                                 AR_DATE_DUMMY, second_last_charge_date,
912                                 p_ps_rec.second_last_charge_date ),
913  		 br_amount_assigned =
914 				DECODE( p_ps_rec.br_amount_assigned,
915                                 AR_NUMBER_DUMMY, br_amount_assigned,
916                                 p_ps_rec.br_amount_assigned ),
917  		 reserved_type =
918 				DECODE( p_ps_rec.reserved_type,
919                                 AR_TEXT_DUMMY, reserved_type,
920                                 p_ps_rec.reserved_type ),
921  		 reserved_value =
922 				DECODE( p_ps_rec.reserved_value,
923                                 AR_NUMBER_DUMMY, reserved_value,
924                                 p_ps_rec.reserved_value ),
925                  cons_inv_id =
926                  		DECODE( p_ps_rec.cons_inv_id,
927                  		AR_NUMBER_DUMMY, cons_inv_id,
928                  		p_ps_rec.cons_inv_id ),
929                  cons_inv_id_rev =
930                  		DECODE( p_ps_rec.cons_inv_id_rev,
931                  		AR_NUMBER_DUMMY, cons_inv_id_rev,
932                  		p_ps_rec.cons_inv_id_rev ),
933                  dunning_level_override_date =
934                  		DECODE( p_ps_rec.dunning_level_override_date,
935                  		AR_DATE_DUMMY, dunning_level_override_date,
936                  		p_ps_rec.dunning_level_override_date ),
937                  exclude_from_dunning_flag =
938                  		DECODE( p_ps_rec.exclude_from_dunning_flag ,
939                  		AR_FLAG_DUMMY, exclude_from_dunning_flag ,
940                  		p_ps_rec.exclude_from_dunning_flag  ),
941                  staged_dunning_level =
942                  		DECODE( p_ps_rec.staged_dunning_level ,
943                  		AR_TWO_NUMBER_DUMMY, staged_dunning_level ,
944                  		p_ps_rec.staged_dunning_level ),
945  global_attribute_category = DECODE( p_ps_rec.global_attribute_category,
946                                 AR_TEXT_DUMMY, global_attribute_category,
947                                 p_ps_rec.global_attribute_category ),
948  		 global_attribute1 = DECODE( p_ps_rec.global_attribute1,
949                                 AR_TEXT_DUMMY, global_attribute1,
950                                 p_ps_rec.global_attribute1 ),
951  		 global_attribute2 = DECODE( p_ps_rec.global_attribute2,
952                                 AR_TEXT_DUMMY, global_attribute2,
953                                 p_ps_rec.global_attribute2 ),
954  		 global_attribute3 = DECODE( p_ps_rec.global_attribute3,
955                                 AR_TEXT_DUMMY, global_attribute3,
956                                 p_ps_rec.global_attribute3 ),
957  		 global_attribute4 = DECODE( p_ps_rec.global_attribute4,
958                                 AR_TEXT_DUMMY, global_attribute4,
959                                 p_ps_rec.global_attribute4 ),
960  		 global_attribute5 = DECODE( p_ps_rec.global_attribute5,
961                                 AR_TEXT_DUMMY, global_attribute5,
962                                 p_ps_rec.global_attribute5 ),
963  		 global_attribute6 = DECODE( p_ps_rec.global_attribute6,
964                                 AR_TEXT_DUMMY, global_attribute6,
965                                 p_ps_rec.global_attribute6 ),
966  		 global_attribute7 = DECODE( p_ps_rec.global_attribute7,
967                                 AR_TEXT_DUMMY, global_attribute7,
968                                 p_ps_rec.global_attribute7 ),
969  		 global_attribute8 = DECODE( p_ps_rec.global_attribute8,
970                                 AR_TEXT_DUMMY, global_attribute8,
971                                 p_ps_rec.global_attribute8 ),
972  		 global_attribute9 = DECODE( p_ps_rec.global_attribute9,
973                                 AR_TEXT_DUMMY, global_attribute9,
974                                 p_ps_rec.global_attribute9 ),
975  		 global_attribute10 = DECODE( p_ps_rec.global_attribute10,
976                                 AR_TEXT_DUMMY, global_attribute10,
977                                 p_ps_rec.global_attribute10 ),
978  		 global_attribute11 = DECODE( p_ps_rec.global_attribute11,
979                                 AR_TEXT_DUMMY, global_attribute11,
980                                 p_ps_rec.global_attribute11 ),
981  		 global_attribute12 = DECODE( p_ps_rec.global_attribute12,
982                                 AR_TEXT_DUMMY, global_attribute12,
983                                 p_ps_rec.global_attribute12 ),
984  		 global_attribute13 = DECODE( p_ps_rec.global_attribute13,
985                                 AR_TEXT_DUMMY, global_attribute13,
986                                 p_ps_rec.global_attribute13 ),
987  		 global_attribute14 = DECODE( p_ps_rec.global_attribute14,
988                                 AR_TEXT_DUMMY, global_attribute14,
989                                 p_ps_rec.global_attribute14 ),
990  		 global_attribute15 = DECODE( p_ps_rec.global_attribute15,
991                                 AR_TEXT_DUMMY, global_attribute15,
992                                 p_ps_rec.global_attribute15 ),
993  		 global_attribute16 = DECODE( p_ps_rec.global_attribute16,
994                                 AR_TEXT_DUMMY, global_attribute16,
995                                 p_ps_rec.global_attribute16 ),
996  		 global_attribute17 = DECODE( p_ps_rec.global_attribute17,
997                                 AR_TEXT_DUMMY, global_attribute17,
998                                 p_ps_rec.global_attribute17 ),
999  		 global_attribute18 = DECODE( p_ps_rec.global_attribute18,
1000                                 AR_TEXT_DUMMY, global_attribute18,
1001                                 p_ps_rec.global_attribute18 ),
1002  		 global_attribute19 = DECODE( p_ps_rec.global_attribute19,
1003                                 AR_TEXT_DUMMY, global_attribute19,
1004                                 p_ps_rec.global_attribute19 ),
1005  		 global_attribute20 = DECODE( p_ps_rec.global_attribute20,
1006                                 AR_TEXT_DUMMY, global_attribute20,
1007                                 p_ps_rec.global_attribute20 )
1008      WHERE payment_schedule_id = p_ps_rec.payment_schedule_id;
1009 
1010    /*---------------------------------+
1011     | Calling central MRC library     |
1012     | for MRC Integration             |
1013     +---------------------------------*/
1014     IF PG_DEBUG in ('Y', 'C') THEN
1015        arp_standard.debug('dump_debug: ' || 'calling mrc engine to process UPDATE to ps');
1016     END IF;
1017 
1018     ar_mrc_engine.maintain_mrc_data(
1019                         p_event_mode => 'UPDATE',
1020                         p_table_name => 'AR_PAYMENT_SCHEDULES',
1021                         p_mode       => 'SINGLE',
1022                         p_key_value  => p_ps_rec.payment_schedule_id);
1023 
1024     IF PG_DEBUG in ('Y', 'C') THEN
1025        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.update_p(1)-' );
1026     END IF;
1027 
1028     EXCEPTION
1029       WHEN  OTHERS THEN
1030         dump_debug(p_ps_rec);
1031 	IF PG_DEBUG in ('Y', 'C') THEN
1032 	   arp_standard.debug('dump_debug: ' ||  'EXCEPTION: arp_ps_pkg.update_p(1)' );
1033 	END IF;
1034         RAISE;
1035 END;
1036 /*===========================================================================+
1037  | PROCEDURE                                                                 |
1038  |    update_p                                                               |
1039  |                                                                           |
1040  | DESCRIPTION                                                               |
1041  |    This function updates a row into AR_PAYMENT_SCHEDULES table            |
1042  |    Old update_p that needs a PS row to be fetched before upddating        |
1043  |                                                                           |
1044  | SCOPE - PUBLIC                                                            |
1045  |                                                                           |
1046  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1047  |                                                                           |
1048  | ARGUMENTS  : IN:                                                          |
1049  |                    p_ps_rec - Payment Schedule record                     |
1050  |                                                                           |
1051  | RETURNS    : NONE                                                         |
1052  |                                                                           |
1053  | NOTES                                                                     |
1054  |                                                                           |
1055  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1056  | 2/4/1996	Harri Kaukovuo		Added debug dump in case of error.   |
1057  |                                                                           |
1058  | 20-MAR-2000  J Rautiainen    Added BR project related columns             |
1059  |                              BR_AMOUNT_ASSIGNED, RESERVED_TYPE and        |
1060  |                              RESERVED_VALUE into the table handlers.      |
1061  |                                                                           |
1062  | 31-OCT-2000 Y Rakotonirainy	Bug 1243304 : Added columns cons_inv_id and  |
1063  |				cons_inv_id_rev	and		             |
1064  |				dunning_level_override_date and		     |
1065  |				exclude_from_dunning_flag and		     |
1066  |				staged_dunning_level			     |
1067  | 				into the table handlers.  		     |
1068  | 04-Feb-2001  Debbie Jancis	Modified for MRC trigger replacement         |
1069  | 20-Jun-02    Sahana          Bug2427456 : Added global attribute columns  |
1070  +===========================================================================*/
1071 PROCEDURE update_p( p_ps_rec 	IN ar_payment_schedules%ROWTYPE ) IS
1072 /*Adding cursor as part of bug fix 5129946*/
1073 CURSOR get_existing_ps (p_ps_id IN NUMBER) IS
1074    SELECT payment_schedule_id,
1075           amount_in_dispute,
1076           amount_due_remaining,
1077           dispute_date
1078    FROM   ar_payment_schedules
1079    WHERE  payment_schedule_id = p_ps_id;
1080   l_old_dispute_date        DATE;
1081   l_new_dispute_date        DATE;
1082   l_old_dispute_amount      NUMBER;
1083   l_amount_due_remaining    NUMBER;
1084   l_ps_id                   NUMBER;
1085   l_new_dispute_amount      NUMBER;
1086   l_sysdate                 DATE := SYSDATE;
1087   l_last_update_login       NUMBER := arp_standard.profile.last_update_login;
1088   l_user_id                 NUMBER := arp_standard.profile.user_id;
1089 BEGIN
1090     IF PG_DEBUG in ('Y', 'C') THEN
1091        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.update_p(2)+');
1092     END IF;
1093      --
1094     /*Bug 5129946: Calling arp_dispute_history.DisputeHistory*/
1095     l_ps_id := p_ps_rec.payment_schedule_id;
1096     OPEN get_existing_ps(l_ps_id);
1097        FETCH get_existing_ps INTO
1098           l_ps_id,
1099           l_old_dispute_amount,
1100           l_amount_due_remaining,
1101           l_old_dispute_date;
1102        IF  get_existing_ps%ROWCOUNT>0 THEN
1103        l_amount_due_remaining := p_ps_rec.amount_due_remaining;
1104        l_new_dispute_amount := p_ps_rec.amount_in_dispute;
1105        l_new_dispute_date := p_ps_rec.dispute_date;
1106          if(l_new_dispute_amount <> l_old_dispute_amount)
1107          OR(l_new_dispute_amount IS NULL AND l_old_dispute_amount IS NOT NULL)
1108          OR(l_new_dispute_amount IS NOT NULL AND l_old_dispute_amount IS NULL)
1109          THEN
1110 arp_dispute_history.DisputeHistory(l_sysdate,
1111                                                l_old_dispute_date,
1112                                                l_ps_id,
1113                                                l_ps_id,
1114                                                l_amount_due_remaining,
1115                                                l_new_dispute_amount,
1116                                                l_old_dispute_amount,
1117                                                l_user_id,
1118                                                l_sysdate,
1119                                                l_user_id,
1120                                                l_sysdate,
1121                                                l_last_update_login);
1122           END IF;
1123         END IF;--IF  get_existing_ps%ROWCOUNT>0 THEN
1124    CLOSE get_existing_ps;
1125     UPDATE ar_payment_schedules SET
1126  		 acctd_amount_due_remaining =
1127 				p_ps_rec.acctd_amount_due_remaining,
1128  		 amount_due_original = p_ps_rec.amount_due_original,
1129  		 amount_due_remaining = p_ps_rec.amount_due_remaining,
1130  		 class = p_ps_rec.class,
1131  		 due_date = p_ps_rec.due_date,
1132  		 gl_date = p_ps_rec.gl_date,
1133  		 invoice_currency_code = p_ps_rec.invoice_currency_code,
1134  		 last_updated_by = arp_standard.profile.user_id,
1135  		 last_update_date = SYSDATE,
1136  		 number_of_due_dates = p_ps_rec.number_of_due_dates,
1137  		 status = p_ps_rec.status,
1138  		 actual_date_closed = p_ps_rec.actual_date_closed,
1139  		 adjustment_amount_last = p_ps_rec.adjustment_amount_last,
1140  		 adjustment_date_last = p_ps_rec.adjustment_date_last,
1141  		 adjustment_gl_date_last = p_ps_rec.adjustment_gl_date_last,
1142  		 adjustment_id_last = p_ps_rec.adjustment_id_last,
1143  		 amount_adjusted = p_ps_rec.amount_adjusted,
1144  		 amount_adjusted_pending = p_ps_rec.amount_adjusted_pending,
1145  		 amount_applied = p_ps_rec.amount_applied,
1146  		 amount_credited = p_ps_rec.amount_credited,
1147  		 amount_in_dispute = p_ps_rec.amount_in_dispute,
1148  		 amount_line_items_original = p_ps_rec.amount_line_items_original,
1149  		 amount_line_items_remaining =
1150 					p_ps_rec.amount_line_items_remaining,
1151  		 associated_cash_receipt_id =
1152 					p_ps_rec.associated_cash_receipt_id,
1153  		 call_date_last = p_ps_rec.call_date_last,
1154  		 cash_applied_amount_last = p_ps_rec.cash_applied_amount_last,
1155  		 cash_applied_date_last = p_ps_rec.cash_applied_date_last,
1156  		 cash_applied_id_last = p_ps_rec.cash_applied_id_last,
1157  		 cash_applied_status_last = p_ps_rec.cash_applied_status_last,
1158  		 cash_gl_date_last = p_ps_rec.cash_gl_date_last,
1159  		 cash_receipt_amount_last = p_ps_rec.cash_receipt_amount_last,
1160  		 cash_receipt_date_last = p_ps_rec.cash_receipt_date_last,
1161  		 cash_receipt_id = p_ps_rec.cash_receipt_id,
1162  		 cash_receipt_id_last = p_ps_rec.cash_receipt_id_last,
1163  		 cash_receipt_status_last = p_ps_rec.cash_receipt_status_last,
1164  		 collector_last = p_ps_rec.collector_last,
1165  		 customer_id = p_ps_rec.customer_id,
1166  		 customer_site_use_id = p_ps_rec.customer_site_use_id,
1167  		 customer_trx_id = p_ps_rec.customer_trx_id,
1168  		 cust_trx_type_id = p_ps_rec.cust_trx_type_id,
1169  		 discount_date = p_ps_rec.discount_date,
1170  		 discount_original = p_ps_rec.discount_original,
1171  		 discount_remaining = p_ps_rec.discount_remaining,
1172  		 discount_taken_earned = p_ps_rec.discount_taken_earned,
1173  		 discount_taken_unearned = p_ps_rec.discount_taken_unearned,
1174  		 exchange_date = p_ps_rec.exchange_date,
1175  		 exchange_rate = p_ps_rec.exchange_rate,
1176  		 exchange_rate_type = p_ps_rec.exchange_rate_type,
1177  		 follow_up_code_last = p_ps_rec.follow_up_code_last,
1178  		 follow_up_date_last = p_ps_rec.follow_up_date_last,
1179  		 freight_original = p_ps_rec.freight_original,
1180  		 freight_remaining = p_ps_rec.freight_remaining,
1181  		 gl_date_closed = p_ps_rec.gl_date_closed,
1182  		 in_collection = p_ps_rec.in_collection,
1183  		 last_update_login =
1184 			       NVL( arp_standard.profile.last_update_login,
1185 				    p_ps_rec.last_update_login ),
1186  		 promise_amount_last = p_ps_rec.promise_amount_last,
1187  		 promise_date_last = p_ps_rec.promise_date_last,
1188  		 receipt_confirmed_flag = p_ps_rec.receipt_confirmed_flag,
1189  		 receivables_charges_charged =
1190 					p_ps_rec.receivables_charges_charged,
1191  		 receivables_charges_remaining =
1192 					p_ps_rec.receivables_charges_remaining,
1193  		 reversed_cash_receipt_id = p_ps_rec.reversed_cash_receipt_id,
1194  		 selected_for_receipt_batch_id =
1195 					p_ps_rec.selected_for_receipt_batch_id,
1196  		 tax_original = p_ps_rec.tax_original,
1197  		 tax_remaining = p_ps_rec.tax_remaining,
1198  		 terms_sequence_number = p_ps_rec.terms_sequence_number,
1199  		 term_id = p_ps_rec.term_id,
1200  		 trx_date = p_ps_rec.trx_date,
1201  		 trx_number = p_ps_rec.trx_number,
1202  		 attribute_category = p_ps_rec.attribute_category,
1203  		 attribute1 = p_ps_rec.attribute1,
1204  		 attribute2 = p_ps_rec.attribute2,
1205  		 attribute3 = p_ps_rec.attribute3,
1206  		 attribute4 = p_ps_rec.attribute4,
1207  		 attribute5 = p_ps_rec.attribute5,
1208  		 attribute6 = p_ps_rec.attribute6,
1209  		 attribute7 = p_ps_rec.attribute7,
1210  		 attribute8 = p_ps_rec.attribute8,
1211  		 attribute9 = p_ps_rec.attribute9,
1212  		 attribute10 = p_ps_rec.attribute10,
1213  		 attribute11 = p_ps_rec.attribute11,
1214  		 attribute12 = p_ps_rec.attribute12,
1215  		 attribute13 = p_ps_rec.attribute13,
1216  		 attribute14 = p_ps_rec.attribute14,
1217  		 attribute15 = p_ps_rec.attribute15,
1218  		 request_id = NVL( arp_standard.profile.request_id,
1219 				   p_ps_rec.request_id ),
1220  		 program_application_id =
1221 			NVL( arp_standard.profile.program_application_id,
1222 			     p_ps_rec.program_application_id ),
1223  		 program_id = NVL( arp_standard.profile.program_id,
1224 				   p_ps_rec.program_id ),
1225  		 program_update_date = DECODE( arp_standard.profile.program_id,
1226                                                NULL, NULL,
1227                                                SYSDATE
1228                                               ),
1229  		 dispute_date = p_ps_rec.dispute_date,
1230  		 last_charge_date = p_ps_rec.last_charge_date,
1231  		 second_last_charge_date = p_ps_rec.second_last_charge_date,
1232  		 br_amount_assigned = p_ps_rec.br_amount_assigned,
1233  		 reserved_type = p_ps_rec.reserved_type,
1234  		 reserved_value = p_ps_rec.reserved_value,
1235  		 cons_inv_id = p_ps_rec.cons_inv_id,
1236  		 cons_inv_id_rev = p_ps_rec.cons_inv_id_rev,
1237  		 dunning_level_override_date = p_ps_rec.dunning_level_override_date,
1238  		 exclude_from_dunning_flag = p_ps_rec.exclude_from_dunning_flag,
1239  		 staged_dunning_level = p_ps_rec.staged_dunning_level ,
1240  		 global_attribute_category = p_ps_rec.global_attribute_category,
1241  		 global_attribute1 = p_ps_rec.global_attribute1,
1242  		 global_attribute2 = p_ps_rec.global_attribute2,
1243  		 global_attribute3 = p_ps_rec.global_attribute3,
1244  		 global_attribute4 = p_ps_rec.global_attribute4,
1245  		 global_attribute5 = p_ps_rec.global_attribute5,
1246  		 global_attribute6 = p_ps_rec.global_attribute6,
1247  		 global_attribute7 = p_ps_rec.global_attribute7,
1248  		 global_attribute8 = p_ps_rec.global_attribute8,
1249  		 global_attribute9 = p_ps_rec.global_attribute9,
1250  		 global_attribute10 = p_ps_rec.global_attribute10,
1251  		 global_attribute11 = p_ps_rec.global_attribute11,
1252  		 global_attribute12 = p_ps_rec.global_attribute12,
1253  		 global_attribute13 = p_ps_rec.global_attribute13,
1254  		 global_attribute14 = p_ps_rec.global_attribute14,
1255  		 global_attribute15 = p_ps_rec.global_attribute15,
1256  		 global_attribute16 = p_ps_rec.global_attribute16,
1257  		 global_attribute17 = p_ps_rec.global_attribute17,
1258  		 global_attribute18 = p_ps_rec.global_attribute18,
1259  		 global_attribute19 = p_ps_rec.global_attribute19,
1260  		 global_attribute20 = p_ps_rec.global_attribute20
1261     WHERE payment_schedule_id = p_ps_rec.payment_schedule_id;
1262 
1263    /*---------------------------------+
1264     | Calling central MRC library     |
1265     | for MRC Integration             |
1266     +---------------------------------*/
1267     IF PG_DEBUG in ('Y', 'C') THEN
1268        arp_standard.debug('dump_debug: ' || 'calling mrc engine to process UPDATE to ps');
1269     END IF;
1270 
1271     ar_mrc_engine.maintain_mrc_data(
1272                         p_event_mode => 'UPDATE',
1273                         p_table_name => 'AR_PAYMENT_SCHEDULES',
1274                         p_mode       => 'SINGLE',
1275                         p_key_value  => p_ps_rec.payment_schedule_id);
1276 
1277     IF PG_DEBUG in ('Y', 'C') THEN
1278        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.update_p(2)-' );
1279     END IF;
1280 
1281     EXCEPTION
1282       WHEN  OTHERS THEN
1283         dump_debug(p_ps_rec);
1284 	IF PG_DEBUG in ('Y', 'C') THEN
1285 	   arp_standard.debug('dump_debug: ' || 'EXCEPTION: arp_ps_pkg.update_p(2)' );
1286 	END IF;
1287         RAISE;
1288 END;
1289 --
1290 /*===========================================================================+
1291  | PROCEDURE                                                                 |
1292  |    delete_p                                                               |
1293  |                                                                           |
1294  | DESCRIPTION                                                               |
1295  |    This function deletes a row from AR_PAYMENT_SCHEDULES table            |
1296  |                                                                           |
1297  | SCOPE - PUBLIC                                                            |
1298  |                                                                           |
1299  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1300  |                                                                           |
1301  | ARGUMENTS  : IN:                                                          |
1302  |                  p_ps_id - Payment Schedule Id                            |
1303  |                                                                           |
1304  | RETURNS    : NONE                                                         |
1305  |                                                                           |
1306  | NOTES                                                                     |
1307  |                                                                           |
1308  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1309  | Date         Name            Description                                  |
1310  | ----------   --------------  -------------------------------------------- |
1311  | 04-Feb-2001  Debbie Jancis	Modified for MRC trigger replacement         |
1312  |                                                                           |
1313  +===========================================================================*/
1314 PROCEDURE delete_p(
1315 		p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE ) IS
1316 BEGIN
1317     IF PG_DEBUG in ('Y', 'C') THEN
1318        arp_standard.debug('dump_debug: ' ||  '>>>>>>> arp_ps_pkg.delete_p' );
1319     END IF;
1320     DELETE FROM ar_payment_schedules
1321     WHERE payment_schedule_id = p_ps_id;
1322 
1323    /*---------------------------------+
1324     | Calling central MRC library     |
1325     | for MRC Integration             |
1326     +---------------------------------*/
1327     IF PG_DEBUG in ('Y', 'C') THEN
1328        arp_standard.debug('dump_debug: ' || 'calling mrc engine to process DELETE to ps');
1329     END IF;
1330 
1331     ar_mrc_engine.maintain_mrc_data(
1332                         p_event_mode => 'DELETE',
1333                         p_table_name => 'AR_PAYMENT_SCHEDULES',
1334                         p_mode       => 'SINGLE',
1335                         p_key_value  => p_ps_id);
1336 
1337     --
1338     IF PG_DEBUG in ('Y', 'C') THEN
1339        arp_standard.debug('dump_debug: ' ||  '<<<<<<< arp_ps_pkg.delete_p' );
1340     END IF;
1341     EXCEPTION
1342         WHEN  OTHERS THEN
1343 	    IF PG_DEBUG in ('Y', 'C') THEN
1344 	       arp_standard.debug('dump_debug: ' ||
1345 			'EXCEPTION: arp_ps_pkg.delete_p' );
1346 	    END IF;
1347             RAISE;
1348 END;
1349 --
1350 /*===========================================================================+
1351  | PROCEDURE                                                                 |
1352  |    delete_f_ct_id                                                         |
1353  |                                                                           |
1354  | DESCRIPTION                                                               |
1355  |    This function deletes rows from AR_PAYMENT_SCHEDULES table             |
1356  |    based on the ct_id                                                     |
1357  | SCOPE - PUBLIC                                                            |
1358  |                                                                           |
1359  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1360  |                                                                           |
1361  | ARGUMENTS  : IN:                                                          |
1362  |                  p_ct_id - Customer Trx Id                                |
1363  |                                                                           |
1364  | RETURNS    : NONE                                                         |
1365  |                                                                           |
1366  | NOTES                                                                     |
1367  |                                                                           |
1368  | MODIFICATION HISTORY - Created by OSTEINME - 08/21/97                     |
1369  |                                                                           |
1370  +===========================================================================*/
1371 PROCEDURE delete_f_ct_id(
1372 		p_ct_id IN ra_customer_trx.customer_trx_id%TYPE ) IS
1373     l_ps_key_value_list gl_ca_utility_pkg.r_key_value_arr;
1374 BEGIN
1375     IF PG_DEBUG in ('Y', 'C') THEN
1376        arp_standard.debug('dump_debug: ' ||  '>>>>>>> arp_ps_pkg.delete_f_ct_id' );
1377     END IF;
1378     DELETE FROM ar_payment_schedules
1379     WHERE customer_trx_id = p_ct_id
1380     RETURNING payment_schedule_id
1381     BULK COLLECT INTO l_ps_key_value_list;
1382 
1383     /*---------------------------------+
1384      | Calling central MRC library     |
1385      | for MRC Integration             |
1386      +---------------------------------*/
1387 
1388      IF PG_DEBUG in ('Y', 'C') THEN
1389         arp_standard.debug('dump_debug: ' || 'calling mrc engine for delete of ps');
1390      END IF;
1391      ar_mrc_engine.maintain_mrc_data(
1392                     p_event_mode        => 'DELETE',
1393                     p_table_name        => 'AR_PAYMENT_SCHEDULES',
1394                     p_mode              => 'BATCH',
1395                     p_key_value_list    => l_ps_key_value_list);
1396     --
1397     IF PG_DEBUG in ('Y', 'C') THEN
1398        arp_standard.debug('dump_debug: ' ||  '<<<<<<< arp_ps_pkg.delete_f_ct_id' );
1399     END IF;
1400     EXCEPTION
1401         WHEN  OTHERS THEN
1402 	    IF PG_DEBUG in ('Y', 'C') THEN
1403 	       arp_standard.debug('dump_debug: ' ||
1404 			'EXCEPTION: arp_ps_pkg.delete_f_ct_id' );
1405 	    END IF;
1406             RAISE;
1407 END;
1408 --
1409 /*===========================================================================+
1410  | PROCEDURE                                                                 |
1411  |    fetch_p                                                                |
1412  |                                                                           |
1413  | DESCRIPTION                                                               |
1414  |    This function fetches a row from AR_PAYMENT_SCHEDULES table            |
1415  |                                                                           |
1416  | SCOPE - PUBLIC                                                            |
1417  |                                                                           |
1418  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1419  |                                                                           |
1420  | ARGUMENTS  : IN:                                                          |
1421  |                  p_ps_id - Payment Schedule Id                            |
1422  |              OUT:                                                         |
1423  |                  p_ps_rec - Payment Schedule record structure             |
1424  |                                                                           |
1425  | RETURNS    : NONE                                                         |
1426  |                                                                           |
1427  | NOTES                                                                     |
1428  |                                                                           |
1429  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1430  |                                                                           |
1431  +===========================================================================*/
1432 PROCEDURE fetch_p( p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE,
1433                    p_ps_rec OUT NOCOPY ar_payment_schedules%ROWTYPE ) IS
1434 BEGIN
1435     IF PG_DEBUG in ('Y', 'C') THEN
1436        arp_standard.debug('dump_debug: ' ||  '>>>>>>> arp_ps_pkg.fetch_p' );
1437     END IF;
1438     --
1439     SELECT *
1440     INTO   p_ps_rec
1441     FROM   ar_payment_schedules
1442     WHERE  payment_schedule_id = p_ps_id;
1443     --
1444     IF PG_DEBUG in ('Y', 'C') THEN
1445        arp_standard.debug('dump_debug: ' ||  '<<<<<<< arp_ps_pkg.fetch_p' );
1446     END IF;
1447     EXCEPTION
1448         WHEN OTHERS THEN
1449 	    IF PG_DEBUG in ('Y', 'C') THEN
1450 	       arp_standard.debug('dump_debug: ' ||
1451 			'EXCEPTION: arp_ps_pkg.fetch_p' );
1452 	    END IF;
1453       RAISE;
1454 END;
1455 --
1456 /*===========================================================================+
1457  | PROCEDURE                                                                 |
1458  |    fetch_fk_cr_id                                                         |
1459  |                                                                           |
1460  | DESCRIPTION                                                               |
1461  |    This function fetches a row from AR_PAYMENT_SCHEDULES table            |
1462  |    using cash receipt id                                                  |
1463  |                                                                           |
1464  | SCOPE - PUBLIC                                                            |
1465  |                                                                           |
1466  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1467  |                                                                           |
1468  | ARGUMENTS  : IN:                                                          |
1469  |                  p_cr_id -  cash receipt id                               |
1470  |              OUT:                                                         |
1471  |                  p_ps_rec - Payment Schedule record structure             |
1472  |                                                                           |
1473  | RETURNS    : NONE                                                         |
1474  |                                                                           |
1475  | NOTES                                                                     |
1476  |                                                                           |
1477  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1478  |                                                                           |
1479  +===========================================================================*/
1480 PROCEDURE fetch_fk_cr_id( p_cr_id IN ar_cash_receipts.cash_receipt_id%TYPE,
1481                           p_ps_rec OUT NOCOPY ar_payment_schedules%ROWTYPE ) IS
1482 BEGIN
1483     IF PG_DEBUG in ('Y', 'C') THEN
1484        arp_standard.debug('dump_debug: ' ||  '>>>>>>> arp_ps_pkg.fetch_p' );
1485     END IF;
1486     --
1487     SELECT *
1488     INTO   p_ps_rec
1489     FROM   ar_payment_schedules
1490     WHERE  cash_receipt_id = p_cr_id;
1491     --
1492     IF PG_DEBUG in ('Y', 'C') THEN
1493        arp_standard.debug('dump_debug: ' ||  '<<<<<<< arp_ps_pkg.fetch_p' );
1494     END IF;
1495     EXCEPTION
1496         WHEN OTHERS THEN
1497 	    IF PG_DEBUG in ('Y', 'C') THEN
1498 	       arp_standard.debug('dump_debug: ' ||
1499 			'EXCEPTION: arp_ps_pkg.fetch_p' );
1500 	    END IF;
1501       RAISE;
1502 END;
1503 
1504 /*===========================================================================+
1505  | PROCEDURE                                                                 |
1506  |    lock_p                                                                 |
1507  |                                                                           |
1508  | DESCRIPTION                                                               |
1509  |    This function locks a row in AR_PAYMENT_SCHEDULES table                |
1510  |                                                                           |
1511  | SCOPE - PUBLIC                                                            |
1512  |                                                                           |
1513  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1514  |                                                                           |
1515  | ARGUMENTS  : IN:                                                          |
1516  |                  p_ps_id - Payment Schedule Id                            |
1517  |                                                                           |
1518  | RETURNS    : NONE                                                         |
1519  |                                                                           |
1520  | NOTES                                                                     |
1521  |                                                                           |
1522  | MODIFICATION HISTORY - Created by Ganesh Vaidee - 04/25/95                |
1523  |                                                                           |
1524  |  20-JAN-98  Neeraj Tandon  Added exception WHEN NO_DATA_FOUND and also    |
1525  |                            added calls to FND_MESSAGE.Set_Name and        |
1526  |                            APP_EXCEPTION.Raise_Exception in both the      |
1527  |                            EXCEPTIONS. Bug Fix : 611600                   |
1528  |  06-FEB-98  Neeraj Tandon  Reverted back the changes made in the last fix.|
1529  |                            Adding these changes caused Adjustment Form    |
1530  |                            (ARXTWADJ) to behave indifferently.            |
1531  |                                                                           |
1532  +===========================================================================*/
1533 PROCEDURE lock_p( p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE ) IS
1534 l_ps_id		ar_payment_schedules.payment_schedule_id%TYPE;
1535 BEGIN
1536     IF PG_DEBUG in ('Y', 'C') THEN
1537        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.lock_p()+' );
1538     END IF;
1539 
1540     SELECT ps.payment_schedule_id
1541     INTO   l_ps_id
1542     FROM  ar_payment_schedules ps
1543     WHERE ps.payment_schedule_id = p_ps_id
1544     FOR UPDATE OF PS.STATUS NOWAIT;
1545 
1546     IF PG_DEBUG in ('Y', 'C') THEN
1547        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.lock_p()-' );
1548     END IF;
1549     EXCEPTION
1550 
1551         WHEN  OTHERS THEN
1552 	  IF PG_DEBUG in ('Y', 'C') THEN
1553 	     arp_standard.debug('dump_debug: ' ||  'EXCEPTION: arp_ps_pkg.lock_p' );
1554 	  END IF;
1555           raise;
1556 END;
1557 
1558 
1559 
1560 /*===========================================================================+
1561  | PROCEDURE                                                                 |
1562  |    lock_f_ct_id							     |
1563  |                                                                           |
1564  | DESCRIPTION                                                               |
1565  |    This procedure locks the ar_payment_schedules rows identified by 	     |
1566  |    p_customer_trx_id parameter.					     |
1567  |                                                                           |
1568  | SCOPE - PUBLIC                                                            |
1569  |                                                                           |
1570  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED                                   |
1571  |    arp_util.debug                                                         |
1572  |                                                                           |
1573  | ARGUMENTS  : IN:                                                          |
1574  |                  p_customer_trx_id 	- identifies the rows to lock	     |
1575  |              OUT:                                                         |
1576  |                  None						     |
1577  |                                                                           |
1578  | RETURNS    : NONE                                                         |
1579  |                                                                           |
1580  | NOTES                                                                     |
1581  |                                                                           |
1582  | MODIFICATION HISTORY                                                      |
1583  |     08-JUL-96  Charlie Tomberg     Created                                |
1584  |                                                                           |
1585  +===========================================================================*/
1586 
1587 PROCEDURE lock_f_ct_id( p_customer_trx_id
1588                            IN ra_customer_trx.customer_trx_id%type )
1589           IS
1590 
1591     CURSOR LOCK_C IS
1592     SELECT        payment_schedule_id
1593     FROM          ar_payment_schedules
1594     WHERE         customer_trx_id = p_customer_trx_id
1595     FOR UPDATE OF payment_schedule_id NOWAIT;
1596 
1597 
1598 BEGIN
1599     IF PG_DEBUG in ('Y', 'C') THEN
1600        arp_util.debug('dump_debug: ' || 'arp_ps_pkg.lock_f_ct_id()+');
1601     END IF;
1602 
1603     OPEN lock_c;
1604     CLOSE lock_c;
1605 
1606     IF PG_DEBUG in ('Y', 'C') THEN
1607        arp_util.debug('dump_debug: ' || 'arp_ps_pkg.lock_f_ct_id()-');
1608     END IF;
1609 
1610     EXCEPTION
1611         WHEN  OTHERS THEN
1612 	    IF PG_DEBUG in ('Y', 'C') THEN
1613 	       arp_util.debug('dump_debug: ' ||  'EXCEPTION: arp_ps_pkg.lock_f_ct_id' );
1614 	    END IF;
1615             RAISE;  /* Bug-3874863 */
1616 END;
1617 
1618 /*===========================================================================+
1619  | PROCEDURE                                                                 |
1620  |	NOWAITLOCK_P
1621  |                                                                           |
1622  | DESCRIPTION                                                               |
1623  |	This function locks a row in AR_PAYMENT_SCHEDULES table.
1624  |	If the row is already locked, return normal ORA-00054 error to
1625  |	indicate that row was already locked.
1626  |                                                                           |
1627  | SCOPE - PUBLIC                                                            |
1628  |                                                                           |
1629  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED - NONE                            |
1630  |                                                                           |
1631  | ARGUMENTS  : IN:                                                          |
1632  |                  p_ps_id - Payment Schedule Id                            |
1633  |                                                                           |
1634  | RETURNS    : NONE                                                         |
1635  |                                                                           |
1636  | NOTES                                                                     |
1637  |                                                                           |
1638  | MODIFICATION HISTORY
1639  | 1/26/1996	Harri Kaukovuo		Created
1640  +===========================================================================*/
1641 PROCEDURE nowaitlock_p(
1642 	p_ps_id IN ar_payment_schedules.payment_schedule_id%TYPE ) IS
1643 l_ps_id		ar_payment_schedules.payment_schedule_id%TYPE;
1644 BEGIN
1645     IF PG_DEBUG in ('Y', 'C') THEN
1646        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.nowaitlock_p()+' );
1647        arp_standard.debug('dump_debug: ' ||  '-- Locking using payment_schedule_id = '||
1648 	TO_CHAR(p_ps_id));
1649     END IF;
1650 
1651     /*----Bug 4923947 -----*/
1652    IF arp_view_constants.get_ps_selected_in_batch = 'Y' THEN
1653 
1654       SELECT ps.payment_schedule_id
1655       INTO   l_ps_id
1656       FROM  ar_payment_schedules ps
1657       WHERE ps.payment_schedule_id = p_ps_id
1658       FOR UPDATE OF PS.STATUS NOWAIT;
1659 
1660     ELSE
1661 
1662       SELECT ps.payment_schedule_id
1663       INTO   l_ps_id
1664       FROM  ar_payment_schedules ps
1665       WHERE ps.payment_schedule_id = p_ps_id
1666       AND ps.selected_for_receipt_batch_id IS NULL /* Bug fix 3264536 */
1667       FOR UPDATE OF PS.STATUS NOWAIT;
1668 
1669     END IF;
1670 
1671 
1672     IF PG_DEBUG in ('Y', 'C') THEN
1673        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.nowaitlock_p()-' );
1674     END IF;
1675     EXCEPTION
1676         WHEN  OTHERS THEN
1677 	    IF PG_DEBUG in ('Y', 'C') THEN
1678 	       arp_standard.debug('dump_debug: ' ||
1679 			'EXCEPTION: arp_ps_pkg.nowaitlock_p' );
1680 	    END IF;
1681             RAISE;
1682 END nowaitlock_p;
1683 
1684 
1685 /*===========================================================================+
1686  | PROCEDURE                                                                 |
1687  |      NOWAITLOCK_COMPARE_P
1688  |                                                                           |
1689  | DESCRIPTION                                                               |
1690  |      This function locks a row in AR_PAYMENT_SCHEDULES table.
1691  |      If the row is already locked, return normal ORA-00054 error to
1692  |      indicate that row was already locked.
1693  |	This procedure will check also that amount_due_remaining is
1694  |	not changed.
1695  |                                                                           |
1696  | SCOPE - PUBLIC                                                            |
1697  |                                                                           |
1698  | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1699  |	 NONE
1700  |                                                                           |
1701  | ARGUMENTS  : IN:                                                          |
1702  |              p_ps_id 		Payment Schedule Id
1703  |		p_amount_due_remaining	Amount due remaining
1704  |                                                                           |
1705  | RETURNS    : NONE                                                         |
1706  |                                                                           |
1707  | NOTES                                                                     |
1708  |                                                                           |
1709  | MODIFICATION HISTORY
1710  | 5/17/1996    Harri Kaukovuo          Created
1711  +===========================================================================*/
1712 PROCEDURE nowaitlock_compare_p(
1713           p_ps_id 			IN NUMBER
1714 	, p_amount_due_remaining	IN NUMBER) IS
1715 l_ps_id        NUMBER;
1716 BEGIN
1717     IF PG_DEBUG in ('Y', 'C') THEN
1718        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.nowaitlock_compare_p()+' );
1719        arp_standard.debug('p_ps_id:'||to_char(p_ps_id) );
1720        arp_standard.debug('p_amount_due_remaining:'||to_char(p_amount_due_remaining) );
1721 
1722     END IF;
1723 
1724     SELECT ps.payment_schedule_id
1725     INTO   l_ps_id
1726     FROM  ar_payment_schedules ps
1727     WHERE       ps.payment_schedule_id  = p_ps_id
1728     AND         ps.amount_due_remaining = decode(ps.class,'PMT',ps.amount_due_remaining,p_amount_due_remaining)
1729     FOR UPDATE OF PS.amount_due_remaining NOWAIT;
1730 
1731     IF PG_DEBUG in ('Y', 'C') THEN
1732        arp_standard.debug('dump_debug: ' ||  'arp_ps_pkg.nowaitlock_compare_p()-' );
1733     END IF;
1734 
1735     EXCEPTION
1736 	WHEN NO_DATA_FOUND THEN
1737 	  -- This is the case when row was changed
1738           FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1739 	  APP_EXCEPTION.Raise_Exception;
1740 
1741         WHEN  OTHERS THEN
1742             IF PG_DEBUG in ('Y', 'C') THEN
1743                arp_standard.debug('dump_debug: ' ||
1744                         'EXCEPTION: arp_ps_pkg.nowaitlock_cmopare_p' );
1745 	       arp_standard.debug('dump_debug: ' ||  '-- payment_schedule_id = '||
1746 	        TO_CHAR(p_ps_id));
1747 	       arp_standard.debug('dump_debug: ' ||  '-- amount_due_remaining = '||
1748 	        TO_CHAR(p_amount_due_remaining));
1749 	    END IF;
1750 
1751             RAISE;
1752 END nowaitlock_compare_p;
1753 
1754 
1755 
1756 PROCEDURE dump_debug (
1757 p_ps_rec        IN ar_payment_schedules%ROWTYPE)
1758 IS
1759 BEGIN
1760     IF PG_DEBUG in ('Y', 'C') THEN
1761        arp_standard.debug ('dump_debug: ' || '-- DUMP OF PARAMETER VALUES:');
1762        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.acctd_amount_due_remaining = '||
1763 	TO_CHAR(p_ps_rec.acctd_amount_due_remaining));
1764        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_due_original = '||
1765 	TO_CHAR(p_ps_rec.amount_due_original));
1766        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_due_remaining = '||
1767 	TO_CHAR(p_ps_rec.amount_due_remaining));
1768        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.class = '||
1769 	p_ps_rec.class);
1770        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.due_date = '||
1771 	TO_CHAR(p_ps_rec.due_date));
1772        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.gl_date = '||
1773 	TO_CHAR(p_ps_rec.gl_date));
1774        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.invoice_currency_code = '||
1775 	p_ps_rec.invoice_currency_code);
1776        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.number_of_due_dates = '||
1777 	TO_CHAR(p_ps_rec.number_of_due_dates));
1778        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.status = '||
1779 	p_ps_rec.status);
1780        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.actual_date_closed = '||
1781 	TO_CHAR(p_ps_rec.actual_date_closed));
1782        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.adjustment_amount_last = '||
1783 	TO_CHAR(p_ps_rec.adjustment_amount_last));
1784        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.adjustment_date_last = '||
1785 	TO_CHAR(p_ps_rec.adjustment_date_last));
1786        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.adjustment_gl_date_last = '||
1787 	TO_CHAR(p_ps_rec.adjustment_gl_date_last));
1788        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.adjustment_id_last = '||
1789 	TO_CHAR(p_ps_rec.adjustment_id_last));
1790        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_adjusted = '||
1791 	TO_CHAR(p_ps_rec.amount_adjusted));
1792        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_adjusted_pending = '||
1793 	TO_CHAR(p_ps_rec.amount_adjusted_pending));
1794        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_applied = '||
1795 	TO_CHAR(p_ps_rec.amount_applied));
1796        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_credited = '||
1797 	TO_CHAR(p_ps_rec.amount_credited));
1798        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_in_dispute = '||
1799 	TO_CHAR(p_ps_rec.amount_in_dispute));
1800        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_line_items_original = '||
1801 	TO_CHAR(p_ps_rec.amount_line_items_original));
1802        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.amount_line_items_remaining = '||
1803 	TO_CHAR(p_ps_rec.amount_line_items_remaining));
1804        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.associated_cash_receipt_id = '||
1805 	TO_CHAR(p_ps_rec.associated_cash_receipt_id));
1806        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.call_date_last = '||
1807 	TO_CHAR(p_ps_rec.call_date_last));
1808        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_applied_amount_last = '||
1809 	TO_CHAR(p_ps_rec.cash_applied_amount_last));
1810        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_applied_date_last = '||
1811 	TO_CHAR(p_ps_rec.cash_applied_date_last));
1812        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_applied_id_last = '||
1813 	TO_CHAR(p_ps_rec.cash_applied_id_last));
1814        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_applied_status_last = '||
1815 	p_ps_rec.cash_applied_status_last);
1816        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_gl_date_last = '||
1817 	TO_CHAR(p_ps_rec.cash_gl_date_last));
1818        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_receipt_amount_last = '||
1819 	TO_CHAR(p_ps_rec.cash_receipt_amount_last));
1820        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_receipt_date_last = '||
1821 	TO_CHAR(p_ps_rec.cash_receipt_date_last));
1822        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_receipt_id = '||
1823 	TO_CHAR(p_ps_rec.cash_receipt_id));
1824        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_receipt_id_last = '||
1825 	TO_CHAR(p_ps_rec.cash_receipt_id_last));
1826        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cash_receipt_status_last = '||
1827 	p_ps_rec.cash_receipt_status_last);
1828        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.collector_last = '||
1829 	TO_CHAR(p_ps_rec.collector_last));
1830        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.customer_id = '||
1831 	TO_CHAR(p_ps_rec.customer_id));
1832        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.customer_site_use_id = '||
1833 	TO_CHAR(p_ps_rec.customer_site_use_id));
1834        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.customer_trx_id = '||
1835 	TO_CHAR(p_ps_rec.customer_trx_id));
1836        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cust_trx_type_id = '||
1837 	TO_CHAR(p_ps_rec.cust_trx_type_id));
1838        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.discount_date = '||
1839 	TO_CHAR(p_ps_rec.discount_date));
1840        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.discount_original = '||
1841 	TO_CHAR(p_ps_rec.discount_original));
1842        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.discount_remaining = '||
1843 	TO_CHAR(p_ps_rec.discount_remaining));
1844        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.discount_taken_earned = '||
1845 	TO_CHAR(p_ps_rec.discount_taken_earned));
1846        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.discount_taken_unearned = '||
1847 	TO_CHAR(p_ps_rec.discount_taken_unearned));
1848        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.exchange_date = '||
1849 	TO_CHAR(p_ps_rec.exchange_date));
1850        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.exchange_rate = '||
1851 	TO_CHAR(p_ps_rec.exchange_rate));
1852        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.exchange_rate_type = '||
1853 	p_ps_rec.exchange_rate_type);
1854        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.follow_up_code_last = '||
1855 	p_ps_rec.follow_up_code_last);
1856        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.follow_up_date_last = '||
1857 	TO_CHAR(p_ps_rec.follow_up_date_last));
1858        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.freight_original = '||
1859 	TO_CHAR(p_ps_rec.freight_original));
1860        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.freight_remaining = '||
1861 	TO_CHAR(p_ps_rec.freight_remaining));
1862        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.gl_date_closed = '||
1863 	TO_CHAR(p_ps_rec.gl_date_closed));
1864        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.in_collection = '||
1865 	p_ps_rec.in_collection);
1866        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.promise_amount_last = '||
1867 	TO_CHAR(p_ps_rec.promise_amount_last));
1868        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.promise_date_last = '||
1869 	TO_CHAR(p_ps_rec.promise_date_last));
1870        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.receipt_confirmed_flag = '||
1871 	p_ps_rec.receipt_confirmed_flag);
1872        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.receivables_charges_charged = '||
1873 	TO_CHAR(p_ps_rec.receivables_charges_charged));
1874        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.receivables_charges_remaining = '||
1875 	TO_CHAR(p_ps_rec.receivables_charges_remaining));
1876        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.reversed_cash_receipt_id = '||
1877 	TO_CHAR(p_ps_rec.reversed_cash_receipt_id));
1878        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.selected_for_receipt_batch_id = '||
1879 	TO_CHAR(p_ps_rec.selected_for_receipt_batch_id));
1880        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.tax_original = '||
1881 	TO_CHAR(p_ps_rec.tax_original));
1882        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.tax_remaining = '||
1883 	TO_CHAR(p_ps_rec.tax_remaining));
1884        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.terms_sequence_number = '||
1885 	TO_CHAR(p_ps_rec.terms_sequence_number));
1886        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.term_id = '||
1887 	TO_CHAR(p_ps_rec.term_id));
1888        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.trx_date = '||
1889 	TO_CHAR(p_ps_rec.trx_date));
1890        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.trx_number = '||
1891 	p_ps_rec.trx_number);
1892        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute_category = '||
1893 	p_ps_rec.attribute_category);
1894        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute1 = '||
1895 	p_ps_rec.attribute1);
1896        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute2 = '||
1897 	p_ps_rec.attribute2);
1898        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute3 = '||
1899 	p_ps_rec.attribute3);
1900        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute4 = '||
1901 	p_ps_rec.attribute4);
1902        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute5 = '||
1903 	p_ps_rec.attribute5);
1904        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute6 = '||
1905 	p_ps_rec.attribute6);
1906        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute7 = '||
1907 	p_ps_rec.attribute7);
1908        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute8 = '||
1909 	p_ps_rec.attribute8);
1910        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute9 = '||
1911 	p_ps_rec.attribute9);
1912        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute10 = '||
1913 	p_ps_rec.attribute10);
1914        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute11 = '||
1915 	p_ps_rec.attribute11);
1916        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute12 = '||
1917 	p_ps_rec.attribute12);
1918        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute13 = '||
1919 	p_ps_rec.attribute13);
1920        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute14 = '||
1921 	p_ps_rec.attribute14);
1922        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.attribute15 = '||
1923 	p_ps_rec.attribute15);
1924        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.dispute_date = '||
1925 	TO_CHAR(p_ps_rec.dispute_date));
1926        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.last_charge_date = '||
1927 	TO_CHAR(p_ps_rec.last_charge_date));
1928        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.second_last_charge_date = '||
1929 	TO_CHAR(p_ps_rec.second_last_charge_date));
1930        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.br_amount_assigned = '||
1931 	TO_CHAR(p_ps_rec.br_amount_assigned));
1932        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.reserved_type = '||
1933 	p_ps_rec.reserved_type);
1934        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.reserved_value = '||
1935 	TO_CHAR(p_ps_rec.reserved_value));
1936        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cons_inv_id = '||
1937 	TO_CHAR(p_ps_rec.cons_inv_id));
1938        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.cons_inv_id_rev = '||
1939 	TO_CHAR(p_ps_rec.cons_inv_id_rev));
1940        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.dunning_level_override_date = '||
1941 	TO_CHAR(p_ps_rec.dunning_level_override_date));
1942        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.exclude_from_dunning_flag = '||
1943 	p_ps_rec.exclude_from_dunning_flag);
1944        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.staged_dunning_level = '||
1945 	TO_CHAR(p_ps_rec.staged_dunning_level));
1946        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute_category = '||
1947 	p_ps_rec.global_attribute_category);
1948        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute1 = '||
1949 	p_ps_rec.global_attribute1);
1950        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute2 = '||
1951 	p_ps_rec.global_attribute2);
1952        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute3 = '||
1953 	p_ps_rec.global_attribute3);
1954        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute4 = '||
1955 	p_ps_rec.global_attribute4);
1956        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute5 = '||
1957 	p_ps_rec.global_attribute5);
1958        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute6 = '||
1959 	p_ps_rec.global_attribute6);
1960        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute7 = '||
1961 	p_ps_rec.global_attribute7);
1962        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute8 = '||
1963 	p_ps_rec.global_attribute8);
1964        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute9 = '||
1965 	p_ps_rec.global_attribute9);
1966        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute10 = '||
1967 	p_ps_rec.global_attribute10);
1968        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute11 = '||
1969 	p_ps_rec.global_attribute11);
1970        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute12 = '||
1971 	p_ps_rec.global_attribute12);
1972        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute13 = '||
1973 	p_ps_rec.global_attribute13);
1974        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute14 = '||
1975 	p_ps_rec.global_attribute14);
1976        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute15 = '||
1977 	p_ps_rec.global_attribute15);
1978        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute16 = '||
1979 	p_ps_rec.global_attribute16);
1980        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute17 = '||
1981 	p_ps_rec.global_attribute17);
1982        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute18 = '||
1983 	p_ps_rec.global_attribute18);
1984        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute19 = '||
1985 	p_ps_rec.global_attribute19);
1986        arp_standard.debug ('dump_debug: ' || '-- p_ps_rec.global_attribute20 = '||
1987 	p_ps_rec.global_attribute20);
1988     END IF;
1989 
1990 END dump_debug;
1991 
1992 BEGIN
1993   pg_request_id             :=  arp_global.request_id;
1994   pg_program_application_id :=  arp_global.program_application_id;
1995   pg_program_id             :=  arp_global.program_id;
1996   pg_program_update_date    :=  arp_global.program_update_date;
1997   pg_last_updated_by        :=  arp_global.last_updated_by;
1998   pg_last_update_date       :=  arp_global.last_update_date;
1999   pg_last_update_login      :=  arp_global.last_update_login;
2000   pg_set_of_books_id        :=  arp_global.set_of_books_id;
2001 END  ARP_PS_PKG;