DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TRX_AR_INVOICES_PUB

Source


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