[Home] [Help]
PACKAGE: APPS.OKL_PRICING_PVT
Source
1 PACKAGE OKL_PRICING_PVT AUTHID CURRENT_USER AS
2 /* $Header: OKLRPIGS.pls 120.10 2009/05/12 06:55:44 rgooty ship $ */
3
4 -----------------------------------------------------------------------------
5 -- PACKAGE SPECIFIC CONSTANTS
6 -----------------------------------------------------------------------------
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OKL_PRICING_PVT';
8
9 -----------------------------------------------------------------------------
10 -- APPLICATION GLOBAL CONSTANTS
11 -----------------------------------------------------------------------------
12 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
13 G_API_VERSION CONSTANT NUMBER := 1;
14 G_FALSE CONSTANT VARCHAR2(1) := OKL_API.G_FALSE;
15 G_TRUE CONSTANT VARCHAR2(1) := OKL_API.G_TRUE;
16 G_DB_ERROR CONSTANT VARCHAR2(12) := 'OKL_DB_ERROR';
17 G_PROG_NAME_TOKEN CONSTANT VARCHAR2(9) := 'PROG_NAME';
18 G_SQLCODE_TOKEN CONSTANT VARCHAR2(7) := 'SQLCODE';
19 G_SQLERRM_TOKEN CONSTANT VARCHAR2(7) := 'SQLERRM';
20 G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
21 G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := OKL_API.G_RET_STS_UNEXP_ERROR;
22 G_RET_STS_ERROR CONSTANT VARCHAR2(1) := OKL_API.G_RET_STS_ERROR;
23
24 ---------------------------------------------------------------------------
25 -- PROGRAM UNITS
26 ---------------------------------------------------------------------------
27
28 TYPE interim_interest_rec_type IS RECORD (cf_days NUMBER, cf_amount NUMBER, cf_dpp NUMBER);
29 TYPE interim_interest_tbl_type IS TABLE OF interim_interest_rec_type INDEX BY BINARY_INTEGER;
30
31 TYPE payment_rec_type IS RECORD (sll_id NUMBER,
32 start_date DATE,
33 periods NUMBER,
34 frequency VARCHAR2(1),
35 structure VARCHAR2(1),
36 arrears_yn VARCHAR2(1),
37 amount NUMBER,
38 stub_days NUMBER,
39 stub_amount NUMBER,
40 rate NUMBER,
41 ratio NUMBER);
42
43
44
45 TYPE payment_tbl_type IS TABLE OF payment_rec_type INDEX BY BINARY_INTEGER;
46
47 TYPE cash_flow_rec IS RECORD (cf_days NUMBER,
48 cf_date DATE,
49 cf_amount NUMBER,
50 cf_ratio NUMBER);
51
52
53
54 TYPE cash_flow_tbl_type IS TABLE OF cash_flow_rec INDEX BY BINARY_INTEGER;
55
56
57
58 PROCEDURE get_quote_amortization(p_khr_id IN NUMBER,
59 p_kle_id IN NUMBER,
60 p_investment IN NUMBER,
61 p_residual_value IN NUMBER,
62 p_start_date IN DATE,
63 p_asset_start_date IN DATE,
64 p_term_duration IN NUMBER,
65 x_principal_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
66 x_interest_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
67 x_prin_bal_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
68 x_termination_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
69 x_pre_tax_inc_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
70 x_interim_interest OUT NOCOPY NUMBER,
71 x_interim_days OUT NOCOPY NUMBER,
72 x_interim_dpp OUT NOCOPY NUMBER,
73 x_iir OUT NOCOPY NUMBER,
74 x_booking_yield OUT NOCOPY NUMBER,
75 x_return_status OUT NOCOPY VARCHAR2);
76
77 -- Bug 6748547 : Loan Amortization schedule feature : Begin
78
79 TYPE schedule_rec IS RECORD
80 (
81 schedule_date date,
82 schedule_principal number,
83 schedule_interest number,
84 schedule_prin_bal number
85 );
86
87 TYPE schedule_table_type IS TABLE OF schedule_rec INDEX BY BINARY_INTEGER;
88
89 -- Bug 6748547 : Loan Amortization schedule feature : End
90 -- Added input parameter p_se_id by prasjain for bug 5474827
91 PROCEDURE get_loan_amortization (p_khr_id IN NUMBER,
92 p_kle_id IN NUMBER,
93 p_purpose_code IN VARCHAR2,
94 p_investment IN NUMBER,
95 p_residual_value IN NUMBER,
96 p_start_date IN DATE,
97 p_asset_start_date IN DATE,
98 p_term_duration IN NUMBER,
99 p_currency_code IN VARCHAR2, --USED?
100 p_deal_type IN VARCHAR2, --USED?
101 p_asset_iir_guess IN NUMBER DEFAULT NULL,
102 p_bkg_yield_guess IN NUMBER DEFAULT NULL,
103 x_principal_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
104 x_interest_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
105 x_prin_bal_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
106 x_termination_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
107 x_pre_tax_inc_tbl OUT NOCOPY okl_streams_pub.selv_tbl_type,
108 x_interim_interest OUT NOCOPY NUMBER,
109 x_interim_days OUT NOCOPY NUMBER,
110 x_interim_dpp OUT NOCOPY NUMBER,
111 x_iir OUT NOCOPY NUMBER,
112 x_booking_yield OUT NOCOPY NUMBER,
113 x_return_status OUT NOCOPY VARCHAR2,
114 p_se_id IN NUMBER
115 -- Params added for Prospective Rebooking
116 ,p_during_rebook_yn IN VARCHAR2
117 ,p_rebook_type IN VARCHAR2
118 ,p_prosp_rebook_flag IN VARCHAR2
119 ,p_rebook_date IN DATE
120 ,p_income_strm_sty_id IN NUMBER
121 );
122
123 PROCEDURE compute_iir (p_khr_id IN NUMBER,
124 p_start_date IN DATE,
125 p_term_duration IN NUMBER,
126 p_interim_tbl IN interim_interest_tbl_type,
127 p_subsidies_yn IN VARCHAR2,
128 p_initial_iir IN NUMBER DEFAULT NULL,
129 x_iir OUT NOCOPY NUMBER,
130 x_return_status OUT NOCOPY VARCHAR2);
131
132 PROCEDURE compute_irr (p_khr_id IN NUMBER,
133 p_start_date IN DATE,
134 p_term_duration IN NUMBER,
135 p_interim_tbl IN interim_interest_tbl_type,
136 p_subsidies_yn IN VARCHAR2,
137 -- Added parameter for accepting approximation.
138 p_initial_irr IN NUMBER, -- Added by RGOOTY
139 x_irr OUT NOCOPY NUMBER,
140 x_return_status OUT NOCOPY VARCHAR2);
141
142 PROCEDURE get_rate(p_khr_id IN NUMBER,
143 p_date IN DATE,
144 x_rate OUT NOCOPY NUMBER,
145 x_return_status OUT NOCOPY VARCHAR2);
146
147 PROCEDURE target_pay_down(
148 p_khr_id IN NUMBER,
149 p_kle_id IN NUMBER,
150 p_ppd_date IN DATE,
151 p_ppd_amount IN NUMBER,
152 p_iir IN NUMBER,
153 x_payment_amount OUT NOCOPY NUMBER,
154 x_msg_count OUT NOCOPY NUMBER,
155 x_msg_data OUT NOCOPY VARCHAR2,
156 x_return_status OUT NOCOPY VARCHAR2);
157
158 PROCEDURE target_pay_down (
159 p_khr_id IN NUMBER,
160 p_ppd_date IN DATE,
161 p_ppd_amount IN NUMBER,
162 p_pay_start_date IN DATE,
163 p_iir IN NUMBER,
164 p_term IN NUMBER,
165 p_frequency IN VARCHAR2,
166 p_arrears_yn IN VARCHAR2,
167 x_pay_amount OUT NOCOPY NUMBER,
168 x_msg_count OUT NOCOPY NUMBER,
169 x_msg_data OUT NOCOPY VARCHAR2,
170 x_return_status OUT NOCOPY VARCHAR2);
171
172 PROCEDURE compute_rates(
173 p_api_version IN NUMBER,
174 p_init_msg_list IN VARCHAR2,
175 p_khr_id IN NUMBER,
176 p_kle_id IN NUMBER,
177 p_pay_tbl IN OKL_STREAM_GENERATOR_PVT.payment_tbl_type,
178 x_rates OUT NOCOPY OKL_STREAM_GENERATOR_PVT.rate_rec_type,
179 x_return_status OUT NOCOPY VARCHAR2,
180 x_msg_count OUT NOCOPY NUMBER,
181 x_msg_data OUT NOCOPY VARCHAR2);
182
183
184 PROCEDURE target_parameter(
185 p_api_version IN NUMBER,
186 p_init_msg_list IN VARCHAR2,
187 p_khr_id IN NUMBER,
188 p_kle_id IN NUMBER,
189 p_rate_type IN VARCHAR2,
190 p_target_param IN VARCHAR2,
191 p_pay_tbl IN OKL_STREAM_GENERATOR_PVT.payment_tbl_type,
192 x_pay_tbl OUT NOCOPY OKL_STREAM_GENERATOR_PVT.payment_tbl_type,
193 x_overall_rate OUT NOCOPY NUMBER,
194 x_return_status OUT NOCOPY VARCHAR2,
195 x_msg_count OUT NOCOPY NUMBER,
196 x_msg_data OUT NOCOPY VARCHAR2);
197
198
199 PROCEDURE get_payment_after_ppd(
200 p_api_version IN NUMBER,
201 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
202 x_return_status OUT NOCOPY VARCHAR2,
203 x_msg_count OUT NOCOPY NUMBER,
204 x_msg_data OUT NOCOPY VARCHAR2,
205 p_khr_id IN NUMBER,
206 p_kle_id IN NUMBER,
207 p_ppd_amt IN NUMBER,
208 p_rate IN NUMBER,
209 p_ppd_date IN DATE,
210 p_pay_level IN payment_tbl_type,
211 x_pay_level OUT NOCOPY payment_tbl_type);
212
213 -- Bug 6748547 : Loan Amortization schedule feature : Begin
214 PROCEDURE generate_loan_schedules (p_khr_id IN NUMBER,
215 p_investment IN NUMBER,
216 p_start_date IN DATE,
217 x_interest_rate OUT NOCOPY NUMBER,
218 x_schedule_table OUT NOCOPY schedule_table_type,
219 x_return_status OUT NOCOPY VARCHAR2);
220
221 PROCEDURE print(p_progname IN VARCHAR2,p_message IN VARCHAR2);
222 -- Bug 6748547 : Loan Amortization schedule feature : End
223
224
225 END OKL_PRICING_PVT;