DBA Data[Home] [Help]

PACKAGE: APPS.AR_IREC_PAYMENTS

Source


1 PACKAGE AR_IREC_PAYMENTS AS
2 /* $Header: ARIRPMTS.pls 120.19.12010000.2 2008/11/07 14:03:29 avepati ship $ */
3 
4 /*=======================================================================+
5  |  Declare PUBLIC Data Types and Variables
6  +=======================================================================*/
7     temp_variable1 VARCHAR2(10);
8 
9 /*=======================================================================+
10  |  Declare PUBLIC Exceptions
11  +=======================================================================*/
12     temp_exception EXCEPTION;
13 
14 /*========================================================================
15  | PUBLIC function get_credit_card_type
16  |
17  | DESCRIPTION
18  |      Determines if a given credit card is valid.
19  |      ----------------------------------------
20  |
21  | PSEUDO CODE/LOGIC
22  |      This function uses arp_bank_pkg.val_credit_card function.
23  |      This is essentially a cover for that function right now, and is
24  |      designed to isolate iReceivables from future AR/CE API changes.
25  |
26  | PARAMETERS
27  |      credit_card_number   IN      Credit card number --
28  |                                   without white spaces
29  |
30  | RETURNS
31  |      TRUE  if credit card number is valid
32  |      FALSE if credit card number is invalid
33  |
34  | KNOWN ISSUES
35  |
36  |
37  |
38  | NOTES
39  |
40  |
41  |
42  | MODIFICATION HISTORY
43  | Date                  Author            Description of Changes
44  | 23-JAN-2001           O Steinmeier      Created
45  |
46  *=======================================================================*/
47 FUNCTION is_credit_card_number_valid(  p_credit_card_number IN  VARCHAR2 )
48          RETURN NUMBER;
49 
50 FUNCTION get_pymt_amnt_due_remaining(  p_cash_receipt_id IN NUMBER) RETURN NUMBER;
51 
52 /*========================================================================
53  | PUBLIC function get_credit_card_type
54  |
55  | DESCRIPTION
56  |      Determines for a given credit card number the credit card type.
57  |      ----------------------------------------
58  |
59  | PSEUDO CODE/LOGIC
60  |
61  | PARAMETERS
62  |      creditcard_number   IN      Creditcard number
63  |
64  | RETURNS
65  |      credit_card type (based on lookup type  AR_IREC_CREDIT_CARD_TYPE
66  |
67  | KNOWN ISSUES
68  |
69  |
70  |
71  | NOTES
72  |
73  |
74  |
75  | MODIFICATION HISTORY
76  | Date                  Author            Description of Changes
77  | 22-JAN-2001           O Steinmeier      Created
78  |
79  *=======================================================================*/
80 FUNCTION get_credit_card_type(  p_credit_card_number IN  VARCHAR2 )
81          RETURN VARCHAR2;
82 PRAGMA RESTRICT_REFERENCES (get_credit_card_type, WNDS);
83 
84 /*========================================================================
85  | PUBLIC function allow_payment
86  |
87  | DESCRIPTION
88  |      Determines if payment schedule can be paid:
89  |
90  |   It will return TRUE if
91  |
92  |   - payment button is enabled via function security
93  |     (need to define function)
94  |   - the remaining balance of the payment schedule is > 0
95  |   - a payment method has been defined in AR_SYSTEM_PARAMETERS
96  |     for credit card payments
97  |
98  |   Use this function to enable or disable the "Pay" button on
99  |   the invoice and invoice activities pages.
100  |
101  |
102  |      ----------------------------------------
103  |
104  | PSEUDO CODE/LOGIC
105  |
106  | PARAMETERS
107  |
108  |      p_payment_schedule_id     Payment Schedule to be paid
109  |
110  |      Return Value: 0 if payment is not allowed,
111  |                    1 if payment is allowed.
112  |
113  | KNOWN ISSUES
114  |
115  |
116  |
117  | NOTES
118  |
119  |
120  |
121  | MODIFICATION HISTORY
122  | Date                  Author            Description of Changes
123  | 13-FEB-2001           O Steinmeier      Created
124  |
125  *=======================================================================*/
126 
127 FUNCTION payment_allowed(p_payment_schedule_id IN NUMBER,p_customer_id IN NUMBER , p_customer_site_id IN NUMBER ) RETURN NUMBER;
128 
129 
130 -- deprecated function: BOOLEAN cannot be used in SQL statements
131 
132 FUNCTION allow_payment(p_payment_schedule_id IN NUMBER,p_customer_id IN NUMBER , p_customer_site_id IN NUMBER) RETURN BOOLEAN;
133 
134 /*========================================================================
135  | PUBLIC procedure get_default_payment_instrument
136  |
137  | DESCRIPTION
138  |      Return payment instrument information if one can be defaulted for the user
139  |      ----------------------------------------
140  |
141  | PSEUDO CODE/LOGIC
142  |
143  | PARAMETERS
144  |      customer_id IN Customer Id to which credit cards are releated to
145  |
146  | RETURNS
147  |      p_bank_account_num_masked Masked credit card number
148  |      p_credit_card_type        Type of the credit card
149  |      p_expiry_month            Credit card expiry month
150  |      p_expiry_year             Credit card expiry year
151  |      p_credit_card_expired     '1' if credit card has expired, '0' otherwise
152  |
153  | KNOWN ISSUES
154  |
155  |
156  |
157  | NOTES
158  |
159  |
160  |
161  | MODIFICATION HISTORY
162  | Date                  Author            Description of Changes
163  | 22-JAN-2001           J Rautiainen      Created
164  | 20-May-2004		hikumar		   Added Currency Parameter
165  | 04-Jan-2005          vnb                Bug 3928412 - RA_CUSTOMERS obsolete;removed reference to it
166  *=======================================================================*/
167 
168 PROCEDURE get_default_payment_instrument(p_customer_id             IN  NUMBER,
169                                          p_customer_site_use_id    IN  NUMBER DEFAULT NULL,
170                                          p_currency_code	   IN	      VARCHAR2,
171 					 p_bank_account_num_masked OUT NOCOPY VARCHAR2,
172                                          p_account_type            OUT NOCOPY VARCHAR2,
173                                          p_expiry_month            OUT NOCOPY VARCHAR2,
174                                          p_expiry_year             OUT NOCOPY VARCHAR2,
175                                          p_credit_card_expired     OUT NOCOPY VARCHAR2,
176                                          p_bank_account_id         OUT NOCOPY ce_bank_accounts.bank_account_id%TYPE,
177                                          p_bank_branch_id          OUT NOCOPY ce_bank_accounts.bank_branch_id%TYPE,
178                                          p_account_holder          OUT NOCOPY VARCHAR2,
179                                          p_card_brand		   OUT NOCOPY VARCHAR2,
180                                          p_cvv_code		   OUT NOCOPY VARCHAR2,
181                                          p_conc_address		   OUT NOCOPY VARCHAR2,
182                                          p_cc_bill_site_id	   OUT NOCOPY NUMBER,
183                                          p_instr_assignment_id	   OUT NOCOPY NUMBER,
184                                          p_bank_party_id	   OUT NOCOPY NUMBER,
185                                          p_branch_party_id	   OUT NOCOPY NUMBER,
186                                          p_object_version_no	   OUT NOCOPY NUMBER);
187 
188 /*========================================================================
189  | PUBLIC procedure update_expiration_date
190  |
191  | DESCRIPTION
192  |      Updates credit card expiration date
193  |      ----------------------------------------
194  |
195  | PSEUDO CODE/LOGIC
196  |
197  | PARAMETERS
198  |
199  |      p_bank_account_id         Credit Card bank account id
200  |      p_expiration_date	  New expiration date
201  |
202  | KNOWN ISSUES
203  |
204  |
205  |
206  | NOTES
207  |
208  |
209  |
210  | MODIFICATION HISTORY
211  | Date                  Author            Description of Changes
212  | 10-FEB-2001           O Steinmeier      Created
213  |
214  *=======================================================================*/
215 PROCEDURE update_expiration_date(p_bank_account_id     IN NUMBER,
216                                   p_expiration_date     IN DATE,
217                                   p_payment_instrument  IN VARCHAR2,
218                                   p_branch_id			IN iby_ext_bank_accounts.BRANCH_ID%TYPE,
219                                   p_bank_id			    IN iby_ext_bank_accounts.BANK_ID%TYPE,
220                                   p_bank_account_num	IN iby_ext_bank_accounts.BANK_ACCOUNT_NUM%TYPE,
221                                   p_currency			IN iby_ext_bank_accounts.CURRENCY_CODE%TYPE,
222                                   p_object_version_number IN iby_ext_bank_accounts.OBJECT_VERSION_NUMBER%TYPE,
223                                   x_return_status       OUT NOCOPY VARCHAR,
224 				  x_msg_count           OUT NOCOPY NUMBER,
225 				  x_msg_data            OUT NOCOPY VARCHAR2);
226 
227 
228 /*========================================================================
229  | PUBLIC function is_credit_card_expired
230  |
231  | DESCRIPTION
232  |      Checks whether credit card has expired
233  |      ----------------------------------------
234  |
235  | PSEUDO CODE/LOGIC
236  |
237  | PARAMETERS
238  |      p_expiration_date  IN DATE
239  |
240  | RETURNS
241  |      1     if credit card has expired
242  |      0     if credit card has not expired
243  |
244  | KNOWN ISSUES
245  |
246  | NOTES
247  |
248  | MODIFICATION HISTORY
249  | Date                  Author            Description of Changes
250  | 21-Feb-2001           Jani Rautiainen   Created
251  |
252  *=======================================================================*/
253 FUNCTION is_credit_card_expired(  p_expiration_date IN  DATE )
254          RETURN NUMBER;
255 PRAGMA RESTRICT_REFERENCES (is_credit_card_expired, WNDS);
256 
257 /*========================================================================
258  | PUBLIC procedure store_last_used_ba
259  |
260  | DESCRIPTION
261  |      Stores the last used bank account
262  |
263  | PSEUDO CODE/LOGIC
264  |
265  | PARAMETERS
266  |      p_customer_id      IN  NUMBER
267  |      p_bank_account_id  IN  NUMBER
268  |	p_instr_type	   IN  VARCHAR2 DEFAULT 'BA'
269  | RETURNS
270  |      p_status	   OUT NOCOPY varchar2
271  |
272  | KNOWN ISSUES
273  |
274  | NOTES
275  |
276  | MODIFICATION HISTORY
277  | Date                  Author            Description of Changes
278  | 09-May-2001           J Rautiainen      Created
279  |
280  *=======================================================================*/
281 PROCEDURE store_last_used_ba(p_customer_id     IN  NUMBER,
282                              p_bank_account_id IN  NUMBER,
283                              p_instr_type      IN  VARCHAR2 := 'BA',
284                              p_status          OUT NOCOPY varchar2);
285 
286 /*========================================================================
287  | PUBLIC function is_bank_account_duplicate
288  |
289  | DESCRIPTION
290  |      Checks whether given bank account number already exists
291  |
292  | PSEUDO CODE/LOGIC
293  |
294  | PARAMETERS
295  |      p_bank_account_number IN  VARCHAR2
296  |      p_routing_number      IN  VARCHAR2
297  |      p_account_holder_name  IN VARCHAR2
298  |
299  | RETURNS
300  |      Return Value: 0 if given bank account number does not exist.
301  |                    1 if given bank account number already exists.
302  |
303  | KNOWN ISSUES
304  |
305  | NOTES
306  |
307  | MODIFICATION HISTORY
308  | Date                  Author            Description of Changes
309  | 01-Aug-2001           J Rautiainen      Created
310  |
311  | 15-Apr-2002            AMMISHRA         Bug:2210677, passed account
312  |                                         holder name as a parameter.
313  *=======================================================================*/
314 FUNCTION is_bank_account_duplicate(p_bank_account_number IN  VARCHAR2,
315                                    p_routing_number      IN  VARCHAR2 DEFAULT NULL,
316                                     p_account_holder_name  IN VARCHAR2) RETURN NUMBER;
317 
318 /*========================================================================
319  | PUBLIC function is_credit_card_duplicate
320  |
321  | DESCRIPTION
322  |      Overloaded function calling is_bank_account_duplicate, used to checks whether given
323  |      credit card number already exists.
324  |
325  | PSEUDO CODE/LOGIC
326  |
327  | PARAMETERS
328  |      p_bank_account_number IN  VARCHAR2
329  |
330  | RETURNS
331  |      Return Value: 0 if given bank account number does not exist.
332  |                    1 if given bank account number already exists.
333  |
334  | KNOWN ISSUES
335  |
336  | NOTES
337  |
338  | MODIFICATION HISTORY
339  | Date                  Author            Description of Changes
340  | 29-Oct-2001           J Rautiainen      Created
341  |
342  *=======================================================================*/
343 FUNCTION is_credit_card_duplicate(p_bank_account_number IN  VARCHAR2,
344                                 p_account_holder_name IN  VARCHAR2) RETURN NUMBER;
345 
346 /*========================================================================
347  | PUBLIC store_last_used_cc and pay_invoice_installment
348  |
349  | DESCRIPTION
350  |      Backward compatibility methods introduced for mobile account
351  |      management.
352  |      ----------------------------------------
353  |
354  | MODIFICATION HISTORY
355  | Date                  Author            Description of Changes
356  | 10-Mar-2002           J Rautiainen      Created
357  |
358  *=======================================================================*/
359 PROCEDURE store_last_used_cc(p_customer_id     IN  NUMBER,
360                              p_bank_account_id IN  NUMBER,
361                              p_status          OUT NOCOPY varchar2);
362 
363 
364  /*============================================================
365   | PUBLIC procedure create_invoice_pay_list
366   |
367   | DESCRIPTION
368   |   Creates a list of transactions to be paid by the customer
369   |   based on the trx type and the trx status.
370   |
371   | PSEUDO CODE/LOGIC
372   |
373   | PARAMETERS
374   |   p_customer_id           IN    NUMBER
375   |   p_currency_code         IN    VARCHAR2
376   |   p_customer_site_use_id  IN    NUMBER DEFAULT NULL
377   |   p_payment_schedule_id   IN    NUMBER DEFAULT NULL
378   |   p_trx_type              IN    VARCHAR2 DEFAULT NULL
379   |
380   | KNOWN ISSUES
381   |
382   |
383   |
384   | NOTES
385   |
386   |
387   |
388   | MODIFICATION HISTORY
389   | Date          Author       Description of Changes
390   | 13-Jan-2003   krmenon      Created
391   | 31-Dec-2004   vnb          Bug 4071551 - Removed redundant code
392   +============================================================*/
393   PROCEDURE create_invoice_pay_list ( p_customer_id           IN NUMBER,
394                                       p_customer_site_use_id  IN NUMBER DEFAULT NULL,
395                                       p_payment_schedule_id   IN NUMBER DEFAULT NULL,
396                                       p_currency_code         IN VARCHAR2
397                                     );
398 
399  /*============================================================
400    | PUBLIC procedure create_open_credit_pay_list
401    |
402    | DESCRIPTION
403    |   Copy all open credit transactions for the active customer, site and currency from the
404    |   AR_PAYMENT_SCHEDULES to the Payment List GT
405    |
409    |   p_customer_id               IN NUMBER
406    | PSEUDO CODE/LOGIC
407    |
408    | PARAMETERS
410    |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
411    |   p_currency_code             IN VARCHAR2
412    |
413    | KNOWN ISSUES
414    |
415    |
416    |
417    | NOTES
418    |
419    |
420    |
421    | MODIFICATION HISTORY
422    | Date          Author       Description of Changes
423    | 21-JAN-2004   rsinthre     Created
424    +============================================================*/
425 
426  PROCEDURE create_open_credit_pay_list(p_customer_id           IN NUMBER,
427                              p_customer_site_use_id  IN NUMBER DEFAULT NULL,
428                              p_currency_code         IN VARCHAR2
429                            );
430 /*============================================================
431  | PUBLIC procedure cal_discount_and_service_chrg
432  |
433  | DESCRIPTION
434  |   Calculate discount and service charge on the selected
435  |   invoices and update the amounts
436  |
437  | PSEUDO CODE/LOGIC
438  |
439  | PARAMETERS
440  |
441  | KNOWN ISSUES
442  |
443  |
444  |
445  | NOTES
446  |   This procedure acts on the rows inserted in the global
447  |   temporary table by the create_invoice_pay_list procedure.
448  |   It is session specific.
449  |
450  |
451  | MODIFICATION HISTORY
452  | Date          Author       Description of Changes
453  | 13-Jan-2003   krmenon      Created
454  +============================================================*/
455  PROCEDURE cal_discount_and_service_chrg (p_customer_id           IN NUMBER,
456                                           p_site_use_id  IN NUMBER DEFAULT NULL,
457                                           p_receipt_date IN DATE DEFAULT trunc(SYSDATE));
458 
459 
460 /*==============================================================
461  | PROCEDURE pay_multiple_invoices
462  |
463  | DESCRIPTION
464  |
465  | PARAMETERS
466  |
467  | KNOWN ISSUES
468  |
469  | NOTES
470  |
471  | MODIFICATION HISTORY
472  | Date          Author       Description of Changes
473  | 13-Jan-2003   krmenon      Created
474  | 07-Oct-2004   vnb          Bug 3335944 - One Time Credit Card Verification
475  |
476  +==============================================================*/
477 PROCEDURE pay_multiple_invoices(p_payment_amount      IN NUMBER,
478                                 p_discount_amount     IN NUMBER,
479                                 p_customer_id         IN NUMBER,
480                                 p_site_use_id         IN NUMBER,
481                                 p_account_number      IN VARCHAR2,
482                                 p_expiration_date     IN DATE,
483                                 p_account_holder_name IN VARCHAR2,
484                                 p_account_type        IN VARCHAR2,
485                                 p_payment_instrument  IN VARCHAR2,
486                                 p_address_line1       IN VARCHAR2 default null,
487                                 p_address_line2       IN VARCHAR2 default null,
488                                 p_address_line3       IN VARCHAR2 default null,
489                                 p_address_city        IN VARCHAR2 default null,
490                                 p_address_county      IN VARCHAR2 default null,
491                                 p_address_state       IN VARCHAR2 default null,
492                                 p_address_country     IN VARCHAR2 default null,
493                                 p_address_postalcode  IN VARCHAR2 default null,
494                                 p_cvv2                IN NUMBER,
495                                 p_bank_branch_id      IN NUMBER,
496                                 p_receipt_date        IN DATE DEFAULT trunc(SYSDATE),
497                                 p_new_account_flag    IN VARCHAR2 DEFAULT 'FALSE',
498 					  p_receipt_site_id     IN NUMBER,
499 				p_bank_id	      IN NUMBER,
500 				p_card_brand	      IN VARCHAR2,
501 				p_cc_bill_to_site_id       IN NUMBER,
502 				p_single_use_flag     IN VARCHAR2 := 'N',
503 				p_iban		      IN VARCHAR2,
504 				p_instr_assign_id     IN NUMBER :=0,
505 				p_bank_account_id     IN OUT NOCOPY NUMBER,
506                                 p_cash_receipt_id     OUT NOCOPY NUMBER,
507                                 p_status              OUT NOCOPY VARCHAR2,
508                                 x_msg_count           OUT NOCOPY NUMBER,
509                                 x_msg_data            OUT NOCOPY VARCHAR2
510 				);
511 
512 
513 
514 /*==============================================================
515  | PROCEDURE validate_payment_setup
516  |
517  | DESCRIPTION
518  |     Validates if the payment methods have been setup for
519  |     a particular currency code.
520  | PARAMETERS
521  |	   p_customer_id	   IN	    NUMBER
522  |	   p_customer_site_id  IN       NUMBER
523  |     p_currency_code     IN       VARCHAR2
524  |
525  | RETURN
526  |     1         if setup is valid
527  |     0         if setup is invalid
528  | KNOWN ISSUES
529  |
530  | NOTES
531  |     Had to return NUMBER instead of BOOLEAN for ease of use
532  |     in java calls
533  | MODIFICATION HISTORY
534  | Date          Author       Description of Changes
538 FUNCTION validate_payment_setup (p_customer_id IN NUMBER , p_customer_site_id IN NUMBER , p_currency_code IN VARCHAR2) RETURN NUMBER;
535  | 13-Jan-2003   krmenon      Created
536  |
537  +==============================================================*/
539 
540 
541  /*============================================================
542   | PUBLIC procedure create_transaction_list_record
543   |
544   | DESCRIPTION
545   |   Creates a record in the transaction List to be paid by the customer
546   |   based on the selected list .
547   |
548   | PSEUDO CODE/LOGIC
549   |
550   | PARAMETERS
551   |   p_payment_schedule_id   IN    NUMBER
552   |   p_customer_id           IN    NUMBER
553   |   p_customer_site_use_id  IN    NUMBER
554   |
555   | KNOWN ISSUES
556   |
557   |
558   |
559   | NOTES
560   |
561   |
562   |
563   | MODIFICATION HISTORY
564   | Date          Author       Description of Changes
565   | 27-JUN-2003   yreddy       Created
566   | 31-DEC-2004   vnb          Bug 4071551 - Modified for avoiding redundant code
567   | 26-MAY-2005   rsinthre     Bug 4392371 - OIR needs to support cross customer payment
568   +============================================================*/
569 PROCEDURE create_transaction_list_record( p_payment_schedule_id   IN NUMBER,
570 					  p_customer_id           IN NUMBER,
571 					  p_customer_site_id	  IN NUMBER);
572 
573 /*========================================================================
574  | PUBLIC procedure is_credit_card_payment_enabled
575  |
576  | DESCRIPTION
577  |      Checks if the credit card payment method has been setup
578  |      ----------------------------------------
579  |
580  | PSEUDO CODE/LOGIC
581  |
582  | PARAMETERS
583  |      p_customer_id       IN       NUMBER
584  |      p_customer_site_id  IN       NUMBER
585  |      p_currency_code     IN       VARCHAR2
586  | RETURNS
587  |      Number 1 or 0 corresponing to true and false for the credit card
588  |      payment has been setup or not.
589  |
590  |
591  | MODIFICATION HISTORY
592  | Date          Author       Description of Changes
593  | 10-Mar-2004   hikumar       Created
594  ========================================================================*/
595 
596 FUNCTION is_credit_card_payment_enabled(p_customer_id IN NUMBER , p_customer_site_id IN NUMBER , p_currency_code IN VARCHAR2) RETURN NUMBER ;
597 
598 FUNCTION is_bank_acc_payment_enabled(p_customer_id IN NUMBER , p_customer_site_id IN NUMBER , p_currency_code IN VARCHAR2) RETURN NUMBER ;
599 /*============================================================
600   | PUBLIC function save_payment_inst_info_wrapper
601   |
602   | DESCRIPTION
603   |   This is a wrapper to return a VARCHAR2 instead of the Boolean returned
604   |   by ARI_CONFIG.save_payment_instrument_info.
605   |
606   | PSEUDO CODE/LOGIC
607   |
608   | PARAMETERS
609   |
610   | KNOWN ISSUES
611   |
612   |
613   |
614   | NOTES
615   |
616   |
617   |
618   | MODIFICATION HISTORY
619   | Date          Author       Description of Changes
620   | 29-APR-2004   vnb          Created
621   | 21-SEP-2004   vnb          Bug 3886652 - Customer and Customer site added as params
622   +============================================================*/
623  FUNCTION save_payment_inst_info_wrapper ( p_customer_id          IN VARCHAR2,
624                                            p_customer_site_use_id IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
625 
626   /*============================================================
627   | PUBLIC function is_grace_days_enabled_wrapper
628   |
629   | DESCRIPTION
630   |   This is a wrapper to return a VARCHAR2 instead of the Boolean returned
631   |   by ARI_CONFIG.is_discount_grace_days_enabled.
632   |
633   | PSEUDO CODE/LOGIC
634   |
635   | PARAMETERS
636   |
637   | KNOWN ISSUES
638   |
639   |
640   |
641   | NOTES
642   |
643   |
644   |
645   | MODIFICATION HISTORY
646   | Date          Author       Description of Changes
647   | 14-JUN-2004   vnb          Created
648   +============================================================*/
649  FUNCTION is_grace_days_enabled_wrapper RETURN VARCHAR2;
650 
651   /*============================================================
652   | PUBLIC function get_discount_wrapper
653   |
654   | DESCRIPTION
655   |   This is a function that is a wrapper to call the AR API for calculating
656   |   discounts.
657   |
658   | PSEUDO CODE/LOGIC
659   |
660   | PARAMETERS
661   |
662   | KNOWN ISSUES
663   |
664   |
665   |
666   | NOTES
667   |
668   |
669   |
670   | MODIFICATION HISTORY
671   | Date          Author       Description of Changes
672   | 19-JUL-2004   vnb          Created
673   +============================================================*/
674  FUNCTION get_discount_wrapper ( p_ps_id	  IN ar_payment_schedules.payment_schedule_id%TYPE,
675                                  p_in_applied_amount IN NUMBER) RETURN NUMBER;
676 
677  /*============================================================
678   | PUBLIC function write_error_messages
679   |
680   | DESCRIPTION
681   |   This is a procedure that reads and returns the error messages
685   |
682   |   from the message stack.
683   |
684   | PSEUDO CODE/LOGIC
686   | PARAMETERS
687   |
688   | KNOWN ISSUES
689   |
690   |
691   |
692   | NOTES
693   |
694   |
695   |
696   | MODIFICATION HISTORY
697   | Date          Author       Description of Changes
698   | 23-JUL-2004   vnb          Created
699   +============================================================*/
700  PROCEDURE write_error_messages (  p_msg_data IN OUT NOCOPY VARCHAR2,
701                                     p_msg_count IN OUT NOCOPY NUMBER);
702 
703  /*=====================================================================
704  | FUNCTION get_service_charge
705  |
706  | DESCRIPTION
707  |   This function will calculate the service charge for the multiple
708  |   invoices that have been selected for payment and return the
709  |   total service charge that is to be applied.
710  |
711  | HISTORY
712  |   26-APR-2004     vnb      Bug # 3467287 - Added Customer and Customer Site
713  |							  as input parameters.
714  |   19-JUL-2004     vnb      Bug # 2830823 - Added exception block to handle exceptions
715  |   21-SEP-2004     vnb      Bug # 3886652 - Added customer site use id to ARI_SERVICE_CHARGE_PKG.INVOICE_LIST_TABTYPE
716  |   03-JAN-2005     vnb      Bug 4071551 - Function to compute service charge made public
717  |
718  +=====================================================================*/
719  FUNCTION get_service_charge (  p_customer_id		    IN NUMBER,
720                                 p_site_use_id          IN NUMBER DEFAULT NULL)
721  RETURN NUMBER;
722 
723  /*=====================================================================
724  | PROCEDURE reset_payment_amounts
725  |
726  | DESCRIPTION
727  |   This function will reset the payment amounts on the Payment GT
728  |   when the user clicks 'Reset to Defaults' button on Advanced Payment page
729  |
730  | PARAMETERS
731  |   p_customer_id	   IN     NUMBER
732  |   p_site_use_id     IN     NUMBER DEFAULT NULL
733  |
734  | HISTORY
735  |   20-JAN-2005     vnb      Created
736  |
737  +=====================================================================*/
738  PROCEDURE reset_payment_amounts (  p_customer_id		    IN NUMBER,
739                                     p_site_use_id          IN NUMBER DEFAULT NULL);
740  TYPE INV_LIST_TABLE_TYPE IS TABLE OF AR_PAYMENT_SCHEDULES.PAYMENT_SCHEDULE_ID%TYPE INDEX BY BINARY_INTEGER;
741 
742  /*=====================================================================
743  | PROCEDURE get_payment_channel_attribs
744  |
745  | DESCRIPTION
746  |   Gets payment channel attribute usages
747  |
748  | PARAMETERS
749  |   p_channel_code	IN  	    VARCHAR2
750  |   x_return_status 	OUT NOCOPY  VARCHAR2
751  |   x_cvv_use 		OUT NOCOPY  VARCHAR2
752  |   x_billing_addr_use	OUT NOCOPY  VARCHAR2
753  |   x_msg_count        OUT NOCOPY  NUMBER
754  |   x_msg_data         OUT NOCOPY  VARCHAR2
755  |
756  | HISTORY
757  |   20-SEP-2006     abathini      Created
758  |
759  +=====================================================================*/
760  PROCEDURE get_payment_channel_attribs(	p_channel_code 		IN 	    VARCHAR2,
761 					x_return_status 	OUT NOCOPY  VARCHAR2,
762 					x_cvv_use 		OUT NOCOPY  VARCHAR2,
763 					x_billing_addr_use	OUT NOCOPY  VARCHAR2,
764 					x_msg_count           	OUT NOCOPY  NUMBER,
765 					x_msg_data            	OUT NOCOPY  VARCHAR2);
766 
767 
768  /*=====================================================================
769  | PROCEDURE update_invoice_payment_status
770  |
771  | DESCRIPTION
772  |   This procedure will update the PAYMENT_APPROVAL column in ar_payment_schedules
773  |   with the value p_inv_pay_status for the records in p_payment_schedule_id_list
774  |
775  | PARAMETERS
776  |   p_payment_schedule_id_list	   IN     Inv_list_table_type
777  |   p_inv_pay_status     		   IN     VARCHAR2
778  |
779  | HISTORY
780  |   17-MAR-2006     rsinthre      	   Created
781  |
782  +=====================================================================*/
783 
784  PROCEDURE update_invoice_payment_status(p_payment_schedule_id_list	IN Inv_list_table_type,
785                                  	     p_inv_pay_status			IN VARCHAR2,
786                                  	     x_return_status			OUT  NOCOPY VARCHAR2,
787 				         	     x_msg_count                	OUT  NOCOPY NUMBER,
788 				 	   	     x_msg_data				OUT  NOCOPY VARCHAR2
789                                  	    );
790 
791 /*=====================================================================
792  | FUNCTION get_customer_site_use_id
793  |
794  | DESCRIPTION
795  | This function checks if the user has access to the primary bill to site
796  | of the customer. If yes, then returns that site id.
797  | else, checks if the transactions selected by the user belongs
798  | to a same site. If yes, then return that site id else, returns -1.
799  |
800  | PARAMETERS
801  |   p_session_id  IN   NUMBER
802  |   p_customer_id IN 	NUMBER
803  |
804  | RETURN
805  |   l_customer_site_use_id  NUMBER
806  | HISTORY
807  |   29-Oct-2008     rsinthre              Created
808  |
809  +=====================================================================*/
810 
814                               RETURN NUMBER;
811 FUNCTION get_customer_site_use_id ( p_session_id IN NUMBER,
812                                     p_customer_id IN NUMBER
813                                   )
815 
816 
817 END AR_IREC_PAYMENTS;
818