DBA Data[Home] [Help]

PACKAGE: APPS.AR_IREC_PAYMENTS

Source


1 PACKAGE AR_IREC_PAYMENTS AUTHID CURRENT_USER AS
2 /* $Header: ARIRPMTS.pls 120.24.12020000.5 2013/03/29 08:50:10 melapaku 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  | 06-Feb-2013           melapaku          Bug16262617 - cannot remove end date entered via ireceivables pay function
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                                   p_customer_id IN NUMBER,
227                                   p_customer_site_id IN NUMBER);
228 
229 
230 /*========================================================================
231  | PUBLIC function is_credit_card_expired
232  |
233  | DESCRIPTION
234  |      Checks whether credit card has expired
235  |      ----------------------------------------
236  |
237  | PSEUDO CODE/LOGIC
238  |
239  | PARAMETERS
240  |      p_expiration_date  IN DATE
241  |
242  | RETURNS
243  |      1     if credit card has expired
244  |      0     if credit card has not expired
245  |
246  | KNOWN ISSUES
247  |
248  | NOTES
249  |
250  | MODIFICATION HISTORY
251  | Date                  Author            Description of Changes
252  | 21-Feb-2001           Jani Rautiainen   Created
253  |
254  *=======================================================================*/
255 FUNCTION is_credit_card_expired(  p_expiration_date IN  DATE )
256          RETURN NUMBER;
257 PRAGMA RESTRICT_REFERENCES (is_credit_card_expired, WNDS);
258 
259 /*========================================================================
260  | PUBLIC procedure store_last_used_ba
261  |
262  | DESCRIPTION
263  |      Stores the last used bank account
264  |
265  | PSEUDO CODE/LOGIC
266  |
267  | PARAMETERS
268  |      p_customer_id      IN  NUMBER
269  |      p_bank_account_id  IN  NUMBER
270  |	p_instr_type	   IN  VARCHAR2 DEFAULT 'BA'
271  | RETURNS
272  |      p_status	   OUT NOCOPY varchar2
273  |
274  | KNOWN ISSUES
275  |
276  | NOTES
277  |
278  | MODIFICATION HISTORY
279  | Date                  Author            Description of Changes
280  | 09-May-2001           J Rautiainen      Created
281  |
282  *=======================================================================*/
283 PROCEDURE store_last_used_ba(p_customer_id     IN  NUMBER,
284                              p_bank_account_id IN  NUMBER,
285                              p_instr_type      IN  VARCHAR2 := 'BA',
286                              p_status          OUT NOCOPY varchar2);
287 
288 /*========================================================================
289  | PUBLIC function is_bank_account_duplicate
290  |
291  | DESCRIPTION
292  |      Checks whether given bank account number already exists
293  |
294  | PSEUDO CODE/LOGIC
295  |
296  | PARAMETERS
297  |      p_bank_account_number IN  VARCHAR2
298  |      p_routing_number      IN  VARCHAR2
299  |      p_account_holder_name  IN VARCHAR2
300  |
301  | RETURNS
302  |      Return Value: 0 if given bank account number does not exist.
303  |                    1 if given bank account number already exists.
304  |
305  | KNOWN ISSUES
306  |
307  | NOTES
308  |
309  | MODIFICATION HISTORY
310  | Date                  Author            Description of Changes
311  | 01-Aug-2001           J Rautiainen      Created
312  |
313  | 15-Apr-2002            AMMISHRA         Bug:2210677, passed account
314  |                                         holder name as a parameter.
315  *=======================================================================*/
316 FUNCTION is_bank_account_duplicate(p_bank_account_number IN  VARCHAR2,
317                                    p_routing_number      IN  VARCHAR2 DEFAULT NULL,
318                                     p_account_holder_name  IN VARCHAR2) RETURN NUMBER;
319 
320 /*========================================================================
321  | PUBLIC function is_credit_card_duplicate
322  |
323  | DESCRIPTION
324  |      Overloaded function calling is_bank_account_duplicate, used to checks whether given
325  |      credit card number already exists.
326  |
327  | PSEUDO CODE/LOGIC
328  |
329  | PARAMETERS
330  |      p_bank_account_number IN  VARCHAR2
331  |
332  | RETURNS
333  |      Return Value: 0 if given bank account number does not exist.
334  |                    1 if given bank account number already exists.
335  |
336  | KNOWN ISSUES
337  |
338  | NOTES
339  |
340  | MODIFICATION HISTORY
341  | Date                  Author            Description of Changes
342  | 29-Oct-2001           J Rautiainen      Created
343  |
344  *=======================================================================*/
345 FUNCTION is_credit_card_duplicate(p_bank_account_number IN  VARCHAR2,
346                                 p_account_holder_name IN  VARCHAR2) RETURN NUMBER;
347 
348 /*========================================================================
349  | PUBLIC store_last_used_cc and pay_invoice_installment
350  |
351  | DESCRIPTION
352  |      Backward compatibility methods introduced for mobile account
353  |      management.
354  |      ----------------------------------------
355  |
356  | MODIFICATION HISTORY
357  | Date                  Author            Description of Changes
358  | 10-Mar-2002           J Rautiainen      Created
359  |
360  *=======================================================================*/
361 PROCEDURE store_last_used_cc(p_customer_id     IN  NUMBER,
362                              p_bank_account_id IN  NUMBER,
363                              p_status          OUT NOCOPY varchar2);
364 
365 
366  /*============================================================
367   | PUBLIC procedure create_invoice_pay_list
368   |
369   | DESCRIPTION
370   |   Creates a list of transactions to be paid by the customer
371   |   based on the trx type and the trx status.
372   |
373   | PSEUDO CODE/LOGIC
374   |
375   | PARAMETERS
376   |   p_customer_id           IN    NUMBER
377   |   p_currency_code         IN    VARCHAR2
378   |   p_customer_site_use_id  IN    NUMBER DEFAULT NULL
379   |   p_payment_schedule_id   IN    NUMBER DEFAULT NULL
380   |   p_trx_type              IN    VARCHAR2 DEFAULT NULL
381   |
382   | KNOWN ISSUES
383   |
384   |
385   |
386   | NOTES
387   |
388   |
389   |
390   | MODIFICATION HISTORY
391   | Date          Author       Description of Changes
392   | 13-Jan-2003   krmenon      Created
393   | 31-Dec-2004   vnb          Bug 4071551 - Removed redundant code
394   | 22-Mar-2010   nkanchan     Bug 8293098 - Service change based on credit card types
395   +============================================================*/
396   PROCEDURE create_invoice_pay_list ( p_customer_id           IN NUMBER,
397                                       p_customer_site_use_id  IN NUMBER DEFAULT NULL,
398                                       p_payment_schedule_id   IN NUMBER DEFAULT NULL,
399                                       p_currency_code         IN VARCHAR2,
403  /*============================================================
400                                       p_payment_type           IN varchar2 DEFAULT NULL,
401                                       p_lookup_code           IN varchar2 DEFAULT NULL);
402 
404    | PUBLIC procedure create_open_credit_pay_list
405    |
406    | DESCRIPTION
407    |   Copy all open credit transactions for the active customer, site and currency from the
408    |   AR_PAYMENT_SCHEDULES to the Payment List GT
409    |
410    | PSEUDO CODE/LOGIC
411    |
412    | PARAMETERS
413    |   p_customer_id               IN NUMBER
414    |   p_customer_site_use_id      IN NUMBER DEFAULT NULL
415    |   p_currency_code             IN VARCHAR2
416    |
417    | KNOWN ISSUES
418    |
419    |
420    |
421    | NOTES
422    |
423    |
424    |
425    | MODIFICATION HISTORY
426    | Date          Author       Description of Changes
427    | 21-JAN-2004   rsinthre     Created
428    +============================================================*/
429 
430  PROCEDURE create_open_credit_pay_list(p_customer_id           IN NUMBER,
431                              p_customer_site_use_id  IN NUMBER DEFAULT NULL,
432                              p_currency_code         IN VARCHAR2
433                            );
434 /*============================================================
435  | PUBLIC procedure cal_discount_and_service_chrg
436  |
437  | DESCRIPTION
438  |   Calculate discount and service charge on the selected
439  |   invoices and update the amounts
440  |
441  | PSEUDO CODE/LOGIC
442  |
443  | PARAMETERS
444  |
445  | KNOWN ISSUES
446  |
447  |
448  |
449  | NOTES
450  |   This procedure acts on the rows inserted in the global
451  |   temporary table by the create_invoice_pay_list procedure.
452  |   It is session specific.
453  |
454  |
455  | MODIFICATION HISTORY
456  | Date          Author       Description of Changes
457  | 13-Jan-2003   krmenon      Created
458  | 22-Mar-2010   nkanchan     Bug 8293098 - Service change based on credit card types
459  +============================================================*/
460  PROCEDURE cal_discount_and_service_chrg (p_customer_id           IN NUMBER,
461                                           p_site_use_id  IN NUMBER DEFAULT NULL,
462                                           p_receipt_date IN DATE DEFAULT trunc(SYSDATE),
463                                           p_payment_type  IN varchar2 DEFAULT NULL,
464                                           p_lookup_code  IN varchar2 DEFAULT NULL);
465 
466 
467 /*==============================================================
468  | PROCEDURE pay_multiple_invoices
469  |
470  | DESCRIPTION
471  |
472  | PARAMETERS
473  |
474  | KNOWN ISSUES
475  |
476  | NOTES
477  |
478  | MODIFICATION HISTORY
479  | Date          Author       Description of Changes
480  | 13-Jan-2003   krmenon      Created
481  | 07-Oct-2004   vnb          Bug 3335944  - One Time Credit Card Verification
482  | 14-Mar-2013   melapaku     Bug 16471455 - Payment Audit History Feature
483  +==============================================================*/
484 PROCEDURE pay_multiple_invoices(p_payment_amount      IN NUMBER,
485                                 p_discount_amount     IN NUMBER,
486                                 p_customer_id         IN NUMBER,
487                                 p_site_use_id         IN NUMBER,
488                                 p_account_number      IN VARCHAR2,
489                                 p_expiration_date     IN DATE,
490                                 p_account_holder_name IN VARCHAR2,
491                                 p_account_type        IN VARCHAR2,
492                                 p_payment_instrument  IN VARCHAR2,
493                                 p_address_line1       IN VARCHAR2 default null,
494                                 p_address_line2       IN VARCHAR2 default null,
495                                 p_address_line3       IN VARCHAR2 default null,
496                                 p_address_line4       IN VARCHAR2 default null, -- Added for Bug#14797865
497                                 p_address_city        IN VARCHAR2 default null,
498                                 p_address_county      IN VARCHAR2 default null,
499                                 p_address_state       IN VARCHAR2 default null,
500                                 p_address_country     IN VARCHAR2 default null,
501                                 p_address_postalcode  IN VARCHAR2 default null,
502                                 p_cvv2                IN NUMBER,
503                                 p_bank_branch_id      IN NUMBER,
504                                 p_receipt_date        IN DATE DEFAULT trunc(SYSDATE),
505                                 p_new_account_flag    IN VARCHAR2 DEFAULT 'FALSE',
506 					  p_receipt_site_id     IN NUMBER,
507 				p_bank_id	      IN NUMBER,
508 				p_card_brand	      IN VARCHAR2,
509 				p_cc_bill_to_site_id       IN NUMBER,
510 				p_single_use_flag     IN VARCHAR2 := 'N',
511 				p_iban		      IN VARCHAR2,
512 				p_routing_number     IN VARCHAR2,
513 				p_instr_assign_id     IN NUMBER :=0,
514                                 p_payment_audit_id    IN NUMBER, -- Added for Bug#16471455
515 				p_bank_account_id     IN OUT NOCOPY NUMBER,
516                                 p_cash_receipt_id     OUT NOCOPY NUMBER,
517 				p_cc_auth_code        OUT NOCOPY VARCHAR2,
518                                 p_cc_auth_id          OUT NOCOPY NUMBER, -- Added for Bug#16471455
519                                 p_status              OUT NOCOPY VARCHAR2,
520                                 p_status_reason       OUT NOCOPY VARCHAR2, -- Added for Bug#16471455
521                                 x_msg_count           OUT NOCOPY NUMBER,
522                                 x_msg_data            OUT NOCOPY VARCHAR2
526 
523 				);
524 
525 
527 /*==============================================================
528  | PROCEDURE validate_payment_setup
529  |
530  | DESCRIPTION
531  |     Validates if the payment methods have been setup for
532  |     a particular currency code.
533  | PARAMETERS
534  |	   p_customer_id	   IN	    NUMBER
535  |	   p_customer_site_id  IN       NUMBER
536  |     p_currency_code     IN       VARCHAR2
537  |
538  | RETURN
539  |     1         if setup is valid
540  |     0         if setup is invalid
541  | KNOWN ISSUES
542  |
543  | NOTES
544  |     Had to return NUMBER instead of BOOLEAN for ease of use
545  |     in java calls
546  | MODIFICATION HISTORY
547  | Date          Author       Description of Changes
548  | 13-Jan-2003   krmenon      Created
549  |
550  +==============================================================*/
551 FUNCTION validate_payment_setup (p_customer_id IN NUMBER , p_customer_site_id IN NUMBER , p_currency_code IN VARCHAR2) RETURN NUMBER;
552 
553 
554  /*============================================================
555   | PUBLIC procedure create_transaction_list_record
556   |
557   | DESCRIPTION
558   |   Creates a record in the transaction List to be paid by the customer
559   |   based on the selected list .
560   |
561   | PSEUDO CODE/LOGIC
562   |
563   | PARAMETERS
564   |   p_payment_schedule_id   IN    NUMBER
565   |   p_customer_id           IN    NUMBER
566   |   p_customer_site_use_id  IN    NUMBER
567   |
568   | KNOWN ISSUES
569   |
570   |
571   |
572   | NOTES
573   |
574   |
575   |
576   | MODIFICATION HISTORY
577   | Date          Author       Description of Changes
578   | 27-JUN-2003   yreddy       Created
579   | 31-DEC-2004   vnb          Bug 4071551 - Modified for avoiding redundant code
580   | 26-MAY-2005   rsinthre     Bug 4392371 - OIR needs to support cross customer payment
581   +============================================================*/
582 PROCEDURE create_transaction_list_record( p_payment_schedule_id   IN NUMBER,
583 					  p_customer_id           IN NUMBER,
584 					  p_customer_site_id	  IN NUMBER);
585 
586 /*========================================================================
587  | PUBLIC procedure is_credit_card_payment_enabled
588  |
589  | DESCRIPTION
590  |      Checks if the credit card payment method has been setup
591  |      ----------------------------------------
592  |
593  | PSEUDO CODE/LOGIC
594  |
595  | PARAMETERS
596  |      p_customer_id       IN       NUMBER
597  |      p_customer_site_id  IN       NUMBER
598  |      p_currency_code     IN       VARCHAR2
599  | RETURNS
600  |      Number 1 or 0 corresponing to true and false for the credit card
601  |      payment has been setup or not.
602  |
603  |
604  | MODIFICATION HISTORY
605  | Date          Author       Description of Changes
606  | 10-Mar-2004   hikumar       Created
607  ========================================================================*/
608 
609 FUNCTION is_credit_card_payment_enabled(p_customer_id IN NUMBER , p_customer_site_id IN NUMBER , p_currency_code IN VARCHAR2) RETURN NUMBER ;
610 
611 FUNCTION is_bank_acc_payment_enabled(p_customer_id IN NUMBER , p_customer_site_id IN NUMBER , p_currency_code IN VARCHAR2) RETURN NUMBER ;
612 /*============================================================
613   | PUBLIC function save_payment_inst_info_wrapper
614   |
615   | DESCRIPTION
616   |   This is a wrapper to return a VARCHAR2 instead of the Boolean returned
617   |   by ARI_CONFIG.save_payment_instrument_info.
618   |
619   | PSEUDO CODE/LOGIC
620   |
621   | PARAMETERS
622   |
623   | KNOWN ISSUES
624   |
625   |
626   |
627   | NOTES
628   |
629   |
630   |
631   | MODIFICATION HISTORY
632   | Date          Author       Description of Changes
633   | 29-APR-2004   vnb          Created
634   | 21-SEP-2004   vnb          Bug 3886652 - Customer and Customer site added as params
635   +============================================================*/
636  FUNCTION save_payment_inst_info_wrapper ( p_customer_id          IN VARCHAR2,
637                                            p_customer_site_use_id IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
638 
639   /*============================================================
640   | PUBLIC function is_grace_days_enabled_wrapper
641   |
642   | DESCRIPTION
643   |   This is a wrapper to return a VARCHAR2 instead of the Boolean returned
644   |   by ARI_CONFIG.is_discount_grace_days_enabled.
645   |
646   | PSEUDO CODE/LOGIC
647   |
648   | PARAMETERS
649   |
650   | KNOWN ISSUES
651   |
652   |
653   |
654   | NOTES
655   |
656   |
657   |
658   | MODIFICATION HISTORY
659   | Date          Author       Description of Changes
660   | 14-JUN-2004   vnb          Created
661   +============================================================*/
662  FUNCTION is_grace_days_enabled_wrapper RETURN VARCHAR2;
663 
664   /*============================================================
665   | PUBLIC function get_discount_wrapper
666   |
667   | DESCRIPTION
668   |   This is a function that is a wrapper to call the AR API for calculating
669   |   discounts.
670   |
671   | PSEUDO CODE/LOGIC
672   |
673   | PARAMETERS
674   |
675   | KNOWN ISSUES
676   |
677   |
678   |
679   | NOTES
680   |
681   |
682   |
683   | MODIFICATION HISTORY
684   | Date          Author       Description of Changes
685   | 19-JUL-2004   vnb          Created
689 
686   +============================================================*/
687  FUNCTION get_discount_wrapper ( p_ps_id	  IN ar_payment_schedules.payment_schedule_id%TYPE,
688                                  p_in_applied_amount IN NUMBER) RETURN NUMBER;
690  /*============================================================
691   | PUBLIC function write_error_messages
692   |
693   | DESCRIPTION
694   |   This is a procedure that reads and returns the error messages
695   |   from the message stack.
696   |
697   | PSEUDO CODE/LOGIC
698   |
699   | PARAMETERS
700   |
701   | KNOWN ISSUES
702   |
703   |
704   |
705   | NOTES
706   |
707   |
708   |
709   | MODIFICATION HISTORY
710   | Date          Author       Description of Changes
711   | 23-JUL-2004   vnb          Created
712   +============================================================*/
713  PROCEDURE write_error_messages (  p_msg_data IN OUT NOCOPY VARCHAR2,
714                                     p_msg_count IN OUT NOCOPY NUMBER);
715 
716  /*=====================================================================
717  | FUNCTION get_service_charge
718  |
719  | DESCRIPTION
720  |   This function will calculate the service charge for the multiple
721  |   invoices that have been selected for payment and return the
722  |   total service charge that is to be applied.
723  |
724  | HISTORY
725  |   26-APR-2004     vnb      Bug # 3467287 - Added Customer and Customer Site
726  |							  as input parameters.
727  |   19-JUL-2004     vnb      Bug # 2830823 - Added exception block to handle exceptions
728  |   21-SEP-2004     vnb      Bug # 3886652 - Added customer site use id to ARI_SERVICE_CHARGE_PKG.INVOICE_LIST_TABTYPE
729  |   03-JAN-2005     vnb      Bug 4071551 - Function to compute service charge made public
730  | 22-Mar-2010   nkanchan     Bug 8293098 - Service change based on credit card types
731  |
732  +=====================================================================*/
733  FUNCTION get_service_charge (  p_customer_id		    IN NUMBER,
734                                 p_site_use_id          IN NUMBER DEFAULT NULL,
735                                 p_payment_type       IN varchar2 DEFAULT NULL,
736                                 p_lookup_code       IN varchar2 DEFAULT NULL)
737  RETURN NUMBER;
738 
739  /*=====================================================================
740  | PROCEDURE reset_payment_amounts
741  |
742  | DESCRIPTION
743  |   This function will reset the payment amounts on the Payment GT
744  |   when the user clicks 'Reset to Defaults' button on Advanced Payment page
745  |
746  | PARAMETERS
747  |   p_customer_id	   IN     NUMBER
748  |   p_site_use_id     IN     NUMBER DEFAULT NULL
749  |
750  | HISTORY
751  |   20-JAN-2005     vnb      Created
752  | 22-Mar-2010   nkanchan     Bug 8293098 - Service change based on credit card types
753  |
754  +=====================================================================*/
755  PROCEDURE reset_payment_amounts (  p_customer_id		    IN NUMBER,
756                                     p_site_use_id          IN NUMBER DEFAULT NULL,
757                                     p_payment_type       IN varchar2 DEFAULT NULL,
758                                     p_lookup_code       IN varchar2 DEFAULT NULL);
759  TYPE INV_LIST_TABLE_TYPE IS TABLE OF AR_PAYMENT_SCHEDULES.PAYMENT_SCHEDULE_ID%TYPE INDEX BY BINARY_INTEGER;
760 
761  /*=====================================================================
762  | PROCEDURE get_payment_channel_attribs
763  |
764  | DESCRIPTION
765  |   Gets payment channel attribute usages
766  |
767  | PARAMETERS
768  |   p_channel_code	IN  	    VARCHAR2
769  |   x_return_status 	OUT NOCOPY  VARCHAR2
770  |   x_cvv_use 		OUT NOCOPY  VARCHAR2
771  |   x_billing_addr_use	OUT NOCOPY  VARCHAR2
772  |   x_msg_count        OUT NOCOPY  NUMBER
773  |   x_msg_data         OUT NOCOPY  VARCHAR2
774  |
775  | HISTORY
776  |   20-SEP-2006     abathini      Created
777  |
778  +=====================================================================*/
779  PROCEDURE get_payment_channel_attribs(	p_channel_code 		IN 	    VARCHAR2,
780 					x_return_status 	OUT NOCOPY  VARCHAR2,
781 					x_cvv_use 		OUT NOCOPY  VARCHAR2,
782 					x_billing_addr_use	OUT NOCOPY  VARCHAR2,
783 					x_msg_count           	OUT NOCOPY  NUMBER,
784 					x_msg_data            	OUT NOCOPY  VARCHAR2);
785 
786 
787  /*=====================================================================
788  | PROCEDURE update_invoice_payment_status
789  |
790  | DESCRIPTION
791  |   This procedure will update the PAYMENT_APPROVAL column in ar_payment_schedules
792  |   with the value p_inv_pay_status for the records in p_payment_schedule_id_list
793  |
794  | PARAMETERS
795  |   p_payment_schedule_id_list	   IN     Inv_list_table_type
796  |   p_inv_pay_status     		   IN     VARCHAR2
797  |
798  | HISTORY
799  |   17-MAR-2006     rsinthre      	   Created
800  |
801  +=====================================================================*/
802 
803  PROCEDURE update_invoice_payment_status(p_payment_schedule_id_list	IN Inv_list_table_type,
804                                  	     p_inv_pay_status			IN VARCHAR2,
805                                  	     x_return_status			OUT  NOCOPY VARCHAR2,
806 				         	     x_msg_count                	OUT  NOCOPY NUMBER,
807 				 	   	     x_msg_data				OUT  NOCOPY VARCHAR2
808                                  	    );
809 
810 /*=====================================================================
811  | FUNCTION get_customer_site_use_id
812  |
813  | DESCRIPTION
814  | This function checks if the user has access to the primary bill to site
815  | of the customer. If yes, then returns that site id.
816  | else, checks if the transactions selected by the user belongs
820  |   p_session_id  IN   NUMBER
817  | to a same site. If yes, then return that site id else, returns -1.
818  |
819  | PARAMETERS
821  |   p_customer_id IN 	NUMBER
822  |
823  | RETURN
824  |   l_customer_site_use_id  NUMBER
825  | HISTORY
826  |   29-Oct-2008     rsinthre              Created
827  |
828  +=====================================================================*/
829 
830 FUNCTION get_customer_site_use_id ( p_session_id IN NUMBER,
831                                     p_customer_id IN NUMBER
832                                   )
833                               RETURN NUMBER;
834 
835   /*============================================================
836   | PUBLIC function get_future_discount_wrapper
837   |
838   | DESCRIPTION
839   |   This is a function that is a wrapper to call the AR API for calculating
840   |   future date discounts.
841   |
842   | PSEUDO CODE/LOGIC
843   |
844   | PARAMETERS
845   |
846   | KNOWN ISSUES
847   |
848   |
849   |
850   | NOTES
851   |
852   |
853   |
854   | MODIFICATION HISTORY
855   | Date                   Author       Description of Changes
856   | 06-MAY-2011    	   rsinthre     Created
857   +============================================================*/
858  FUNCTION get_future_discount_wrapper ( p_ps_id	  IN ar_payment_schedules.payment_schedule_id%TYPE,
859                                         p_in_applied_amount IN NUMBER,
860                                         p_discount_date IN DATE DEFAULT NULL) RETURN NUMBER;
861 
862 
863 END AR_IREC_PAYMENTS;
864