[Home] [Help]
PACKAGE: APPS.OKL_PRICING_PVT
Source
1 PACKAGE OKL_PRICING_PVT AS
2 /* $Header: OKLRPIGS.pls 120.9 2008/02/28 17:53:23 vdamerla 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
116 PROCEDURE compute_iir (p_khr_id IN NUMBER,
117 p_start_date IN DATE,
118 p_term_duration IN NUMBER,
119 p_interim_tbl IN interim_interest_tbl_type,
120 p_subsidies_yn IN VARCHAR2,
121 p_initial_iir IN NUMBER DEFAULT NULL,
122 x_iir OUT NOCOPY NUMBER,
123 x_return_status OUT NOCOPY VARCHAR2);
124
125 PROCEDURE compute_irr (p_khr_id IN NUMBER,
126 p_start_date IN DATE,
127 p_term_duration IN NUMBER,
128 p_interim_tbl IN interim_interest_tbl_type,
129 p_subsidies_yn IN VARCHAR2,
130 -- Added parameter for accepting approximation.
131 p_initial_irr IN NUMBER, -- Added by RGOOTY
132 x_irr OUT NOCOPY NUMBER,
133 x_return_status OUT NOCOPY VARCHAR2);
134
135 PROCEDURE get_rate(p_khr_id IN NUMBER,
136 p_date IN DATE,
137 x_rate OUT NOCOPY NUMBER,
138 x_return_status OUT NOCOPY VARCHAR2);
139
140 PROCEDURE target_pay_down(
141 p_khr_id IN NUMBER,
142 p_kle_id IN NUMBER,
143 p_ppd_date IN DATE,
144 p_ppd_amount IN NUMBER,
145 p_iir IN NUMBER,
146 x_payment_amount OUT NOCOPY NUMBER,
147 x_msg_count OUT NOCOPY NUMBER,
148 x_msg_data OUT NOCOPY VARCHAR2,
149 x_return_status OUT NOCOPY VARCHAR2);
150
151 PROCEDURE target_pay_down (
152 p_khr_id IN NUMBER,
153 p_ppd_date IN DATE,
154 p_ppd_amount IN NUMBER,
155 p_pay_start_date IN DATE,
156 p_iir IN NUMBER,
157 p_term IN NUMBER,
158 p_frequency IN VARCHAR2,
159 p_arrears_yn IN VARCHAR2,
160 x_pay_amount OUT NOCOPY NUMBER,
161 x_msg_count OUT NOCOPY NUMBER,
162 x_msg_data OUT NOCOPY VARCHAR2,
163 x_return_status OUT NOCOPY VARCHAR2);
164
165 PROCEDURE compute_rates(
166 p_api_version IN NUMBER,
167 p_init_msg_list IN VARCHAR2,
168 p_khr_id IN NUMBER,
169 p_kle_id IN NUMBER,
170 p_pay_tbl IN OKL_STREAM_GENERATOR_PVT.payment_tbl_type,
171 x_rates OUT NOCOPY OKL_STREAM_GENERATOR_PVT.rate_rec_type,
172 x_return_status OUT NOCOPY VARCHAR2,
173 x_msg_count OUT NOCOPY NUMBER,
174 x_msg_data OUT NOCOPY VARCHAR2);
175
176
177 PROCEDURE target_parameter(
178 p_api_version IN NUMBER,
179 p_init_msg_list IN VARCHAR2,
180 p_khr_id IN NUMBER,
181 p_kle_id IN NUMBER,
182 p_rate_type IN VARCHAR2,
183 p_target_param IN VARCHAR2,
184 p_pay_tbl IN OKL_STREAM_GENERATOR_PVT.payment_tbl_type,
185 x_pay_tbl OUT NOCOPY OKL_STREAM_GENERATOR_PVT.payment_tbl_type,
186 x_overall_rate OUT NOCOPY NUMBER,
187 x_return_status OUT NOCOPY VARCHAR2,
188 x_msg_count OUT NOCOPY NUMBER,
189 x_msg_data OUT NOCOPY VARCHAR2);
190
191
192 PROCEDURE get_payment_after_ppd(
193 p_api_version IN NUMBER,
194 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
195 x_return_status OUT NOCOPY VARCHAR2,
196 x_msg_count OUT NOCOPY NUMBER,
197 x_msg_data OUT NOCOPY VARCHAR2,
198 p_khr_id IN NUMBER,
199 p_kle_id IN NUMBER,
200 p_ppd_amt IN NUMBER,
201 p_rate IN NUMBER,
202 p_ppd_date IN DATE,
203 p_pay_level IN payment_tbl_type,
204 x_pay_level OUT NOCOPY payment_tbl_type);
205
206 -- Bug 6748547 : Loan Amortization schedule feature : Begin
207 PROCEDURE generate_loan_schedules (p_khr_id IN NUMBER,
208 p_investment IN NUMBER,
209 p_start_date IN DATE,
210 x_interest_rate OUT NOCOPY NUMBER,
211 x_schedule_table OUT NOCOPY schedule_table_type,
212 x_return_status OUT NOCOPY VARCHAR2);
213
214 PROCEDURE print(p_progname IN VARCHAR2,p_message IN VARCHAR2);
215 -- Bug 6748547 : Loan Amortization schedule feature : End
216
217
218 END OKL_PRICING_PVT;