[Home] [Help]
PACKAGE BODY: APPS.OKL_XTL_SELL_INVS_PUB
Source
1 PACKAGE BODY okl_xtl_sell_invs_pub AS
2 /* $Header: OKLPXLSB.pls 115.7 2004/04/13 11:27:43 rnaik noship $ */
3
4 PROCEDURE insert_xtl_sell_invs(
5 p_api_version IN NUMBER
6 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
7 ,x_return_status OUT NOCOPY VARCHAR2
8 ,x_msg_count OUT NOCOPY NUMBER
9 ,x_msg_data OUT NOCOPY VARCHAR2
10 ,p_xlsv_rec IN xlsv_rec_type
11 ,x_xlsv_rec OUT NOCOPY xlsv_rec_type) IS
12
13
14 l_api_version NUMBER ;
15 l_init_msg_list VARCHAR2(1) ;
16 l_return_status VARCHAR2(1);
17 l_msg_count NUMBER ;
18 l_msg_data VARCHAR2(2000);
19 lp_xlsv_rec xlsv_rec_type;
20 lx_xlsv_rec xlsv_rec_type;
21
22 BEGIN
23
24 SAVEPOINT xtl_sell_invs_insert;
25
26
27 l_api_version := p_api_version ;
28 l_init_msg_list := p_init_msg_list ;
29 l_return_status := x_return_status ;
30 l_msg_count := x_msg_count ;
31 l_msg_data := x_msg_data ;
32 lp_xlsv_rec := p_xlsv_rec;
33 lx_xlsv_rec := x_xlsv_rec;
34
35
36
37
38
39
40 okl_xls_pvt.insert_row(
41 l_api_version
42 ,l_init_msg_list
43 ,l_return_status
44 ,l_msg_count
45 ,l_msg_data
46 ,lp_xlsv_rec
47 ,lx_xlsv_rec);
48
49 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
50 RAISE FND_API.G_EXC_ERROR;
51 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
52 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
53 END IF;
54
55 --Copy value of OUT variable in the IN record type
56 lp_xlsv_rec := lx_xlsv_rec;
57
58
59
60
61
62 --Assign value to OUT variables
63 x_xlsv_rec := lx_xlsv_rec;
64 x_return_status := l_return_status ;
65 x_msg_count := l_msg_count ;
66 x_msg_data := l_msg_data ;
67
68 EXCEPTION
69
70 WHEN FND_API.G_EXC_ERROR THEN
71 ROLLBACK TO xtl_sell_invs_insert;
72 x_return_status := FND_API.G_RET_STS_ERROR;
73 x_msg_count := l_msg_count ;
74 x_msg_data := l_msg_data ;
75 FND_MSG_PUB.count_and_get(
76 p_count => x_msg_count
77 ,p_data => x_msg_data);
78 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
79 ROLLBACK TO xtl_sell_invs_insert;
80 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
81 x_msg_count := l_msg_count ;
82 x_msg_data := l_msg_data ;
83 FND_MSG_PUB.count_and_get(
84 p_count => x_msg_count
85 ,p_data => x_msg_data);
86 WHEN OTHERS THEN
87 ROLLBACK TO xtl_sell_invs_insert;
88 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
89 x_msg_count := l_msg_count ;
90 x_msg_data := l_msg_data ;
91 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','insert_xtl_sell_invs');
92 FND_MSG_PUB.count_and_get(
93 p_count => x_msg_count
94 ,p_data => x_msg_data);
95 END insert_xtl_sell_invs;
96
97 PROCEDURE insert_xtl_sell_invs(
98 p_api_version IN NUMBER
99 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
100 ,x_return_status OUT NOCOPY VARCHAR2
101 ,x_msg_count OUT NOCOPY NUMBER
102 ,x_msg_data OUT NOCOPY VARCHAR2
103 ,p_xlsv_tbl IN xlsv_tbl_type
104 ,x_xlsv_tbl OUT NOCOPY xlsv_tbl_type) IS
105
106 l_api_version NUMBER;
107 l_init_msg_list VARCHAR2(1) ;
108 l_msg_data VARCHAR2(2000);
109 l_msg_count NUMBER ;
110 l_return_status VARCHAR2(1);
111 lp_xlsv_tbl xlsv_tbl_type;
112 lx_xlsv_tbl xlsv_tbl_type;
113
114 BEGIN
115
116 SAVEPOINT xtl_sell_invs_insert;
117
118
119 l_api_version := p_api_version ;
120 l_init_msg_list := p_init_msg_list ;
121 l_return_status := x_return_status ;
122 l_msg_count := x_msg_count ;
123 l_msg_data := x_msg_data ;
124 lp_xlsv_tbl := p_xlsv_tbl;
125 lx_xlsv_tbl := x_xlsv_tbl;
126
127
128
129 okl_xls_pvt.insert_row(
130 l_api_version
131 ,l_init_msg_list
132 ,l_return_status
133 ,l_msg_count
134 ,l_msg_data
135 ,lp_xlsv_tbl
136 ,lx_xlsv_tbl);
137
138 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
139 RAISE FND_API.G_EXC_ERROR;
140 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
141 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
142 END IF;
143
144 --Copy value of OUT variable in the IN record type
145 lp_xlsv_tbl := lx_xlsv_tbl;
146
147
148
149 --Assign value to OUT variables
150 x_xlsv_tbl := lx_xlsv_tbl;
151 x_return_status := l_return_status ;
152 x_msg_count := l_msg_count ;
153 x_msg_data := l_msg_data ;
154
155
156 EXCEPTION
157
158 WHEN FND_API.G_EXC_ERROR THEN
159 ROLLBACK TO xtl_sell_invs_insert;
160 x_return_status := FND_API.G_RET_STS_ERROR;
161 x_msg_count := l_msg_count ;
162 x_msg_data := l_msg_data ;
163 FND_MSG_PUB.count_and_get(
164 p_count => x_msg_count
165 ,p_data => x_msg_data);
166 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
167 ROLLBACK TO xtl_sell_invs_insert;
168 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
169 x_msg_count := l_msg_count ;
170 x_msg_data := l_msg_data ;
171 FND_MSG_PUB.count_and_get(
172 p_count => x_msg_count
173 ,p_data => x_msg_data);
174 WHEN OTHERS THEN
175 ROLLBACK TO xtl_sell_invs_insert;
176 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
177 x_msg_count := l_msg_count ;
178 x_msg_data := l_msg_data ;
179 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','insert_xtl_sell_invs');
180 FND_MSG_PUB.count_and_get(
181 p_count => x_msg_count
182 ,p_data => x_msg_data);
183 END insert_xtl_sell_invs;
184
185 PROCEDURE lock_xtl_sell_invs(
186 p_api_version IN NUMBER
187 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
188 ,x_return_status OUT NOCOPY VARCHAR2
189 ,x_msg_count OUT NOCOPY NUMBER
190 ,x_msg_data OUT NOCOPY VARCHAR2
191 ,p_xlsv_rec IN xlsv_rec_type) IS
192
193 BEGIN
194 okl_xls_pvt.lock_row(
195 p_api_version,
196 p_init_msg_list,
197 x_return_status,
198 x_msg_count,
199 x_msg_data,
200 p_xlsv_rec);
201
202 IF ( x_return_status = FND_API.G_RET_STS_ERROR ) THEN
203 RAISE FND_API.G_EXC_ERROR;
204 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
205 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
206 END IF;
207
208
209 EXCEPTION
210
211 WHEN FND_API.G_EXC_ERROR THEN
212 FND_MSG_PUB.count_and_get(
213 p_count => x_msg_count
214 ,p_data => x_msg_data);
215 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
216 FND_MSG_PUB.count_and_get(
217 p_count => x_msg_count
218 ,p_data => x_msg_data);
219 WHEN OTHERS THEN
220 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
221 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','lock_xtl_sell_invs');
222 FND_MSG_PUB.count_and_get(
223 p_count => x_msg_count
224 ,p_data => x_msg_data);
225 END lock_xtl_sell_invs;
226
227 PROCEDURE lock_xtl_sell_invs(
228 p_api_version IN NUMBER
229 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
230 ,x_return_status OUT NOCOPY VARCHAR2
231 ,x_msg_count OUT NOCOPY NUMBER
232 ,x_msg_data OUT NOCOPY VARCHAR2
233 ,p_xlsv_tbl IN xlsv_tbl_type) IS
234
235 BEGIN
236 okl_xls_pvt.lock_row(
237 p_api_version,
238 p_init_msg_list,
239 x_return_status,
240 x_msg_count,
241 x_msg_data,
242 p_xlsv_tbl);
243
244 IF ( x_return_status = FND_API.G_RET_STS_ERROR ) THEN
245 RAISE FND_API.G_EXC_ERROR;
246 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
247 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
248 END IF;
249
250
251 EXCEPTION
252
253 WHEN FND_API.G_EXC_ERROR THEN
254 FND_MSG_PUB.count_and_get(
255 p_count => x_msg_count
256 ,p_data => x_msg_data);
257 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
258 FND_MSG_PUB.count_and_get(
259 p_count => x_msg_count
260 ,p_data => x_msg_data);
261 WHEN OTHERS THEN
262 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
263 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','lock_xtl_sell_invs');
264 FND_MSG_PUB.count_and_get(
265 p_count => x_msg_count
266 ,p_data => x_msg_data);
267 END lock_xtl_sell_invs;
268
269 PROCEDURE update_xtl_sell_invs(
270 p_api_version IN NUMBER
271 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
272 ,x_return_status OUT NOCOPY VARCHAR2
273 ,x_msg_count OUT NOCOPY NUMBER
274 ,x_msg_data OUT NOCOPY VARCHAR2
275 ,p_xlsv_rec IN xlsv_rec_type
276 ,x_xlsv_rec OUT NOCOPY xlsv_rec_type) IS
277
278 l_api_version NUMBER ;
279 l_init_msg_list VARCHAR2(1) ;
280 l_return_status VARCHAR2(1);
281 l_msg_count NUMBER ;
282 l_msg_data VARCHAR2(2000);
283 lp_xlsv_rec xlsv_rec_type;
284 lx_xlsv_rec xlsv_rec_type;
285
286 BEGIN
287
288 SAVEPOINT xtl_sell_invs_update;
289
290
291 l_api_version := p_api_version ;
292 l_init_msg_list := p_init_msg_list ;
293 l_return_status := x_return_status ;
294 l_msg_count := x_msg_count ;
295 l_msg_data := x_msg_data ;
296 lp_xlsv_rec := p_xlsv_rec;
297 lx_xlsv_rec := x_xlsv_rec;
298
299
300
301
302
303 okl_xls_pvt.update_row(
304 l_api_version
305 ,l_init_msg_list
306 ,l_return_status
307 ,l_msg_count
308 ,l_msg_data
309 ,lp_xlsv_rec
310 ,lx_xlsv_rec);
311
312 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
313 RAISE FND_API.G_EXC_ERROR;
314 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
315 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
316 END IF;
317
318 --Copy value of OUT variable in the IN record type
319 lp_xlsv_rec := lx_xlsv_rec;
320
321
322
323
324 --Assign value to OUT variables
325 x_xlsv_rec := lx_xlsv_rec;
326 x_return_status := l_return_status ;
327 x_msg_count := l_msg_count ;
328 x_msg_data := l_msg_data ;
329
330
331 EXCEPTION
332
333 WHEN FND_API.G_EXC_ERROR THEN
334 ROLLBACK TO xtl_sell_invs_update;
335 x_return_status := FND_API.G_RET_STS_ERROR;
336 x_msg_count := l_msg_count ;
337 x_msg_data := l_msg_data ;
338 FND_MSG_PUB.count_and_get(
339 p_count => x_msg_count
340 ,p_data => x_msg_data);
341 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
342 ROLLBACK TO xtl_sell_invs_update;
343 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
344 x_msg_count := l_msg_count ;
345 x_msg_data := l_msg_data ;
346 FND_MSG_PUB.count_and_get(
347 p_count => x_msg_count
348 ,p_data => x_msg_data);
349 WHEN OTHERS THEN
350 ROLLBACK TO xtl_sell_invs_update;
351 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
352 x_msg_count := l_msg_count ;
353 x_msg_data := l_msg_data ;
354 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','update_xtl_sell_invs');
355 FND_MSG_PUB.count_and_get(
356 p_count => x_msg_count
357 ,p_data => x_msg_data);
358 END update_xtl_sell_invs;
359
360 PROCEDURE update_xtl_sell_invs(
361 p_api_version IN NUMBER
362 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
363 ,x_return_status OUT NOCOPY VARCHAR2
364 ,x_msg_count OUT NOCOPY NUMBER
365 ,x_msg_data OUT NOCOPY VARCHAR2
366 ,p_xlsv_tbl IN xlsv_tbl_type
367 ,x_xlsv_tbl OUT NOCOPY xlsv_tbl_type) IS
368
369 l_api_version NUMBER;
370 l_init_msg_list VARCHAR2(200);
371 l_msg_data VARCHAR2(100);
372 l_msg_count NUMBER ;
373 l_return_status VARCHAR2(1);
374 lp_xlsv_tbl xlsv_tbl_type;
375 lx_xlsv_tbl xlsv_tbl_type;
376
377 BEGIN
378
379 SAVEPOINT xtl_sell_invs_update;
380
381
382 lp_xlsv_tbl := p_xlsv_tbl;
383 lx_xlsv_tbl := x_xlsv_tbl;
384 l_api_version := p_api_version ;
385 l_init_msg_list := p_init_msg_list ;
386 l_msg_data := x_msg_data ;
387 l_msg_count := x_msg_count ;
388
389
390
391
392
393 okl_xls_pvt.update_row(
394 l_api_version
395 ,l_init_msg_list
396 ,l_return_status
397 ,l_msg_count
398 ,l_msg_data
399 ,lp_xlsv_tbl
400 ,lx_xlsv_tbl);
401
402 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
403 RAISE FND_API.G_EXC_ERROR;
404 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
405 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
406 END IF;
407
408 --Copy value of OUT variable in the IN record type
409 lp_xlsv_tbl := lx_xlsv_tbl;
410
411
412
413 --Assign value to OUT variables
414 x_xlsv_tbl := lx_xlsv_tbl;
415 x_return_status := l_return_status ;
416 x_msg_count := l_msg_count ;
417 x_msg_data := l_msg_data ;
418
419
420 EXCEPTION
421
422 WHEN FND_API.G_EXC_ERROR THEN
423 ROLLBACK TO xtl_sell_invs_update;
424 x_return_status := FND_API.G_RET_STS_ERROR;
425 x_msg_count := l_msg_count ;
426 x_msg_data := l_msg_data ;
427 FND_MSG_PUB.count_and_get(
428 p_count => x_msg_count
429 ,p_data => x_msg_data);
430 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
431 ROLLBACK TO xtl_sell_invs_update;
432 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
433 x_msg_count := l_msg_count ;
434 x_msg_data := l_msg_data ;
435 FND_MSG_PUB.count_and_get(
436 p_count => x_msg_count
437 ,p_data => x_msg_data);
438 WHEN OTHERS THEN
439 ROLLBACK TO xtl_sell_invs_update;
440 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
441 x_msg_count := l_msg_count ;
442 x_msg_data := l_msg_data ;
443 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','update_xtl_sell_invs');
444 FND_MSG_PUB.count_and_get(
445 p_count => x_msg_count
446 ,p_data => x_msg_data);
447 END update_xtl_sell_invs;
448
449 --Put custom code for cascade delete by developer
450 PROCEDURE delete_xtl_sell_invs(
451 p_api_version IN NUMBER
452 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
453 ,x_return_status OUT NOCOPY VARCHAR2
454 ,x_msg_count OUT NOCOPY NUMBER
455 ,x_msg_data OUT NOCOPY VARCHAR2
456 ,p_xlsv_rec IN xlsv_rec_type) IS
457
458 i NUMBER :=0;
459 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
460 l_api_version NUMBER ;
461 l_init_msg_list VARCHAR2(1) ;
462 l_msg_data VARCHAR2(2000);
463 l_msg_count NUMBER ;
464 lp_xlsv_rec xlsv_rec_type;
465 lx_xlsv_rec xlsv_rec_type;
466
467 BEGIN
468
469 SAVEPOINT xtl_sell_invs_delete_rec;
470
471
472 l_api_version := p_api_version ;
473 l_init_msg_list := p_init_msg_list ;
474 l_msg_data := x_msg_data;
475 l_msg_count := x_msg_count ;
476 lp_xlsv_rec := p_xlsv_rec;
477 lx_xlsv_rec := p_xlsv_rec;
478
479
480
481
482 --Delete the Master
483 okl_xls_pvt.delete_row(
484 l_api_version
485 ,l_init_msg_list
486 ,l_return_status
487 ,l_msg_count
488 ,l_msg_data
489 ,lp_xlsv_rec);
490
491 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
492 RAISE FND_API.G_EXC_ERROR;
493 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
494 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
495 END IF;
496
497
498
499
500
501 --Assign value to OUT variables
502 x_msg_count := l_msg_count ;
503 x_msg_data := l_msg_data ;
504 x_return_status := l_return_status ;
505
506 EXCEPTION
507
508 WHEN FND_API.G_EXC_ERROR THEN
509 ROLLBACK TO xtl_sell_invs_delete_rec;
510 x_return_status := FND_API.G_RET_STS_ERROR;
511 x_msg_count := l_msg_count ;
512 x_msg_data := l_msg_data ;
513 FND_MSG_PUB.count_and_get(
514 p_count => x_msg_count
515 ,p_data => x_msg_data);
516 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
517 ROLLBACK TO xtl_sell_invs_delete_rec;
518 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
519 x_msg_count := l_msg_count ;
520 x_msg_data := l_msg_data ;
521 FND_MSG_PUB.count_and_get(
522 p_count => x_msg_count
523 ,p_data => x_msg_data);
524 WHEN OTHERS THEN
525 ROLLBACK TO xtl_sell_invs_delete_rec;
526 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
527 x_msg_count := l_msg_count ;
528 x_msg_data := l_msg_data ;
529 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','delete_xtl_sell_invs');
530 FND_MSG_PUB.count_and_get(
531 p_count => x_msg_count
532 ,p_data => x_msg_data);
533 END delete_xtl_sell_invs;
534
535 PROCEDURE delete_xtl_sell_invs(
536 p_api_version IN NUMBER
537 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
538 ,x_return_status OUT NOCOPY VARCHAR2
539 ,x_msg_count OUT NOCOPY NUMBER
540 ,x_msg_data OUT NOCOPY VARCHAR2
541 ,p_xlsv_tbl IN xlsv_tbl_type) IS
542
543 i NUMBER := 0;
544 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
545 l_api_version NUMBER := p_api_version ;
546 l_init_msg_list VARCHAR2(1) := p_init_msg_list ;
547 l_msg_data VARCHAR2(2000);
548 l_msg_count NUMBER ;
549 lp_xlsv_tbl xlsv_tbl_type;
550 lx_xlsv_tbl xlsv_tbl_type;
551
552 BEGIN
553
554 SAVEPOINT xtl_sell_invs_delete_tbl;
555
556
557 l_api_version := p_api_version ;
558 l_init_msg_list := p_init_msg_list ;
559 l_msg_data := x_msg_data;
560 l_msg_count := x_msg_count ;
561 lp_xlsv_tbl := p_xlsv_tbl;
562 lx_xlsv_tbl := p_xlsv_tbl;
563
564
565
566
567 BEGIN
568 --Initialize the return status
569 l_return_status := OKC_API.G_RET_STS_SUCCESS;
570
571 IF (lp_xlsv_tbl.COUNT > 0) THEN
572 i := p_xlsv_tbl.FIRST;
573 LOOP
574 delete_xtl_sell_invs(
575 l_api_version
576 ,l_init_msg_list
577 ,l_return_status
578 ,l_msg_count
579 ,l_msg_data
580 ,lp_xlsv_tbl(i));
581 EXIT WHEN (i = lp_xlsv_tbl.LAST);
582 i := p_xlsv_tbl.NEXT(i);
583 END LOOP;
584 END IF;
585 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
586 RAISE FND_API.G_EXC_ERROR;
587 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
588 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
589 END IF;
590
591 END;
592
593
594
595
596
597 --Assign value to OUT variables
598 x_msg_count := l_msg_count ;
599 x_msg_data := l_msg_data ;
600
601 x_return_status := l_return_status ;
602
603 EXCEPTION
604
605 WHEN FND_API.G_EXC_ERROR THEN
606 ROLLBACK TO xtl_sell_invs_delete_tbl;
607 x_return_status := FND_API.G_RET_STS_ERROR;
608 x_msg_count := l_msg_count ;
609 x_msg_data := l_msg_data ;
610 FND_MSG_PUB.count_and_get(
611 p_count => x_msg_count
612 ,p_data => x_msg_data);
613 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
614 ROLLBACK TO xtl_sell_invs_delete_tbl;
615 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
616 x_msg_count := l_msg_count ;
617 x_msg_data := l_msg_data ;
618 FND_MSG_PUB.count_and_get(
619 p_count => x_msg_count
620 ,p_data => x_msg_data);
621 WHEN OTHERS THEN
622 ROLLBACK TO xtl_sell_invs_delete_tbl;
623 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
624 x_msg_count := l_msg_count ;
625 x_msg_data := l_msg_data ;
626 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','delete_xtl_sell_invs');
627 FND_MSG_PUB.count_and_get(
628 p_count => x_msg_count
629 ,p_data => x_msg_data);
630 END delete_xtl_sell_invs;
631
632 PROCEDURE validate_xtl_sell_invs(
633 p_api_version IN NUMBER
634 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
635 ,x_return_status OUT NOCOPY VARCHAR2
636 ,x_msg_count OUT NOCOPY NUMBER
637 ,x_msg_data OUT NOCOPY VARCHAR2
638 ,p_xlsv_rec IN xlsv_rec_type) IS
639
640 l_api_version NUMBER ;
641 l_init_msg_list VARCHAR2(1) ;
642 l_msg_data VARCHAR2(2000);
643 l_msg_count NUMBER ;
644 lp_xlsv_rec xlsv_rec_type;
645 lx_xlsv_rec xlsv_rec_type;
646 l_return_status VARCHAR2(1);
647
648 BEGIN
649
650 SAVEPOINT xtl_sell_invs_validate;
651
652
653 l_api_version := p_api_version ;
654 l_init_msg_list := p_init_msg_list ;
655 l_msg_data := x_msg_data;
656 l_msg_count := x_msg_count ;
657 lp_xlsv_rec := p_xlsv_rec;
658 lx_xlsv_rec := p_xlsv_rec;
659
660
661
662
663 okl_xls_pvt.validate_row(
664 l_api_version
665 ,l_init_msg_list
666 ,l_return_status
667 ,l_msg_count
668 ,l_msg_data
669 ,lp_xlsv_rec);
670
671 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
672 RAISE FND_API.G_EXC_ERROR;
673 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
674 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
675 END IF;
676
677 --Copy value of OUT variable in the IN record type
678 lp_xlsv_rec := lx_xlsv_rec;
679
680
681
682
683
684
685
686
687 --Assign value to OUT variables
688 x_msg_count := l_msg_count ;
689 x_msg_data := l_msg_data ;
690
691 x_return_status := l_return_status ;
692
693 EXCEPTION
694
695 WHEN FND_API.G_EXC_ERROR THEN
696 ROLLBACK TO xtl_sell_invs_validate;
697 x_return_status := FND_API.G_RET_STS_ERROR;
698 x_msg_count := l_msg_count ;
699 x_msg_data := l_msg_data ;
700 FND_MSG_PUB.count_and_get(
701 p_count => x_msg_count
702 ,p_data => x_msg_data);
703 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
704 ROLLBACK TO xtl_sell_invs_validate;
705 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
706 x_msg_count := l_msg_count ;
707 x_msg_data := l_msg_data ;
708 FND_MSG_PUB.count_and_get(
709 p_count => x_msg_count
710 ,p_data => x_msg_data);
711 WHEN OTHERS THEN
712 ROLLBACK TO xtl_sell_invs_validate;
713 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
714 x_msg_count := l_msg_count ;
715 x_msg_data := l_msg_data ;
716 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','validate_xtl_sell_invs');
717 FND_MSG_PUB.count_and_get(
718 p_count => x_msg_count
719 ,p_data => x_msg_data);
720 END validate_xtl_sell_invs;
721
722 PROCEDURE validate_xtl_sell_invs(
723 p_api_version IN NUMBER,
724 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
725 x_return_status OUT NOCOPY VARCHAR2,
726 x_msg_count OUT NOCOPY NUMBER,
727 x_msg_data OUT NOCOPY VARCHAR2,
728 p_xlsv_tbl IN xlsv_tbl_type) IS
729 l_api_version NUMBER ;
730 l_init_msg_list VARCHAR2(1) ;
731 l_msg_data VARCHAR2(2000);
732 l_msg_count NUMBER ;
733 lp_xlsv_tbl xlsv_tbl_type;
734 lx_xlsv_tbl xlsv_tbl_type;
735 l_return_status VARCHAR2(1);
736
737 BEGIN
738
739 SAVEPOINT xtl_sell_invs_validate;
740
741
742 l_api_version := p_api_version ;
743 l_init_msg_list := p_init_msg_list ;
744 l_msg_data := x_msg_data;
745 l_msg_count := x_msg_count ;
746 lp_xlsv_tbl := p_xlsv_tbl;
747 lx_xlsv_tbl := p_xlsv_tbl;
748
749
750
751 okl_xls_pvt.validate_row(
752 p_api_version
753 ,p_init_msg_list
754 ,x_return_status
755 ,x_msg_count
756 ,x_msg_data
757 ,lp_xlsv_tbl);
758
759 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
760 RAISE FND_API.G_EXC_ERROR;
761 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
762 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
763 END IF;
764
765 --Copy value of OUT variable in the IN record type
766 lp_xlsv_tbl := lx_xlsv_tbl;
767
768
769
770
771
772 --Assign value to OUT variables
773 x_msg_count := l_msg_count ;
774 x_msg_data := l_msg_data ;
775
776 x_return_status := l_return_status ;
777
778 EXCEPTION
779
780 WHEN FND_API.G_EXC_ERROR THEN
781 ROLLBACK TO xtl_sell_invs_validate;
782 x_return_status := FND_API.G_RET_STS_ERROR;
783 x_msg_count := l_msg_count ;
784 x_msg_data := l_msg_data ;
785 FND_MSG_PUB.count_and_get(
786 p_count => x_msg_count
787 ,p_data => x_msg_data);
788 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
789 ROLLBACK TO xtl_sell_invs_validate;
790 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
791 x_msg_count := l_msg_count ;
792 x_msg_data := l_msg_data ;
793 FND_MSG_PUB.count_and_get(
794 p_count => x_msg_count
795 ,p_data => x_msg_data);
796 WHEN OTHERS THEN
797 ROLLBACK TO xtl_sell_invs_validate;
798 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
799 x_msg_count := l_msg_count ;
800 x_msg_data := l_msg_data ;
801 FND_MSG_PUB.ADD_EXC_MSG('OKL_XTL_SELL_INVS_PUB','validate_xtl_sell_invs');
802 FND_MSG_PUB.count_and_get(
803 p_count => x_msg_count
804 ,p_data => x_msg_data);
805 END validate_xtl_sell_invs;
806
807 END OKL_XTL_SELL_INVS_PUB;