DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TRX_CSH_BATCH_PUB

Source


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