DBA Data[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;