DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_XTL_CSH_APPS_PUB

Source


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