DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PROCESS_ACC_GROUP_PUB

Source


1 PACKAGE BODY OKL_PROCESS_ACC_GROUP_PUB AS
2 /* $Header: OKLPAGGB.pls 115.4 2002/12/18 12:09:38 kjinger noship $ */
3 
4 
5   PROCEDURE create_acc_group(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_agcv_rec         IN  agcv_rec_type
11                             ,p_agbv_tbl         IN  agbv_tbl_type
12                             ,x_agcv_rec         OUT NOCOPY agcv_rec_type
13                             ,x_agbv_tbl         OUT NOCOPY agbv_tbl_type )
14 
15    IS
16 
17     i                               NUMBER;
18     l_api_name                      CONSTANT VARCHAR2(30)  := 'create_acc_ccid';
19     l_agcv_rec                      agcv_rec_type := p_agcv_rec;
20     l_return_status                 VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
21     l_agbv_tbl                      agbv_tbl_type := p_agbv_tbl;
22 
23 
24   BEGIN
25 
26     SAVEPOINT create_acc_group;
27     x_return_status    := FND_API.G_RET_STS_SUCCESS;
28 
29    -- customer pre-processing
30 
31 
32 
33 
34 
35    -- vertical industry-preprocessing
36 
37 
38 
39 
40 
41    -- call complex entity API
42 
43 
44 
45     okl_process_acc_group_pvt.create_acc_group(p_api_version   => p_api_version
46                                       ,p_init_msg_list => p_init_msg_list
47                                       ,x_return_status => l_return_status
48                                       ,x_msg_count     => x_msg_count
49                                       ,x_msg_data      => x_msg_data
50                                       ,p_agcv_rec      => l_agcv_rec
51                                       ,p_agbv_tbl      => l_agbv_tbl
52                                       ,x_agcv_rec      => x_agcv_rec
53                                       ,x_agbv_tbl      => x_agbv_tbl);
54 
55        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
56              RAISE FND_API.G_EXC_ERROR;
57        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
58             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59        END IF;
60 
61 
62        l_agcv_rec := x_agcv_rec;
63        l_agbv_tbl := x_agbv_tbl;
64 
65     -- vertical industry-post-processing
66 
67 
68 
69 
70 
71      -- customer post-processing
72 
73 
74 
75 
76 
77 
78   EXCEPTION
79     WHEN FND_API.G_EXC_ERROR THEN
80       ROLLBACK TO create_acc_group;
81       x_return_status := FND_API.G_RET_STS_ERROR;
82 
83       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
84                                ,p_count   => x_msg_count
85                                ,p_data    => x_msg_data);
86 
87     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
88       ROLLBACK TO create_acc_group;
89       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
90       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
91                                ,p_count   => x_msg_count
92                                ,p_data    => x_msg_data);
93 
94     WHEN OTHERS THEN
95       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','create_acc_group');
96       -- store SQL error message on message stack for caller
97       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
98                                ,p_count   => x_msg_count
99                                ,p_data    => x_msg_data);
100       -- notify caller of an UNEXPECTED error
101       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
102 
103 
104   END create_acc_group;
105 
106 
107 
108   PROCEDURE create_acc_ccid(p_api_version             IN  NUMBER
109                            ,p_init_msg_list           IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
110                            ,x_return_status           OUT NOCOPY VARCHAR2
111                            ,x_msg_count               OUT NOCOPY NUMBER
112                            ,x_msg_data                OUT NOCOPY VARCHAR2
113                            ,p_agcv_rec                IN  agcv_rec_type
114                            ,x_agcv_rec                OUT NOCOPY agcv_rec_type) IS
115 
116     l_return_status            VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
117     l_api_name                 CONSTANT VARCHAR2(30)  := 'create_acc_ccid';
118     l_agcv_rec                 agcv_rec_type := p_agcv_rec;
119 
120 
121 
122   BEGIN
123 
124     SAVEPOINT create_acc_ccid;
125     x_return_status    := FND_API.G_RET_STS_SUCCESS;
126 
127 
128    -- customer pre-processing
129 
130 
131 
132 
133 
134    -- vertical industry-preprocessing
135 
136 
137 
138 
139 
140 
141    -- call complex entity API
142 
143     okl_process_acc_group_pvt.create_acc_ccid(p_api_version   => p_api_version
144                           ,p_init_msg_list => p_init_msg_list
145                           ,x_return_status => l_return_status
146                           ,x_msg_count     => x_msg_count
147                           ,x_msg_data      => x_msg_data
148                           ,p_agcv_rec      => l_agcv_rec
149                           ,x_agcv_rec      => x_agcv_rec);
150 
151 
152 
153        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
154              RAISE FND_API.G_EXC_ERROR;
155        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
156             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
157        END IF;
158 
159 	   l_agcv_rec := x_agcv_rec;
160 
161     -- vertical industry-post-processing
162 
163 
164 
165 
166 
167 
168      -- customer post-processing
169 
170 
171 
172 
173 
174 
175   EXCEPTION
176 
177     WHEN FND_API.G_EXC_ERROR THEN
178       ROLLBACK TO create_acc_ccid;
179       x_return_status := FND_API.G_RET_STS_ERROR;
180 
181       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
182                                ,p_count   => x_msg_count
183                                ,p_data    => x_msg_data);
184 
185     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
186       ROLLBACK TO create_acc_ccid;
187       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
188       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
189                                ,p_count   => x_msg_count
190                                ,p_data    => x_msg_data);
191 
192     WHEN OTHERS THEN
193       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','create_acc_ccid');
194       -- store SQL error message on message stack for caller
195       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
196                                ,p_count   => x_msg_count
197                                ,p_data    => x_msg_data);
198       -- notify caller of an UNEXPECTED error
199       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
200 
201   END create_acc_ccid;
202 
203 
204 
205   PROCEDURE create_acc_ccid(p_api_version               IN  NUMBER
206                            ,p_init_msg_list             IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
207                            ,x_return_status             OUT NOCOPY VARCHAR2
208                            ,x_msg_count                 OUT NOCOPY NUMBER
209                            ,x_msg_data                  OUT NOCOPY VARCHAR2
210                            ,p_agcv_tbl                  IN  agcv_tbl_type
211                            ,x_agcv_tbl                  OUT NOCOPY agcv_tbl_type) IS
212 
213 
214     l_return_status              VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
215     l_api_name                   CONSTANT VARCHAR2(30)  := 'create_acc_ccid';
216     i                            NUMBER;
217 
218     l_overall_status		 VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
219     l_agcv_tbl                   agcv_tbl_type := p_agcv_tbl;
220 
221   BEGIN
222 
223   --Initialize the return status
224     SAVEPOINT create_acc_ccid;
225     x_return_status    := FND_API.G_RET_STS_SUCCESS;
226 
227 
228 
229    -- customer pre-processing
230 
231 
232 
233 
234 
235 
236    -- vertical industry-preprocessing
237 
238 
239 
240 
241 
242 
243     IF (l_agcv_tbl.COUNT > 0) THEN
244 
245       i := l_agcv_tbl.FIRST;
246 
247       LOOP
248 
249         OKL_PROCESS_ACC_GROUP_PUB.create_acc_ccid(
250                            p_api_version   => p_api_version
251                           ,p_init_msg_list => p_init_msg_list
252                           ,x_return_status => l_return_status
253                           ,x_msg_count     => x_msg_count
254                           ,x_msg_data      => x_msg_data
255                           ,p_agcv_rec      => l_agcv_tbl(i)
256                           ,x_agcv_rec      => x_agcv_tbl(i)
257                           );
258 
259 		  -- store the highest degree of error
260 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
261 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
262 			 	l_overall_status := l_return_status;
263 			END IF;
264 		  END IF;
265 
266           EXIT WHEN (i = l_agcv_tbl.LAST);
267 
268           i := l_agcv_tbl.NEXT(i);
269        END LOOP;
270 
271 	   -- return overall status
272 	   l_return_status := l_overall_status;
273      END IF;
274 
275      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
276         RAISE FND_API.G_EXC_ERROR;
277      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
278         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279      END IF;
280 
281      l_agcv_tbl := x_agcv_tbl;
282 
283     -- vertical industry-post-processing
284 
285 
286 
287 
288 
289 
290      -- customer post-processing
291 
292 
293 
294 
295   EXCEPTION
296 
297     WHEN FND_API.G_EXC_ERROR THEN
298       ROLLBACK TO create_acc_ccid;
299       x_return_status := FND_API.G_RET_STS_ERROR;
300 
301       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
302                                ,p_count   => x_msg_count
303                                ,p_data    => x_msg_data);
304 
305     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
306       ROLLBACK TO create_acc_ccid;
307       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
308       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
309                                ,p_count   => x_msg_count
310                                ,p_data    => x_msg_data);
311 
312     WHEN OTHERS THEN
313       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','create_acc_ccid');
314       -- store SQL error message on message stack for caller
315       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
316                                ,p_count   => x_msg_count
317                                ,p_data    => x_msg_data);
318       -- notify caller of an UNEXPECTED error
319       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
320 
321 
322   END create_acc_ccid;
323 
324 
325 
326   -- Object type procedure for update
327 
328   PROCEDURE update_acc_group(p_api_version           IN  NUMBER,
329     p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
330     x_return_status         OUT NOCOPY VARCHAR2,
331     x_msg_count             OUT NOCOPY NUMBER,
332     x_msg_data              OUT NOCOPY VARCHAR2,
333     p_agcv_rec              IN  agcv_rec_type,
334     p_agbv_tbl              IN  agbv_tbl_type,
335     x_agcv_rec              OUT NOCOPY agcv_rec_type,
336     x_agbv_tbl              OUT NOCOPY agbv_tbl_type) IS
337 
338     l_return_status         VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
339     l_api_name              CONSTANT VARCHAR2(30)  := 'update_acc_ccid';
340     l_agcv_rec              agcv_rec_type := p_agcv_rec;
341     l_agbv_tbl              agbv_tbl_type := p_agbv_tbl;
342 
343 
344 
345   BEGIN
346 
347     SAVEPOINT update_acc_group;
348     x_return_status    := FND_API.G_RET_STS_SUCCESS;
349 
350 
351 
352    -- customer pre-processing
353 
354 
355 
356 
357 
358 
359    -- vertical industry-preprocessing
360 
361 
362 
363 
364 
365    -- call complex entity API
366 
367 
368 
369     okl_process_acc_group_pvt.update_acc_group(p_api_version   => p_api_version
370                         ,p_init_msg_list => p_init_msg_list
371                         ,x_return_status => x_return_status
372                         ,x_msg_count     => x_msg_count
373                         ,x_msg_data      => x_msg_data
374                         ,p_agcv_rec      => l_agcv_rec
375                         ,p_agbv_tbl      => l_agbv_tbl
376                         ,x_agcv_rec      => x_agcv_rec
377                         ,x_agbv_tbl      => x_agbv_tbl);
378 
379        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
380              RAISE FND_API.G_EXC_ERROR;
381        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
382             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
383        END IF;
384 
385        l_agcv_rec := x_agcv_rec;
386        l_agbv_tbl := x_agbv_tbl;
387 
388    -- vertical industry-post processing
389 
390 
391 
392 
393 
394    -- customer post-processing
395 
396 
397 
398 
399 
400 
401   EXCEPTION
402 
403     WHEN FND_API.G_EXC_ERROR THEN
404       ROLLBACK TO update_acc_group;
405       x_return_status := FND_API.G_RET_STS_ERROR;
406 
407       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
408                                ,p_count   => x_msg_count
409                                ,p_data    => x_msg_data);
410 
411     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
412       ROLLBACK TO update_acc_group;
413       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
414       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
415                                ,p_count   => x_msg_count
416                                ,p_data    => x_msg_data);
417 
418     WHEN OTHERS THEN
419       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','update_acc_ccid');
420       -- store SQL error message on message stack for caller
421       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
422                                ,p_count   => x_msg_count
423                                ,p_data    => x_msg_data);
424       -- notify caller of an UNEXPECTED error
425       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426 
427   END update_acc_group;
428 
429 
430 
431 
432 
433   PROCEDURE update_acc_ccid(p_api_version                IN  NUMBER
434                            ,p_init_msg_list              IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
435                            ,x_return_status              OUT NOCOPY VARCHAR2
436                            ,x_msg_count                  OUT NOCOPY NUMBER
437                            ,x_msg_data                   OUT NOCOPY VARCHAR2
438                            ,p_agcv_rec                   IN  agcv_rec_type
439                            ,x_agcv_rec                   OUT NOCOPY agcv_rec_type) IS
440 
441     l_return_status               VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
442     l_api_name                    CONSTANT VARCHAR2(30)  := 'update_acc_ccid';
443     l_agcv_rec                      agcv_rec_type := p_agcv_rec;
444 
445   BEGIN
446 
447     SAVEPOINT update_acc_ccid;
448     x_return_status    := FND_API.G_RET_STS_SUCCESS;
449 
450 
451    -- customer pre-processing
452 
453 
454 
455 
456 
457 
458    -- vertical industry-preprocessing
459 
460 
461 
462 
463 
464    -- call complex entity API
465 
466     okl_process_acc_group_pvt.update_acc_ccid(p_api_version   => p_api_version
467                           ,p_init_msg_list => p_init_msg_list
468                           ,x_return_status => l_return_status
469                           ,x_msg_count     => x_msg_count
470                           ,x_msg_data      => x_msg_data
471                           ,p_agcv_rec      => l_agcv_rec
472                           ,x_agcv_rec      => x_agcv_rec
473                           );
474 
475        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
476              RAISE FND_API.G_EXC_ERROR;
477        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
478             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
479        END IF;
480 
481        l_agcv_rec := x_agcv_rec;
482 
483     -- vertical industry-post-processing
484 
485 
486 
487 
488 
489     -- customer post-processing
490 
491 
492 
493 
494   EXCEPTION
495 
496     WHEN FND_API.G_EXC_ERROR THEN
497       ROLLBACK TO update_acc_ccid;
498       x_return_status := FND_API.G_RET_STS_ERROR;
499 
500       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
501                                ,p_count   => x_msg_count
502                                ,p_data    => x_msg_data);
503 
504     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
505       ROLLBACK TO update_acc_ccid;
506       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
508                                ,p_count   => x_msg_count
509                                ,p_data    => x_msg_data);
510 
511     WHEN OTHERS THEN
512       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','update_acc_ccid');
513       -- store SQL error message on message stack for caller
514       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
515                                ,p_count   => x_msg_count
516                                ,p_data    => x_msg_data);
517       -- notify caller of an UNEXPECTED error
518       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
519 
520   END update_acc_ccid;
521 
522 
523 
524   PROCEDURE update_acc_ccid(p_api_version              IN  NUMBER
525                            ,p_init_msg_list            IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
526                            ,x_return_status            OUT NOCOPY VARCHAR2
527                            ,x_msg_count                OUT NOCOPY NUMBER
528                            ,x_msg_data                 OUT NOCOPY VARCHAR2
529                            ,p_agcv_tbl                 IN  agcv_tbl_type
530                            ,x_agcv_tbl                 OUT NOCOPY agcv_tbl_type) IS
531 
532     l_return_status          VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
533     l_api_name               CONSTANT VARCHAR2(30)  := 'update_acc_ccid';
534     i                        NUMBER;
535 
536     l_overall_status	     VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
537     l_agcv_tbl		     agcv_tbl_type := p_agcv_tbl;
538 
539   BEGIN
540 
541   --Initialize the return status
542 
543     x_return_status := FND_API.G_RET_STS_SUCCESS;
544 	SAVEPOINT update_acc_ccid;
545 
546    -- customer pre-processing
547 
548 
549 
550 
551 
552 
553    -- vertical industry-preprocessing
554 
555 
556 
557 
558 
559 
560     IF (l_agcv_tbl.COUNT > 0) THEN
561 
562       i := l_agcv_tbl.FIRST;
563 
564       LOOP
565 
566         update_acc_ccid(
567 
568                            p_api_version   => p_api_version
569 
570                           ,p_init_msg_list => p_init_msg_list
571 
572                           ,x_return_status => l_return_status
573 
574                           ,x_msg_count     => x_msg_count
575 
576                           ,x_msg_data      => x_msg_data
577 
578                           ,p_agcv_rec      => l_agcv_tbl(i)
579 
580                           ,x_agcv_rec      => x_agcv_tbl(i)
581 
582                           );
583 		  -- store the highest degree of error
584 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
585 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
586 			 	l_overall_status := l_return_status;
587 			END IF;
588 		  END IF;
589 
590           EXIT WHEN (i = l_agcv_tbl.LAST);
591 
592           i := l_agcv_tbl.NEXT(i);
593 
594        END LOOP;
595 
596 	   -- return overall status
597 	   l_return_status := l_overall_status;
598      END IF;
599 
600        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
601              RAISE FND_API.G_EXC_ERROR;
602        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
603             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
604        END IF;
605 
606 
607 	   l_agcv_tbl := x_agcv_tbl;
608 
609     -- vertical industry-post-processing
610 
611 
612 
613 
614 
615 
616      -- customer post-processing
617 
618 
619 
620 
621 
622 
623   EXCEPTION
624 
625     WHEN FND_API.G_EXC_ERROR THEN
626       ROLLBACK TO update_acc_ccid;
627       x_return_status := FND_API.G_RET_STS_ERROR;
628 
629       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
630                                ,p_count   => x_msg_count
631                                ,p_data    => x_msg_data);
632 
633     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
634       ROLLBACK TO update_acc_ccid;
635       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
636       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
637                                ,p_count   => x_msg_count
638                                ,p_data    => x_msg_data);
639 
640     WHEN OTHERS THEN
641       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','update_acc_ccid');
642       -- store SQL error message on message stack for caller
643       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
644                                ,p_count   => x_msg_count
645                                ,p_data    => x_msg_data);
646       -- notify caller of an UNEXPECTED error
647       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
648 
649 
650 
651   END update_acc_ccid;
652 
653 
654 
655        --Put custom code for cascade delete by developer
656 
657   PROCEDURE delete_acc_ccid(
658 
659      p_api_version           IN  NUMBER
660 
661     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
662 
663     ,x_return_status         OUT NOCOPY VARCHAR2
664 
665     ,x_msg_count             OUT NOCOPY NUMBER
666 
667     ,x_msg_data              OUT NOCOPY VARCHAR2
668 
669     ,p_agcv_rec              IN  agcv_rec_type) IS
670 
671     i                        NUMBER :=0;
672 
673     l_return_status          VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
674 
675     l_api_name               CONSTANT VARCHAR2(30)  := 'delete_acc_ccid';
676 
677     l_agcv_rec                      agcv_rec_type := p_agcv_rec;
678 
679 
680 
681   BEGIN
682 
683     SAVEPOINT delete_acc_ccid;
684     x_return_status    := FND_API.G_RET_STS_SUCCESS;
685 
686 
687 
688    -- customer pre-processing
689 
690 
691 
692 
693 
694 
695    -- vertical industry-preprocessing
696 
697 
698 
699 
700 
701 
702    -- call complex entity API
703 
704     okl_process_acc_group_pvt.delete_acc_ccid(
705 
706                            p_api_version   => p_api_version
707 
708                           ,p_init_msg_list => p_init_msg_list
709 
710                           ,x_return_status => l_return_status
711 
712                           ,x_msg_count     => x_msg_count
713 
714                           ,x_msg_data      => x_msg_data
715 
716                           ,p_agcv_rec      => l_agcv_rec
717 
718                           );
719 
720 
721 
722        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
723              RAISE FND_API.G_EXC_ERROR;
724        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
725             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
726        END IF;
727 
728 
729 
730     -- vertical industry-post-processing
731 
732 
733 
734 
735 
736 
737     -- customer post-processing
738 
739 
740 
741 
742 
743 
744   EXCEPTION
745 
746     WHEN FND_API.G_EXC_ERROR THEN
747       ROLLBACK TO delete_acc_ccid;
748       x_return_status := FND_API.G_RET_STS_ERROR;
749 
750       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
751                                ,p_count   => x_msg_count
752                                ,p_data    => x_msg_data);
753 
754     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
755       ROLLBACK TO delete_acc_ccid;
756       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
757       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
758                                ,p_count   => x_msg_count
759                                ,p_data    => x_msg_data);
760 
761     WHEN OTHERS THEN
762       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','delete_acc_ccid');
763       -- store SQL error message on message stack for caller
764       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
765                                ,p_count   => x_msg_count
766                                ,p_data    => x_msg_data);
767       -- notify caller of an UNEXPECTED error
768       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
769 
770   END delete_acc_ccid;
771 
772 
773 
774   PROCEDURE delete_acc_ccid(
775 
776      p_api_version           IN  NUMBER
777 
778     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
779 
780     ,x_return_status         OUT NOCOPY VARCHAR2
781 
782     ,x_msg_count             OUT NOCOPY NUMBER
783 
784     ,x_msg_data              OUT NOCOPY VARCHAR2
785 
786     ,p_agcv_tbl              IN  agcv_tbl_type) IS
787 
788     i                        NUMBER :=0;
789 
790     l_return_status          VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
791 
792     l_api_name               CONSTANT VARCHAR2(30)  := 'delete_acc_ccid';
793 
794     l_overall_status          VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
795 
796 	l_agcv_tbl					  agcv_tbl_type := p_agcv_tbl;
797 
798   BEGIN
799 
800   --Initialize the return status
801 
802     x_return_status := FND_API.G_RET_STS_SUCCESS;
803 	SAVEPOINT delete_acc_ccid;
804 
805    -- customer pre-processing
806 
807 
808 
809 
810 
811 
812    -- vertical industry-preprocessing
813 
814 
815 
816 
817 
818 
819     IF (l_agcv_tbl.COUNT > 0) THEN
820 
821       i := l_agcv_tbl.FIRST;
822 
823       LOOP
824 
825         delete_acc_ccid(
826 
827                              p_api_version   => p_api_version
828 
829                             ,p_init_msg_list => p_init_msg_list
830 
831                             ,x_return_status => l_return_status
832 
833                             ,x_msg_count     => x_msg_count
834 
835                             ,x_msg_data      => x_msg_data
836 
837                             ,p_agcv_rec      => l_agcv_tbl(i)
838 
839                             );
840 
841 		  -- store the highest degree of error
842 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
843 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
844 			 	l_overall_status := l_return_status;
845 			END IF;
846 		  END IF;
847 
848          EXIT WHEN (i = l_agcv_tbl.LAST);
849 
850          i := l_agcv_tbl.NEXT(i);
851 
852        END LOOP;
853 	   -- return overall status
854 	   l_return_status := l_overall_status;
855 
856       END IF;
857 
858        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
859              RAISE FND_API.G_EXC_ERROR;
860        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
861             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
862        END IF;
863 
864 
865 
866     -- vertical industry-post-processing
867 
868 
869 
870 
871 
872 
873      -- customer post-processing
874 
875 
876 
877 
878 
879 
880   EXCEPTION
881 
882     WHEN FND_API.G_EXC_ERROR THEN
883       ROLLBACK TO delete_acc_ccid;
884       x_return_status := FND_API.G_RET_STS_ERROR;
885 
886       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
887                                ,p_count   => x_msg_count
888                                ,p_data    => x_msg_data);
889 
890     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
891       ROLLBACK TO delete_acc_ccid;
892       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
893       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
894                                ,p_count   => x_msg_count
895                                ,p_data    => x_msg_data);
896 
897     WHEN OTHERS THEN
898       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','delete_acc_ccid');
899       -- store SQL error message on message stack for caller
900       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
901                                ,p_count   => x_msg_count
902                                ,p_data    => x_msg_data);
903       -- notify caller of an UNEXPECTED error
904       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
905 
906 
907 
908   END delete_acc_ccid;
909 
910 
911 
912 
913   PROCEDURE create_acc_bal(
914 
915      p_api_version                    IN  NUMBER
916 
917     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
918 
919     ,x_return_status                  OUT NOCOPY VARCHAR2
920 
921     ,x_msg_count                      OUT NOCOPY NUMBER
922 
923     ,x_msg_data                       OUT NOCOPY VARCHAR2
924 
925     ,p_agbv_rec                       IN  agbv_rec_type
926 
927     ,x_agbv_rec                       OUT NOCOPY agbv_rec_type) IS
928 
929     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
930 
931     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_acc_bal';
932 
933     l_agbv_rec                      agbv_rec_type := p_agbv_rec;
934 
935   BEGIN
936 
937     SAVEPOINT create_acc_bal;
938     x_return_status    := FND_API.G_RET_STS_SUCCESS;
939 
940 
941 
942    -- customer pre-processing
943 
944 
945 
946 
947 
948 
949    -- vertical industry-preprocessing
950 
951 
952 
953 
954 
955 
956    -- call complex entity API
957 
958 
959 
960 
961 
962     okl_process_acc_group_pvt.create_acc_bal(
963 
964                            p_api_version   => p_api_version
965 
966                           ,p_init_msg_list => p_init_msg_list
967 
968                           ,x_return_status => l_return_status
969 
970                           ,x_msg_count     => x_msg_count
971 
972                           ,x_msg_data      => x_msg_data
973 
974                           ,p_agbv_rec      => l_agbv_rec
975 
976                           ,x_agbv_rec      => x_agbv_rec
977 
978                           );
979 
980        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
981              RAISE FND_API.G_EXC_ERROR;
982        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
983             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
984        END IF;
985 
986 	   l_agbv_rec := x_agbv_rec;
987 
988    -- vertical industry-post-processing
989 
990 
991 
992 
993 
994 
995    -- customer post-processing
996 
997 
998 
999 
1000 
1001 
1002   EXCEPTION
1003 
1004     WHEN FND_API.G_EXC_ERROR THEN
1005       ROLLBACK TO create_acc_bal;
1006       x_return_status := FND_API.G_RET_STS_ERROR;
1007 
1008       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1009                                ,p_count   => x_msg_count
1010                                ,p_data    => x_msg_data);
1011 
1012     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1013       ROLLBACK TO create_acc_bal;
1014       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1015       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1016                                ,p_count   => x_msg_count
1017                                ,p_data    => x_msg_data);
1018 
1019     WHEN OTHERS THEN
1020       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','create_acc_bal');
1021       -- store SQL error message on message stack for caller
1022       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1023                                ,p_count   => x_msg_count
1024                                ,p_data    => x_msg_data);
1025       -- notify caller of an UNEXPECTED error
1026       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1027 
1028   END create_acc_bal;
1029 
1030 
1031 
1032   PROCEDURE create_acc_bal(
1033 
1034      p_api_version                    IN  NUMBER
1035 
1036     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1037 
1038     ,x_return_status                  OUT NOCOPY VARCHAR2
1039 
1040     ,x_msg_count                      OUT NOCOPY NUMBER
1041 
1042     ,x_msg_data                       OUT NOCOPY VARCHAR2
1043 
1044     ,p_agbv_tbl                       IN  agbv_tbl_type
1045 
1046     ,x_agbv_tbl                       OUT NOCOPY agbv_tbl_type) IS
1047 
1048     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
1049 
1050     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_acc_bal';
1051 
1052     i                                 NUMBER;
1053 
1054     l_overall_status             VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
1055 
1056     l_agbv_tbl                      agbv_tbl_type := p_agbv_tbl;
1057 
1058   BEGIN
1059 
1060   --Initialize the return status
1061     SAVEPOINT create_acc_bal;
1062     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1063 
1064 
1065 
1066    -- customer pre-processing
1067 
1068 
1069 
1070 
1071 
1072 
1073    -- vertical industry-preprocessing
1074 
1075 
1076 
1077 
1078 
1079 
1080     IF (l_agbv_tbl.COUNT > 0) THEN
1081 
1082       i := l_agbv_tbl.FIRST;
1083 
1084       LOOP
1085 
1086         create_acc_bal(
1087 
1088                            p_api_version   => p_api_version
1089 
1090                           ,p_init_msg_list => p_init_msg_list
1091 
1092                           ,x_return_status => l_return_status
1093 
1094                           ,x_msg_count     => x_msg_count
1095 
1096                           ,x_msg_data      => x_msg_data
1097 
1098                           ,p_agbv_rec      => l_agbv_tbl(i)
1099 
1100                           ,x_agbv_rec      => x_agbv_tbl(i)
1101 
1102                           );
1103 		  -- store the highest degree of error
1104 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1105 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
1106 			 	l_overall_status := l_return_status;
1107 			END IF;
1108 		  END IF;
1109 
1110           EXIT WHEN (i = l_agbv_tbl.LAST);
1111 
1112           i := l_agbv_tbl.NEXT(i);
1113 
1114        END LOOP;
1115 	   -- return overall status
1116 	   l_return_status := l_overall_status;
1117 
1118      END IF;
1119 
1120        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1121              RAISE FND_API.G_EXC_ERROR;
1122        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1123             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1124        END IF;
1125 
1126 
1127 	   l_agbv_tbl := x_agbv_tbl;
1128 
1129     -- vertical industry-post-processing
1130 
1131 
1132 
1133 
1134 
1135 
1136      -- customer post-processing
1137 
1138 
1139 
1140 
1141 
1142 
1143   EXCEPTION
1144 
1145     WHEN FND_API.G_EXC_ERROR THEN
1146       ROLLBACK TO create_acc_bal;
1147       x_return_status := FND_API.G_RET_STS_ERROR;
1148 
1149       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1150                                ,p_count   => x_msg_count
1151                                ,p_data    => x_msg_data);
1152 
1153     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1154       ROLLBACK TO create_acc_bal;
1155       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1156       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1157                                ,p_count   => x_msg_count
1158                                ,p_data    => x_msg_data);
1159 
1160     WHEN OTHERS THEN
1161       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','create_acc_bal');
1162       -- store SQL error message on message stack for caller
1163       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1164                                ,p_count   => x_msg_count
1165                                ,p_data    => x_msg_data);
1166       -- notify caller of an UNEXPECTED error
1167       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1168 
1169 
1170 
1171   END create_acc_bal;
1172 
1173 
1174 
1175 
1176   PROCEDURE update_acc_bal(
1177 
1178      p_api_version                    IN  NUMBER
1179 
1180     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1181 
1182     ,x_return_status                  OUT NOCOPY VARCHAR2
1183 
1184     ,x_msg_count                      OUT NOCOPY NUMBER
1185 
1186     ,x_msg_data                       OUT NOCOPY VARCHAR2
1187 
1188     ,p_agbv_rec                       IN  agbv_rec_type
1189 
1190     ,x_agbv_rec                       OUT NOCOPY agbv_rec_type) IS
1191 
1192     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
1193 
1194     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acc_bal';
1195 
1196     l_agbv_rec                      agbv_rec_type := p_agbv_rec;
1197 
1198   BEGIN
1199 
1200     SAVEPOINT update_acc_bal;
1201     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1202 
1203 
1204 
1205    -- customer pre-processing
1206 
1207 
1208 
1209 
1210 
1211 
1212    -- vertical industry-preprocessing
1213 
1214 
1215 
1216 
1217 
1218 
1219    -- call complex entity API
1220 
1221     okl_process_acc_group_pvt.update_acc_bal(
1222 
1223                            p_api_version   => p_api_version
1224 
1225                           ,p_init_msg_list => p_init_msg_list
1226 
1227                           ,x_return_status => l_return_status
1228 
1229                           ,x_msg_count     => x_msg_count
1230 
1231                           ,x_msg_data      => x_msg_data
1232 
1233                           ,p_agbv_rec      => l_agbv_rec
1234 
1235                           ,x_agbv_rec      => x_agbv_rec
1236 
1237                           );
1238 
1239        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1240              RAISE FND_API.G_EXC_ERROR;
1241        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1242             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1243        END IF;
1244 
1245 	   l_agbv_rec := x_agbv_rec;
1246 
1247    -- vertical industry-post-processing
1248 
1249 
1250 
1251 
1252 
1253 
1254    -- customer post-processing
1255 
1256 
1257 
1258 
1259 
1260 
1261   EXCEPTION
1262 
1263     WHEN FND_API.G_EXC_ERROR THEN
1264       ROLLBACK TO update_acc_bal;
1265       x_return_status := FND_API.G_RET_STS_ERROR;
1266 
1267       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1268                                ,p_count   => x_msg_count
1269                                ,p_data    => x_msg_data);
1270 
1271     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1272       ROLLBACK TO update_acc_bal;
1273       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1274       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1275                                ,p_count   => x_msg_count
1276                                ,p_data    => x_msg_data);
1277 
1278     WHEN OTHERS THEN
1279       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','update_acc_bal');
1280       -- store SQL error message on message stack for caller
1281       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1282                                ,p_count   => x_msg_count
1283                                ,p_data    => x_msg_data);
1284       -- notify caller of an UNEXPECTED error
1285       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1286 
1287   END update_acc_bal;
1288 
1289 
1290 
1291   PROCEDURE update_acc_bal(
1292 
1293      p_api_version                    IN  NUMBER
1294 
1295     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1296 
1297     ,x_return_status                  OUT NOCOPY VARCHAR2
1298 
1299     ,x_msg_count                      OUT NOCOPY NUMBER
1300 
1301     ,x_msg_data                       OUT NOCOPY VARCHAR2
1302 
1303     ,p_agbv_tbl                       IN  agbv_tbl_type
1304 
1305     ,x_agbv_tbl                       OUT NOCOPY agbv_tbl_type) IS
1306 
1307     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
1308 
1309     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acc_bal';
1310 
1311     i                                 NUMBER;
1312 
1313     l_overall_status             VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
1314 
1315     l_agbv_tbl                      agbv_tbl_type := p_agbv_tbl;
1316 
1317   BEGIN
1318 
1319   --Initialize the return status
1320     SAVEPOINT update_acc_bal;
1321     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1322 
1323 
1324 
1325    -- customer pre-processing
1326 
1327 
1328 
1329 
1330 
1331 
1332    -- vertical industry-preprocessing
1333 
1334 
1335 
1336 
1337 
1338 
1339     IF (l_agbv_tbl.COUNT > 0) THEN
1340 
1341       i := l_agbv_tbl.FIRST;
1342 
1343       LOOP
1344 
1345         update_acc_bal(
1346 
1347                            p_api_version   => p_api_version
1348 
1349                           ,p_init_msg_list => p_init_msg_list
1350 
1351                           ,x_return_status => l_return_status
1352 
1353                           ,x_msg_count     => x_msg_count
1354 
1355                           ,x_msg_data      => x_msg_data
1356 
1357                           ,p_agbv_rec      => l_agbv_tbl(i)
1358 
1359                           ,x_agbv_rec      => x_agbv_tbl(i)
1360 
1361                           );
1362 		  -- store the highest degree of error
1363 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1364 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
1365 			 	l_overall_status := l_return_status;
1366 			END IF;
1367 		  END IF;
1368 
1369           EXIT WHEN (i = l_agbv_tbl.LAST);
1370 
1371           i := l_agbv_tbl.NEXT(i);
1372 
1373        END LOOP;
1374 	   -- return overall status
1375 	   l_return_status := l_overall_status;
1376 
1377      END IF;
1378 
1379        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1380              RAISE FND_API.G_EXC_ERROR;
1381        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1382             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1383        END IF;
1384 
1385 	   l_agbv_tbl := x_agbv_tbl;
1386 
1387     -- vertical industry-post-processing
1388 
1389 
1390 
1391 
1392 
1393 
1394      -- customer post-processing
1395 
1396 
1397 
1398 
1399 
1400 
1401   EXCEPTION
1402 
1403     WHEN FND_API.G_EXC_ERROR THEN
1404       ROLLBACK TO update_acc_bal;
1405       x_return_status := FND_API.G_RET_STS_ERROR;
1406 
1407       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1408                                ,p_count   => x_msg_count
1409                                ,p_data    => x_msg_data);
1410 
1411     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1412       ROLLBACK TO update_acc_bal;
1413       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1414       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1415                                ,p_count   => x_msg_count
1416                                ,p_data    => x_msg_data);
1417 
1418     WHEN OTHERS THEN
1419       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','update_acc_bal');
1420       -- store SQL error message on message stack for caller
1421       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1422                                ,p_count   => x_msg_count
1423                                ,p_data    => x_msg_data);
1424       -- notify caller of an UNEXPECTED error
1425       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1426 
1427 
1428 
1429   END update_acc_bal;
1430 
1431 
1432 
1433        --Put custom code for cascade delete by developer
1434 
1435   PROCEDURE delete_acc_bal(
1436 
1437      p_api_version                    IN  NUMBER
1438 
1439     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1440 
1441     ,x_return_status                  OUT NOCOPY VARCHAR2
1442 
1443     ,x_msg_count                      OUT NOCOPY NUMBER
1444 
1445     ,x_msg_data                       OUT NOCOPY VARCHAR2
1446 
1447     ,p_agbv_rec                       IN  agbv_rec_type) IS
1448 
1449     i                                 NUMBER :=0;
1450 
1451     l_return_status                   VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1452 
1453     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acc_bal';
1454 
1455     l_agbv_rec                      agbv_rec_type := p_agbv_rec;
1456 
1457   BEGIN
1458 
1459     SAVEPOINT delete_acc_bal;
1460     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1461 
1462 
1463 
1464    -- customer pre-processing
1465 
1466 
1467 
1468 
1469 
1470 
1471    -- vertical industry-preprocessing
1472 
1473 
1474 
1475 
1476 
1477 
1478    -- call complex entity API
1479 
1480 
1481 
1482     okl_process_acc_group_pvt.delete_acc_bal(
1483 
1484                            p_api_version   => p_api_version
1485 
1486                           ,p_init_msg_list => p_init_msg_list
1487 
1488                           ,x_return_status => l_return_status
1489 
1490                           ,x_msg_count     => x_msg_count
1491 
1492                           ,x_msg_data      => x_msg_data
1493 
1494                           ,p_agbv_rec      => l_agbv_rec);
1495 
1496        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1497              RAISE FND_API.G_EXC_ERROR;
1498        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1499             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1500        END IF;
1501 
1502 
1503 
1504    -- vertical industry-post-processing
1505 
1506 
1507 
1508 
1509 
1510 
1511    -- customer post-processing
1512 
1513 
1514 
1515 
1516 
1517 
1518   EXCEPTION
1519 
1520     WHEN FND_API.G_EXC_ERROR THEN
1521       ROLLBACK TO delete_acc_bal;
1522       x_return_status := FND_API.G_RET_STS_ERROR;
1523 
1524       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1525                                ,p_count   => x_msg_count
1526                                ,p_data    => x_msg_data);
1527 
1528     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1529       ROLLBACK TO delete_acc_bal;
1530       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1531       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1532                                ,p_count   => x_msg_count
1533                                ,p_data    => x_msg_data);
1534 
1535     WHEN OTHERS THEN
1536       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','delete_acc_bal');
1537       -- store SQL error message on message stack for caller
1538       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1539                                ,p_count   => x_msg_count
1540                                ,p_data    => x_msg_data);
1541       -- notify caller of an UNEXPECTED error
1542       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1543 
1544   END delete_acc_bal;
1545 
1546 
1547 
1548   PROCEDURE delete_acc_bal(
1549 
1550      p_api_version                    IN  NUMBER
1551 
1552     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1553 
1554     ,x_return_status                  OUT NOCOPY VARCHAR2
1555 
1556     ,x_msg_count                      OUT NOCOPY NUMBER
1557 
1558     ,x_msg_data                       OUT NOCOPY VARCHAR2
1559 
1560     ,p_agbv_tbl                       IN  agbv_tbl_type) IS
1561 
1562 
1563 
1564     i                                 NUMBER :=0;
1565 
1566     l_return_status                   VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1567 
1568     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acc_bal';
1569 
1570       l_overall_status             VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
1571 
1572     l_agbv_tbl                      agbv_tbl_type := p_agbv_tbl;
1573 
1574   BEGIN
1575 
1576   --Initialize the return status
1577     SAVEPOINT delete_acc_bal;
1578     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1579 
1580 
1581 
1582    -- customer pre-processing
1583 
1584 
1585 
1586 
1587 
1588 
1589    -- vertical industry-preprocessing
1590 
1591 
1592 
1593 
1594 
1595 
1596     IF (l_agbv_tbl.COUNT > 0) THEN
1597 
1598       i := l_agbv_tbl.FIRST;
1599 
1600       LOOP
1601 
1602         delete_acc_bal(
1603 
1604                                   p_api_version   => p_api_version
1605 
1606                                  ,p_init_msg_list => p_init_msg_list
1607 
1608                                  ,x_return_status => l_return_status
1609 
1610                                  ,x_msg_count     => x_msg_count
1611 
1612                                  ,x_msg_data      => x_msg_data
1613 
1614                                  ,p_agbv_rec      => l_agbv_tbl(i));
1615 		  -- store the highest degree of error
1616 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1617 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
1618 			 	l_overall_status := l_return_status;
1619 			END IF;
1620 		  END IF;
1621 
1622           EXIT WHEN (i = l_agbv_tbl.LAST);
1623 
1624           i := l_agbv_tbl.NEXT(i);
1625 
1626        END LOOP;
1627 	   -- return overall status
1628 	   l_return_status := l_overall_status;
1629 
1630      END IF;
1631 
1632        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1633              RAISE FND_API.G_EXC_ERROR;
1634        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1635             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1636        END IF;
1637 
1638 
1639 
1640     -- vertical industry-post-processing
1641 
1642 
1643 
1644 
1645 
1646 
1647      -- customer post-processing
1648 
1649 
1650 
1651 
1652 
1653 
1654   EXCEPTION
1655 
1656     WHEN FND_API.G_EXC_ERROR THEN
1657       ROLLBACK TO delete_acc_bal;
1658       x_return_status := FND_API.G_RET_STS_ERROR;
1659 
1660       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1661                                ,p_count   => x_msg_count
1662                                ,p_data    => x_msg_data);
1663 
1664     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1665       ROLLBACK TO delete_acc_bal;
1666       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1667       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1668                                ,p_count   => x_msg_count
1669                                ,p_data    => x_msg_data);
1670 
1671     WHEN OTHERS THEN
1672       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_ACC_GROUP_PUB','delete_acc_bal');
1673       -- store SQL error message on message stack for caller
1674       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1675                                ,p_count   => x_msg_count
1676                                ,p_data    => x_msg_data);
1677       -- notify caller of an UNEXPECTED error
1678       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1679 
1680   END delete_acc_bal;
1681 
1682 
1683 
1684 
1685 END OKL_PROCESS_ACC_GROUP_PUB;
1686