[Home] [Help]
PACKAGE BODY: APPS.OKL_CREATE_KLE_PUB
Source
1 Package body OKL_CREATE_KLE_PUB as
2 /* $Header: OKLPKLLB.pls 115.9 2004/04/13 10:51:16 rnaik noship $ */
3
4 -------------------------------------------------------------------------------------------------
5 -- GLOBAL MESSAGE CONSTANTS
6 -------------------------------------------------------------------------------------------------
7 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKC_NO_PARENT_RECORD';
8 G_FND_APP CONSTANT VARCHAR2(200) := OKC_API.G_FND_APP;
9 G_FORM_UNABLE_TO_RESERVE_REC CONSTANT VARCHAR2(200) := OKC_API.G_FORM_UNABLE_TO_RESERVE_REC;
10 G_FORM_RECORD_DELETED CONSTANT VARCHAR2(200) := OKC_API.G_FORM_RECORD_DELETED;
11 G_FORM_RECORD_CHANGED CONSTANT VARCHAR2(200) := OKC_API.G_FORM_RECORD_CHANGED;
12 G_RECORD_LOGICALLY_DELETED CONSTANT VARCHAR2(200) := OKC_API.G_RECORD_LOGICALLY_DELETED;
13 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
14 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
15 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
16 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
17 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
18 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXP_ERROR';
19 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
20 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
21 G_UPPERCASE_REQUIRED CONSTANT VARCHAR2(200) := 'OKL_CONTRACTS_UPPERCASE_REQ';
22 ------------------------------------------------------------------------------------
23 -- GLOBAL EXCEPTION
24 ------------------------------------------------------------------------------------
25 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
26 G_EXCEPTION_STOP_VALIDATION EXCEPTION;
27 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
28 G_API_VERSION CONSTANT NUMBER := 1.0;
29 G_SCOPE CONSTANT VARCHAR2(4) := '_PUB';
30
31 -- GLOBAL VARIABLES
32 -----------------------------------------------------------------------------------
33 G_FIN_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FREE_FORM1';
34 G_MODEL_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'ITEM';
35 G_ADDON_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'ADD_ITEM';
36 G_FA_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FIXED_ASSET';
37 G_INST_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'FREE_FORM2';
38 G_IB_LINE_LTY_CODE OKC_LINE_STYLES_V.LTY_CODE%TYPE := 'INST_ITEM';
39 G_ID2 CONSTANT VARCHAR2(200) := '#';
40 G_TLS_TYPE OKC_LINE_STYLES_V.LSE_TYPE%TYPE := 'TLS';
41 G_SLS_TYPE OKC_LINE_STYLES_V.LSE_TYPE%TYPE := 'SLS';
42
43 -------------------------------------------------------------------------------------------------------
44 ---------------------- Main Process for Updating of Financial Asset Line ------------------------------
45 -------------------------------------------------------------------------------------------------------
46 PROCEDURE Update_fin_cap_cost(
47 p_api_version IN NUMBER,
48 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
49 x_return_status OUT NOCOPY VARCHAR2,
50 x_msg_count OUT NOCOPY NUMBER,
51 x_msg_data OUT NOCOPY VARCHAR2,
52 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
53 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
54 p_clev_rec IN clev_rec_type,
55 p_klev_rec IN klev_rec_type,
56 x_clev_rec OUT NOCOPY clev_rec_type,
57 x_klev_rec OUT NOCOPY klev_rec_type) IS
58
59 l_clev_fin_rec clev_rec_type;
60 l_klev_fin_rec klev_rec_type;
61
62 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_FIN_CAP_COST';
63 l_api_version CONSTANT NUMBER := 1;
64 BEGIN
65 savepoint Update_fin_cap_cost_pub;
66 x_return_status := FND_API.G_RET_STS_SUCCESS;
67 -- Standard call to check for call compatibility.
68 IF NOT (FND_API.Compatible_API_Call (l_api_version,
69 p_api_version,
70 l_api_name,
71 G_PKG_NAME)) THEN
72 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
73 END IF;
74 -- Initialize message list if p_init_msg_list is set to TRUE.
75 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
76 FND_MSG_PUB.initialize;
77 END IF;
78 l_klev_fin_rec := p_klev_rec;
79 l_clev_fin_rec := p_clev_rec;
80 g_klev_fin_rec := l_klev_fin_rec;
81 g_clev_fin_rec := l_clev_fin_rec;
82 -- Customer pre processing section
83 -- Verticle industry pre- processing section
84 -- Business API call section
85 OKL_CREATE_KLE_PVT.Update_fin_cap_cost(p_api_version => p_api_version,
86 p_init_msg_list => p_init_msg_list,
87 x_return_status => x_return_status,
88 x_msg_count => x_msg_count,
89 x_msg_data => x_msg_data,
90 P_New_YN => P_new_yn,
91 p_asset_number => p_asset_number,
92 p_clev_rec => l_clev_fin_rec,
93 p_klev_rec => l_klev_fin_rec,
94 x_clev_rec => x_clev_rec,
95 x_klev_rec => x_klev_rec);
96 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
97 RAISE FND_API.G_EXC_ERROR;
98 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
99 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
100 END IF;
101 l_klev_fin_rec := x_klev_rec;
102 l_clev_fin_rec := x_clev_rec;
103 g_klev_fin_rec := l_klev_fin_rec;
104 g_clev_fin_rec := l_clev_fin_rec;
105 -- Verticle industry post- processing section
106 -- Customer post processing section
107 EXCEPTION
108 When FND_API.G_EXC_ERROR then
109 ROLLBACK TO Update_fin_cap_cost_pub;
110 x_return_status := FND_API.G_RET_STS_ERROR;
111 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
112 p_data => x_msg_data);
113 When FND_API.G_EXC_UNEXPECTED_ERROR then
114 ROLLBACK TO Update_fin_cap_cost_pub;
115 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
116 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
117 p_data => x_msg_data);
118 When OTHERS then
119 ROLLBACK TO Update_fin_cap_cost_pub;
120 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
121 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
122 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
123 p_count => x_msg_count,
124 p_data => x_msg_data);
125 END Update_fin_cap_cost;
126
127 -------------------------------------------------------------------------------------------------------
128 ---------------------------- Main Process for Creation of Add on Line ---------------------------------
129 -------------------------------------------------------------------------------------------------------
130 PROCEDURE create_add_on_line(p_api_version IN NUMBER,
131 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
132 x_return_status OUT NOCOPY VARCHAR2,
133 x_msg_count OUT NOCOPY NUMBER,
134 x_msg_data OUT NOCOPY VARCHAR2,
135 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
136 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
137 p_clev_tbl IN clev_tbl_type,
138 p_klev_tbl IN klev_tbl_type,
139 p_cimv_tbl IN cimv_tbl_type,
140 x_clev_tbl OUT NOCOPY clev_tbl_type,
141 x_klev_tbl OUT NOCOPY klev_tbl_type,
142 x_fin_clev_rec OUT NOCOPY clev_rec_type,
143 x_fin_klev_rec OUT NOCOPY klev_rec_type,
144 x_cimv_tbl OUT NOCOPY cimv_tbl_type) IS
145 l_klev_tbl klev_tbl_type;
146 l_clev_tbl clev_tbl_type;
147 l_cimv_tbl cimv_tbl_type;
148 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_ADD_ON_LINE';
149 l_api_version CONSTANT NUMBER := 1;
150 BEGIN
151 savepoint Create_add_on_line_pub;
152 x_return_status := FND_API.G_RET_STS_SUCCESS;
153 -- Standard call to check for call compatibility.
154 IF NOT (FND_API.Compatible_API_Call (l_api_version,
155 p_api_version,
156 l_api_name,
157 G_PKG_NAME)) THEN
158 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
159 END IF;
160 -- Initialize message list if p_init_msg_list is set to TRUE.
161 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
162 FND_MSG_PUB.initialize;
163 END IF;
164 l_klev_tbl := p_klev_tbl;
165 l_clev_tbl := p_clev_tbl;
166 l_cimv_tbl := p_cimv_tbl;
167 g_klev_tbl := l_klev_tbl;
168 g_clev_tbl := l_clev_tbl;
169 g_cimv_tbl := l_cimv_tbl;
170 -- Customer pre processing section
171 -- Verticle industry pre- processing section
172 -- Business API call section
173 OKL_CREATE_KLE_PVT.create_add_on_line(p_api_version => p_api_version,
174 p_init_msg_list => p_init_msg_list,
175 x_return_status => x_return_status,
176 x_msg_count => x_msg_count,
177 x_msg_data => x_msg_data,
178 P_New_YN => P_new_yn,
179 p_asset_number => p_asset_number,
180 p_clev_tbl => l_clev_tbl,
181 p_klev_tbl => l_klev_tbl,
182 p_cimv_tbl => l_cimv_tbl,
183 x_clev_tbl => x_clev_tbl,
184 x_klev_tbl => x_klev_tbl,
185 x_fin_clev_rec => x_fin_clev_rec,
186 x_fin_klev_rec => x_fin_klev_rec,
187 x_cimv_tbl => x_cimv_tbl);
188 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
189 RAISE FND_API.G_EXC_ERROR;
190 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
191 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
192 END IF;
193 l_klev_tbl := x_klev_tbl;
194 l_clev_tbl := x_clev_tbl;
195 l_cimv_tbl := x_cimv_tbl;
196 g_klev_tbl := l_klev_tbl;
197 g_clev_tbl := l_clev_tbl;
198 g_cimv_tbl := l_cimv_tbl;
199 -- Verticle industry post- processing section
200 -- Customer post processing section
201 EXCEPTION
202 When FND_API.G_EXC_ERROR then
203 ROLLBACK TO Create_add_on_line_pub;
204 x_return_status := FND_API.G_RET_STS_ERROR;
205 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
206 p_data => x_msg_data);
207 When FND_API.G_EXC_UNEXPECTED_ERROR then
208 ROLLBACK TO Create_add_on_line_pub;
209 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
210 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
211 p_data => x_msg_data);
212 When OTHERS then
213 ROLLBACK TO Create_add_on_line_pub;
214 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
215 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
216 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
217 p_count => x_msg_count,
218 p_data => x_msg_data);
219 END create_add_on_line;
220 -------------------------------------------------------------------------------------------------------
221 ---------------------------- Main Process for Update of Add on Line ---------------------------------
222 -------------------------------------------------------------------------------------------------------
223 PROCEDURE update_add_on_line(p_api_version IN NUMBER,
224 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
225 x_return_status OUT NOCOPY VARCHAR2,
226 x_msg_count OUT NOCOPY NUMBER,
227 x_msg_data OUT NOCOPY VARCHAR2,
228 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
229 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
230 p_clev_tbl IN clev_tbl_type,
231 p_klev_tbl IN klev_tbl_type,
232 p_cimv_tbl IN cimv_tbl_type,
233 x_clev_tbl OUT NOCOPY clev_tbl_type,
234 x_klev_tbl OUT NOCOPY klev_tbl_type,
235 x_cimv_tbl OUT NOCOPY cimv_tbl_type,
236 x_fin_clev_rec OUT NOCOPY clev_rec_type,
237 x_fin_klev_rec OUT NOCOPY klev_rec_type) IS
238 i NUMBER := 0;
239 j NUMBER := 0;
240 k NUMBER := 0;
241 l_klev_tbl klev_tbl_type;
242 l_clev_tbl clev_tbl_type;
243 l_cimv_tbl cimv_tbl_type;
244 l_fin_clev_rec clev_rec_type;
245 l_fin_klev_rec klev_rec_type;
246 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_ADD_ON_LINE';
247 l_api_version CONSTANT NUMBER := 1;
248 BEGIN
249 savepoint Update_add_on_line_pub;
250 x_return_status := FND_API.G_RET_STS_SUCCESS;
251 -- Standard call to check for call compatibility.
252 IF NOT (FND_API.Compatible_API_Call (l_api_version,
253 p_api_version,
254 l_api_name,
255 G_PKG_NAME)) THEN
256 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
257 END IF;
258 -- Initialize message list if p_init_msg_list is set to TRUE.
259 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
260 FND_MSG_PUB.initialize;
261 END IF;
262 l_klev_tbl := p_klev_tbl;
263 l_clev_tbl := p_clev_tbl;
264 l_cimv_tbl := p_cimv_tbl;
265 g_klev_tbl := l_klev_tbl;
266 g_clev_tbl := l_clev_tbl;
267 g_cimv_tbl := l_cimv_tbl;
268 -- Customer pre processing section
269 -- Verticle industry pre- processing section
270 -- Business API call section
271 IF p_clev_tbl.COUNT > 0 THEN
272 j := p_clev_tbl.FIRST;
273 LOOP
274 l_clev_tbl(j).id := p_clev_tbl(j).id;
275 l_clev_tbl(j).object_version_number := p_clev_tbl(j).object_version_number;
276 EXIT WHEN (j = p_clev_tbl.LAST);
277 j := p_clev_tbl.NEXT(j);
278 END LOOP;
279 ELSE
280 RAISE FND_API.G_EXC_ERROR;
281 END IF;
282 IF p_klev_tbl.COUNT > 0 THEN
283 k := p_klev_tbl.FIRST;
284 LOOP
285 l_klev_tbl(k).id := p_klev_tbl(k).id;
286 l_klev_tbl(k).object_version_number := p_klev_tbl(k).object_version_number;
287 EXIT WHEN (k = p_klev_tbl.LAST);
288 k := p_klev_tbl.NEXT(k);
289 END LOOP;
290 ELSE
291 RAISE FND_API.G_EXC_ERROR;
292 END IF;
293 IF p_cimv_tbl.COUNT > 0 THEN
294 i := p_cimv_tbl.FIRST;
295 LOOP
296 l_cimv_tbl(i).id := p_cimv_tbl(i).id;
297 l_cimv_tbl(i).object_version_number := p_cimv_tbl(i).object_version_number;
298 EXIT WHEN (i = p_cimv_tbl.LAST);
299 i := p_cimv_tbl.NEXT(i);
300 END LOOP;
301 ELSE
302 RAISE FND_API.G_EXC_ERROR;
303 END IF;
304 OKL_CREATE_KLE_PVT.Update_add_on_line(p_api_version => p_api_version,
305 p_init_msg_list => p_init_msg_list,
306 x_return_status => x_return_status,
307 x_msg_count => x_msg_count,
308 x_msg_data => x_msg_data,
309 P_New_YN => P_new_yn,
310 p_asset_number => p_asset_number,
311 p_clev_tbl => l_clev_tbl,
312 p_klev_tbl => l_klev_tbl,
313 p_cimv_tbl => l_cimv_tbl,
314 x_clev_tbl => x_clev_tbl,
315 x_klev_tbl => x_klev_tbl,
316 x_cimv_tbl => x_cimv_tbl,
317 x_fin_clev_rec => x_fin_clev_rec,
318 x_fin_klev_rec => x_fin_klev_rec);
319 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
320 RAISE FND_API.G_EXC_ERROR;
321 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
322 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
323 END IF;
324 l_klev_tbl := x_klev_tbl;
325 l_clev_tbl := x_clev_tbl;
326 l_cimv_tbl := x_cimv_tbl;
327 l_fin_clev_rec := x_fin_clev_rec;
328 l_fin_klev_rec := x_fin_klev_rec;
329 g_klev_tbl := l_klev_tbl;
330 g_clev_tbl := l_clev_tbl;
331 g_cimv_tbl := l_cimv_tbl;
332 -- Verticle industry post- processing section
333 -- Customer post processing section
334 EXCEPTION
335 When FND_API.G_EXC_ERROR then
336 ROLLBACK TO Update_add_on_line_pub;
337 x_return_status := FND_API.G_RET_STS_ERROR;
338 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
339 p_data => x_msg_data);
340 When FND_API.G_EXC_UNEXPECTED_ERROR then
341 ROLLBACK TO Update_add_on_line_pub;
342 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
343 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
344 p_data => x_msg_data);
345 When OTHERS then
346 ROLLBACK TO Update_add_on_line_pub;
347 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
348 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
349 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
350 p_count => x_msg_count,
351 p_data => x_msg_data);
352
353 END update_add_on_line;
354 -------------------------------------------------------------------------------------------------------
355 ---------------------------- Main Process for Delete of Add on Line ---------------------------------
356 -------------------------------------------------------------------------------------------------------
357 PROCEDURE delete_add_on_line(p_api_version IN NUMBER,
358 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
359 x_return_status OUT NOCOPY VARCHAR2,
360 x_msg_count OUT NOCOPY NUMBER,
361 x_msg_data OUT NOCOPY VARCHAR2,
362 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
363 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
364 p_clev_tbl IN clev_tbl_type,
365 p_klev_tbl IN klev_tbl_type,
366 x_fin_clev_rec OUT NOCOPY clev_rec_type,
367 x_fin_klev_rec OUT NOCOPY klev_rec_type) IS
368 i NUMBER := 0;
369 j NUMBER := 0;
370 k NUMBER := 0;
371 l_klev_tbl klev_tbl_type;
372 l_clev_tbl clev_tbl_type;
373 l_fin_clev_rec clev_rec_type;
374 l_fin_klev_rec klev_rec_type;
375 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_ADD_ON_LINE';
376 l_api_version CONSTANT NUMBER := 1;
377 BEGIN
378 savepoint delete_add_on_line_pub;
379 x_return_status := FND_API.G_RET_STS_SUCCESS;
380 -- Standard call to check for call compatibility.
381 IF NOT (FND_API.Compatible_API_Call (l_api_version,
382 p_api_version,
383 l_api_name,
384 G_PKG_NAME)) THEN
385 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386 END IF;
387 -- Initialize message list if p_init_msg_list is set to TRUE.
388 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
389 FND_MSG_PUB.initialize;
390 END IF;
391 l_klev_tbl := p_klev_tbl;
392 l_clev_tbl := p_clev_tbl;
393 g_klev_tbl := l_klev_tbl;
394 g_clev_tbl := l_clev_tbl;
395 -- Customer pre processing section
396 -- Verticle industry pre- processing section
397 -- Business API call section
398 IF p_clev_tbl.COUNT > 0 THEN
399 j := p_clev_tbl.FIRST;
400 LOOP
401 l_clev_tbl(j).id := p_clev_tbl(j).id;
402 l_clev_tbl(j).object_version_number := p_clev_tbl(j).object_version_number;
403 EXIT WHEN (j = p_clev_tbl.LAST);
404 j := p_clev_tbl.NEXT(j);
405 END LOOP;
406 ELSE
407 RAISE FND_API.G_EXC_ERROR;
408 END IF;
409 IF p_klev_tbl.COUNT > 0 THEN
410 k := p_klev_tbl.FIRST;
411 LOOP
412 l_klev_tbl(k).id := p_klev_tbl(k).id;
413 l_klev_tbl(k).object_version_number := p_klev_tbl(k).object_version_number;
414 EXIT WHEN (k = p_klev_tbl.LAST);
415 k := p_klev_tbl.NEXT(k);
416 END LOOP;
417 ELSE
418 RAISE FND_API.G_EXC_ERROR;
419 END IF;
420 OKL_CREATE_KLE_PVT.delete_add_on_line(p_api_version => p_api_version,
421 p_init_msg_list => p_init_msg_list,
422 x_return_status => x_return_status,
423 x_msg_count => x_msg_count,
424 x_msg_data => x_msg_data,
425 P_New_YN => P_new_yn,
426 p_asset_number => p_asset_number,
427 p_clev_tbl => l_clev_tbl,
428 p_klev_tbl => l_klev_tbl,
429 x_fin_clev_rec => x_fin_clev_rec,
430 x_fin_klev_rec => x_fin_klev_rec);
431 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
432 RAISE FND_API.G_EXC_ERROR;
433 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
434 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
435 END IF;
436 l_fin_clev_rec := x_fin_clev_rec;
437 l_fin_klev_rec := x_fin_klev_rec;
438 g_klev_tbl := l_klev_tbl;
439 g_clev_tbl := l_clev_tbl;
440 -- Verticle industry post- processing section
441 -- Customer post processing section
442 EXCEPTION
443 When FND_API.G_EXC_ERROR then
444 ROLLBACK TO delete_add_on_line_pub;
445 x_return_status := FND_API.G_RET_STS_ERROR;
446 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
447 p_data => x_msg_data);
448 When FND_API.G_EXC_UNEXPECTED_ERROR then
449 ROLLBACK TO delete_add_on_line_pub;
450 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
451 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
452 p_data => x_msg_data);
453 When OTHERS then
454 ROLLBACK TO delete_add_on_line_pub;
455 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
456 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
457 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
458 p_count => x_msg_count,
459 p_data => x_msg_data);
460
461 END delete_add_on_line;
462 -----------------------------------------------------------------------------------------------
463 --------------------------- Main Process for All Line Creation---------------------------------
464 -----------------------------------------------------------------------------------------------
465 PROCEDURE Create_all_line(
466 p_api_version IN NUMBER,
467 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
468 x_return_status OUT NOCOPY VARCHAR2,
469 x_msg_count OUT NOCOPY NUMBER,
470 x_msg_data OUT NOCOPY VARCHAR2,
471 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
472 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
473 p_clev_fin_rec IN clev_rec_type,
474 p_klev_fin_rec IN klev_rec_type,
475 p_cimv_model_rec IN cimv_rec_type,
476 p_clev_fa_rec IN clev_rec_type,
477 p_cimv_fa_rec IN cimv_rec_type,
478 p_talv_fa_rec IN talv_rec_type,
479 p_itiv_ib_tbl IN itiv_tbl_type,
480 x_clev_fin_rec OUT NOCOPY clev_rec_type,
481 x_clev_model_rec OUT NOCOPY clev_rec_type,
482 x_clev_fa_rec OUT NOCOPY clev_rec_type,
483 x_clev_ib_rec OUT NOCOPY clev_rec_type) IS
484
485 l_clev_fin_rec clev_rec_type;
486 l_klev_fin_rec klev_rec_type;
487 l_clev_model_rec clev_rec_type;
488 l_cimv_model_rec cimv_rec_type;
489 l_clev_fa_rec clev_rec_type;
490 l_clev_ib_rec clev_rec_type;
491 l_cimv_fa_rec cimv_rec_type;
492 l_talv_fa_rec talv_rec_type;
493 l_itiv_ib_tbl itiv_tbl_type;
494 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_ALL_LINE';
495 l_api_version CONSTANT NUMBER := 1;
496 BEGIN
497 savepoint Create_all_line_pub;
498 x_return_status := FND_API.G_RET_STS_SUCCESS;
499 -- Standard call to check for call compatibility.
500 IF NOT (FND_API.Compatible_API_Call (l_api_version,
501 p_api_version,
502 l_api_name,
503 G_PKG_NAME)) THEN
504 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
505 END IF;
506 -- Initialize message list if p_init_msg_list is set to TRUE.
507 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
508 FND_MSG_PUB.initialize;
509 END IF;
510 l_clev_fin_rec := p_clev_fin_rec;
511 l_klev_fin_rec := p_klev_fin_rec;
512 l_cimv_model_rec := p_cimv_model_rec;
513 l_clev_fa_rec := p_clev_fa_rec;
514 l_cimv_fa_rec := p_cimv_fa_rec;
515 l_talv_fa_rec := p_talv_fa_rec;
516 l_itiv_ib_tbl := p_itiv_ib_tbl;
517 g_clev_fin_rec := l_clev_fin_rec;
518 g_klev_fin_rec := l_klev_fin_rec;
519 g_cimv_model_rec := l_cimv_model_rec;
520 g_clev_fa_rec := l_clev_fa_rec;
521 g_cimv_fa_rec := l_cimv_fa_rec;
522 g_talv_fa_rec := l_talv_fa_rec;
523 g_itiv_ib_tbl := l_itiv_ib_tbl;
524 -- Customer pre processing section
525 -- Verticle industry pre- processing section
526 -- Business API call section
527 OKL_CREATE_KLE_PVT.Create_all_line(p_api_version => p_api_version,
528 p_init_msg_list => p_init_msg_list,
529 x_return_status => x_return_status,
530 x_msg_count => x_msg_count,
531 x_msg_data => x_msg_data,
532 P_new_yn => P_new_yn,
533 p_asset_number => p_asset_number,
534 p_clev_fin_rec => l_clev_fin_rec,
535 p_klev_fin_rec => l_klev_fin_rec,
536 p_cimv_model_rec => l_cimv_model_rec,
537 p_clev_fa_rec => l_clev_fa_rec,
538 p_cimv_fa_rec => l_cimv_fa_rec,
539 p_talv_fa_rec => l_talv_fa_rec,
540 p_itiv_ib_tbl => l_itiv_ib_tbl,
541 x_clev_fin_rec => x_clev_fin_rec,
542 x_clev_model_rec => x_clev_model_rec,
543 x_clev_fa_rec => x_clev_fa_rec,
544 x_clev_ib_rec => x_clev_ib_rec);
545 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
546 RAISE FND_API.G_EXC_ERROR;
547 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
548 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
549 END IF;
550 l_clev_fin_rec := x_clev_fin_rec;
551 l_clev_model_rec := x_clev_model_rec;
552 l_clev_fa_rec := x_clev_fa_rec;
553 l_clev_ib_rec := x_clev_ib_rec;
554
555 g_clev_fin_rec := l_clev_fin_rec;
556 g_clev_model_rec := l_clev_model_rec;
557 g_clev_fa_rec := l_clev_fa_rec;
558 g_clev_ib_rec := l_clev_ib_rec;
559 -- Verticle industry post- processing section
560 -- Customer post processing section
561 EXCEPTION
562 When FND_API.G_EXC_ERROR then
563 ROLLBACK TO Create_all_line_pub;
564 x_return_status := FND_API.G_RET_STS_ERROR;
565 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
566 p_data => x_msg_data);
567 When FND_API.G_EXC_UNEXPECTED_ERROR then
568 ROLLBACK TO Create_all_line_pub;
569 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
570 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
571 p_data => x_msg_data);
572 When OTHERS then
573 ROLLBACK TO Create_all_line_pub;
574 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
575 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
576 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
577 p_count => x_msg_count,
578 p_data => x_msg_data);
579 END Create_all_line;
580 -----------------------------------------------------------------------------------------------
581 --------------------------- Main Process for All Line Updating---------------------------------
582 -----------------------------------------------------------------------------------------------
583 PROCEDURE Update_all_line(
584 p_api_version IN NUMBER,
585 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
586 x_return_status OUT NOCOPY VARCHAR2,
587 x_msg_count OUT NOCOPY NUMBER,
588 x_msg_data OUT NOCOPY VARCHAR2,
589 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
590 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
591 p_clev_fin_rec IN clev_rec_type,
592 p_klev_fin_rec IN klev_rec_type,
593 p_clev_model_rec IN clev_rec_type,
594 p_cimv_model_rec IN cimv_rec_type,
595 p_clev_fa_rec IN clev_rec_type,
596 p_cimv_fa_rec IN cimv_rec_type,
597 p_talv_fa_rec IN talv_rec_type,
598 p_clev_ib_rec IN clev_rec_type,
599 p_itiv_ib_rec IN itiv_rec_type,
600 x_clev_fin_rec OUT NOCOPY clev_rec_type,
601 x_clev_model_rec OUT NOCOPY clev_rec_type,
602 x_clev_fa_rec OUT NOCOPY clev_rec_type,
603 x_clev_ib_rec OUT NOCOPY clev_rec_type) IS
604
605 l_clev_fin_rec clev_rec_type;
606 l_klev_fin_rec klev_rec_type;
607 l_clev_model_rec clev_rec_type;
608 l_cimv_model_rec cimv_rec_type;
609 l_clev_fa_rec clev_rec_type;
610 l_clev_ib_rec clev_rec_type;
611 l_cimv_fa_rec cimv_rec_type;
612 l_talv_fa_rec talv_rec_type;
613 l_itiv_ib_rec itiv_rec_type;
614 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_ALL_LINE';
615 l_api_version CONSTANT NUMBER := 1;
616 BEGIN
617 savepoint update_all_line_pub;
618 x_return_status := FND_API.G_RET_STS_SUCCESS;
619 -- Standard call to check for call compatibility.
620 IF NOT (FND_API.Compatible_API_Call (l_api_version,
621 p_api_version,
622 l_api_name,
623 G_PKG_NAME)) THEN
624 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
625 END IF;
626 -- Initialize message list if p_init_msg_list is set to TRUE.
627 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
628 FND_MSG_PUB.initialize;
629 END IF;
630 l_clev_fin_rec := p_clev_fin_rec;
631 l_klev_fin_rec := p_klev_fin_rec;
632 l_clev_model_rec := p_clev_model_rec;
633 l_cimv_model_rec := p_cimv_model_rec;
634 l_clev_fa_rec := p_clev_fa_rec;
635 l_cimv_fa_rec := p_cimv_fa_rec;
636 l_talv_fa_rec := p_talv_fa_rec;
637 l_clev_ib_rec := p_clev_ib_rec;
638 l_itiv_ib_rec := p_itiv_ib_rec;
639
640 g_clev_fin_rec := l_clev_fin_rec;
641 g_klev_fin_rec := l_klev_fin_rec;
642 g_clev_model_rec := l_clev_model_rec;
643 g_cimv_model_rec := l_cimv_model_rec;
644 g_clev_fa_rec := l_clev_fa_rec;
645 g_cimv_fa_rec := l_cimv_fa_rec;
646 g_talv_fa_rec := l_talv_fa_rec;
647 g_clev_ib_rec := l_clev_ib_rec;
648 g_itiv_ib_rec := l_itiv_ib_rec;
649
650 -- Customer pre processing section
651 -- Verticle industry pre- processing section
652 -- Business API call section
653 OKL_CREATE_KLE_PVT.update_all_line(p_api_version => p_api_version,
654 p_init_msg_list => p_init_msg_list,
655 x_return_status => x_return_status,
656 x_msg_count => x_msg_count,
657 x_msg_data => x_msg_data,
658 P_new_yn => P_new_yn,
659 p_asset_number => p_asset_number,
660 p_clev_fin_rec => l_clev_fin_rec,
661 p_klev_fin_rec => l_klev_fin_rec,
662 p_clev_model_rec => l_clev_model_rec,
663 p_cimv_model_rec => l_cimv_model_rec,
664 p_clev_fa_rec => l_clev_fa_rec,
665 p_cimv_fa_rec => l_cimv_fa_rec,
666 p_talv_fa_rec => l_talv_fa_rec,
667 p_clev_ib_rec => l_clev_ib_rec,
668 p_itiv_ib_rec => l_itiv_ib_rec,
669 x_clev_fin_rec => x_clev_fin_rec,
670 x_clev_model_rec => x_clev_model_rec,
671 x_clev_fa_rec => x_clev_fa_rec,
672 x_clev_ib_rec => x_clev_ib_rec);
673 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
674 RAISE FND_API.G_EXC_ERROR;
675 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
676 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
677 END IF;
678 l_clev_fin_rec := x_clev_fin_rec;
679 l_clev_model_rec := x_clev_model_rec;
680 l_clev_fa_rec := x_clev_fa_rec;
681 l_clev_ib_rec := x_clev_ib_rec;
682
683 g_clev_fin_rec := l_clev_fin_rec;
684 g_clev_model_rec := l_clev_model_rec;
685 g_clev_fa_rec := l_clev_fa_rec;
686 g_clev_ib_rec := l_clev_ib_rec;
687 -- Verticle industry post- processing section
688 -- Customer post processing section
689 EXCEPTION
690 When FND_API.G_EXC_ERROR then
691 ROLLBACK TO update_all_line_pub;
692 x_return_status := FND_API.G_RET_STS_ERROR;
693 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
694 p_data => x_msg_data);
695 When FND_API.G_EXC_UNEXPECTED_ERROR then
696 ROLLBACK TO update_all_line_pub;
697 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
698 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
699 p_data => x_msg_data);
700 When OTHERS then
701 ROLLBACK TO update_all_line_pub;
702 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
703 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_update_KLE_PUB');
704 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
705 p_count => x_msg_count,
706 p_data => x_msg_data);
707 END update_all_line;
708 -----------------------------------------------------------------------------------------------
709 --------------------- Main Process for Creating Instance and IB Line---------------------------
710 -----------------------------------------------------------------------------------------------
711 PROCEDURE create_ints_ib_line(
712 p_api_version IN NUMBER,
713 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
714 x_return_status OUT NOCOPY VARCHAR2,
715 x_msg_count OUT NOCOPY NUMBER,
716 x_msg_data OUT NOCOPY VARCHAR2,
717 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
718 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
719 p_current_units IN OKL_TXL_ASSETS_V.CURRENT_UNITS%TYPE,
720 p_clev_ib_rec IN clev_rec_type,
721 p_itiv_ib_tbl IN itiv_tbl_type,
722 x_clev_ib_tbl OUT NOCOPY clev_tbl_type,
723 x_itiv_ib_tbl OUT NOCOPY itiv_tbl_type,
724 x_clev_fin_rec OUT NOCOPY clev_rec_type,
725 x_klev_fin_rec OUT NOCOPY klev_rec_type,
726 x_cimv_model_rec OUT NOCOPY cimv_rec_type,
727 x_cimv_fa_rec OUT NOCOPY cimv_rec_type,
728 x_talv_fa_rec OUT NOCOPY talv_rec_type) IS
729
730 l_clev_ib_rec clev_rec_type;
731 l_itiv_ib_tbl itiv_tbl_type;
732
733 l_clev_ib_tbl clev_tbl_type;
734 l_clev_fin_rec clev_rec_type;
735 l_klev_fin_rec klev_rec_type;
736 l_cimv_model_rec cimv_rec_type;
737 l_cimv_fa_rec cimv_rec_type;
738 l_talv_fa_rec talv_rec_type;
739
740 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_INST_IB_LINE';
741 l_api_version CONSTANT NUMBER := 1;
742 BEGIN
743 savepoint create_inst_ib_line_pub;
744 x_return_status := FND_API.G_RET_STS_SUCCESS;
745 -- Standard call to check for call compatibility.
746 IF NOT (FND_API.Compatible_API_Call (l_api_version,
747 p_api_version,
748 l_api_name,
749 G_PKG_NAME)) THEN
750 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
751 END IF;
752 -- Initialize message list if p_init_msg_list is set to TRUE.
753 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
754 FND_MSG_PUB.initialize;
755 END IF;
756 l_clev_ib_rec := p_clev_ib_rec;
757 l_itiv_ib_tbl := p_itiv_ib_tbl;
758
759 g_clev_ib_rec := l_clev_ib_rec;
760 g_itiv_ib_tbl := l_itiv_ib_tbl;
761
762 -- Customer pre processing section
763 -- Verticle industry pre- processing section
764 -- Business API call section
765 OKL_CREATE_KLE_PVT.create_ints_ib_line(p_api_version => p_api_version,
766 p_init_msg_list => p_init_msg_list,
767 x_return_status => x_return_status,
768 x_msg_count => x_msg_count,
769 x_msg_data => x_msg_data,
770 P_new_yn => P_new_yn,
771 p_asset_number => p_asset_number,
772 p_current_units => p_current_units,
773 p_clev_ib_rec => l_clev_ib_rec,
774 p_itiv_ib_tbl => l_itiv_ib_tbl,
775 x_clev_ib_tbl => x_clev_ib_tbl,
776 x_itiv_ib_tbl => x_itiv_ib_tbl,
777 x_clev_fin_rec => x_clev_fin_rec,
778 x_klev_fin_rec => x_klev_fin_rec,
779 x_cimv_model_rec => x_cimv_model_rec,
780 x_cimv_fa_rec => x_cimv_fa_rec,
781 x_talv_fa_rec => x_talv_fa_rec);
782 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
783 RAISE FND_API.G_EXC_ERROR;
784 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
785 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
786 END IF;
787 l_clev_ib_tbl := x_clev_ib_tbl;
788 l_itiv_ib_tbl := x_itiv_ib_tbl;
789 l_clev_fin_rec := x_clev_fin_rec;
790 l_klev_fin_rec := x_klev_fin_rec;
791 l_cimv_model_rec := x_cimv_model_rec;
792 l_cimv_fa_rec := x_cimv_fa_rec;
793 l_talv_fa_rec := x_talv_fa_rec;
794
795 g_clev_ib_tbl := l_clev_ib_tbl;
796 g_itiv_ib_tbl := l_itiv_ib_tbl;
797 g_clev_fin_rec := l_clev_fin_rec;
798 g_klev_fin_rec := l_klev_fin_rec;
799 g_cimv_model_rec := l_cimv_model_rec;
800 g_cimv_fa_rec := l_cimv_fa_rec;
801 g_talv_fa_rec := l_talv_fa_rec;
802
803 -- Verticle industry post- processing section
804 -- Customer post processing section
805 EXCEPTION
806 When FND_API.G_EXC_ERROR then
807 ROLLBACK TO create_inst_ib_line_pub;
808 x_return_status := FND_API.G_RET_STS_ERROR;
809 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
810 p_data => x_msg_data);
811 When FND_API.G_EXC_UNEXPECTED_ERROR then
812 ROLLBACK TO create_inst_ib_line_pub;
813 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
814 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
815 p_data => x_msg_data);
816 When OTHERS then
817 ROLLBACK TO create_inst_ib_line_pub;
818 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
819 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_update_KLE_PUB');
820 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
821 p_count => x_msg_count,
822 p_data => x_msg_data);
823 END create_ints_ib_line;
824
825 -----------------------------------------------------------------------------------------------
826 --------------------- Main Process for Updating Instance and IB Line---------------------------
827 -----------------------------------------------------------------------------------------------
828 PROCEDURE update_ints_ib_line(
829 p_api_version IN NUMBER,
830 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
831 x_return_status OUT NOCOPY VARCHAR2,
832 x_msg_count OUT NOCOPY NUMBER,
833 x_msg_data OUT NOCOPY VARCHAR2,
834 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
835 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
836 p_top_line_id IN OKC_K_LINES_V.ID%TYPE,
837 p_dnz_chr_id IN OKC_K_HEADERS_V.ID%TYPE,
838 p_itiv_ib_tbl IN itiv_tbl_type,
839 x_clev_ib_tbl OUT NOCOPY clev_tbl_type,
840 x_itiv_ib_tbl OUT NOCOPY itiv_tbl_type) IS
841
842 l_clev_ib_tbl clev_tbl_type;
843 lx_clev_ib_tbl clev_tbl_type;
844 l_itiv_ib_tbl itiv_tbl_type;
845
846 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_INST_IB_LINE';
847 l_api_version CONSTANT NUMBER := 1;
848 BEGIN
849 savepoint update_ints_ib_line_pub;
850 x_return_status := FND_API.G_RET_STS_SUCCESS;
851 -- Standard call to check for call compatibility.
852 IF NOT (FND_API.Compatible_API_Call (l_api_version,
853 p_api_version,
854 l_api_name,
855 G_PKG_NAME)) THEN
856 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
857 END IF;
858 -- Initialize message list if p_init_msg_list is set to TRUE.
859 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
860 FND_MSG_PUB.initialize;
861 END IF;
862 l_itiv_ib_tbl := p_itiv_ib_tbl;
863 g_itiv_ib_tbl := l_itiv_ib_tbl;
864
865 -- Customer pre processing section
866 -- Verticle industry pre- processing section
867 -- Business API call section
868 OKL_CREATE_KLE_PVT.update_ints_ib_line(p_api_version => p_api_version,
869 p_init_msg_list => p_init_msg_list,
870 x_return_status => x_return_status,
871 x_msg_count => x_msg_count,
872 x_msg_data => x_msg_data,
873 P_new_yn => P_new_yn,
874 p_asset_number => p_asset_number,
875 p_top_line_id => p_top_line_id,
876 p_dnz_chr_id => p_dnz_chr_id,
877 p_itiv_ib_tbl => l_itiv_ib_tbl,
878 x_clev_ib_tbl => x_clev_ib_tbl,
879 x_itiv_ib_tbl => x_itiv_ib_tbl);
880 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
881 RAISE FND_API.G_EXC_ERROR;
882 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
883 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
884 END IF;
885 l_clev_ib_tbl := x_clev_ib_tbl;
886 l_itiv_ib_tbl := x_itiv_ib_tbl;
887 g_clev_ib_tbl := l_clev_ib_tbl;
888 g_itiv_ib_tbl := l_itiv_ib_tbl;
889 -- Verticle industry post- processing section
890 -- Customer post processing section
891 EXCEPTION
892 When FND_API.G_EXC_ERROR then
893 ROLLBACK TO update_ints_ib_line_pub;
894 x_return_status := FND_API.G_RET_STS_ERROR;
895 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
896 p_data => x_msg_data);
897 When FND_API.G_EXC_UNEXPECTED_ERROR then
898 ROLLBACK TO update_ints_ib_line_pub;
899 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
900 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
901 p_data => x_msg_data);
902 When OTHERS then
903 ROLLBACK TO update_ints_ib_line_pub;
904 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
905 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_update_KLE_PUB');
906 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
907 p_count => x_msg_count,
908 p_data => x_msg_data);
909 END update_ints_ib_line;
910 -----------------------------------------------------------------------------------------------
911 --------------------- Main Process for Deleting Instance and IB Line---------------------------
912 -----------------------------------------------------------------------------------------------
913 PROCEDURE delete_ints_ib_line(
914 p_api_version IN NUMBER,
915 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
916 x_return_status OUT NOCOPY VARCHAR2,
917 x_msg_count OUT NOCOPY NUMBER,
918 x_msg_data OUT NOCOPY VARCHAR2,
919 P_new_yn IN OKL_TXL_ASSETS_V.USED_ASSET_YN%TYPE,
920 p_asset_number IN OKL_TXL_ASSETS_V.ASSET_NUMBER%TYPE,
921 p_clev_ib_tbl IN clev_tbl_type,
922 x_clev_fin_rec OUT NOCOPY clev_rec_type,
923 x_klev_fin_rec OUT NOCOPY klev_rec_type,
924 x_cimv_model_rec OUT NOCOPY cimv_rec_type,
925 x_cimv_fa_rec OUT NOCOPY cimv_rec_type,
926 x_talv_fa_rec OUT NOCOPY talv_rec_type) IS
927
928 l_clev_ib_tbl clev_tbl_type;
929
930 l_clev_fin_rec clev_rec_type;
931 l_klev_fin_rec klev_rec_type;
932 l_cimv_model_rec cimv_rec_type;
933 l_cimv_fa_rec cimv_rec_type;
934 l_talv_fa_rec talv_rec_type;
935
936 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_INST_IB_LINE';
937 l_api_version CONSTANT NUMBER := 1;
938 BEGIN
939 savepoint delete_inst_ib_line_pub;
940 x_return_status := FND_API.G_RET_STS_SUCCESS;
941 -- Standard call to check for call compatibility.
942 IF NOT (FND_API.Compatible_API_Call (l_api_version,
943 p_api_version,
944 l_api_name,
945 G_PKG_NAME)) THEN
946 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947 END IF;
948 -- Initialize message list if p_init_msg_list is set to TRUE.
949 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
950 FND_MSG_PUB.initialize;
951 END IF;
952 l_clev_ib_tbl := p_clev_ib_tbl;
953 g_clev_ib_tbl := l_clev_ib_tbl;
954
955 -- Customer pre processing section
956 -- Verticle industry pre- processing section
957 -- Business API call section
958 OKL_CREATE_KLE_PVT.delete_ints_ib_line(p_api_version => p_api_version,
959 p_init_msg_list => p_init_msg_list,
960 x_return_status => x_return_status,
961 x_msg_count => x_msg_count,
962 x_msg_data => x_msg_data,
963 P_new_yn => P_new_yn,
964 p_asset_number => p_asset_number,
965 p_clev_ib_tbl => l_clev_ib_tbl,
966 x_clev_fin_rec => x_clev_fin_rec,
967 x_klev_fin_rec => x_klev_fin_rec,
968 x_cimv_model_rec => x_cimv_model_rec,
969 x_cimv_fa_rec => x_cimv_fa_rec,
970 x_talv_fa_rec => x_talv_fa_rec);
971 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
972 RAISE FND_API.G_EXC_ERROR;
973 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
974 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
975 END IF;
976 l_clev_fin_rec := x_clev_fin_rec;
977 l_klev_fin_rec := x_klev_fin_rec;
978 l_cimv_model_rec := x_cimv_model_rec;
979 l_cimv_fa_rec := x_cimv_fa_rec;
980 l_talv_fa_rec := x_talv_fa_rec;
981
982 g_clev_fin_rec := l_clev_fin_rec;
983 g_klev_fin_rec := l_klev_fin_rec;
984 g_cimv_model_rec := l_cimv_model_rec;
985 g_cimv_fa_rec := l_cimv_fa_rec;
986 g_talv_fa_rec := l_talv_fa_rec;
987 -- Verticle industry post- processing section
988 -- Customer post processing section
989 EXCEPTION
990 When FND_API.G_EXC_ERROR then
991 ROLLBACK TO delete_inst_ib_line_pub;
992 x_return_status := FND_API.G_RET_STS_ERROR;
993 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
994 p_data => x_msg_data);
995 When FND_API.G_EXC_UNEXPECTED_ERROR then
996 ROLLBACK TO delete_inst_ib_line_pub;
997 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
998 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
999 p_data => x_msg_data);
1000 When OTHERS then
1001 ROLLBACK TO delete_inst_ib_line_pub;
1002 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1003 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_update_KLE_PUB');
1004 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
1005 p_count => x_msg_count,
1006 p_data => x_msg_data);
1007 END delete_ints_ib_line;
1008 -----------------------------------------------------------------------------------------------
1009 ------------------------ Main Process for Create Party Roles-----------------------------------
1010 -----------------------------------------------------------------------------------------------
1011 PROCEDURE Create_party_roles_rec(
1012 p_api_version IN NUMBER,
1013 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1014 x_return_status OUT NOCOPY VARCHAR2,
1015 x_msg_count OUT NOCOPY NUMBER,
1016 x_msg_data OUT NOCOPY VARCHAR2,
1017 p_cplv_rec IN cplv_rec_type,
1018 x_cplv_rec OUT NOCOPY cplv_rec_type) IS
1019
1020 l_cplv_rec cplv_rec_type;
1021 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_PARTY_ROLE';
1022 l_api_version CONSTANT NUMBER := 1;
1023 BEGIN
1024 savepoint Create_party_roles_pub;
1025 x_return_status := FND_API.G_RET_STS_SUCCESS;
1026 -- Standard call to check for call compatibility.
1027 IF NOT (FND_API.Compatible_API_Call (l_api_version,
1028 p_api_version,
1029 l_api_name,
1030 G_PKG_NAME)) THEN
1031 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1032 END IF;
1033 -- Initialize message list if p_init_msg_list is set to TRUE.
1034 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
1035 FND_MSG_PUB.initialize;
1036 END IF;
1037 l_cplv_rec := p_cplv_rec;
1038 g_cplv_rec := l_cplv_rec;
1039 -- Customer pre processing section
1040 -- Verticle industry pre- processing section
1041 -- Business API call section
1042 OKL_CREATE_KLE_PVT.Create_party_roles_rec(p_api_version => p_api_version,
1043 p_init_msg_list => p_init_msg_list,
1044 x_return_status => x_return_status,
1045 x_msg_count => x_msg_count,
1046 x_msg_data => x_msg_data,
1047 p_cplv_rec => l_cplv_rec,
1048 x_cplv_rec => x_cplv_rec);
1049 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1050 RAISE FND_API.G_EXC_ERROR;
1051 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1052 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1053 END IF;
1054 l_cplv_rec := x_cplv_rec;
1055 g_cplv_rec := l_cplv_rec;
1056 -- Verticle industry post- processing section
1057 -- Customer post processing section
1058 EXCEPTION
1059 When FND_API.G_EXC_ERROR then
1060 ROLLBACK TO Create_party_roles_pub;
1061 x_return_status := FND_API.G_RET_STS_ERROR;
1062 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1063 p_data => x_msg_data);
1064 When FND_API.G_EXC_UNEXPECTED_ERROR then
1065 ROLLBACK TO Create_party_roles_pub;
1066 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1067 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1068 p_data => x_msg_data);
1069 When OTHERS then
1070 ROLLBACK TO Create_party_roles_pub;
1071 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1072 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
1073 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
1074 p_count => x_msg_count,
1075 p_data => x_msg_data);
1076 END Create_party_roles_rec;
1077 -----------------------------------------------------------------------------------------------
1078 ------------------------ Main Process for Update Party Roles-----------------------------------
1079 -----------------------------------------------------------------------------------------------
1080 PROCEDURE Update_party_roles_rec(
1081 p_api_version IN NUMBER,
1082 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1083 x_return_status OUT NOCOPY VARCHAR2,
1084 x_msg_count OUT NOCOPY NUMBER,
1085 x_msg_data OUT NOCOPY VARCHAR2,
1086 p_cplv_rec IN cplv_rec_type,
1087 x_cplv_rec OUT NOCOPY cplv_rec_type) IS
1088 l_cplv_rec cplv_rec_type;
1089 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_PARTY_ROLE';
1090 l_api_version CONSTANT NUMBER := 1;
1091 BEGIN
1092 savepoint Update_party_roles_pub;
1093 x_return_status := FND_API.G_RET_STS_SUCCESS;
1094 -- Standard call to check for call compatibility.
1095 IF NOT (FND_API.Compatible_API_Call (l_api_version,
1096 p_api_version,
1097 l_api_name,
1098 G_PKG_NAME)) THEN
1099 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1100 END IF;
1101 -- Initialize message list if p_init_msg_list is set to TRUE.
1102 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
1103 FND_MSG_PUB.initialize;
1104 END IF;
1105 l_cplv_rec := p_cplv_rec;
1106 g_cplv_rec := l_cplv_rec;
1107 -- Customer pre processing section
1108 -- Verticle industry pre- processing section
1109 -- Business API call section
1110 l_cplv_rec.id := p_cplv_rec.id;
1111 l_cplv_rec.object_version_number := p_cplv_rec.object_version_number;
1112 OKL_CREATE_KLE_PVT.Update_party_roles_rec(p_api_version => p_api_version,
1113 p_init_msg_list => p_init_msg_list,
1114 x_return_status => x_return_status,
1115 x_msg_count => x_msg_count,
1116 x_msg_data => x_msg_data,
1117 p_cplv_rec => l_cplv_rec,
1118 x_cplv_rec => x_cplv_rec);
1119 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1120 RAISE FND_API.G_EXC_ERROR;
1121 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1122 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1123 END IF;
1124 l_cplv_rec := x_cplv_rec;
1125 g_cplv_rec := l_cplv_rec;
1126 -- Verticle industry post- processing section
1127 -- Customer post processing section
1128 EXCEPTION
1129 When FND_API.G_EXC_ERROR then
1130 ROLLBACK TO Update_party_roles_pub;
1131 x_return_status := FND_API.G_RET_STS_ERROR;
1132 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1133 p_data => x_msg_data);
1134 When FND_API.G_EXC_UNEXPECTED_ERROR then
1135 ROLLBACK TO Update_party_roles_pub;
1136 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1137 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1138 p_data => x_msg_data);
1139 When OTHERS then
1140 ROLLBACK TO Update_party_roles_pub;
1141 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1142 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_CREATE_KLE_PUB');
1143 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
1144 p_count => x_msg_count,
1145 p_data => x_msg_data);
1146 END update_party_roles_rec;
1147 -----------------------------------------------------------------------------------------------
1148 --------------------- Main Process for Create Transaction Asset Details------------------------
1149 -----------------------------------------------------------------------------------------------
1150 -- Procedure Name : Create_asset_line_details
1151 -- Description : creates Transaction Asset Line details
1152 -- Business Rules :
1153 -- Parameters :
1154 -- Version : 1.0
1155 -- End of comments
1156 PROCEDURE Create_asset_line_details(
1157 p_api_version IN NUMBER,
1158 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1159 x_return_status OUT NOCOPY VARCHAR2,
1160 x_msg_count OUT NOCOPY NUMBER,
1161 x_msg_data OUT NOCOPY VARCHAR2,
1162 p_txdv_tbl IN txdv_tbl_type,
1163 x_txdv_tbl OUT NOCOPY txdv_tbl_type) IS
1164
1165 l_txdv_tbl txdv_tbl_type;
1166 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
1167 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TXD_ASSET_DEF';
1168 l_api_version CONSTANT NUMBER := 1;
1169 BEGIN
1170 savepoint Create_asset_line_details_pub;
1171 -- Standard call to check for call compatibility.
1172 IF NOT (FND_API.Compatible_API_Call (l_api_version,
1173 p_api_version,
1174 l_api_name,
1175 G_PKG_NAME)) THEN
1176 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1177 END IF;
1178 -- Initialize message list if p_init_msg_list is set to TRUE.
1179 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
1180 FND_MSG_PUB.initialize;
1181 END IF;
1182 l_txdv_tbl := p_txdv_tbl;
1183 g_txdv_tbl := l_txdv_tbl;
1184 -- Customer pre processing section
1185 -- Verticle industry pre- processing section
1186 OKL_CREATE_KLE_PVT.Create_asset_line_details(p_api_version => p_api_version,
1187 p_init_msg_list => p_init_msg_list,
1188 x_return_status => l_return_status,
1189 x_msg_count => x_msg_count,
1190 x_msg_data => x_msg_data,
1191 p_txdv_tbl => l_txdv_tbl,
1192 x_txdv_tbl => x_txdv_tbl);
1193 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1194 RAISE FND_API.G_EXC_ERROR;
1195 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1196 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1197 END IF;
1198 l_txdv_tbl := x_txdv_tbl;
1199 g_txdv_tbl := l_txdv_tbl;
1200 -- Verticle industry post- processing section
1201 -- Customer post processing section
1202 x_return_status := FND_API.G_RET_STS_SUCCESS;
1203 EXCEPTION
1204 When FND_API.G_EXC_ERROR then
1205 ROLLBACK TO Create_asset_line_details_pub;
1206 x_return_status := FND_API.G_RET_STS_ERROR;
1207 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1208 p_data => x_msg_data);
1209 When FND_API.G_EXC_UNEXPECTED_ERROR then
1210 ROLLBACK TO Create_asset_line_details_pub;
1211 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1212 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1213 p_data => x_msg_data);
1214 When OTHERS then
1215 ROLLBACK TO Create_asset_line_details_pub;
1216 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1217 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'Create_asset_line_details_pub');
1218 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
1219 p_count => x_msg_count,
1220 p_data => x_msg_data);
1221 END Create_asset_line_details;
1222
1223 -----------------------------------------------------------------------------------------------
1224 --------------------- Main Process for update Transaction Asset Details------------------------
1225 -----------------------------------------------------------------------------------------------
1226 -- Procedure Name : update_asset_line_details
1227 -- Description : update Transaction Asset Line details
1228 -- Business Rules :
1229 -- Parameters :
1230 -- Version : 1.0
1231 -- End of comments
1232 PROCEDURE update_asset_line_details(
1233 p_api_version IN NUMBER,
1234 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1235 x_return_status OUT NOCOPY VARCHAR2,
1236 x_msg_count OUT NOCOPY NUMBER,
1237 x_msg_data OUT NOCOPY VARCHAR2,
1238 p_txdv_tbl IN txdv_tbl_type,
1239 x_txdv_tbl OUT NOCOPY txdv_tbl_type) IS
1240
1241 l_txdv_tbl txdv_tbl_type;
1242 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
1243 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TXD_ASSET_DEF';
1244 l_api_version CONSTANT NUMBER := 1;
1245 BEGIN
1246 savepoint update_asset_line_details_pub;
1247 -- Standard call to check for call compatibility.
1248 IF NOT (FND_API.Compatible_API_Call (l_api_version,
1249 p_api_version,
1250 l_api_name,
1251 G_PKG_NAME)) THEN
1252 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1253 END IF;
1254 -- Initialize message list if p_init_msg_list is set to TRUE.
1255 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
1256 FND_MSG_PUB.initialize;
1257 END IF;
1258 l_txdv_tbl := p_txdv_tbl;
1259 g_txdv_tbl := l_txdv_tbl;
1260 -- Customer pre processing section
1261 -- Verticle industry pre- processing section
1262 OKL_CREATE_KLE_PVT.update_asset_line_details(p_api_version => p_api_version,
1263 p_init_msg_list => p_init_msg_list,
1264 x_return_status => l_return_status,
1265 x_msg_count => x_msg_count,
1266 x_msg_data => x_msg_data,
1267 p_txdv_tbl => l_txdv_tbl,
1268 x_txdv_tbl => x_txdv_tbl);
1269 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
1270 RAISE FND_API.G_EXC_ERROR;
1271 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1272 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1273 END IF;
1274 l_txdv_tbl := x_txdv_tbl;
1275 g_txdv_tbl := l_txdv_tbl;
1276 -- Verticle industry post- processing section
1277 -- Customer post processing section
1278 x_return_status := FND_API.G_RET_STS_SUCCESS;
1279 EXCEPTION
1280 When FND_API.G_EXC_ERROR then
1281 ROLLBACK TO update_asset_line_details_pub;
1282 x_return_status := FND_API.G_RET_STS_ERROR;
1283 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1284 p_data => x_msg_data);
1285 When FND_API.G_EXC_UNEXPECTED_ERROR then
1286 ROLLBACK TO update_asset_line_details_pub;
1287 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1288 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
1289 p_data => x_msg_data);
1290 When OTHERS then
1291 ROLLBACK TO update_asset_line_details_pub;
1292 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1293 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'update_asset_line_details_pub');
1294 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
1295 p_count => x_msg_count,
1296 p_data => x_msg_data);
1297 END update_asset_line_details;
1298
1299
1300
1301 End OKL_CREATE_KLE_PUB;