[Home] [Help]
PACKAGE BODY: APPS.OKL_TXL_ITM_INSTS_PUB
Source
1 package body OKL_TXL_ITM_INSTS_PUB as
2 /* $Header: OKLPITIB.pls 115.7 2004/05/08 00:09:37 dedey noship $ */
3
4
5 -- Start of comments
6 --
7 -- Procedure Name : CREATE_TXL_ITM_INSTS
8 -- Description : creates txl itm insts for contract
9 -- Business Rules :
10 -- Parameters :
11 -- Version : 1.0
12 -- End of comments
13 PROCEDURE create_txl_itm_insts(p_api_version IN NUMBER,
14 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
15 x_return_status OUT NOCOPY VARCHAR2,
16 x_msg_count OUT NOCOPY NUMBER,
17 x_msg_data OUT NOCOPY VARCHAR2,
18 p_iipv_rec IN iipv_rec_type,
19 x_iipv_rec OUT NOCOPY iipv_rec_type) IS
20
21 l_iipv_rec iipv_rec_type;
22 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
23 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_TXL_ITM_INSTS';
24 l_api_version CONSTANT NUMBER := 1;
25 BEGIN
26 savepoint create_txl_iti_pub;
27 -- Standard call to check for call compatibility.
28 IF NOT (FND_API.Compatible_API_Call (l_api_version,
29 p_api_version,
30 l_api_name,
31 G_PKG_NAME)) THEN
32 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
33 END IF;
34 -- Initialize message list if p_init_msg_list is set to TRUE.
35 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
36 FND_MSG_PUB.initialize;
37 END IF;
38 l_iipv_rec := p_iipv_rec;
39 g_iipv_rec := l_iipv_rec;
40 -- Customer pre processing section
41 -- Verticle industry pre- processing section
42 -- Business API call section
43 l_iipv_rec.id := p_iipv_rec.id;
44 l_iipv_rec.object_version_number := p_iipv_rec.object_version_number;
45 OKL_TXL_ITM_INSTS_PVT.Create_txl_itm_insts(p_api_version => p_api_version,
46 p_init_msg_list => p_init_msg_list,
47 x_return_status => l_return_status,
48 x_msg_count => x_msg_count,
49 x_msg_data => x_msg_data,
50 p_iivv_rec => l_iipv_rec,
51 x_iivv_rec => x_iipv_rec);
52 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
53 RAISE FND_API.G_EXC_ERROR;
54 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
55 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
56 END IF;
57 l_iipv_rec := x_iipv_rec;
58 g_iipv_rec := l_iipv_rec;
59 -- Verticle industry post- processing section
60 -- Customer post processing section
61 x_return_status := FND_API.G_RET_STS_SUCCESS;
62 EXCEPTION
63 When FND_API.G_EXC_ERROR then
64 ROLLBACK TO create_txl_iti_pub;
65 x_return_status := FND_API.G_RET_STS_ERROR;
66 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
67 p_data => x_msg_data);
68 When FND_API.G_EXC_UNEXPECTED_ERROR then
69 ROLLBACK TO create_txl_iti_pub;
70 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
71 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
72 p_data => x_msg_data);
73 When OTHERS then
74 ROLLBACK TO create_txl_iti_pub;
75 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
76 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'create_txl_itm_insts_pub');
77 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
78 p_count => x_msg_count,
79 p_data => x_msg_data);
80 END create_txl_itm_insts;
81
82 -- Start of comments
83 --
84 -- Procedure Name : CREATE_TXL_ITM_INSTS
85 -- Description : creates txl itm insts for contract
86 -- Business Rules :
87 -- Parameters :
88 -- Version : 1.0
89 -- End of comments
90
91 PROCEDURE create_txl_itm_insts(
92 p_api_version IN NUMBER,
93 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
94 x_return_status OUT NOCOPY VARCHAR2,
95 x_msg_count OUT NOCOPY NUMBER,
96 x_msg_data OUT NOCOPY VARCHAR2,
97 p_iipv_tbl IN iipv_tbl_type,
98 x_iipv_tbl OUT NOCOPY iipv_tbl_type) IS
99 i NUMBER := 0;
100 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
101 BEGIN
102 x_return_status := FND_API.G_RET_STS_SUCCESS;
103 IF p_iipv_tbl.COUNT > 0 THEN
104 i := p_iipv_tbl.FIRST;
105 LOOP
106 create_txl_itm_insts(p_api_version => p_api_version,
107 p_init_msg_list => p_init_msg_list,
108 x_return_status => l_return_status,
109 x_msg_count => x_msg_count,
110 x_msg_data => x_msg_data,
111 p_iipv_rec => p_iipv_tbl(i),
112 x_iipv_rec => x_iipv_tbl(i));
113 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
114 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
115 x_return_status := l_return_status;
116 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
117 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
118 x_return_status := l_return_status;
119 RAISE FND_API.G_EXC_ERROR;
120 ELSE
121 x_return_status := l_return_status;
122 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
123 END IF;
124 END IF;
125 EXIT WHEN (i = p_iipv_tbl.LAST);
126 i := p_iipv_tbl.NEXT(i);
127 END LOOP;
128 END IF;
129 EXCEPTION
130 WHEN FND_API.G_EXC_ERROR THEN
131 ROLLBACK TO create_txl_iti_pub;
132 x_return_status := FND_API.G_RET_STS_ERROR;
133 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
134 p_data => x_msg_data);
135 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
136 ROLLBACK TO create_txl_iti_pub;
137 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
138 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
139 p_data => x_msg_data);
140 WHEN OTHERS then
141 ROLLBACK TO create_txl_iti_pub;
142 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'create_txl_itm_insts_pub');
144 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
145 p_count => x_msg_count,
146 p_data => x_msg_data);
147 END create_txl_itm_insts;
148
149 -- Start of comments
150 --
151 -- Procedure Name : UPDATE_TXL_ITM_INSTS
152 -- Description : updates txl itm insts for contract
153 -- Business Rules :
154 -- Parameters :
155 -- Version : 1.0
156 -- End of comments
157 PROCEDURE update_txl_itm_insts(p_api_version IN NUMBER,
158 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
159 x_return_status OUT NOCOPY VARCHAR2,
160 x_msg_count OUT NOCOPY NUMBER,
161 x_msg_data OUT NOCOPY VARCHAR2,
162 p_iipv_rec IN iipv_rec_type,
163 x_iipv_rec OUT NOCOPY iipv_rec_type) IS
164
165 l_iipv_rec iipv_rec_type;
166 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
167 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_TXL_ITM_INSTS';
168 l_api_version CONSTANT NUMBER := 1;
169 BEGIN
170 savepoint update_txl_iti_pub;
171 -- Standard call to check for call compatibility.
172 IF NOT (FND_API.Compatible_API_Call (l_api_version,
173 p_api_version,
174 l_api_name,
175 G_PKG_NAME)) THEN
176 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
177 END IF;
178 -- Initialize message list if p_init_msg_list is set to TRUE.
179 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
180 FND_MSG_PUB.initialize;
181 END IF;
182 l_iipv_rec := p_iipv_rec;
183 g_iipv_rec := l_iipv_rec;
184 -- Customer pre processing section
185 -- Verticle industry pre- processing section
186 -- Business API call section
187 l_iipv_rec.id := p_iipv_rec.id;
188 l_iipv_rec.object_version_number := p_iipv_rec.object_version_number;
189 OKL_TXL_ITM_INSTS_PVT.update_txl_itm_insts(p_api_version => p_api_version,
190 p_init_msg_list => p_init_msg_list,
191 x_return_status => l_return_status,
192 x_msg_count => x_msg_count,
193 x_msg_data => x_msg_data,
194 p_iivv_rec => l_iipv_rec,
195 x_iivv_rec => x_iipv_rec);
196 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
197 RAISE FND_API.G_EXC_ERROR;
198 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
199 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
200 END IF;
201 l_iipv_rec := x_iipv_rec;
202 g_iipv_rec := l_iipv_rec;
203 -- Verticle industry post- processing section
204 -- Customer post processing section
205 x_return_status := FND_API.G_RET_STS_SUCCESS;
206 EXCEPTION
207 When FND_API.G_EXC_ERROR then
208 ROLLBACK TO update_txl_iti_pub;
209 x_return_status := FND_API.G_RET_STS_ERROR;
210 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
211 p_data => x_msg_data);
212 When FND_API.G_EXC_UNEXPECTED_ERROR then
213 ROLLBACK TO update_txl_iti_pub;
214 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
215 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
216 p_data => x_msg_data);
217 When OTHERS then
218 ROLLBACK TO update_txl_iti_pub;
219 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'update_txl_itm_insts_pub');
221 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
222 p_count => x_msg_count,
223 p_data => x_msg_data);
224 END update_txl_itm_insts;
225
226 -- Start of comments
227 --
228 -- Procedure Name : UPDATE_TXL_ITM_INSTS
229 -- Description : updates txl itm insts for contract
230 -- Business Rules :
231 -- Parameters :
232 -- Version : 1.0
233 -- End of comments
234
235 PROCEDURE update_txl_itm_insts(
236 p_api_version IN NUMBER,
237 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
238 x_return_status OUT NOCOPY VARCHAR2,
239 x_msg_count OUT NOCOPY NUMBER,
240 x_msg_data OUT NOCOPY VARCHAR2,
241 p_iipv_tbl IN iipv_tbl_type,
242 x_iipv_tbl OUT NOCOPY iipv_tbl_type) IS
243 i NUMBER := 0;
244 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
245 BEGIN
246 x_return_status := FND_API.G_RET_STS_SUCCESS;
247 IF p_iipv_tbl.COUNT > 0 THEN
248 i := p_iipv_tbl.FIRST;
249 LOOP
250 update_txl_itm_insts(p_api_version => p_api_version,
251 p_init_msg_list => p_init_msg_list,
252 x_return_status => l_return_status,
253 x_msg_count => x_msg_count,
254 x_msg_data => x_msg_data,
255 p_iipv_rec => p_iipv_tbl(i),
256 x_iipv_rec => x_iipv_tbl(i));
257 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
258 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
259 x_return_status := l_return_status;
260 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
261 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
262 x_return_status := l_return_status;
263 RAISE FND_API.G_EXC_ERROR;
264 ELSE
265 x_return_status := l_return_status;
266 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
267 END IF;
268 END IF;
269 EXIT WHEN (i = p_iipv_tbl.LAST);
270 i := p_iipv_tbl.NEXT(i);
271 END LOOP;
272 END IF;
273 EXCEPTION
274 WHEN FND_API.G_EXC_ERROR THEN
275 ROLLBACK TO update_txl_iti_pub;
276 x_return_status := FND_API.G_RET_STS_ERROR;
277 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
278 p_data => x_msg_data);
279 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
280 ROLLBACK TO update_txl_iti_pub;
281 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
282 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
283 p_data => x_msg_data);
284 WHEN OTHERS then
285 ROLLBACK TO update_txl_iti_pub;
286 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
287 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'update_txl_itm_insts_pub');
288 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
289 p_count => x_msg_count,
290 p_data => x_msg_data);
291 END update_txl_itm_insts;
292
293 -- Start of comments
294 --
295 -- Procedure Name : DELETE_TXL_ITM_INSTS
296 -- Description : deletes txl itm insts for a contract
297 -- Business Rules :
298 -- Parameters :
299 -- Version : 1.0
300 -- End of comments
301 PROCEDURE delete_txl_itm_insts(p_api_version IN NUMBER,
302 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
303 x_return_status OUT NOCOPY VARCHAR2,
304 x_msg_count OUT NOCOPY NUMBER,
305 x_msg_data OUT NOCOPY VARCHAR2,
306 p_iipv_rec IN iipv_rec_type) IS
307
308 l_iipv_rec iipv_rec_type;
309 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
310 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_TXL_ITM_INSTS';
311 l_api_version CONSTANT NUMBER := 1;
312 BEGIN
313 savepoint delete_txl_itm_insts_pub;
314 -- Standard call to check for call compatibility.
315 IF NOT (FND_API.Compatible_API_Call (l_api_version,
316 p_api_version,
317 l_api_name,
318 G_PKG_NAME)) THEN
319 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
320 END IF;
321 -- Initialize message list if p_init_msg_list is set to TRUE.
322 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
323 FND_MSG_PUB.initialize;
324 END IF;
325 l_iipv_rec := p_iipv_rec;
326 g_iipv_rec := l_iipv_rec;
327 -- Customer pre processing section
328 -- Verticle industry pre- processing section
329 -- Business API call section
330 l_iipv_rec.id := p_iipv_rec.id;
331 l_iipv_rec.object_version_number := p_iipv_rec.object_version_number;
332 OKL_TXL_ITM_INSTS_PVT.delete_txl_itm_insts(p_api_version => p_api_version,
333 p_init_msg_list => p_init_msg_list,
334 x_return_status => l_return_status,
335 x_msg_count => x_msg_count,
336 x_msg_data => x_msg_data,
337 p_iivv_rec => l_iipv_rec);
338 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
339 RAISE FND_API.G_EXC_ERROR;
340 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
341 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
342 END IF;
343 g_iipv_rec := l_iipv_rec;
344 -- Verticle industry post- processing section
345 -- Customer post processing section
346 x_return_status := FND_API.G_RET_STS_SUCCESS;
347 EXCEPTION
348 When FND_API.G_EXC_ERROR then
349 ROLLBACK TO delete_txl_itm_insts_pub;
350 x_return_status := FND_API.G_RET_STS_ERROR;
351 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
352 p_data => x_msg_data);
353 When FND_API.G_EXC_UNEXPECTED_ERROR then
354 ROLLBACK TO delete_txl_itm_insts_pub;
355 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
357 p_data => x_msg_data);
358 When OTHERS then
359 ROLLBACK TO delete_txl_itm_insts_pub;
360 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'delete_txl_itm_insts_pub');
362 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
363 p_count => x_msg_count,
364 p_data => x_msg_data);
365 END delete_txl_itm_insts;
366
367 -- Start of comments
368 --
369 -- Procedure Name : DELETE_TXL_ITM_INSTS
370 -- Description : deletes txl itm insts for a contract
371 -- Business Rules :
372 -- Parameters :
373 -- Version : 1.0
374 -- End of comments
375
376 PROCEDURE delete_txl_itm_insts(
377 p_api_version IN NUMBER,
378 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
379 x_return_status OUT NOCOPY VARCHAR2,
380 x_msg_count OUT NOCOPY NUMBER,
381 x_msg_data OUT NOCOPY VARCHAR2,
382 p_iipv_tbl IN iipv_tbl_type) IS
383 i NUMBER := 0;
384 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
385 BEGIN
386 x_return_status := FND_API.G_RET_STS_SUCCESS;
387 IF p_iipv_tbl.COUNT > 0 THEN
388 i := p_iipv_tbl.FIRST;
389 LOOP
390 delete_txl_itm_insts(p_api_version => p_api_version,
391 p_init_msg_list => p_init_msg_list,
392 x_return_status => l_return_status,
393 x_msg_count => x_msg_count,
394 x_msg_data => x_msg_data,
395 p_iipv_rec => p_iipv_tbl(i));
396 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
397 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
398 x_return_status := l_return_status;
399 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
400 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
401 x_return_status := l_return_status;
402 RAISE FND_API.G_EXC_ERROR;
403 ELSE
404 x_return_status := l_return_status;
405 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
406 END IF;
407 END IF;
408 EXIT WHEN (i = p_iipv_tbl.LAST);
409 i := p_iipv_tbl.NEXT(i);
410 END LOOP;
411 END IF;
412 EXCEPTION
413 WHEN FND_API.G_EXC_ERROR THEN
414 ROLLBACK TO delete_txl_itm_insts_pub;
415 x_return_status := FND_API.G_RET_STS_ERROR;
416 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
417 p_data => x_msg_data);
418 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
419 ROLLBACK TO delete_txl_itm_insts_pub;
420 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
421 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
422 p_data => x_msg_data);
423 WHEN OTHERS then
424 ROLLBACK TO delete_txl_itm_insts_pub;
425 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'delete_txl_itm_insts_pub');
427 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
428 p_count => x_msg_count,
429 p_data => x_msg_data);
430 END delete_txl_itm_insts;
431
432
433 -- Start of comments
434 --
435 -- Procedure Name : VALIDATE_TXL_ITM_INSTS
436 -- Description : validates txl itm insts for a contract
437 -- Business Rules :
438 -- Parameters :
439 -- Version : 1.0
440 -- End of comments
441 PROCEDURE validate_txl_itm_insts(p_api_version IN NUMBER,
442 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
443 x_return_status OUT NOCOPY VARCHAR2,
444 x_msg_count OUT NOCOPY NUMBER,
445 x_msg_data OUT NOCOPY VARCHAR2,
446 p_iipv_rec IN iipv_rec_type) IS
447
448 l_iipv_rec iipv_rec_type;
449 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
450 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_TXL_ITM_INSTS';
451 l_api_version CONSTANT NUMBER := 1;
452 BEGIN
453 savepoint validate_txl_itm_insts_pub;
454 -- Standard call to check for call compatibility.
455 IF NOT (FND_API.Compatible_API_Call (l_api_version,
456 p_api_version,
457 l_api_name,
458 G_PKG_NAME)) THEN
459 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
460 END IF;
461 -- Initialize message list if p_init_msg_list is set to TRUE.
462 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
463 FND_MSG_PUB.initialize;
464 END IF;
465 l_iipv_rec := p_iipv_rec;
466 g_iipv_rec := l_iipv_rec;
467 -- Customer pre processing section
468 -- Verticle industry pre- processing section
469 -- Business API call section
470 l_iipv_rec.id := p_iipv_rec.id;
471 l_iipv_rec.object_version_number := p_iipv_rec.object_version_number;
472 OKL_TXL_ITM_INSTS_PVT.validate_txl_itm_insts(p_api_version => p_api_version,
473 p_init_msg_list => p_init_msg_list,
474 x_return_status => l_return_status,
475 x_msg_count => x_msg_count,
476 x_msg_data => x_msg_data,
477 p_iivv_rec => l_iipv_rec);
478 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
479 RAISE FND_API.G_EXC_ERROR;
480 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
481 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
482 END IF;
483 g_iipv_rec := l_iipv_rec;
484 -- Verticle industry post- processing section
485 -- Customer post processing section
486 x_return_status := FND_API.G_RET_STS_SUCCESS;
487 EXCEPTION
488 When FND_API.G_EXC_ERROR then
489 ROLLBACK TO validate_txl_itm_insts_pub;
490 x_return_status := FND_API.G_RET_STS_ERROR;
491 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
492 p_data => x_msg_data);
493 When FND_API.G_EXC_UNEXPECTED_ERROR then
494 ROLLBACK TO validate_txl_itm_insts_pub;
495 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
496 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
497 p_data => x_msg_data);
498 When OTHERS then
499 ROLLBACK TO validate_txl_itm_insts_pub;
500 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
501 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'validate_txl_itm_insts_pub');
502 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
503 p_count => x_msg_count,
504 p_data => x_msg_data);
505 END validate_txl_itm_insts;
506
507 -- Start of comments
508 --
509 -- Procedure Name : VALIDATE_TXL_ITM_INSTS
510 -- Description : validates txl itm insts for a contract
511 -- Business Rules :
512 -- Parameters :
513 -- Version : 1.0
514 -- End of comments
515
516 PROCEDURE validate_txl_itm_insts(
517 p_api_version IN NUMBER,
518 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
519 x_return_status OUT NOCOPY VARCHAR2,
520 x_msg_count OUT NOCOPY NUMBER,
521 x_msg_data OUT NOCOPY VARCHAR2,
522 p_iipv_tbl IN iipv_tbl_type) IS
523 i NUMBER := 0;
524 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
525 BEGIN
526 x_return_status := FND_API.G_RET_STS_SUCCESS;
527 IF p_iipv_tbl.COUNT > 0 THEN
528 i := p_iipv_tbl.FIRST;
529 LOOP
530 validate_txl_itm_insts(p_api_version => p_api_version,
531 p_init_msg_list => p_init_msg_list,
532 x_return_status => l_return_status,
533 x_msg_count => x_msg_count,
534 x_msg_data => x_msg_data,
535 p_iipv_rec => p_iipv_tbl(i));
536 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
537 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
538 x_return_status := l_return_status;
539 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
540 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
541 x_return_status := l_return_status;
542 RAISE FND_API.G_EXC_ERROR;
543 ELSE
544 x_return_status := l_return_status;
545 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
546 END IF;
547 END IF;
548 EXIT WHEN (i = p_iipv_tbl.LAST);
549 i := p_iipv_tbl.NEXT(i);
550 END LOOP;
551 END IF;
552 EXCEPTION
553 WHEN FND_API.G_EXC_ERROR THEN
554 ROLLBACK TO validate_txl_itm_insts_pub;
555 x_return_status := FND_API.G_RET_STS_ERROR;
556 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
557 p_data => x_msg_data);
558 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
559 ROLLBACK TO validate_txl_itm_insts_pub;
560 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
561 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
562 p_data => x_msg_data);
563 WHEN OTHERS then
564 ROLLBACK TO validate_txl_itm_insts_pub;
565 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
566 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'validate_txl_itm_insts_pub');
567 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
568 p_count => x_msg_count,
569 p_data => x_msg_data);
570 END validate_txl_itm_insts;
571
572
573 -- Start of comments
574 --
575 -- Procedure Name : LOCK_TXL_ITM_INSTS
576 -- Description : locks txl itm insts for a contract
577 -- Business Rules :
578 -- Parameters :
579 -- Version : 1.0
580 -- End of comments
581 PROCEDURE lock_txl_itm_insts(p_api_version IN NUMBER,
582 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
583 x_return_status OUT NOCOPY VARCHAR2,
584 x_msg_count OUT NOCOPY NUMBER,
585 x_msg_data OUT NOCOPY VARCHAR2,
586 p_iipv_rec IN iipv_rec_type) IS
587
588 l_iipv_rec iipv_rec_type;
589 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
590 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_TXL_ITM_INSTS';
591 l_api_version CONSTANT NUMBER := 1;
592 BEGIN
593 savepoint lock_txl_itm_insts_pub;
594 -- Standard call to check for call compatibility.
595 IF NOT (FND_API.Compatible_API_Call (l_api_version,
596 p_api_version,
597 l_api_name,
598 G_PKG_NAME)) THEN
599 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
600 END IF;
601 -- Initialize message list if p_init_msg_list is set to TRUE.
602 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
603 FND_MSG_PUB.initialize;
604 END IF;
605 l_iipv_rec := p_iipv_rec;
606 -- Business API call section
607 l_iipv_rec.id := p_iipv_rec.id;
608 l_iipv_rec.object_version_number := p_iipv_rec.object_version_number;
609 OKL_TXL_ITM_INSTS_PVT.lock_txl_itm_insts(p_api_version => p_api_version,
610 p_init_msg_list => p_init_msg_list,
611 x_return_status => l_return_status,
612 x_msg_count => x_msg_count,
613 x_msg_data => x_msg_data,
614 p_iivv_rec => l_iipv_rec);
615 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
616 RAISE FND_API.G_EXC_ERROR;
617 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
618 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
619 END IF;
620 g_iipv_rec := l_iipv_rec;
621 x_return_status := FND_API.G_RET_STS_SUCCESS;
622 EXCEPTION
623 When FND_API.G_EXC_ERROR then
624 ROLLBACK TO lock_txl_itm_insts_pub;
625 x_return_status := FND_API.G_RET_STS_ERROR;
626 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
627 p_data => x_msg_data);
628 When FND_API.G_EXC_UNEXPECTED_ERROR then
629 ROLLBACK TO lock_txl_itm_insts_pub;
630 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
631 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
632 p_data => x_msg_data);
633 When OTHERS then
634 ROLLBACK TO lock_txl_itm_insts_pub;
635 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
636 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'lock_txl_itm_insts_pub');
637 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
638 p_count => x_msg_count,
639 p_data => x_msg_data);
640 END lock_txl_itm_insts;
641
642 -- Start of comments
643 --
644 -- Procedure Name : LOCK_TXL_ITM_INSTS
645 -- Description : locks txl itm insts for a contract
646 -- Business Rules :
647 -- Parameters :
648 -- Version : 1.0
649 -- End of comments
650
651 PROCEDURE lock_txl_itm_insts(
652 p_api_version IN NUMBER,
653 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
654 x_return_status OUT NOCOPY VARCHAR2,
655 x_msg_count OUT NOCOPY NUMBER,
656 x_msg_data OUT NOCOPY VARCHAR2,
657 p_iipv_tbl IN iipv_tbl_type) IS
658 i NUMBER := 0;
659 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
660 BEGIN
661 x_return_status := FND_API.G_RET_STS_SUCCESS;
662 IF p_iipv_tbl.COUNT > 0 THEN
663 i := p_iipv_tbl.FIRST;
664 LOOP
665 lock_txl_itm_insts(p_api_version => p_api_version,
666 p_init_msg_list => p_init_msg_list,
667 x_return_status => l_return_status,
668 x_msg_count => x_msg_count,
669 x_msg_data => x_msg_data,
670 p_iipv_rec => p_iipv_tbl(i));
671 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
672 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
673 x_return_status := l_return_status;
674 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
675 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
676 x_return_status := l_return_status;
677 RAISE FND_API.G_EXC_ERROR;
678 ELSE
679 x_return_status := l_return_status;
680 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
681 END IF;
682 END IF;
683 EXIT WHEN (i = p_iipv_tbl.LAST);
684 i := p_iipv_tbl.NEXT(i);
685 END LOOP;
686 END IF;
687 EXCEPTION
688 WHEN FND_API.G_EXC_ERROR THEN
689 ROLLBACK TO lock_txl_itm_insts_pub;
690 x_return_status := FND_API.G_RET_STS_ERROR;
691 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
692 p_data => x_msg_data);
693 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694 ROLLBACK TO lock_txl_itm_insts_pub;
695 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
697 p_data => x_msg_data);
698 WHEN OTHERS then
699 ROLLBACK TO lock_txl_itm_insts_pub;
700 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
701 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'lock_txl_itm_insts_pub');
702 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
703 p_count => x_msg_count,
704 p_data => x_msg_data);
705 END lock_txl_itm_insts;
706
707 -- Start of comments
708 -- Procedure Name : reset_item_srl_number
709 --
710 -- Description : This API resets non-serialized item's
711 -- serial number to NULL.
712 --
713 -- Business Rules : Blank out serial numbers from an asset
714 -- for which associated item is not serialized.
715 --
716 -- In case p_asset_line_id is NULL, the program
717 -- will update serial number(s) to NULL for all
718 -- asset line(s) having non-serialized item.
719 -- Assets with Serialized items will be ignored.
720 --
721 -- In case p_asset_line_id is NOT NULL and the item
722 -- associated to it is serialized, the program
723 -- will raise an error and will not update
724 -- serial number(s).
725 --
726 -- Parameters : p_chr_id - Contract ID (Must be not null)
727 -- - Contract must not be BOOKED
728 -- p_asset_line_id - Asset Top Line ID
729 -- - Either provide a valid line ID
730 -- or NULL for all assets
731 --
732 -- Version : 1.0, dedey
733 -- End of comments
734
735 PROCEDURE reset_item_srl_number(
736 p_api_version IN NUMBER,
737 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
738 x_return_status OUT NOCOPY VARCHAR2,
739 x_msg_count OUT NOCOPY NUMBER,
740 x_msg_data OUT NOCOPY VARCHAR2,
741 p_chr_id IN NUMBER,
742 p_asset_line_id IN NUMBER
743 ) IS
744
745 l_api_name CONSTANT VARCHAR2(30) := 'RESET_ITEM_SRL_NUMBER';
746 l_return_status VARCHAR2(1);
747
748 BEGIN
749
750 x_return_status := OKL_API.G_RET_STS_SUCCESS;
751
752 -- Call start_activity to create savepoint, check compatibility
753 -- and initialize message list
754 l_return_status := OKC_API.START_ACTIVITY (l_api_name
755 ,p_init_msg_list
756 ,'_PUB'
757 ,x_return_status);
758 -- Check if activity started successfully
759 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
760 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
761 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
762 RAISE OKC_API.G_EXCEPTION_ERROR;
763 END IF;
764
765 okl_txl_itm_insts_pvt.reset_item_srl_number (
766 p_api_version => p_api_version,
767 p_init_msg_list => p_init_msg_list,
768 x_return_status => x_return_status,
769 x_msg_count => x_msg_count,
770 x_msg_data => x_msg_data,
771 p_chr_id => p_chr_id,
772 p_asset_line_id => p_asset_line_id
773 );
774
775 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
776 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
777 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
778 RAISE OKC_API.G_EXCEPTION_ERROR;
779 END IF;
780
781 OKC_API.END_ACTIVITY (x_msg_count
782 ,x_msg_data );
783
784 EXCEPTION
785
786 WHEN OKC_API.G_EXCEPTION_ERROR THEN
787 x_return_status := OKC_API.HANDLE_EXCEPTIONS
788 (l_api_name,
789 G_PKG_NAME,
790 'OKC_API.G_RET_STS_ERROR',
791 x_msg_count,
792 x_msg_data,
793 '_PUB');
794 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
795 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
796 (l_api_name,
797 G_PKG_NAME,
798 'OKC_API.G_RET_STS_UNEXP_ERROR',
799 x_msg_count,
800 x_msg_data,
801 '_PUB');
802 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
803 (l_api_name,
804 G_PKG_NAME,
805 'OTHERS',
806 x_msg_count,
807 x_msg_data,
808 '_PUB');
809 END reset_item_srl_number;
810
811 END OKL_TXL_ITM_INSTS_PUB;
812