DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_LATE_POLICIES_PUB

Source


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