DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_INS_POLICIES_PUB

Source


1 PACKAGE BODY okl_ins_policies_pub AS
2 /* $Header: OKLPIPYB.pls 120.3 2006/11/22 18:28:40 asahoo noship $ */
3 PROCEDURE insert_ins_policies(
4      p_api_version           IN  NUMBER
5     ,p_init_msg_list         IN  VARCHAR2 DEFAULT FND_API.G_FALSE
6     ,x_return_status         OUT  NOCOPY VARCHAR2
7     ,x_msg_count             OUT  NOCOPY NUMBER
8     ,x_msg_data              OUT  NOCOPY VARCHAR2
9     ,p_ipyv_rec              IN  ipyv_rec_type
10     ,x_ipyv_rec              OUT  NOCOPY ipyv_rec_type) IS
11 l_api_version NUMBER ;
12 l_init_msg_list VARCHAR2(1) ;
13 l_return_status VARCHAR2(1);
14 l_msg_count NUMBER ;
15 l_msg_data VARCHAR2(2000);
16 lp_ipyv_rec  ipyv_rec_type;
17 lx_ipyv_rec  ipyv_rec_type;
18 BEGIN
19 SAVEPOINT ins_policies_insert;
20 l_api_version := p_api_version ;
21 l_init_msg_list := p_init_msg_list ;
22 l_return_status := x_return_status ;
23 l_msg_count := x_msg_count ;
24 l_msg_data := x_msg_data ;
25 lp_ipyv_rec :=  p_ipyv_rec;
26 lp_ipyv_rec.legal_entity_id :=  OKL_LEGAL_ENTITY_UTIL.get_khr_le_id(p_khr_id => lp_ipyv_rec.khr_id);
27 lx_ipyv_rec :=  x_ipyv_rec;
28 
29 
30 okl_ipy_pvt.insert_row(
31                           l_api_version
32                          ,l_init_msg_list
33                          ,l_return_status
34                          ,l_msg_count
35                          ,l_msg_data
36                          ,lp_ipyv_rec
37                          ,lx_ipyv_rec);
38 
39 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
40 	RAISE FND_API.G_EXC_ERROR;
41 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
42 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
43 END IF;
44 
45 --Copy value of OUT variable in the IN record type
46 lp_ipyv_rec := lx_ipyv_rec;
47 
48 --Assign value to OUT variables
49 x_ipyv_rec  := lx_ipyv_rec;
50 x_return_status := l_return_status ;
51 x_msg_count := l_msg_count ;
52 x_msg_data := l_msg_data ;
53 EXCEPTION
54     WHEN FND_API.G_EXC_ERROR THEN
55       ROLLBACK TO ins_policies_insert;
56       x_return_status := FND_API.G_RET_STS_ERROR;
57       x_msg_count := l_msg_count ;
58       x_msg_data := l_msg_data ;
59       FND_MSG_PUB.count_and_get(
60              p_count   => x_msg_count
61             ,p_data    => x_msg_data);
62     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
63       ROLLBACK TO ins_policies_insert;
64       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
65       x_msg_count := l_msg_count ;
66       x_msg_data := l_msg_data ;
67       FND_MSG_PUB.count_and_get(
68              p_count   => x_msg_count
69             ,p_data    => x_msg_data);
70     WHEN OTHERS THEN
71       ROLLBACK TO ins_policies_insert;
72       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
73       x_msg_count := l_msg_count ;
74       x_msg_data := l_msg_data ;
75       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','insert_ins_policies');
76       FND_MSG_PUB.count_and_get(
77              p_count   => x_msg_count
78             ,p_data    => x_msg_data);
79 END insert_ins_policies;
80 PROCEDURE insert_ins_policies(
81      p_api_version           IN  NUMBER
82     ,p_init_msg_list         IN  VARCHAR2 DEFAULT FND_API.G_FALSE
83     ,x_return_status         OUT  NOCOPY VARCHAR2
84     ,x_msg_count             OUT  NOCOPY NUMBER
85     ,x_msg_data              OUT  NOCOPY VARCHAR2
86     ,p_ipyv_tbl              IN  ipyv_tbl_type
87     ,x_ipyv_tbl              OUT  NOCOPY ipyv_tbl_type) IS
88 l_api_version NUMBER;
89 l_init_msg_list VARCHAR2(1) ;
90 l_msg_data VARCHAR2(2000);
91 l_msg_count NUMBER ;
92 l_return_status VARCHAR2(1);
93 lp_ipyv_tbl  ipyv_tbl_type;
94 lx_ipyv_tbl  ipyv_tbl_type;
95 BEGIN
96 SAVEPOINT ins_policies_insert;
97 l_api_version := p_api_version ;
98 l_init_msg_list := p_init_msg_list ;
99 l_return_status := x_return_status ;
100 l_msg_count := x_msg_count ;
101 l_msg_data := x_msg_data ;
102 lp_ipyv_tbl :=  p_ipyv_tbl;
103 FOR i in 1..lp_ipyv_tbl.COUNT LOOP
104     lp_ipyv_tbl(i).legal_entity_id := OKL_LEGAL_ENTITY_UTIL.get_khr_le_id(p_khr_id => lp_ipyv_tbl(i).khr_id);
105 END LOOP;
106 lx_ipyv_tbl :=  x_ipyv_tbl;
107 okl_ipy_pvt.insert_row(
108                           l_api_version
109                          ,l_init_msg_list
110                          ,l_return_status
111                          ,l_msg_count
112                          ,l_msg_data
113                          ,lp_ipyv_tbl
114                          ,lx_ipyv_tbl);
115 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
116 	RAISE FND_API.G_EXC_ERROR;
117 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
118 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
119 END IF;
120 --Copy value of OUT variable in the IN record type
121 lp_ipyv_tbl := lx_ipyv_tbl;
122 --Assign value to OUT variables
123 x_ipyv_tbl  := lx_ipyv_tbl;
124 x_return_status := l_return_status ;
125 x_msg_count := l_msg_count ;
126 x_msg_data := l_msg_data ;
127 EXCEPTION
128     WHEN FND_API.G_EXC_ERROR THEN
129       ROLLBACK TO ins_policies_insert;
130       x_return_status := FND_API.G_RET_STS_ERROR;
131       x_msg_count := l_msg_count ;
132       x_msg_data := l_msg_data ;
133       FND_MSG_PUB.count_and_get(
134              p_count   => x_msg_count
135             ,p_data    => x_msg_data);
136     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
137       ROLLBACK TO ins_policies_insert;
138       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
139       x_msg_count := l_msg_count ;
140       x_msg_data := l_msg_data ;
141       FND_MSG_PUB.count_and_get(
142              p_count   => x_msg_count
143             ,p_data    => x_msg_data);
144     WHEN OTHERS THEN
145       ROLLBACK TO ins_policies_insert;
146       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
147       x_msg_count := l_msg_count ;
148       x_msg_data := l_msg_data ;
149       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','insert_ins_policies');
150       FND_MSG_PUB.count_and_get(
151              p_count   => x_msg_count
152             ,p_data    => x_msg_data);
153 END insert_ins_policies;
154 PROCEDURE lock_ins_policies(
155      p_api_version           IN NUMBER
156     ,p_init_msg_list         IN VARCHAR2 DEFAULT FND_API.G_FALSE
157     ,x_return_status         OUT NOCOPY VARCHAR2
158     ,x_msg_count             OUT NOCOPY NUMBER
159     ,x_msg_data              OUT NOCOPY VARCHAR2
160     ,p_ipyv_rec              IN ipyv_rec_type) IS
161 BEGIN
162     okl_ipy_pvt.lock_row(
163 		    p_api_version,
164 		    p_init_msg_list,
165 		    x_return_status,
166 		    x_msg_count,
167 		    x_msg_data,
168 		    p_ipyv_rec);
169 IF ( x_return_status = FND_API.G_RET_STS_ERROR )  THEN
170 	RAISE FND_API.G_EXC_ERROR;
171 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
172 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
173 END IF;
174 EXCEPTION
175     WHEN FND_API.G_EXC_ERROR THEN
176       FND_MSG_PUB.count_and_get(
177              p_count   => x_msg_count
178             ,p_data    => x_msg_data);
179     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
180       FND_MSG_PUB.count_and_get(
181              p_count   => x_msg_count
182             ,p_data    => x_msg_data);
183     WHEN OTHERS THEN
184       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
185       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','lock_ins_policies');
186       FND_MSG_PUB.count_and_get(
187              p_count   => x_msg_count
188             ,p_data    => x_msg_data);
189 END lock_ins_policies;
190 PROCEDURE lock_ins_policies(
191      p_api_version           IN  NUMBER
192     ,p_init_msg_list         IN  VARCHAR2 DEFAULT FND_API.G_FALSE
193     ,x_return_status         OUT  NOCOPY VARCHAR2
194     ,x_msg_count             OUT  NOCOPY NUMBER
195     ,x_msg_data              OUT  NOCOPY VARCHAR2
196     ,p_ipyv_tbl              IN  ipyv_tbl_type) IS
197 BEGIN
198     okl_ipy_pvt.lock_row(
199 		    p_api_version,
200 		    p_init_msg_list,
201 		    x_return_status,
202 		    x_msg_count,
203 		    x_msg_data,
204 		    p_ipyv_tbl);
205 IF ( x_return_status = FND_API.G_RET_STS_ERROR )  THEN
206 	RAISE FND_API.G_EXC_ERROR;
207 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
208 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
209 END IF;
210 EXCEPTION
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_INS_POLICIES_PUB','lock_ins_policies');
222       FND_MSG_PUB.count_and_get(
223              p_count   => x_msg_count
224             ,p_data    => x_msg_data);
225 END lock_ins_policies;
226 PROCEDURE update_ins_policies(
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_ipyv_rec              IN  ipyv_rec_type
233     ,x_ipyv_rec              OUT  NOCOPY ipyv_rec_type) IS
234 l_api_version NUMBER ;
235 l_init_msg_list VARCHAR2(1) ;
236 l_return_status VARCHAR2(1);
237 l_msg_count NUMBER ;
238 l_msg_data VARCHAR2(2000);
239 lp_ipyv_rec  ipyv_rec_type;
240 lx_ipyv_rec  ipyv_rec_type;
241 BEGIN
242 SAVEPOINT ins_policies_update;
243 l_api_version := p_api_version ;
244 l_init_msg_list := p_init_msg_list ;
245 l_return_status := x_return_status ;
246 l_msg_count := x_msg_count ;
247 l_msg_data := x_msg_data ;
248 lp_ipyv_rec :=  p_ipyv_rec;
249 lx_ipyv_rec :=  x_ipyv_rec;
250     okl_ipy_pvt.update_row(
251                               l_api_version
252                              ,l_init_msg_list
253                              ,l_return_status
254                              ,l_msg_count
255                              ,l_msg_data
256                              ,lp_ipyv_rec
257                              ,lx_ipyv_rec);
258 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
259 	RAISE FND_API.G_EXC_ERROR;
260 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
261 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
262 END IF;
263 --Copy value of OUT variable in the IN record type
264 lp_ipyv_rec := lx_ipyv_rec;
265 --Assign value to OUT variables
266 x_ipyv_rec  := lx_ipyv_rec;
267 x_return_status := l_return_status ;
268 x_msg_count := l_msg_count ;
269 x_msg_data := l_msg_data ;
270 EXCEPTION
271     WHEN FND_API.G_EXC_ERROR THEN
272       ROLLBACK TO ins_policies_update;
273       x_return_status := FND_API.G_RET_STS_ERROR;
274       x_msg_count := l_msg_count ;
275       x_msg_data := l_msg_data ;
276       FND_MSG_PUB.count_and_get(
277              p_count   => x_msg_count
278             ,p_data    => x_msg_data);
279     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
280       ROLLBACK TO ins_policies_update;
281       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
282       x_msg_count := l_msg_count ;
283       x_msg_data := l_msg_data ;
284       FND_MSG_PUB.count_and_get(
285              p_count   => x_msg_count
286             ,p_data    => x_msg_data);
287     WHEN OTHERS THEN
288       ROLLBACK TO ins_policies_update;
289       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
290       x_msg_count := l_msg_count ;
291       x_msg_data := l_msg_data ;
292       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','update_ins_policies');
293       FND_MSG_PUB.count_and_get(
294              p_count   => x_msg_count
295             ,p_data    => x_msg_data);
296 END update_ins_policies;
297 PROCEDURE update_ins_policies(
298      p_api_version           IN  NUMBER
299     ,p_init_msg_list         IN  VARCHAR2 DEFAULT FND_API.G_FALSE
300     ,x_return_status         OUT  NOCOPY VARCHAR2
301     ,x_msg_count             OUT  NOCOPY NUMBER
302     ,x_msg_data              OUT  NOCOPY VARCHAR2
303     ,p_ipyv_tbl              IN  ipyv_tbl_type
304     ,x_ipyv_tbl              OUT  NOCOPY ipyv_tbl_type) IS
305 l_api_version NUMBER;
306 l_init_msg_list VARCHAR2(200);
307 l_msg_data VARCHAR2(100);
308 l_msg_count NUMBER ;
309 l_return_status VARCHAR2(1);
310 lp_ipyv_tbl  ipyv_tbl_type;
311 lx_ipyv_tbl  ipyv_tbl_type;
312 BEGIN
313 SAVEPOINT ins_policies_update;
314 lp_ipyv_tbl :=  p_ipyv_tbl;
315 lx_ipyv_tbl :=  x_ipyv_tbl;
316 l_api_version := p_api_version ;
317 l_init_msg_list := p_init_msg_list ;
318 l_msg_data := x_msg_data ;
319 l_msg_count := x_msg_count ;
320     okl_ipy_pvt.update_row(
321                               l_api_version
322                              ,l_init_msg_list
323                              ,l_return_status
324                              ,l_msg_count
325                              ,l_msg_data
326                              ,lp_ipyv_tbl
327                              ,lx_ipyv_tbl);
328 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
329 	RAISE FND_API.G_EXC_ERROR;
330 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
331 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
332 END IF;
333 --Copy value of OUT variable in the IN record type
334 lp_ipyv_tbl := lx_ipyv_tbl;
335 --Assign value to OUT variables
336 x_ipyv_tbl  := lx_ipyv_tbl;
337 x_return_status := l_return_status ;
338 x_msg_count := l_msg_count ;
339 x_msg_data := l_msg_data ;
340 EXCEPTION
341     WHEN FND_API.G_EXC_ERROR THEN
342       ROLLBACK TO ins_policies_update;
343       x_return_status := FND_API.G_RET_STS_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 FND_API.G_EXC_UNEXPECTED_ERROR THEN
350       ROLLBACK TO ins_policies_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.count_and_get(
355              p_count   => x_msg_count
356             ,p_data    => x_msg_data);
357     WHEN OTHERS THEN
358       ROLLBACK TO ins_policies_update;
359       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
360       x_msg_count := l_msg_count ;
361       x_msg_data := l_msg_data ;
362       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','update_ins_policies');
363       FND_MSG_PUB.count_and_get(
364              p_count   => x_msg_count
365             ,p_data    => x_msg_data);
366 END update_ins_policies;
367 --Put custom code for cascade delete by developer
368 PROCEDURE delete_ins_policies(
369      p_api_version           IN  NUMBER
370     ,p_init_msg_list         IN  VARCHAR2 DEFAULT FND_API.G_FALSE
371     ,x_return_status         OUT  NOCOPY VARCHAR2
372     ,x_msg_count             OUT  NOCOPY NUMBER
373     ,x_msg_data              OUT  NOCOPY VARCHAR2
374     ,p_ipyv_rec              IN ipyv_rec_type) IS
375 i	                    NUMBER :=0;
376 l_return_status 	    VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
377 l_api_version NUMBER ;
378 l_init_msg_list    VARCHAR2(1) ;
379 l_msg_data VARCHAR2(2000);
380 l_msg_count NUMBER ;
381 lp_ipyv_rec  ipyv_rec_type;
382 lx_ipyv_rec  ipyv_rec_type;
383 BEGIN
384 SAVEPOINT ins_policies_delete_rec;
385 l_api_version := p_api_version ;
386 l_init_msg_list := p_init_msg_list ;
387 l_msg_data :=  x_msg_data;
388 l_msg_count := x_msg_count ;
389 lp_ipyv_rec :=  p_ipyv_rec;
390 lx_ipyv_rec :=  p_ipyv_rec;
391 --Delete the Master
392 okl_ipy_pvt.delete_row(
393                           l_api_version
394                          ,l_init_msg_list
395                          ,l_return_status
396                          ,l_msg_count
397                          ,l_msg_data
401 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
398                          ,lp_ipyv_rec);
399 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
400 	RAISE FND_API.G_EXC_ERROR;
402 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
403 END IF;
404 --Assign value to OUT variables
405 x_msg_count := l_msg_count ;
406 x_msg_data := l_msg_data ;
407 x_return_status := l_return_status ;
408 EXCEPTION
409     WHEN FND_API.G_EXC_ERROR THEN
410       ROLLBACK TO ins_policies_delete_rec;
411       x_return_status := FND_API.G_RET_STS_ERROR;
412       x_msg_count := l_msg_count ;
413       x_msg_data := l_msg_data ;
414       FND_MSG_PUB.count_and_get(
415              p_count   => x_msg_count
416             ,p_data    => x_msg_data);
417     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
418       ROLLBACK TO ins_policies_delete_rec;
419       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
420       x_msg_count := l_msg_count ;
421       x_msg_data := l_msg_data ;
422       FND_MSG_PUB.count_and_get(
423              p_count   => x_msg_count
424             ,p_data    => x_msg_data);
425     WHEN OTHERS THEN
426       ROLLBACK TO ins_policies_delete_rec;
427       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
428       x_msg_count := l_msg_count ;
429       x_msg_data := l_msg_data ;
430       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','delete_ins_policies');
431       FND_MSG_PUB.count_and_get(
432              p_count   => x_msg_count
433             ,p_data    => x_msg_data);
434 END delete_ins_policies;
435 PROCEDURE delete_ins_policies(
436      p_api_version        IN NUMBER
437     ,p_init_msg_list      IN VARCHAR2 DEFAULT FND_API.G_FALSE
438     ,x_return_status      OUT NOCOPY VARCHAR2
439     ,x_msg_count          OUT NOCOPY NUMBER
440     ,x_msg_data           OUT NOCOPY VARCHAR2
441     ,p_ipyv_tbl           IN ipyv_tbl_type) IS
442 i NUMBER := 0;
443 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
444 l_api_version NUMBER := p_api_version ;
445 l_init_msg_list VARCHAR2(1) := p_init_msg_list  ;
446 l_msg_data VARCHAR2(2000);
447 l_msg_count NUMBER ;
448 lp_ipyv_tbl  ipyv_tbl_type;
449 lx_ipyv_tbl  ipyv_tbl_type;
450 BEGIN
451 SAVEPOINT ins_policies_delete_tbl;
452 l_api_version := p_api_version ;
453 l_init_msg_list := p_init_msg_list ;
454 l_msg_data :=  x_msg_data;
455 l_msg_count := x_msg_count ;
456 lp_ipyv_tbl :=  p_ipyv_tbl;
457 lx_ipyv_tbl :=  p_ipyv_tbl;
458 BEGIN
459       --Initialize the return status
460       l_return_status := OKC_API.G_RET_STS_SUCCESS;
461       IF (lp_ipyv_tbl.COUNT > 0) THEN
462        	  i := p_ipyv_tbl.FIRST;
463        LOOP
464           delete_ins_policies(
465                                l_api_version
466                               ,l_init_msg_list
467                               ,l_return_status
468                               ,l_msg_count
469                               ,l_msg_data
470                               ,lp_ipyv_tbl(i));
471           EXIT WHEN (i = lp_ipyv_tbl.LAST);
472           i := p_ipyv_tbl.NEXT(i);
473        END LOOP;
474       END IF;
475 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
476 	RAISE FND_API.G_EXC_ERROR;
477 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
478 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
479 END IF;
480 END;
481 --Assign value to OUT variables
482 x_msg_count := l_msg_count ;
483 x_msg_data := l_msg_data ;
484 x_return_status := l_return_status ;
485 EXCEPTION
486     WHEN FND_API.G_EXC_ERROR THEN
487       ROLLBACK TO ins_policies_delete_tbl;
488       x_return_status := FND_API.G_RET_STS_ERROR;
489       x_msg_count := l_msg_count ;
490       x_msg_data := l_msg_data ;
491       FND_MSG_PUB.count_and_get(
492              p_count   => x_msg_count
493             ,p_data    => x_msg_data);
494     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
495       ROLLBACK TO ins_policies_delete_tbl;
496       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
497       x_msg_count := l_msg_count ;
498       x_msg_data := l_msg_data ;
499       FND_MSG_PUB.count_and_get(
500              p_count   => x_msg_count
501             ,p_data    => x_msg_data);
502     WHEN OTHERS THEN
503       ROLLBACK TO ins_policies_delete_tbl;
504       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
505       x_msg_count := l_msg_count ;
506       x_msg_data := l_msg_data ;
507       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','delete_ins_policies');
508       FND_MSG_PUB.count_and_get(
509              p_count   => x_msg_count
510             ,p_data    => x_msg_data);
511 END delete_ins_policies;
512 PROCEDURE validate_ins_policies(
513      p_api_version      IN  NUMBER
514     ,p_init_msg_list    IN  VARCHAR2 DEFAULT FND_API.G_FALSE
515     ,x_return_status    OUT  NOCOPY VARCHAR2
516     ,x_msg_count        OUT  NOCOPY NUMBER
517     ,x_msg_data         OUT  NOCOPY VARCHAR2
518     ,p_ipyv_rec         IN  ipyv_rec_type) IS
519 l_api_version NUMBER ;
520 l_init_msg_list    VARCHAR2(1) ;
521 l_msg_data VARCHAR2(2000);
522 l_msg_count NUMBER ;
523 lp_ipyv_rec  ipyv_rec_type;
524 lx_ipyv_rec  ipyv_rec_type;
525 l_return_status VARCHAR2(1);
526 BEGIN
527 SAVEPOINT ins_policies_validate;
528 l_api_version := p_api_version ;
529 l_init_msg_list := p_init_msg_list ;
530 l_msg_data :=  x_msg_data;
531 l_msg_count := x_msg_count ;
532 lp_ipyv_rec :=  p_ipyv_rec;
533 lx_ipyv_rec :=  p_ipyv_rec;
534 okl_ipy_pvt.validate_row(
535                             l_api_version
536                            ,l_init_msg_list
537                            ,l_return_status
538                            ,l_msg_count
539                            ,l_msg_data
540                            ,lp_ipyv_rec);
541 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
542 	RAISE FND_API.G_EXC_ERROR;
543 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
544 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
545 END IF;
546 --Copy value of OUT variable in the IN record type
547 lp_ipyv_rec := lx_ipyv_rec;
548 --Assign value to OUT variables
549 x_msg_count := l_msg_count ;
550 x_msg_data := l_msg_data ;
551 x_return_status := l_return_status ;
552 EXCEPTION
553     WHEN FND_API.G_EXC_ERROR THEN
554       ROLLBACK TO ins_policies_validate;
555       x_return_status := FND_API.G_RET_STS_ERROR;
556       x_msg_count := l_msg_count ;
557       x_msg_data := l_msg_data ;
558       FND_MSG_PUB.count_and_get(
559              p_count   => x_msg_count
560             ,p_data    => x_msg_data);
561     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
562       ROLLBACK TO ins_policies_validate;
563       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
564       x_msg_count := l_msg_count ;
565       x_msg_data := l_msg_data ;
566       FND_MSG_PUB.count_and_get(
567              p_count   => x_msg_count
568             ,p_data    => x_msg_data);
569     WHEN OTHERS THEN
570       ROLLBACK TO ins_policies_validate;
571       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
572       x_msg_count := l_msg_count ;
573       x_msg_data := l_msg_data ;
574       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','validate_ins_policies');
575       FND_MSG_PUB.count_and_get(
576              p_count   => x_msg_count
577             ,p_data    => x_msg_data);
578 END validate_ins_policies;
579 PROCEDURE validate_ins_policies(
580     p_api_version       IN  NUMBER,
581     p_init_msg_list     IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
582     x_return_status     OUT  NOCOPY VARCHAR2,
583     x_msg_count         OUT  NOCOPY NUMBER,
584     x_msg_data          OUT  NOCOPY VARCHAR2,
585     p_ipyv_tbl          IN  ipyv_tbl_type) IS
586 l_api_version NUMBER ;
587 l_init_msg_list    VARCHAR2(1) ;
588 l_msg_data VARCHAR2(2000);
589 l_msg_count NUMBER ;
590 lp_ipyv_tbl  ipyv_tbl_type;
591 lx_ipyv_tbl  ipyv_tbl_type;
592 l_return_status VARCHAR2(1);
593 BEGIN
594 SAVEPOINT ins_policies_validate;
595 l_api_version := p_api_version ;
596 l_init_msg_list := p_init_msg_list ;
597 l_msg_data :=  x_msg_data;
598 l_msg_count := x_msg_count ;
599 lp_ipyv_tbl :=  p_ipyv_tbl;
600 lx_ipyv_tbl :=  p_ipyv_tbl;
601 okl_ipy_pvt.validate_row(
602                             p_api_version
603                            ,p_init_msg_list
604                            ,x_return_status
605                            ,x_msg_count
606                            ,x_msg_data
607                            ,lp_ipyv_tbl);
608 IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
609 	RAISE FND_API.G_EXC_ERROR;
610 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
611 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
612 END IF;
613 --Copy value of OUT variable in the IN record type
614 lp_ipyv_tbl := lx_ipyv_tbl;
615 --Assign value to OUT variables
616 x_msg_count := l_msg_count ;
617 x_msg_data := l_msg_data ;
618 x_return_status := l_return_status ;
619 EXCEPTION
620     WHEN FND_API.G_EXC_ERROR THEN
621       ROLLBACK TO ins_policies_validate;
622       x_return_status := FND_API.G_RET_STS_ERROR;
623       x_msg_count := l_msg_count ;
624       x_msg_data := l_msg_data ;
625       FND_MSG_PUB.count_and_get(
626              p_count   => x_msg_count
627             ,p_data    => x_msg_data);
628     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
629       ROLLBACK TO ins_policies_validate;
630       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
631       x_msg_count := l_msg_count ;
632       x_msg_data := l_msg_data ;
633       FND_MSG_PUB.count_and_get(
634              p_count   => x_msg_count
635             ,p_data    => x_msg_data);
636     WHEN OTHERS THEN
637       ROLLBACK TO ins_policies_validate;
638       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639       x_msg_count := l_msg_count ;
640       x_msg_data := l_msg_data ;
641       FND_MSG_PUB.ADD_EXC_MSG('OKL_INS_POLICIES_PUB','validate_ins_policies');
642       FND_MSG_PUB.count_and_get(
643              p_count   => x_msg_count
644             ,p_data    => x_msg_data);
645 END validate_ins_policies;
646 END OKL_INS_POLICIES_PUB;