1 PACKAGE OKL_GENERATE_PV_RENT_PVT AUTHID CURRENT_USER AS
2 /* $Header: OKLRTPVS.pls 120.0 2008/01/10 08:19:08 rajnisku noship $ */
3 ------------------------------------------------------------------------------
4 -- Global Variables
5 ------------------------------------------------------------------------------
6 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_GENERATE_PV_RENT_PVT';
7 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
8 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UNEXPECTED_ERROR';
9 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLERRM';
10 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLCODE';
11 G_commit_after_records CONSTANT NUMBER := 500;
12 G_commit_count NUMBER := 0;
13 ------------------------------------------------------------------------------
14 -- Record Type
15 ------------------------------------------------------------------------------
16
17 TYPE asset_id_rec_type IS RECORD (
18 id okc_k_lines_b.id%TYPE,
19 stream_type_purpose okl_strm_type_b.stream_type_purpose%TYPE,
20 capital_amount NUMBER,
21 residual_value NUMBER
22 );
23
24 TYPE asset_id_tbl_type IS TABLE OF asset_id_rec_type
25 INDEX BY BINARY_INTEGER;
26
27
28 TYPE cash_flow_rec IS RECORD (
29 cf_number NUMBER,
30 cf_amount NUMBER,
31 cf_date DATE,
32 cf_days NUMBER,
33 cf_arrears VARCHAR2(1),
34 cf_stub VARCHAR2(1),
35 cf_purpose VARCHAR2(256),
36 cf_dpp NUMBER,
37 cf_ppy NUMBER,
38 kleId NUMBER
39 );
40
41 TYPE cash_flow_tbl IS TABLE OF cash_flow_rec INDEX BY BINARY_INTEGER;
42
43
44 ---------------------------------------------------------------------------
45 -- Procedures AND Functions
46 ---------------------------------------------------------------------------
47
48 PROCEDURE generate_total_pv_rent
49 (p_api_version IN NUMBER
50 ,p_init_msg_list IN VARCHAR2
51 ,p_khr_id IN NUMBER
52 ,x_total_pv_rent OUT NOCOPY NUMBER
53 ,x_return_status OUT NOCOPY VARCHAR2
54 ,x_msg_count OUT NOCOPY NUMBER
55 ,x_msg_data OUT NOCOPY VARCHAR2
56 );
57
58
59 PROCEDURE generate_asset_rent
60 (p_api_version IN NUMBER
61 ,p_init_msg_list IN VARCHAR2
62 ,p_khr_id IN NUMBER
63 ,p_kle_id IN NUMBER
64 ,p_contract_start_date IN DATE
65 ,p_day_convention_month IN VARCHAR2
66 ,p_day_convention_year IN VARCHAR2
67 ,p_arrears_pay_dates_option IN VARCHAR2
68 ,p_total_rent_inflow_tbl IN OKL_GENERATE_PV_RENT_PVT.cash_flow_tbl
69 ,x_total_rent_inflow_tbl OUT NOCOPY OKL_GENERATE_PV_RENT_PVT.cash_flow_tbl
70 ,x_dpp OUT NOCOPY NUMBER
71 ,x_ppy OUT NOCOPY NUMBER
72 ,x_return_status OUT NOCOPY VARCHAR2
73 ,x_msg_count OUT NOCOPY NUMBER
74 ,x_msg_data OUT NOCOPY VARCHAR2
75 );
76
77
78 PROCEDURE generate_stream_elements( p_start_date IN DATE,
79 p_periods IN NUMBER,
80 p_frequency IN VARCHAR2,
81 p_structure IN VARCHAR2,
82 p_arrears_yn IN VARCHAR2,
83 p_amount IN NUMBER,
84 p_stub_days IN NUMBER,
85 p_stub_amount IN NUMBER,
86 p_khr_id IN NUMBER,
87 p_kle_id IN NUMBER,
88 p_purpose_code IN VARCHAR2,
89 p_recurrence_date IN DATE,
90 p_dpp IN NUMBER,
91 p_ppy IN NUMBER,
92 p_months_factor IN NUMBER,
93 p_contract_start_date IN DATE,
94 p_day_convention_month IN VARCHAR2,
95 p_day_convention_year IN VARCHAR2,
96 p_arrears_pay_dates_option IN VARCHAR2,
97 p_rent_inflow_tbl IN OKL_GENERATE_PV_RENT_PVT.cash_flow_tbl,
98 x_rent_inflow_tbl OUT NOCOPY OKL_GENERATE_PV_RENT_PVT.cash_flow_tbl,
99 x_return_status OUT NOCOPY VARCHAR2,
100 x_msg_count OUT NOCOPY NUMBER,
101 x_msg_data OUT NOCOPY VARCHAR2
102 );
103
104
105 PROCEDURE compute_iir (p_khr_id IN NUMBER,
106 p_cash_in_flows_tbl IN OKL_GENERATE_PV_RENT_PVT.cash_flow_tbl,
107 p_cash_out_flows IN NUMBER,
108 p_initial_iir IN NUMBER,
109 p_precision IN NUMBER,
110 x_iir OUT NOCOPY NUMBER,
111 x_return_status OUT NOCOPY VARCHAR2,
112 x_msg_count OUT NOCOPY NUMBER,
113 x_msg_data OUT NOCOPY VARCHAR2
114 );
115
116
117
118 END OKL_GENERATE_PV_RENT_PVT;