DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_CNTR_LVLNG_GRPS_PUB

Source


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