DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TRX_MSGS_PUB

Source


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