[Home] [Help]
PACKAGE BODY: APPS.OKL_COPY_ASSET_PUB
Source
1 Package body okl_copy_asset_PUB as
2 /* $Header: OKLPCALB.pls 115.7 2004/04/13 10:34:35 rnaik noship $ */
3 subtype trxv_rec_type is OKL_TRX_ASSETS_PUB.thpv_rec_type;
4 subtype trxv_tbl_type is OKL_TRX_ASSETS_PUB.thpv_tbl_type;
5 subtype talv_rec_type is OKL_TXL_ASSETS_PUB.tlpv_rec_type;
6 subtype talv_tbl_type is OKL_TXL_ASSETS_PUB.tlpv_tbl_type;
7 subtype txdv_tbl_type is OKL_TXD_ASSETS_PUB.adpv_tbl_type;
8 subtype itiv_rec_type is OKL_TXL_ITM_INSTS_PUB.iipv_rec_type;
9 subtype itiv_tbl_type is OKL_TXL_ITM_INSTS_PUB.iipv_tbl_type;
10 -------------------------------------------------------------------------------------------------
11 -- GLOBAL MESSAGE CONSTANTS
12 -------------------------------------------------------------------------------------------------
13 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKC_NO_PARENT_RECORD';
14 G_FND_APP CONSTANT VARCHAR2(200) := OKC_API.G_FND_APP;
15 G_FORM_UNABLE_TO_RESERVE_REC CONSTANT VARCHAR2(200) := OKC_API.G_FORM_UNABLE_TO_RESERVE_REC;
16 G_FORM_RECORD_DELETED CONSTANT VARCHAR2(200) := OKC_API.G_FORM_RECORD_DELETED;
17 G_FORM_RECORD_CHANGED CONSTANT VARCHAR2(200) := OKC_API.G_FORM_RECORD_CHANGED;
18 G_RECORD_LOGICALLY_DELETED CONSTANT VARCHAR2(200) := OKC_API.G_RECORD_LOGICALLY_DELETED;
19 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
20 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
21 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
22 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
23 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
24 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXP_ERROR';
25 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
26 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
27 G_UPPERCASE_REQUIRED CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UPPERCASE_REQ';
28 -------------------------------------------------------------------------------------------------
29 -- GLOBAL EXCEPTION
30 -------------------------------------------------------------------------------------------------
31 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
32 G_EXCEPTION_STOP_VALIDATION EXCEPTION;
33 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
34 G_API_VERSION CONSTANT NUMBER := 1.0;
35 G_SCOPE CONSTANT VARCHAR2(4) := '_PUB';
36 -------------------------------------------------------------------------------------------------
37 -- GLOBAL VARIABLES
38 -------------------------------------------------------------------------------------------------
39 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_COPY_ASSET_PUB';
40 G_APP_NAME CONSTANT VARCHAR2(3) := OKC_API.G_APP_NAME;
41 G_FIN_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FREE_FORM1';
42 G_FA_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FIXED_ASSET';
43 G_ID2 CONSTANT VARCHAR2(200) := '#';
44 G_TLS_TYPE OKC_LINE_STYLES_V.LSE_TYPE%TYPE := 'TLS';
45 G_SLS_TYPE OKC_LINE_STYLES_V.LSE_TYPE%TYPE := 'SLS';
46 -----------------------------------------------------------------------------------------------
47 --------------------------- Main Process for Copy of Asset Line -------------------------------
48 -----------------------------------------------------------------------------------------------
49 Procedure copy_asset_lines(
50 p_api_version IN NUMBER,
51 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
52 x_return_status OUT NOCOPY VARCHAR2,
53 x_msg_count OUT NOCOPY NUMBER,
54 x_msg_data OUT NOCOPY VARCHAR2,
55 P_from_cle_id IN NUMBER,
56 p_to_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
57 p_to_chr_id IN NUMBER,
58 p_to_template_yn IN VARCHAR2,
59 p_copy_reference IN VARCHAR2,
60 p_copy_line_party_yn IN VARCHAR2,
61 p_renew_ref_yn IN VARCHAR2,
62 p_trans_type IN VARCHAR2,
63 x_cle_id OUT NOCOPY NUMBER)
64 IS
65 l_api_name CONSTANT VARCHAR2(30) := 'COPY_ASSET_LINES';
66 l_api_version CONSTANT NUMBER := 1;
67 l_from_cle_id OKC_K_LINES_V.CLE_ID%TYPE;
68 l_to_cle_id OKC_K_LINES_V.CLE_ID%TYPE;
69 l_to_chr_id OKC_K_LINES_V.CHR_ID%TYPE;
70 l_to_template_yn VARCHAR2(3);
71 l_copy_reference VARCHAR2(30);
72 l_copy_line_party_yn VARCHAR2(3);
73 l_renew_ref_yn VARCHAR2(3);
74
75 BEGIN
76 savepoint copy_asset_lines_pub;
77 x_return_status := FND_API.G_RET_STS_SUCCESS;
78 -- Standard call to check for call compatibility.
79 IF NOT (FND_API.Compatible_API_Call (l_api_version,
80 p_api_version,
81 l_api_name,
82 G_PKG_NAME)) THEN
83 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
84 END IF;
85 -- Initialize message list if p_init_msg_list is set to TRUE.
86 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
87 FND_MSG_PUB.initialize;
88 END IF;
89 l_from_cle_id := p_from_cle_id;
90 l_to_cle_id := p_to_cle_id;
91 l_to_chr_id := p_to_chr_id;
92 l_to_template_yn := p_to_template_yn;
93 l_copy_reference := p_copy_reference;
94 l_copy_line_party_yn := p_copy_line_party_yn;
95 l_renew_ref_yn := p_renew_ref_yn;
96
97 g_from_cle_id := p_from_cle_id;
98 g_to_cle_id := p_to_cle_id;
99 g_to_chr_id := p_to_chr_id;
100 g_to_template_yn := p_to_template_yn;
101 g_copy_reference := p_copy_reference;
102 g_copy_line_party_yn := p_copy_line_party_yn;
103 g_renew_ref_yn := p_renew_ref_yn;
104 -- Customer pre processing section
105 -- Verticle industry pre- processing section
106 -- Business API call section
107 OKL_COPY_ASSET_PVT.copy_asset_lines(p_api_version => p_api_version,
108 p_init_msg_list => p_init_msg_list,
109 x_return_status => x_return_status,
110 x_msg_count => x_msg_count,
111 x_msg_data => x_msg_data,
112 P_from_cle_id => P_from_cle_id,
113 p_to_cle_id => p_to_cle_id,
114 p_to_chr_id => p_to_chr_id,
115 p_to_template_yn => p_to_template_yn,
116 p_copy_reference => p_copy_reference,
117 p_copy_line_party_yn => p_copy_line_party_yn,
118 p_renew_ref_yn => p_renew_ref_yn,
119 p_trans_type => p_trans_type,
120 x_cle_id => x_cle_id);
121 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
122 RAISE FND_API.G_EXC_ERROR;
123 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
124 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
125 END IF;
126 -- Verticle industry post- processing section
127 -- Customer post processing section
128 EXCEPTION
129 When FND_API.G_EXC_ERROR then
130 ROLLBACK TO copy_asset_lines_pub;
131 x_return_status := FND_API.G_RET_STS_ERROR;
132 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
133 p_data => x_msg_data);
134 When FND_API.G_EXC_UNEXPECTED_ERROR then
135 ROLLBACK TO copy_asset_lines_pub;
136 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
137 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
138 p_data => x_msg_data);
139 When OTHERS then
140 ROLLBACK TO copy_asset_lines_pub;
141 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
142 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
143 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
144 p_count => x_msg_count,
145 p_data => x_msg_data);
146
147 END copy_asset_lines;
148
149 -----------------------------------------------------------------------------------------------
150 --------------------------- Main Process for Copy of Asset Line -------------------------------
151 -----------------------------------------------------------------------------------------------
152 Procedure copy_asset_lines(
153 p_api_version IN NUMBER,
154 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
155 x_return_status OUT NOCOPY VARCHAR2,
156 x_msg_count OUT NOCOPY NUMBER,
157 x_msg_data OUT NOCOPY VARCHAR2,
158 p_from_cle_id_tbl IN klev_tbl_type,
159 p_to_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
160 p_to_chr_id IN NUMBER,
161 p_to_template_yn IN VARCHAR2,
162 p_copy_reference IN VARCHAR2,
163 p_copy_line_party_yn IN VARCHAR2,
164 p_renew_ref_yn IN VARCHAR2,
165 p_trans_type IN VARCHAR2,
166 x_cle_id_tbl OUT NOCOPY klev_tbl_type)
167 IS
168 l_api_name CONSTANT VARCHAR2(30) := 'COPY_ASSET_LINES';
169 l_api_version CONSTANT NUMBER := 1;
170 i NUMBER := 0;
171 BEGIN
172 x_return_status := FND_API.G_RET_STS_SUCCESS;
173 IF p_from_cle_id_tbl.COUNT > 0 THEN
174 i := p_from_cle_id_tbl.FIRST;
175 LOOP
176 copy_asset_lines(p_api_version => p_api_version,
177 p_init_msg_list => p_init_msg_list,
178 x_return_status => x_return_status,
179 x_msg_count => x_msg_count,
180 x_msg_data => x_msg_data,
181 P_from_cle_id => p_from_cle_id_tbl(i).ID,
182 p_to_cle_id => p_to_cle_id,
183 p_to_chr_id => p_to_chr_id,
184 p_to_template_yn => p_to_template_yn,
185 p_copy_reference => p_copy_reference,
186 p_copy_line_party_yn => p_copy_line_party_yn,
187 p_renew_ref_yn => p_renew_ref_yn,
188 p_trans_type => p_trans_type,
189 x_cle_id => x_cle_id_tbl(i).ID);
190 EXIT WHEN (i = p_from_cle_id_tbl.LAST);
191 i := p_from_cle_id_tbl.NEXT(i);
192 END LOOP;
193 END IF;
194 EXCEPTION
195 When FND_API.G_EXC_ERROR then
196 ROLLBACK TO copy_asset_lines_pub;
197 x_return_status := FND_API.G_RET_STS_ERROR;
198 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
199 p_data => x_msg_data);
200 When FND_API.G_EXC_UNEXPECTED_ERROR then
201 ROLLBACK TO copy_asset_lines_pub;
202 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
204 p_data => x_msg_data);
205 When OTHERS then
206 ROLLBACK TO copy_asset_lines_pub;
207 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
208 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
209 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
210 p_count => x_msg_count,
211 p_data => x_msg_data);
212
213 END copy_asset_lines;
214 -----------------------------------------------------------------------------------------------
215 --------------------------- Main Process for Copy All Line ------------------------------------
216 -----------------------------------------------------------------------------------------------
217 Procedure copy_all_lines(
218 p_api_version IN NUMBER,
219 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
220 x_return_status OUT NOCOPY VARCHAR2,
221 x_msg_count OUT NOCOPY NUMBER,
222 x_msg_data OUT NOCOPY VARCHAR2,
223 p_from_cle_id_tbl IN klev_tbl_type,
224 p_to_cle_id IN NUMBER DEFAULT OKL_API.G_MISS_NUM,
225 p_to_chr_id IN NUMBER,
226 p_to_template_yn IN VARCHAR2,
227 p_copy_reference IN VARCHAR2,
228 p_copy_line_party_yn IN VARCHAR2,
229 p_renew_ref_yn IN VARCHAR2,
230 p_trans_type IN VARCHAR2,
231 x_cle_id_tbl OUT NOCOPY klev_tbl_type)
232 IS
233 l_api_name CONSTANT VARCHAR2(30) := 'COPY_ALL_LINES';
234 l_api_version CONSTANT NUMBER := 1;
235 l_from_cle_id_tbl klev_tbl_type;
236 l_to_cle_id OKC_K_LINES_V.CLE_ID%TYPE;
237 l_to_chr_id OKC_K_LINES_V.CHR_ID%TYPE;
238 l_to_template_yn VARCHAR2(3);
239 l_copy_reference VARCHAR2(30);
240 l_copy_line_party_yn VARCHAR2(3);
241 l_renew_ref_yn VARCHAR2(3);
242
243 BEGIN
244 savepoint copy_all_lines_pub;
245 x_return_status := FND_API.G_RET_STS_SUCCESS;
246 -- Standard call to check for call compatibility.
247 IF NOT (FND_API.Compatible_API_Call (l_api_version,
248 p_api_version,
249 l_api_name,
250 G_PKG_NAME)) THEN
251 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
252 END IF;
253 -- Initialize message list if p_init_msg_list is set to TRUE.
254 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
255 FND_MSG_PUB.initialize;
256 END IF;
257 l_from_cle_id_tbl := p_from_cle_id_tbl;
258 l_to_cle_id := p_to_cle_id;
259 l_to_chr_id := p_to_chr_id;
260 l_to_template_yn := p_to_template_yn;
261 l_copy_reference := p_copy_reference;
262 l_copy_line_party_yn := p_copy_line_party_yn;
263 l_renew_ref_yn := p_renew_ref_yn;
264
265 g_from_cle_id_tbl := p_from_cle_id_tbl;
266 g_to_cle_id := p_to_cle_id;
267 g_to_chr_id := p_to_chr_id;
268 g_to_template_yn := p_to_template_yn;
269 g_copy_reference := p_copy_reference;
270 g_copy_line_party_yn := p_copy_line_party_yn;
271 g_renew_ref_yn := p_renew_ref_yn;
272 -- Customer pre processing section
273 -- Verticle industry pre- processing section
274 -- Business API call section
275 OKL_COPY_ASSET_PVT.copy_all_lines(p_api_version => p_api_version,
276 p_init_msg_list => p_init_msg_list,
277 x_return_status => x_return_status,
278 x_msg_count => x_msg_count,
279 x_msg_data => x_msg_data,
280 p_from_cle_id_tbl => l_from_cle_id_tbl,
281 p_to_cle_id => l_to_cle_id,
282 p_to_chr_id => l_to_chr_id,
283 p_to_template_yn => l_to_template_yn,
284 p_copy_reference => l_copy_reference,
285 p_copy_line_party_yn => l_copy_line_party_yn,
286 p_renew_ref_yn => l_renew_ref_yn,
287 p_trans_type => p_trans_type,
288 x_cle_id_tbl => x_cle_id_tbl);
289 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
290 RAISE FND_API.G_EXC_ERROR;
291 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
292 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
293 END IF;
294 -- Verticle industry post- processing section
295 -- Customer post processing section
296 EXCEPTION
297 When FND_API.G_EXC_ERROR then
298 ROLLBACK TO copy_all_lines_pub;
299 x_return_status := FND_API.G_RET_STS_ERROR;
300 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
301 p_data => x_msg_data);
302 When FND_API.G_EXC_UNEXPECTED_ERROR then
303 ROLLBACK TO copy_all_lines_pub;
304 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
305 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
306 p_data => x_msg_data);
307 When OTHERS then
308 ROLLBACK TO copy_all_lines_pub;
309 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
310 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
311 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
312 p_count => x_msg_count,
313 p_data => x_msg_data);
314
315 END copy_all_lines;
316 End okl_copy_asset_PUB;