[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
398 ,lp_ipyv_rec);
399 IF ( l_return_status = FND_API.G_RET_STS_ERROR ) THEN
400 RAISE FND_API.G_EXC_ERROR;
401 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
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;