1 PACKAGE FA_LEASE_SCHEDULE_PVT AUTHID CURRENT_USER AS
2 /* $Header: FAVLSCS.pls 120.4 2009/05/08 21:18:54 glchen ship $ */
3 --
4 -- API name : FA_LEASE_SCHEDULE_PVT
5 -- Type : Public
6 -- Pre-reqs : None.
7 -- Function/Procedure : These Functions/Procedures will be used to support
8 -- public API's
9 --
10 ----------------------------------------------------
11 -- CHECK FOR PAYMENT SCHEDULE NAME
12 ----------------------------------------------------
13 FUNCTION CHECK_PAYMENT_SCHEDULE (
14 P_PAYMENT_SCHEDULE_NAME IN FA_LEASE_SCHEDULES.PAYMENT_SCHEDULE_NAME%TYPE
15 ,p_log_level_rec IN fa_api_types.log_level_rec_type default null
16 ) RETURN BOOLEAN;
17
18 ----------------------------------------------------
19 -- CHECK FOR CURRENCY CODE
20 ----------------------------------------------------
21 FUNCTION CHECK_CURRENCY_CODE(
22 P_CURRENCY_CODE IN FA_LEASE_SCHEDULES.CURRENCY_CODE%TYPE
23 ,p_log_level_rec IN fa_api_types.log_level_rec_type default null
24 ) RETURN BOOLEAN;
25
26 ----------------------------------------------------
27 -- CHECK FOR LEASE FREQUENCY
28 ----------------------------------------------------
29 FUNCTION CHECK_LEASE_FREQUENCY(
30 P_FREQUENCY IN FA_LEASE_SCHEDULES.FREQUENCY%TYPE
31 ,p_log_level_rec IN fa_api_types.log_level_rec_type default null
32 ) RETURN BOOLEAN;
33
34
35 ----------------------------------------------------
36 -- CHECK FOR START DATE
37 ----------------------------------------------------
38 FUNCTION CHECK_START_DATE (
39 P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
40 P_LEASE_INCEPTION_DATE IN DATE,
41 P_MONTHS_PER_PERIOD IN NUMBER
42 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN;
43
44 ----------------------------------------------------
45 -- CHECK FOR PAYMENT AMOUNT
46 ----------------------------------------------------
47 FUNCTION CHECK_PAYMENT_AMOUNT(
48 P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
49 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN;
50
51 ----------------------------------------------------
52 -- CHECK FOR NUMBER OF PAYMENTS
53 ----------------------------------------------------
54 FUNCTION CHECK_NO_OF_PAYMENTS (
55 P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
56 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN;
57
58 ----------------------------------------------------
59 -- CHECK FOR LEASE PAYMENT TYPE
60 ----------------------------------------------------
61 FUNCTION CHECK_PERIODS (
62 P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE
63 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN;
64
65 ----------------------------------------------------
66 -- CALCULATE END DATE
67 ----------------------------------------------------
68 FUNCTION CALC_END_DATE (
69 P_NUMBER_OF_PAYMENTS IN NUMBER,
70 P_MONTHS_PER_PERIOD IN NUMBER,
71 P_START_DATE IN DATE
72 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN DATE;
73
74 ----------------------------------------------------
75 -- VALIDATE SCHEDULE ID
76 ----------------------------------------------------
77 FUNCTION VALIDATE_SCHEDULE_ID (
78 P_PAYMENT_SCHEDULE_ID IN NUMBER,
79 X_MONTHS_PER_PERIOD OUT NOCOPY NUMBER,
80 X_CURRENCY_PRECISION OUT NOCOPY NUMBER,
81 X_PERIODS_PER_YEAR OUT NOCOPY NUMBER
82 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN;
83
84 ----------------------------------------------------
85 -- CALCULATE INTEREST
86 ----------------------------------------------------
87 FUNCTION CALCULATE_INTEREST (
88 P_PRINCIPAL IN NUMBER,
89 P_RATE_PER_PERIOD IN NUMBER,
90 P_NUM_PERIODS IN NUMBER
91 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER;
92
93 ----------------------------------------------------
94 -- DO MINIMUM OF TWO NUMBERS
95 ----------------------------------------------------
96 FUNCTION AMINIMUM2(
97 P_X IN NUMBER,
98 P_Y IN NUMBER
99 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER;
100
101 ----------------------------------------------------
102 -- DO MINIMUM OF THREE NUMBERS
103 ----------------------------------------------------
104 FUNCTION AMINIMUM3(
105 P_X IN NUMBER,
106 P_Y IN NUMBER,
107 P_Z IN NUMBER
108 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER;
109
110 ----------------------------------------------------
111 -- DO LUMP SUM CALCULATIONS
112 ----------------------------------------------------
113 FUNCTION LUMP_SUM(
114 P_PAYMENT_AMOUNT IN NUMBER,
115 P_NUMBER_PAYMENTS IN NUMBER,
116 P_INTEREST_RATE IN NUMBER,
117 P_CURRENCY_PRECISION IN NUMBER
118 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER;
119
120 ----------------------------------------------------
121 -- DO ORDINARY ANNUITY CALCULATIONS
122 ----------------------------------------------------
123 FUNCTION ORDINARY_ANNUITY(
124 P_PAYMENT_AMOUNT IN NUMBER,
125 P_NUMBER_PAYMENTS IN NUMBER,
126 P_INTEREST_RATE IN NUMBER,
127 P_CURRENCY_PRECISION IN NUMBER
128 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER;
129
130 ----------------------------------------------------
131 -- DO ANNUITY DUE CALCULATIONS
132 ----------------------------------------------------
133 FUNCTION ANNUITY_DUE(
134 P_PAYMENT_AMOUNT IN NUMBER,
135 P_NUMBER_PAYMENTS IN NUMBER,
136 P_INTEREST_RATE IN NUMBER,
137 P_CURRENCY_PRECISION IN NUMBER
138 , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN NUMBER;
139
140 ----------------------------------------------------
141 -- DO PRESENT VALUE CALCULATIONS
142 ----------------------------------------------------
143 PROCEDURE PRESENT_VALUE_CALC(
144 P_PAYMENT_SCHEDULE_ID IN NUMBER,
145 P_MONTHS_PER_PERIOD IN NUMBER,
146 P_INTEREST_PER_PERIOD IN NUMBER,
147 P_CURRENCY_PRECISION IN NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type);
148
149 ----------------------------------------------------
150 -- VALIDATE PAYMENT DETAILS
151 ----------------------------------------------------
152 FUNCTION VALIDATE_PAYMENTS (
153 PX_LEASE_SCHEDULES_REC IN OUT NOCOPY FA_API_TYPES.LEASE_SCHEDULES_REC_TYPE,
154 P_LEASE_PAYMENTS_TBL IN FA_API_TYPES.LEASE_PAYMENTS_TBL_TYPE,
155 P_MONTHS_PER_PERIOD OUT NOCOPY NUMBER, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
156 RETURN BOOLEAN;
157
158 ----------------------------------------------------
159 -- AMORTIZE CALCULATIONS
160 ----------------------------------------------------
161 FUNCTION AMORTIZE(
162 P_PAYMENT_SCHEDULE_ID IN NUMBER,
163 P_TRANS_REC IN FA_API_TYPES.TRANS_REC_TYPE, p_log_level_rec IN FA_API_TYPES.log_level_rec_type)
164 RETURN BOOLEAN;
165 END FA_LEASE_SCHEDULE_PVT;