DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_OPEN_INT_PUB

Source


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