DBA Data[Home] [Help]

PACKAGE: APPS.LNS_FIN_UTILS

Source


1 PACKAGE LNS_FIN_UTILS AS
2 /* $Header: LNS_FIN_UTILS_S.pls 120.5.12010000.3 2008/11/21 12:24:03 mbolli ship $ */
3 
4 /*========================================================================+
5 |  Declare PUBLIC Data Types and Variables
6 +========================================================================*/
7     TYPE DATE_TBL   IS TABLE OF DATE INDEX BY BINARY_INTEGER;
8 
9 
10 /*========================================================================+
11 |  types for building payment schedule
12 +========================================================================*/
13     TYPE PAYMENT_SCHEDULE is record(PERIOD_BEGIN_DATE  DATE
14                                    ,PERIOD_END_DATE    DATE
15                                    ,PERIOD_DUE_DATE    DATE
16                                    ,CONTENTS           VARCHAR(30)  -- row contents: PRIN, INT, PRIN_INT
17                                    );
18 
19     TYPE PAYMENT_SCHEDULE_TBL is table of PAYMENT_SCHEDULE index by binary_integer;
20 
21 /* BEGIN DATE FUNCTIONS */
22 function getNextDate(p_date          in date
23                     ,p_interval_type in varchar2
24                     ,p_direction     in number) return Date;
25 
26 function getDayCount(p_start_date       in date
27                     ,p_end_date         in date
28                     ,p_day_count_method in varchar2) return number;
29 
30 function daysInYear(p_year              in number
31                    ,p_year_count_method in varchar2) return number;
32 
33 function julian_date(p_date in date) return number;
34 
35 function isLeapYear(p_year in number) return boolean;
36 
37 function intervalsInPeriod(p_period_number in number
38                           ,p_period_type1  in varchar2
39                           ,p_period_type2  in varchar2) return number;
40 
41 function buildPaymentSchedule(p_loan_start_date    in date
42                              ,p_loan_maturity_date in date
43                              ,p_first_pay_date     in date
44                              ,p_num_intervals      in number
45                              ,p_interval_type      in varchar2
46                              ,p_pay_in_arrears     in boolean) return LNS_FIN_UTILS.PAYMENT_SCHEDULE_TBL;
47 
48 function buildSIPPaymentSchedule(p_loan_start_date    in date
49                              ,p_loan_maturity_date    in date
50                              ,p_int_first_pay_date    in date
51                              ,p_int_num_intervals     in number
52                              ,p_int_interval_type     in varchar2
53                              ,p_int_pay_in_arrears    in boolean
54                              ,p_prin_first_pay_date   in date
55                              ,p_prin_num_intervals    in number
56                              ,p_prin_interval_type    in varchar2
57                              ,p_prin_pay_in_arrears   in boolean) return LNS_FIN_UTILS.PAYMENT_SCHEDULE_TBL;
58 
59 function convertPeriod(p_term                   in number
60                       ,p_term_period            in varchar2) return number;
61 
62 /* END DATE FUNCTIONS */
63 
64 /* BEGIN LOAN PROPERTIES FUNCTIONS */
65 function getMaturityDate(p_term           in number
66                         ,p_term_period    in varchar2
67                         ,p_frequency      in varchar2
68                         ,p_start_date     in date) return date;
69 
70 -- fix for bug 5842639: added p_loan_start_date parameter
71 function getPaymentSchedule(p_loan_start_date in date
72                            ,p_first_pay_date in date
73                            ,p_maturity_date  in date
74                            ,p_pay_in_arrears in boolean
75                            ,p_num_intervals  in number
76                            ,p_interval_type  in varchar2) return LNS_FIN_UTILS.DATE_TBL;
77 
78 function getInstallmentDate(p_loan_id IN NUMBER
79                            ,p_installment_number IN NUMBER) return date;
80 
81 function getNumberInstallments(p_loan_id in number) return NUMBER;
82 
83 function getNumberInstallments(p_loan_id in number
84                               ,p_phase   in varchar2) return NUMBER;
85 
86 function getActiveRate(p_loan_id in number) return number;
87 
88 /* END LOAN PROPERTIES FUNCTIONS */
89 
90 /* BEGIN RATE FUNCTIONS */
91 function convertRate(p_annualized_rate        in number
92                     ,p_amortization_frequency in varchar2) return number;
93 
94 function getRateForDate(p_index_rate_id   in number
95                        ,p_rate_date       in date) return number;
96 /* END RATE FUNCTIONS */
97 
98 
99 
100 END LNS_FIN_UTILS;