1 PACKAGE OKL_LEASE_QUOTE_CASHFLOW_PVT AS
2 /* $Header: OKLRQUCS.pls 120.6 2006/02/10 07:52:43 asawanka noship $ */
3
4 --------------------
5 -- PACKAGE CONSTANTS
6 --------------------
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OKL_LEASE_QUOTE_CASHFLOW_PVT';
8 G_APP_NAME CONSTANT VARCHAR2(30) := OKL_API.G_APP_NAME;
9 G_API_VERSION CONSTANT NUMBER := 1;
10 G_USER_ID CONSTANT NUMBER := FND_GLOBAL.USER_ID;
11 G_LOGIN_ID CONSTANT NUMBER := FND_GLOBAL.LOGIN_ID;
12 G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
13 G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
14 G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
15 G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
16 G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
17 G_DB_ERROR CONSTANT VARCHAR2(30) := 'OKL_DB_ERROR';
18 G_PKG_NAME_TOKEN CONSTANT VARCHAR2(30) := 'PKG_NAME';
19 G_PROG_NAME_TOKEN CONSTANT VARCHAR2(30) := 'PROG_NAME';
20 G_SQLCODE_TOKEN CONSTANT VARCHAR2(30) := 'SQLCODE';
21 G_SQLERRM_TOKEN CONSTANT VARCHAR2(30) := 'SQLERRM';
22
23
24 -----------------
25 -- RECORD TYPES
26 -----------------
27 subtype cafv_rec_type is OKL_CAF_PVT.cafv_rec_type;
28 subtype cfov_rec_type is OKL_CFO_PVT.cfov_rec_type;
29 subtype cflv_tbl_type is OKL_CFL_PVT.cflv_tbl_type;
30
31 ------------------
32 -- DATA STRUCTURES
33 ------------------
34 TYPE contract_details_rec_type IS RECORD (
35 currency_code VARCHAR2(15)
36 ,start_date DATE
37 ,term NUMBER
38 ,pricing_method_code VARCHAR2(30) );
39
40 TYPE cashflow_header_rec_type IS RECORD (
41 type_code VARCHAR2(30) -- mandatory. Allowable values: 'INFLOW' 'OUTFLOW'
42 ,stream_type_id NUMBER -- optional for quick quotes only
43 ,status_code VARCHAR2(30) -- status code for cashflow
44 ,arrears_flag VARCHAR2(1) -- mandatory
45 ,frequency_code VARCHAR2(1) -- mandatory
46 ,dnz_periods VARCHAR2(80) -- used for possible display in lease quote UI (TBD)
47 ,dnz_periodic_amount VARCHAR2(80) -- used for possible display in lease quote UI (TBD)
48 ,parent_object_code VARCHAR2(30) -- mandatory (see 'insert_rows' procedure for possible values)
49 ,parent_object_id NUMBER -- mandatory
50 ,quote_type_code VARCHAR2(30) -- mandatory Allowable values: 'LQ' 'QQ' 'LA'
51 ,quote_id NUMBER -- mandatory
52 ,cashflow_header_id NUMBER -- mandatory for update (okl_cash_flows)
53 ,cashflow_object_id NUMBER -- mandatory for update (okl_cash_flow_objects)
54 ,cashflow_header_ovn NUMBER -- mandatory for update
55 );
56
57 TYPE cashflow_level_rec_type IS RECORD (
58 cashflow_level_id NUMBER -- mandatory during update
59 ,start_date DATE
60 ,rate NUMBER
61 ,stub_amount NUMBER
62 ,stub_days NUMBER
63 ,periods NUMBER
64 ,periodic_amount NUMBER
65 ,cashflow_level_ovn NUMBER -- mandatory in update call.
66 ,record_mode VARCHAR2(10) -- mandatory in update call. Allowable values: 'CREATE' 'UPDATE'
67 ,missing_pmt_flag varchar2(3)
68 );
69
70 TYPE cashflow_level_tbl_type IS TABLE OF cashflow_level_rec_type INDEX BY PLS_INTEGER;
71
72 ----------------
73 -- PROGRAM UNITS
74 ----------------
75 PROCEDURE create_cashflow (
76 p_api_version IN NUMBER
77 ,p_init_msg_list IN VARCHAR2
78 ,p_transaction_control IN VARCHAR2
79 ,p_cashflow_header_rec IN OUT NOCOPY cashflow_header_rec_type
80 ,p_cashflow_level_tbl IN OUT NOCOPY cashflow_level_tbl_type
81 ,x_return_status OUT NOCOPY VARCHAR2
82 ,x_msg_count OUT NOCOPY NUMBER
83 ,x_msg_data OUT NOCOPY VARCHAR2 );
84
85
86 PROCEDURE update_cashflow (
87 p_api_version IN NUMBER
88 ,p_init_msg_list IN VARCHAR2
89 ,p_transaction_control IN VARCHAR2
90 ,p_cashflow_header_rec IN OUT NOCOPY cashflow_header_rec_type
91 ,p_cashflow_level_tbl IN OUT NOCOPY cashflow_level_tbl_type
92 ,x_return_status OUT NOCOPY VARCHAR2
93 ,x_msg_count OUT NOCOPY NUMBER
94 ,x_msg_data OUT NOCOPY VARCHAR2 );
95
96
97 -- All duplicate and delete procedures is WIP...
98
99
100 PROCEDURE duplicate_cashflows (
101 p_api_version IN NUMBER
102 ,p_init_msg_list IN VARCHAR2
103 ,p_transaction_control IN VARCHAR2
104 ,p_source_object_code IN VARCHAR2
105 ,p_source_object_id IN NUMBER
106 ,p_target_object_id IN NUMBER
107 ,p_quote_id IN NUMBER
108 ,x_return_status OUT NOCOPY VARCHAR2
109 ,x_msg_count OUT NOCOPY NUMBER
110 ,x_msg_data OUT NOCOPY VARCHAR2
111 ,p_target_object_code IN VARCHAR2 DEFAULT NULL);
112
113 PROCEDURE delete_cashflows (
114 p_api_version IN NUMBER
115 ,p_init_msg_list IN VARCHAR2
116 ,p_transaction_control IN VARCHAR2
117 ,p_source_object_code IN VARCHAR2
118 ,p_source_object_id IN NUMBER
119 ,x_return_status OUT NOCOPY VARCHAR2
120 ,x_msg_count OUT NOCOPY NUMBER
121 ,x_msg_data OUT NOCOPY VARCHAR2 );
122
123 PROCEDURE delete_cashflow (
124 p_api_version IN NUMBER
125 ,p_init_msg_list IN VARCHAR2
126 ,p_transaction_control IN VARCHAR2
127 ,p_cashflow_header_id IN NUMBER
128 ,x_return_status OUT NOCOPY VARCHAR2
129 ,x_msg_count OUT NOCOPY NUMBER
130 ,x_msg_data OUT NOCOPY VARCHAR2 );
131
132 PROCEDURE delete_cashflow_level (
133 p_api_version IN NUMBER
134 ,p_init_msg_list IN VARCHAR2
135 ,p_transaction_control IN VARCHAR2
136 ,p_cashflow_level_id IN NUMBER
137 ,x_return_status OUT NOCOPY VARCHAR2
138 ,x_msg_count OUT NOCOPY NUMBER
139 ,x_msg_data OUT NOCOPY VARCHAR2 );
140
141 PROCEDURE process_quote_pricing_reset (
142 p_api_version IN NUMBER
143 ,p_init_msg_list IN VARCHAR2
144 ,p_transaction_control IN VARCHAR2
145 ,p_quote_id IN NUMBER
146 ,x_return_status OUT NOCOPY VARCHAR2
147 ,x_msg_count OUT NOCOPY NUMBER
148 ,x_msg_data OUT NOCOPY VARCHAR2 );
149
150 PROCEDURE copy_pmts_from_est_to_quote (
151 p_api_version IN NUMBER
152 ,p_init_msg_list IN VARCHAR2
153 ,p_transaction_control IN VARCHAR2
154 ,p_estimate_id IN NUMBER
155 ,p_quote_id IN NUMBER
156 ,x_return_status OUT NOCOPY VARCHAR2
157 ,x_msg_count OUT NOCOPY NUMBER
158 ,x_msg_data OUT NOCOPY VARCHAR2
159 );
160
161 END OKL_LEASE_QUOTE_CASHFLOW_PVT;