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