DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_ACCT_EVENT_PUB

Source


1 PACKAGE BODY OKL_ACCT_EVENT_PUB AS
2 /* $Header: OKLPAETB.pls 115.11 2002/12/18 12:09:07 kjinger noship $ */
3 
4 
5 
6   PROCEDURE create_acct_event(
7 
8      p_api_version                  IN  NUMBER
9 
10     ,p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
11 
12     ,x_return_status                OUT NOCOPY VARCHAR2
13 
14     ,x_msg_count                    OUT NOCOPY NUMBER
15 
16     ,x_msg_data                     OUT NOCOPY VARCHAR2
17 
18     ,p_aetv_rec                     IN  aetv_rec_type
19 
20     ,p_aehv_tbl                     IN  aehv_tbl_type
21 
22     ,p_aelv_tbl                     IN  aelv_tbl_type
23 
24     ,x_aetv_rec                     OUT NOCOPY aetv_rec_type
25 
26     ,x_aehv_tbl                     OUT NOCOPY aehv_tbl_type
27 
28     ,x_aelv_tbl                     OUT NOCOPY aelv_tbl_type
29 
30     ) IS
31 
32 
33 
34     i                               NUMBER;
35 
36     l_api_name                      CONSTANT VARCHAR2(30)  := 'create_acct_event';
37 
38     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
39 
40     l_return_status                 VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
41 
42     l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
43 
44     l_aelv_tbl						aelv_tbl_type := p_aelv_tbl;
45 
46   BEGIN
47 
48     SAVEPOINT create_acct_event;
49 
50     x_return_status    := FND_API.G_RET_STS_SUCCESS;
51 
52 
53    -- customer pre-processing
54 
55 
56 
57 
58 
59 
60    -- vertical industry-preprocessing
61 
62 
63 
64 
65 
66 
67    -- call complex entity API
68 
69 
70 
71     okl_acct_event_pvt.create_acct_event(
72 
73                          p_api_version   => p_api_version
74 
75                         ,p_init_msg_list => p_init_msg_list
76 
77                         ,x_return_status => x_return_status
78 
79                         ,x_msg_count     => x_msg_count
80 
81                         ,x_msg_data      => x_msg_data
82 
83                         ,p_aetv_rec      => l_aetv_rec
84 
85                         ,p_aehv_tbl      => l_aehv_tbl
86 
87 
88                         ,p_aelv_tbl => l_aelv_tbl
89 
90 
91                         ,x_aetv_rec      => x_aetv_rec
92 
93                         ,x_aehv_tbl      => x_aehv_tbl
94 
95 						,x_aelv_tbl => x_aelv_tbl);
96 
97     IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
98 
99       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
100 
101     ELSIF x_return_status = OKC_API.G_RET_STS_ERROR THEN
102 
103       RAISE OKC_API.G_EXCEPTION_ERROR;
104 
105     END IF;
106 
107 	   l_aetv_rec := x_aetv_rec;
108 	   l_aehv_tbl := x_aehv_tbl;
109 	   l_aelv_tbl := x_aelv_tbl;
110 
111     -- vertical industry-post-processing
112 
113 
114 
115 
116 
117 
118      -- customer post-processing
119 
120 
121 
122 
123   EXCEPTION
124     WHEN FND_API.G_EXC_ERROR THEN
125       ROLLBACK TO create_acct_event;
126       x_return_status := FND_API.G_RET_STS_ERROR;
127 
128       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
129                                ,p_count   => x_msg_count
130                                ,p_data    => x_msg_data);
131 
132     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
133       ROLLBACK TO create_acct_event;
134       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
135       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
136                                ,p_count   => x_msg_count
137                                ,p_data    => x_msg_data);
138 
139     WHEN OTHERS THEN
140       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_event');
141       -- store SQL error message on message stack for caller
142       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
143                                ,p_count   => x_msg_count
144                                ,p_data    => x_msg_data);
145       -- notify caller of an UNEXPECTED error
146       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
147 
148 
149   END create_acct_event;
150 
151 
152 
153   PROCEDURE create_acct_event(
154 
155      p_api_version             IN  NUMBER
156 
157     ,p_init_msg_list           IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
158 
159     ,x_return_status           OUT NOCOPY VARCHAR2
160 
161     ,x_msg_count               OUT NOCOPY NUMBER
162 
163     ,x_msg_data                OUT NOCOPY VARCHAR2
164 
165     ,p_aetv_rec                IN  aetv_rec_type
166 
167     ,x_aetv_rec                OUT NOCOPY aetv_rec_type) IS
168 
169     l_return_status            VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
170 
171     l_api_name                 CONSTANT VARCHAR2(30)  := 'create_acct_event';
172 
173     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
174 
175 
176 
177   BEGIN
178 
179     SAVEPOINT create_acct_event;
180 
181     x_return_status    := FND_API.G_RET_STS_SUCCESS;
182 
183 
184 
185    -- customer pre-processing
186 
187 
188 
189 
190 
191 
192    -- vertical industry-preprocessing
193 
194 
195 
196 
197 
198 
199    -- call complex entity API
200 
201     okl_acct_event_pvt.create_acct_event(
202 
203                            p_api_version   => p_api_version
204 
205                           ,p_init_msg_list => p_init_msg_list
206 
207                           ,x_return_status => l_return_status
208 
209                           ,x_msg_count     => x_msg_count
210 
211                           ,x_msg_data      => x_msg_data
212 
213                           ,p_aetv_rec      => l_aetv_rec
214 
215                           ,x_aetv_rec      => x_aetv_rec
216 
217                           );
218 
219 
220 
221 	IF l_return_status = FND_API.G_RET_STS_ERROR THEN
222              RAISE FND_API.G_EXC_ERROR;
223        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
224             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
225        END IF;
226 
227 	   l_aetv_rec := x_aetv_rec;
228 
229     -- vertical industry-post-processing
230 
231 
232 
233 
234 
235 
236      -- customer post-processing
237 
238 
239 
240 
241 
242 
243   EXCEPTION
244     WHEN FND_API.G_EXC_ERROR THEN
245       ROLLBACK TO create_acct_event;
246       x_return_status := FND_API.G_RET_STS_ERROR;
247 
248       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
249                                ,p_count   => x_msg_count
250                                ,p_data    => x_msg_data);
251 
252     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
253       ROLLBACK TO create_acct_event;
254       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
255       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
256                                ,p_count   => x_msg_count
257                                ,p_data    => x_msg_data);
258 
259     WHEN OTHERS THEN
260       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_event');
261       -- store SQL error message on message stack for caller
262       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
263                                ,p_count   => x_msg_count
264                                ,p_data    => x_msg_data);
265       -- notify caller of an UNEXPECTED error
266       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
267 
268   END create_acct_event;
269 
270 
271 
272   PROCEDURE create_acct_event(
273 
274      p_api_version               IN  NUMBER
275 
276     ,p_init_msg_list             IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
277 
278     ,x_return_status             OUT NOCOPY VARCHAR2
279 
280     ,x_msg_count                 OUT NOCOPY NUMBER
281 
282     ,x_msg_data                  OUT NOCOPY VARCHAR2
283 
284     ,p_aetv_tbl                  IN  aetv_tbl_type
285 
286     ,x_aetv_tbl                  OUT NOCOPY aetv_tbl_type) IS
287 
288     l_return_status              VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
289 
290     l_api_name                   CONSTANT VARCHAR2(30)  := 'create_acct_event';
291 
292     i                            NUMBER;
293 
294     l_aetv_tbl                      aetv_tbl_type := p_aetv_tbl;
295 
296     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
297 
298 
299 
300   BEGIN
301 
302   --Initialize the return status
303 
304     SAVEPOINT create_acct_event;
305 
306     x_return_status    := FND_API.G_RET_STS_SUCCESS;
307 
308 
309 
310    -- customer pre-processing
311 
312 
313 
314 
315 
316 
317    -- vertical industry-preprocessing
318 
319 
320 
321 
322 
323 
324     IF (l_aetv_tbl.COUNT > 0) THEN
325 
326       i := l_aetv_tbl.FIRST;
327 
328       LOOP
329 
330         create_acct_event(
331 
332                            p_api_version   => p_api_version
333 
334                           ,p_init_msg_list => p_init_msg_list
335 
336                           ,x_return_status => x_return_status
337 
338                           ,x_msg_count     => x_msg_count
339 
340                           ,x_msg_data      => x_msg_data
341 
342                           ,p_aetv_rec      => l_aetv_tbl(i)
343 
344                           ,x_aetv_rec      => x_aetv_tbl(i)
345 
346                           );
347 
348           IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
349              IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
350                 l_overall_status := x_return_status;
351              END IF;
352           END IF;
353 
354           EXIT WHEN (i = l_aetv_tbl.LAST);
355 
356           i := l_aetv_tbl.NEXT(i);
357 
358        END LOOP;
359 
360      END IF;
361 
362      x_return_status := l_overall_status;
363 
364     IF x_return_status = FND_API.G_RET_STS_ERROR THEN
365              RAISE FND_API.G_EXC_ERROR;
366     ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
367             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
368     END IF;
369 
370 
371 	   l_aetv_tbl := x_aetv_tbl;
372 
373     -- vertical industry-post-processing
374 
375 
376 
377 
378 
379 
380      -- customer post-processing
381 
382 
383 
384 
385 
386   EXCEPTION
387 
388     WHEN FND_API.G_EXC_ERROR THEN
389       ROLLBACK TO create_acct_event;
390       x_return_status := FND_API.G_RET_STS_ERROR;
391 
392       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
393                                ,p_count   => x_msg_count
394                                ,p_data    => x_msg_data);
395 
396     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
397       ROLLBACK TO create_acct_event;
398       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
399       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
400                                ,p_count   => x_msg_count
401                                ,p_data    => x_msg_data);
402 
403     WHEN OTHERS THEN
404       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_event');
405       -- store SQL error message on message stack for caller
406       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
407                                ,p_count   => x_msg_count
408                                ,p_data    => x_msg_data);
409       -- notify caller of an UNEXPECTED error
410       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
411 
412   END create_acct_event;
413 
414 
415 
416   -- Object type procedure for update
417 
418   PROCEDURE update_acct_event(
419 
420     p_api_version           IN  NUMBER,
421 
422     p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
423 
424     x_return_status         OUT NOCOPY VARCHAR2,
425 
426     x_msg_count             OUT NOCOPY NUMBER,
427 
428     x_msg_data              OUT NOCOPY VARCHAR2,
429 
430     p_aetv_rec              IN  aetv_rec_type,
431 
432     p_aehv_tbl              IN  aehv_tbl_type,
433 
434 	p_aelv_tbl				IN	aelv_tbl_type,
435 
436     x_aetv_rec              OUT NOCOPY aetv_rec_type,
437 
438     x_aehv_tbl              OUT NOCOPY aehv_tbl_type,
439 
440 	x_aelv_tbl				OUT NOCOPY aelv_tbl_type) IS
441 
442     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
443 
444     l_api_name              CONSTANT VARCHAR2(30)  := 'update_acct_event';
445 
446     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
447 
448     l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
449 
450     l_aelv_tbl                      aelv_tbl_type := p_aelv_tbl;
451 
452 
453 
454   BEGIN
455 
456     SAVEPOINT update_acct_event;
457     x_return_status    := FND_API.G_RET_STS_SUCCESS;
458 
459 
460    -- customer pre-processing
461 
462 
463 
464 
465 
466 
467    -- vertical industry-preprocessing
468 
469 
470 
471 
472 
473 
474    -- call complex entity API
475 
476 
477 
478     okl_acct_event_pvt.update_acct_event(
479 
480                          p_api_version   => p_api_version
481 
482                         ,p_init_msg_list => p_init_msg_list
483 
484                         ,x_return_status => l_return_status
485 
486                         ,x_msg_count     => x_msg_count
487 
488                         ,x_msg_data      => x_msg_data
489 
493 
490                         ,p_aetv_rec      => l_aetv_rec
491 
492                         ,p_aehv_tbl      => l_aehv_tbl
494                         ,p_aelv_tbl => l_aelv_tbl
495 
496                         ,x_aetv_rec      => x_aetv_rec
497 
498                         ,x_aehv_tbl      => x_aehv_tbl
499 
500 						,x_aelv_tbl       => x_aelv_tbl
501 
502                         );
503 
504        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
505              RAISE FND_API.G_EXC_ERROR;
506        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
507             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
508        END IF;
509 
510 	   l_aetv_rec := x_aetv_rec;
511 	   l_aehv_tbl := x_aehv_tbl;
512 	   l_aelv_tbl := x_aelv_tbl;
513 
514    -- vertical industry-post processing
515 
516 
517 
518 
519 
520 
521    -- customer post-processing
522 
523 
524 
525 
526 
527 
528   EXCEPTION
529 
530     WHEN FND_API.G_EXC_ERROR THEN
531       ROLLBACK TO update_acct_event;
532       x_return_status := FND_API.G_RET_STS_ERROR;
533 
534       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
535                                ,p_count   => x_msg_count
536                                ,p_data    => x_msg_data);
537 
538     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
539       ROLLBACK TO update_acct_event;
540       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
541       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
542                                ,p_count   => x_msg_count
543                                ,p_data    => x_msg_data);
544 
545     WHEN OTHERS THEN
546       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_event');
547       -- store SQL error message on message stack for caller
548       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
549                                ,p_count   => x_msg_count
550                                ,p_data    => x_msg_data);
551       -- notify caller of an UNEXPECTED error
552       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
553 
554   END update_acct_event;
555 
556 
557 
558   PROCEDURE validate_acct_event(
559 
560      p_api_version           IN  NUMBER
561 
562     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
563 
564     ,x_return_status         OUT NOCOPY VARCHAR2
565 
566     ,x_msg_count             OUT NOCOPY NUMBER
567 
568     ,x_msg_data              OUT NOCOPY VARCHAR2
569 
570     ,p_aetv_rec              IN  aetv_rec_type
571 
572     ,p_aehv_tbl              IN  aehv_tbl_type
573 
574 	,p_aelv_tbl				 IN aelv_tbl_type) IS
575 
576 
577 
578     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
579 
580     l_api_name              CONSTANT VARCHAR2(30)  := 'validate_acct_event';
581 
582     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
583 
584     l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
585 
586     l_aelv_tbl                      aelv_tbl_type := p_aelv_tbl;
587 
588 
589 
590   BEGIN
591 
592     SAVEPOINT validate_acct_event;
593     x_return_status    := FND_API.G_RET_STS_SUCCESS;
594 
595 
596 
597    -- customer pre-processing
598 
599 
600 
601 
602 
603 
604    -- vertical industry-preprocessing
605 
606 
607 
608 
609 
610 
611 -- call complex entity API
612 
613     okl_acct_event_pvt.validate_acct_event(
614 
615                            p_api_version   => p_api_version
616 
617                           ,p_init_msg_list => p_init_msg_list
618 
619                           ,x_return_status => l_return_status
620 
621                           ,x_msg_count     => x_msg_count
622 
623                           ,x_msg_data      => x_msg_data
624 
625                           ,p_aetv_rec      => l_aetv_rec
626 
627                           ,p_aehv_tbl      => l_aehv_tbl
628 
629                           ,p_aelv_tbl => l_aelv_tbl
630 
631                           );
632 
633 
634 
635        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
636              RAISE FND_API.G_EXC_ERROR;
637        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
638             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
639        END IF;
640 
641 
642 
643    -- vertical industry-post processing
644 
645 
646 
647 
648 
649 
650    -- customer post-processing
651 
652 
653 
654 
655 
656 
657   EXCEPTION
658 
659     WHEN FND_API.G_EXC_ERROR THEN
660       ROLLBACK TO validate_acct_event;
661       x_return_status := FND_API.G_RET_STS_ERROR;
662 
663       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
664                                ,p_count   => x_msg_count
668       ROLLBACK TO validate_acct_event;
665                                ,p_data    => x_msg_data);
666 
667     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
669       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
670       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
671                                ,p_count   => x_msg_count
672                                ,p_data    => x_msg_data);
673 
674     WHEN OTHERS THEN
675       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_event');
676       -- store SQL error message on message stack for caller
677       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
678                                ,p_count   => x_msg_count
679                                ,p_data    => x_msg_data);
680       -- notify caller of an UNEXPECTED error
681       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
682 
683   END validate_acct_event;
684 
685 
686 
687   PROCEDURE lock_acct_event(
688 
689      p_api_version           IN  NUMBER
690 
691     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
692 
693     ,x_return_status         OUT NOCOPY VARCHAR2
694 
695     ,x_msg_count             OUT NOCOPY NUMBER
696 
697     ,x_msg_data              OUT NOCOPY VARCHAR2
698 
699     ,p_aetv_rec              IN  aetv_rec_type) IS
700 
701     l_return_status          VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
702 
703     l_api_name               CONSTANT VARCHAR2(30)  := 'lock_acct_event';
704 
705 
706   BEGIN
707 
708     x_return_status    := FND_API.G_RET_STS_SUCCESS;
709 	SAVEPOINT lock_acct_event;
710 
711     okl_acct_event_pvt.lock_acct_event(
712 
713                          p_api_version   => p_api_version
714 
715                         ,p_init_msg_list => p_init_msg_list
716 
717                         ,x_return_status => l_return_status
718 
719                         ,x_msg_count     => x_msg_count
720 
721                         ,x_msg_data      => x_msg_data
722 
723                         ,p_aetv_rec      => p_aetv_rec
724 
725                         );
726 
727      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
728         RAISE FND_API.G_EXC_ERROR;
729      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
730         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
731      END IF;
732 
733   EXCEPTION
734     WHEN FND_API.G_EXC_ERROR THEN
735       ROLLBACK TO lock_acct_event;
736       x_return_status := FND_API.G_RET_STS_ERROR;
737 
738       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
739                                ,p_count   => x_msg_count
740                                ,p_data    => x_msg_data);
741 
742     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
743       ROLLBACK TO lock_acct_event;
744       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
745       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
746                                ,p_count   => x_msg_count
747                                ,p_data    => x_msg_data);
748 
749     WHEN OTHERS THEN
750       FND_MSG_PUB.ADD_EXC_MSG('OKL_TMPT_SET_PUB','lock_acct_event');
751       -- store SQL error message on message stack for caller
752       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
753                                ,p_count   => x_msg_count
754                                ,p_data    => x_msg_data);
755       -- notify caller of an UNEXPECTED error
756       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
757 
758   END lock_acct_event;
759 
760 
761 
762   PROCEDURE lock_acct_event(
763 
764      p_api_version           IN  NUMBER
765 
766     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
767 
768     ,x_return_status         OUT NOCOPY VARCHAR2
769 
770     ,x_msg_count             OUT NOCOPY NUMBER
771 
772     ,x_msg_data              OUT NOCOPY VARCHAR2
773 
774     ,p_aetv_tbl              IN  aetv_tbl_type) IS
775 
776     l_return_status          VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
777 
778     l_api_name               CONSTANT VARCHAR2(30)  := 'lock_acct_event';
779 
780     i                        NUMBER;
781 
782     l_overall_status          VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
783 
784   BEGIN
785 
786     x_return_status    := FND_API.G_RET_STS_SUCCESS;
787 	SAVEPOINT lock_acct_event;
788 
789     IF (p_aetv_tbl.COUNT > 0) THEN
790 
791       i := p_aetv_tbl.FIRST;
792 
793       LOOP
794 
795         lock_acct_event(
796 
797                            p_api_version   => p_api_version
798 
799                           ,p_init_msg_list => p_init_msg_list
800 
801                           ,x_return_status => l_return_status
802 
803                           ,x_msg_count     => x_msg_count
804 
805                           ,x_msg_data      => x_msg_data
806 
807                           ,p_aetv_rec      => p_aetv_tbl(i)
808 
809                           );
810 		  -- store the highest degree of error
811 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
815 		  END IF;
812 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
813 			 	l_overall_status := l_return_status;
814 			END IF;
816 
817           EXIT WHEN (i = p_aetv_tbl.LAST);
818 
819           i := p_aetv_tbl.NEXT(i);
820 
821        END LOOP;
822 	   -- return overall status
823 	   l_return_status := l_overall_status;
824 
825      END IF;
826 
827      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
828         RAISE FND_API.G_EXC_ERROR;
829      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
830         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
831      END IF;
832 
833   EXCEPTION
834     WHEN FND_API.G_EXC_ERROR THEN
835       ROLLBACK TO lock_acct_event;
836       x_return_status := FND_API.G_RET_STS_ERROR;
837 
838       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
839                                ,p_count   => x_msg_count
840                                ,p_data    => x_msg_data);
841 
842     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
843       ROLLBACK TO lock_acct_event;
844       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
845       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
846                                ,p_count   => x_msg_count
847                                ,p_data    => x_msg_data);
848 
849     WHEN OTHERS THEN
850       FND_MSG_PUB.ADD_EXC_MSG('OKL_TMPT_SET_PUB','lock_acct_event');
851       -- store SQL error message on message stack for caller
852       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
853                                ,p_count   => x_msg_count
854                                ,p_data    => x_msg_data);
855       -- notify caller of an UNEXPECTED error
856       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
857 
858   END lock_acct_event;
859 
860 
861 
862   PROCEDURE update_acct_event(
863 
864      p_api_version                IN  NUMBER
865 
866     ,p_init_msg_list              IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
867 
868     ,x_return_status              OUT NOCOPY VARCHAR2
869 
870     ,x_msg_count                  OUT NOCOPY NUMBER
871 
872     ,x_msg_data                   OUT NOCOPY VARCHAR2
873 
874     ,p_aetv_rec                   IN  aetv_rec_type
875 
876     ,x_aetv_rec                   OUT NOCOPY aetv_rec_type) IS
877 
878     l_return_status               VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
879 
880     l_api_name                    CONSTANT VARCHAR2(30)  := 'update_acct_event';
881 
882     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
883 
884 
885 
886   BEGIN
887 
888     SAVEPOINT update_acct_event;
889     x_return_status    := FND_API.G_RET_STS_SUCCESS;
890 
891 
892 
893    -- customer pre-processing
894 
895 
896 
897 
898 
899 
900    -- vertical industry-preprocessing
901 
902 
903 
904 
905 
906 
907    -- call complex entity API
908 
909     okl_acct_event_pvt.update_acct_event(
910 
911                            p_api_version   => p_api_version
912 
913                           ,p_init_msg_list => p_init_msg_list
914 
915                           ,x_return_status => l_return_status
916 
917                           ,x_msg_count     => x_msg_count
918 
919                           ,x_msg_data      => x_msg_data
920 
921                           ,p_aetv_rec      => l_aetv_rec
922 
923                           ,x_aetv_rec      => x_aetv_rec
924 
925                           );
926 
927        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
928              RAISE FND_API.G_EXC_ERROR;
929        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
930             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
931        END IF;
932 
933 	   l_aetv_rec := x_aetv_rec;
934 
935     -- vertical industry-post-processing
936 
937 
938 
939 
940 
941 
942     -- customer post-processing
943 
944 
945 
946 
947 
948 
949   EXCEPTION
950 
951     WHEN FND_API.G_EXC_ERROR THEN
952       ROLLBACK TO update_acct_event;
953       x_return_status := FND_API.G_RET_STS_ERROR;
954 
955       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
956                                ,p_count   => x_msg_count
957                                ,p_data    => x_msg_data);
958 
959     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
960       ROLLBACK TO update_acct_event;
961       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
962       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
963                                ,p_count   => x_msg_count
964                                ,p_data    => x_msg_data);
965 
966     WHEN OTHERS THEN
967       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_event');
968       -- store SQL error message on message stack for caller
969       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
970                                ,p_count   => x_msg_count
974 
971                                ,p_data    => x_msg_data);
972       -- notify caller of an UNEXPECTED error
973       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
975   END update_acct_event;
976 
977 
978 
979   PROCEDURE update_acct_event(
980 
981      p_api_version                IN  NUMBER
982 
983     ,p_init_msg_list              IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
984 
985     ,x_return_status              OUT NOCOPY VARCHAR2
986 
987     ,x_msg_count                  OUT NOCOPY NUMBER
988 
989     ,x_msg_data                   OUT NOCOPY VARCHAR2
990 
991     ,p_aetv_tbl                   IN  aetv_tbl_type
992 
993     ,x_aetv_tbl                   OUT NOCOPY aetv_tbl_type) IS
994 
995     l_return_status               VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
996 
997     l_api_name                    CONSTANT VARCHAR2(30)  := 'update_acct_event';
998 
999     i                             NUMBER;
1000 
1001     l_aetv_tbl                      aetv_tbl_type := p_aetv_tbl;
1002     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1003 
1004   BEGIN
1005 
1006   --Initialize the return status
1007 
1008     SAVEPOINT update_acct_event;
1009     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1010 
1011 
1012 
1013    -- customer pre-processing
1014 
1015 
1016 
1017 
1018 
1019 
1020    -- vertical industry-preprocessing
1021 
1022 
1023 
1024 
1025 
1026     IF (l_aetv_tbl.COUNT > 0) THEN
1027 
1028       i := l_aetv_tbl.FIRST;
1029 
1030       LOOP
1031 
1032         update_acct_event(
1033 
1034                            p_api_version   => p_api_version
1035 
1036                           ,p_init_msg_list => p_init_msg_list
1037 
1038                           ,x_return_status => x_return_status
1039 
1040                           ,x_msg_count     => x_msg_count
1041 
1042                           ,x_msg_data      => x_msg_data
1043 
1044                           ,p_aetv_rec      => l_aetv_tbl(i)
1045 
1046                           ,x_aetv_rec      => x_aetv_tbl(i)
1047 
1048                           );
1049 
1050 
1051       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
1052            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
1053               l_overall_status := x_return_status;
1054            END IF;
1055       END IF;
1056 
1057           EXIT WHEN (i = l_aetv_tbl.LAST);
1058 
1059           i := l_aetv_tbl.NEXT(i);
1060 
1061        END LOOP;
1062 
1063      END IF;
1064 
1065      x_return_status := l_overall_Status;
1066 
1067      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1068              RAISE FND_API.G_EXC_ERROR;
1069      ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1070             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1071      END IF;
1072 
1073 	   l_aetv_tbl := x_aetv_tbl;
1074 
1075     -- vertical industry-post-processing
1076 
1077 
1078 
1079 
1080 
1081 
1082     -- customer post-processing
1083 
1084 
1085 
1086 
1087   EXCEPTION
1088 
1089      WHEN FND_API.G_EXC_ERROR THEN
1090       ROLLBACK TO update_acct_event;
1091       x_return_status := FND_API.G_RET_STS_ERROR;
1092 
1093       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1094                                ,p_count   => x_msg_count
1095                                ,p_data    => x_msg_data);
1096 
1097     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1098       ROLLBACK TO update_acct_event;
1099       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1100       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1101                                ,p_count   => x_msg_count
1102                                ,p_data    => x_msg_data);
1103 
1104     WHEN OTHERS THEN
1105       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_event');
1106       -- store SQL error message on message stack for caller
1107       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1108                                ,p_count   => x_msg_count
1109                                ,p_data    => x_msg_data);
1110       -- notify caller of an UNEXPECTED error
1111       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1112 
1113   END update_acct_event;
1114 
1115 
1116 
1117        --Put custom code for cascade delete by developer
1118 
1119   PROCEDURE delete_acct_event(
1120 
1121      p_api_version           IN  NUMBER
1122 
1123     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1124 
1125     ,x_return_status         OUT NOCOPY VARCHAR2
1126 
1127     ,x_msg_count             OUT NOCOPY NUMBER
1128 
1129     ,x_msg_data              OUT NOCOPY VARCHAR2
1130 
1131     ,p_aetv_rec              IN  aetv_rec_type) IS
1132 
1133     i                        NUMBER :=0;
1134 
1135     l_return_status          VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1136 
1140 
1137     l_api_name               CONSTANT VARCHAR2(30)  := 'delete_acct_event';
1138 
1139 
1141     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
1142 
1143 
1144 
1145   BEGIN
1146 
1147     SAVEPOINT delete_acct_event;
1148     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1149 
1150 
1151    -- customer pre-processing
1152 
1153 
1154 
1155 
1156 
1157 
1158    -- vertical industry-preprocessing
1159 
1160 
1161 
1162 
1163 
1164 
1165    -- call complex entity API
1166 
1167     okl_acct_event_pvt.delete_acct_event(
1168 
1169                            p_api_version   => p_api_version
1170 
1171                           ,p_init_msg_list => p_init_msg_list
1172 
1173                           ,x_return_status => l_return_status
1174 
1175                           ,x_msg_count     => x_msg_count
1176 
1177                           ,x_msg_data      => x_msg_data
1178 
1179                           ,p_aetv_rec      => l_aetv_rec
1180 
1181                           );
1182 
1183 
1184 
1185        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1186              RAISE FND_API.G_EXC_ERROR;
1187        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1188             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1189        END IF;
1190 
1191 
1192 
1193     -- vertical industry-post-processing
1194 
1195 
1196 
1197 
1198 
1199 
1200     -- customer post-processing
1201 
1202 
1203 
1204 
1205 
1206   EXCEPTION
1207 
1208     WHEN FND_API.G_EXC_ERROR THEN
1209       ROLLBACK TO delete_acct_event;
1210       x_return_status := FND_API.G_RET_STS_ERROR;
1211 
1212       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1213                                ,p_count   => x_msg_count
1214                                ,p_data    => x_msg_data);
1215 
1216     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1217       ROLLBACK TO delete_acct_event;
1218       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1219       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1220                                ,p_count   => x_msg_count
1221                                ,p_data    => x_msg_data);
1222 
1223     WHEN OTHERS THEN
1224       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','delete_acct_event');
1225       -- store SQL error message on message stack for caller
1226       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1227                                ,p_count   => x_msg_count
1228                                ,p_data    => x_msg_data);
1229       -- notify caller of an UNEXPECTED error
1230       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1231 
1232   END delete_acct_event;
1233 
1234 
1235 
1236   PROCEDURE delete_acct_event(
1237 
1238      p_api_version           IN  NUMBER
1239 
1240     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1241 
1242     ,x_return_status         OUT NOCOPY VARCHAR2
1243 
1244     ,x_msg_count             OUT NOCOPY NUMBER
1245 
1246     ,x_msg_data              OUT NOCOPY VARCHAR2
1247 
1248     ,p_aetv_tbl              IN  aetv_tbl_type) IS
1249 
1250     i                        NUMBER :=0;
1251 
1252     l_return_status          VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1253 
1254     l_api_name               CONSTANT VARCHAR2(30)  := 'delete_acct_event';
1255 
1256     l_aetv_tbl                      aetv_tbl_type := p_aetv_tbl;
1257     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1258 
1259   BEGIN
1260 
1261     --Initialize the return status
1262 
1263      SAVEPOINT delete_acct_event;
1264     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1265 
1266 
1267    -- customer pre-processing
1268 
1269 
1270 
1271 
1272 
1273 
1274    -- vertical industry-preprocessing
1275 
1276 
1277 
1278 
1279 
1280     IF (l_aetv_tbl.COUNT > 0) THEN
1281 
1282       i := l_aetv_tbl.FIRST;
1283 
1284       LOOP
1285 
1286         delete_acct_event(
1287 
1288                              p_api_version   => p_api_version
1289 
1290                             ,p_init_msg_list => p_init_msg_list
1291 
1292                             ,x_return_status => x_return_status
1293 
1294                             ,x_msg_count     => x_msg_count
1295 
1296                             ,x_msg_data      => x_msg_data
1297 
1298                             ,p_aetv_rec      => l_aetv_tbl(i)
1299 
1300                             );
1301 
1302           IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
1303            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
1304               l_overall_status := x_return_status;
1305            END IF;
1306           END IF;
1307 
1308 
1309          EXIT WHEN (i = l_aetv_tbl.LAST);
1310 
1311          i := l_aetv_tbl.NEXT(i);
1312 
1313        END LOOP;
1314 
1318 
1315       END IF;
1316 
1317       x_return_status := l_overall_status;
1319         IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1320              RAISE FND_API.G_EXC_ERROR;
1321        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1322             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1323        END IF;
1324 
1325 
1326 
1327     -- vertical industry-post-processing
1328 
1329 
1330 
1331 
1332 
1333 
1334     -- customer post-processing
1335 
1336 
1337 
1338 
1339   EXCEPTION
1340 
1341      WHEN FND_API.G_EXC_ERROR THEN
1342       ROLLBACK TO delete_acct_event;
1343       x_return_status := FND_API.G_RET_STS_ERROR;
1344 
1345       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1346                                ,p_count   => x_msg_count
1347                                ,p_data    => x_msg_data);
1348 
1349     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1350       ROLLBACK TO delete_acct_event;
1351       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1352       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1353                                ,p_count   => x_msg_count
1354                                ,p_data    => x_msg_data);
1355 
1356     WHEN OTHERS THEN
1357       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','delete_acct_event');
1358       -- store SQL error message on message stack for caller
1359       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1360                                ,p_count   => x_msg_count
1361                                ,p_data    => x_msg_data);
1362       -- notify caller of an UNEXPECTED error
1363       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1364 
1365 
1366   END delete_acct_event;
1367 
1368 
1369 
1370   PROCEDURE validate_acct_event(
1371 
1372      p_api_version                IN  NUMBER
1373 
1374     ,p_init_msg_list              IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1375 
1376     ,x_return_status              OUT NOCOPY VARCHAR2
1377 
1378     ,x_msg_count                  OUT NOCOPY NUMBER
1379 
1380     ,x_msg_data                   OUT NOCOPY VARCHAR2
1381 
1382     ,p_aetv_rec                   IN  aetv_rec_type) IS
1383 
1384     l_return_status               VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1385 
1386     l_api_name                    CONSTANT VARCHAR2(30)  := 'validate_acct_event';
1387 
1388     l_aetv_rec                      aetv_rec_type := p_aetv_rec;
1389 
1390 
1391 
1392   BEGIN
1393 
1394     SAVEPOINT validate_acct_event;
1395     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1396 
1397 
1398 
1399    -- customer pre-processing
1400 
1401 
1402 
1403 
1404 
1405 
1406    -- vertical industry-preprocessing
1407 
1408 
1409 
1410 
1411 
1412 
1413    -- call complex entity API
1414 
1415 
1416 
1417     okl_acct_event_pvt.validate_acct_event(
1418 
1419                              p_api_version   => p_api_version
1420 
1421                             ,p_init_msg_list => p_init_msg_list
1422 
1423                             ,x_return_status => l_return_status
1424 
1425                             ,x_msg_count     => x_msg_count
1426 
1427                             ,x_msg_data      => x_msg_data
1428 
1429                             ,p_aetv_rec      => l_aetv_rec
1430 
1431                             );
1432 
1433        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1434              RAISE FND_API.G_EXC_ERROR;
1435        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1436             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1437        END IF;
1438 
1439 
1440 
1441     -- vertical industry-post-processing
1442 
1443 
1444 
1445 
1446 
1447 
1448      -- customer post-processing
1449 
1450 
1451 
1452 
1453 
1454 
1455   EXCEPTION
1456 
1457    WHEN FND_API.G_EXC_ERROR THEN
1458       ROLLBACK TO validate_acct_event;
1459       x_return_status := FND_API.G_RET_STS_ERROR;
1460 
1461       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1462                                ,p_count   => x_msg_count
1463                                ,p_data    => x_msg_data);
1464 
1465     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1466       ROLLBACK TO validate_acct_event;
1467       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1468       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1469                                ,p_count   => x_msg_count
1470                                ,p_data    => x_msg_data);
1471 
1472     WHEN OTHERS THEN
1473       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_event');
1474       -- store SQL error message on message stack for caller
1475       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1476                                ,p_count   => x_msg_count
1477                                ,p_data    => x_msg_data);
1478       -- notify caller of an UNEXPECTED error
1479       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1480 
1481   END validate_acct_event;
1482 
1486 
1483 
1484 
1485   PROCEDURE validate_acct_event(
1487       p_api_version               IN  NUMBER,
1488 
1489       p_init_msg_list             IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
1490 
1491       x_return_status             OUT NOCOPY VARCHAR2,
1492 
1493       x_msg_count                 OUT NOCOPY NUMBER,
1494 
1495       x_msg_data                  OUT NOCOPY VARCHAR2,
1496 
1497       p_aetv_tbl                  IN  aetv_tbl_type) IS
1498 
1499       l_return_status             VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1500 
1501       l_api_name                  CONSTANT VARCHAR2(30)  := 'validate_acct_event';
1502 
1503       i                           NUMBER;
1504 
1505 	  l_aetv_tbl                      aetv_tbl_type := p_aetv_tbl;
1506     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1507 
1508   BEGIN
1509 
1510   --Initialize the return status
1511 
1512      SAVEPOINT validate_acct_event;
1513     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1514 
1515 
1516 
1517    -- customer pre-processing
1518 
1519 
1520 
1521 
1522 
1523 
1524    -- vertical industry-preprocessing
1525 
1526 
1527 
1528 
1529 
1530 
1531     IF (l_aetv_tbl.COUNT > 0) THEN
1532 
1533       i := l_aetv_tbl.FIRST;
1534 
1535       LOOP
1536 
1537         validate_acct_event(
1538 
1539                            p_api_version   => p_api_version
1540 
1541                           ,p_init_msg_list => p_init_msg_list
1542 
1543                           ,x_return_status => x_return_status
1544 
1545                           ,x_msg_count     => x_msg_count
1546 
1547                           ,x_msg_data      => x_msg_data
1548 
1549                           ,p_aetv_rec      => l_aetv_tbl(i)
1550 
1551                           );
1552 
1553       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
1554            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
1555               l_overall_status := x_return_status;
1556            END IF;
1557           END IF;
1558 
1559           EXIT WHEN (i = l_aetv_tbl.LAST);
1560 
1561           i := l_aetv_tbl.NEXT(i);
1562 
1563        END LOOP;
1564 
1565      END IF;
1566 
1567      x_return_status := l_overall_status;
1568 
1569      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1570              RAISE FND_API.G_EXC_ERROR;
1571        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1572             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1573        END IF;
1574 
1575 
1576 
1577     -- vertical industry-post-processing
1578 
1579 
1580 
1581 
1582 
1583 
1584      -- customer post-processing
1585 
1586 
1587 
1588 
1589   EXCEPTION
1590 
1591      WHEN FND_API.G_EXC_ERROR THEN
1592       ROLLBACK TO validate_acct_event;
1593       x_return_status := FND_API.G_RET_STS_ERROR;
1594 
1595       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1596                                ,p_count   => x_msg_count
1597                                ,p_data    => x_msg_data);
1598 
1599     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1600       ROLLBACK TO validate_acct_event;
1601       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1602       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1603                                ,p_count   => x_msg_count
1604                                ,p_data    => x_msg_data);
1605 
1606     WHEN OTHERS THEN
1607       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_event');
1608       -- store SQL error message on message stack for caller
1609       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1610                                ,p_count   => x_msg_count
1611                                ,p_data    => x_msg_data);
1612       -- notify caller of an UNEXPECTED error
1613       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1614 
1615   END validate_acct_event;
1616 
1617 
1618 
1619   PROCEDURE create_acct_header(
1620 
1621      p_api_version                    IN  NUMBER
1622 
1623     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1624 
1625     ,x_return_status                  OUT NOCOPY VARCHAR2
1626 
1627     ,x_msg_count                      OUT NOCOPY NUMBER
1628 
1629     ,x_msg_data                       OUT NOCOPY VARCHAR2
1630 
1631     ,p_aehv_rec                       IN  aehv_rec_type
1632 
1633     ,x_aehv_rec                       OUT NOCOPY aehv_rec_type) IS
1634 
1635     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1636 
1637     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_acct_header';
1638 
1639     l_aehv_rec                      aehv_rec_type := p_aehv_rec;
1640 
1641 
1642 
1643 
1644 
1645   BEGIN
1646 
1647     SAVEPOINT create_acct_header;
1648     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1649 
1650 
1651 
1652    -- customer pre-processing
1653 
1657 
1654 
1655 
1656 
1658 
1659    -- vertical industry-preprocessing
1660 
1661 
1662 
1663 
1664 
1665 
1666    -- call complex entity API
1667 
1668 
1669 
1670 
1671 
1672     okl_acct_event_pvt.create_acct_header(
1673 
1674                            p_api_version   => p_api_version
1675 
1676                           ,p_init_msg_list => p_init_msg_list
1677 
1678                           ,x_return_status => l_return_status
1679 
1680                           ,x_msg_count     => x_msg_count
1681 
1682                           ,x_msg_data      => x_msg_data
1683 
1684                           ,p_aehv_rec      => l_aehv_rec
1685 
1686                           ,x_aehv_rec      => x_aehv_rec
1687 
1688                           );
1689 
1690        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1691              RAISE FND_API.G_EXC_ERROR;
1692        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1693             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1694        END IF;
1695 
1696 	   l_aehv_rec := x_aehv_rec;
1697 
1698    -- vertical industry-post-processing
1699 
1700 
1701 
1702 
1703 
1704 
1705    -- customer post-processing
1706 
1707 
1708 
1709 
1710 
1711 
1712   EXCEPTION
1713 
1714     WHEN FND_API.G_EXC_ERROR THEN
1715       ROLLBACK TO create_acct_header;
1716       x_return_status := FND_API.G_RET_STS_ERROR;
1717 
1718       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1719                                ,p_count   => x_msg_count
1720                                ,p_data    => x_msg_data);
1721 
1722     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1723       ROLLBACK TO create_acct_header;
1724       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1725       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1726                                ,p_count   => x_msg_count
1727                                ,p_data    => x_msg_data);
1728 
1729     WHEN OTHERS THEN
1730       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_header');
1731       -- store SQL error message on message stack for caller
1732       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1733                                ,p_count   => x_msg_count
1734                                ,p_data    => x_msg_data);
1735       -- notify caller of an UNEXPECTED error
1736       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1737 
1738   END create_acct_header;
1739 
1740 
1741 
1742   PROCEDURE create_acct_header(
1743 
1744      p_api_version                    IN  NUMBER
1745 
1746     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1747 
1748     ,x_return_status                  OUT NOCOPY VARCHAR2
1749 
1750     ,x_msg_count                      OUT NOCOPY NUMBER
1751 
1752     ,x_msg_data                       OUT NOCOPY VARCHAR2
1753 
1754     ,p_aehv_tbl                       IN  aehv_tbl_type
1755 
1756     ,x_aehv_tbl                       OUT NOCOPY aehv_tbl_type) IS
1757 
1758     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1759 
1760     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_acct_header';
1761 
1762     i                                 NUMBER;
1763 
1764     l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
1765     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1766 
1767   BEGIN
1768 
1769   --Initialize the return status
1770 
1771      SAVEPOINT create_acct_header;
1772     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1773 
1774 
1775 
1776    -- customer pre-processing
1777 
1778 
1779 
1780 
1781 
1782 
1783    -- vertical industry-preprocessing
1784 
1785 
1786 
1787 
1788 
1789 
1790     IF (l_aehv_tbl.COUNT > 0) THEN
1791 
1792       i := l_aehv_tbl.FIRST;
1793 
1794       LOOP
1795 
1796         create_acct_header(
1797 
1798                            p_api_version   => p_api_version
1799 
1800                           ,p_init_msg_list => p_init_msg_list
1801 
1802                           ,x_return_status => x_return_status
1803 
1804                           ,x_msg_count     => x_msg_count
1805 
1806                           ,x_msg_data      => x_msg_data
1807 
1808                           ,p_aehv_rec      => l_aehv_tbl(i)
1809 
1810                           ,x_aehv_rec      => x_aehv_tbl(i)
1811 
1812                           );
1813 
1814       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
1815            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
1816               l_overall_status := x_return_status;
1817            END IF;
1818           END IF;
1819 
1820           EXIT WHEN (i = l_aehv_tbl.LAST);
1821 
1822           i := l_aehv_tbl.NEXT(i);
1823 
1824        END LOOP;
1825 
1826      END IF;
1827 
1828      x_return_status := l_overall_status;
1829 
1833             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1830       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1831              RAISE FND_API.G_EXC_ERROR;
1832        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1834        END IF;
1835 
1836 	   l_aehv_tbl := x_aehv_tbl;
1837 
1838    -- vertical industry-post-processing
1839 
1840 
1841 
1842 
1843 
1844 
1845    -- customer post-processing
1846 
1847 
1848 
1849 
1850   EXCEPTION
1851 
1852     WHEN FND_API.G_EXC_ERROR THEN
1853       ROLLBACK TO create_acct_header;
1854       x_return_status := FND_API.G_RET_STS_ERROR;
1855 
1856       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1857                                ,p_count   => x_msg_count
1858                                ,p_data    => x_msg_data);
1859 
1860     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1861       ROLLBACK TO create_acct_header;
1862       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1863       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1864                                ,p_count   => x_msg_count
1865                                ,p_data    => x_msg_data);
1866 
1867     WHEN OTHERS THEN
1868       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_header');
1869       -- store SQL error message on message stack for caller
1870       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1871                                ,p_count   => x_msg_count
1872                                ,p_data    => x_msg_data);
1873       -- notify caller of an UNEXPECTED error
1874       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1875 
1876   END create_acct_header;
1877 
1878 
1879 
1880   PROCEDURE lock_acct_header(
1881 
1882      p_api_version                    IN  NUMBER
1883 
1884     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1885 
1886     ,x_return_status                  OUT NOCOPY VARCHAR2
1887 
1888     ,x_msg_count                      OUT NOCOPY NUMBER
1889 
1890     ,x_msg_data                       OUT NOCOPY VARCHAR2
1891 
1892     ,p_aehv_rec                       IN  aehv_rec_type) IS
1893 
1894     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1895 
1896     l_api_name                        CONSTANT VARCHAR2(30)  := 'lock_acct_header';
1897 
1898   BEGIN
1899 
1900     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1901 	SAVEPOINT lock_acct_header;
1902 
1903 
1904     okl_acct_event_pvt.lock_acct_header(
1905 
1906                            p_api_version   => p_api_version
1907 
1908                           ,p_init_msg_list => p_init_msg_list
1909 
1910                           ,x_return_status => l_return_status
1911 
1912                           ,x_msg_count     => x_msg_count
1913 
1914                           ,x_msg_data      => x_msg_data
1915 
1916                           ,p_aehv_rec      => p_aehv_rec
1917 
1918                           );
1919 
1920      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1921         RAISE FND_API.G_EXC_ERROR;
1922      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1923         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1924      END IF;
1925 
1926   EXCEPTION
1927     WHEN FND_API.G_EXC_ERROR THEN
1928       ROLLBACK TO lock_acct_header;
1929       x_return_status := FND_API.G_RET_STS_ERROR;
1930 
1931       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1932                                ,p_count   => x_msg_count
1933                                ,p_data    => x_msg_data);
1934 
1935     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1936       ROLLBACK TO lock_acct_header;
1937       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1938       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1939                                ,p_count   => x_msg_count
1940                                ,p_data    => x_msg_data);
1941 
1942     WHEN OTHERS THEN
1943       FND_MSG_PUB.ADD_EXC_MSG('OKL_TMPT_SET_PUB','lock_acct_header');
1944       -- store SQL error message on message stack for caller
1945       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1946                                ,p_count   => x_msg_count
1947                                ,p_data    => x_msg_data);
1948       -- notify caller of an UNEXPECTED error
1949       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1950 
1951   END lock_acct_header;
1952 
1953 
1954 
1955   PROCEDURE lock_acct_header(
1956 
1957      p_api_version                   IN  NUMBER
1958 
1959     ,p_init_msg_list                 IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1960 
1961     ,x_return_status                 OUT NOCOPY VARCHAR2
1962 
1963     ,x_msg_count                     OUT NOCOPY NUMBER
1964 
1965     ,x_msg_data                      OUT NOCOPY VARCHAR2
1966 
1967     ,p_aehv_tbl                      IN  aehv_tbl_type) IS
1968 
1969     l_return_status                  VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1970 
1971     l_api_name                       CONSTANT VARCHAR2(30)  := 'lock_acct_header';
1972 
1973     i                                NUMBER;
1974 
1978 
1975     l_overall_status          VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1976 
1977   BEGIN
1979     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1980 	SAVEPOINT lock_acct_header;
1981 
1982     IF (p_aehv_tbl.COUNT > 0) THEN
1983 
1984       i := p_aehv_tbl.FIRST;
1985 
1986       LOOP
1987 
1988         lock_acct_header(
1989 
1990                            p_api_version   => p_api_version
1991 
1992                           ,p_init_msg_list => p_init_msg_list
1993 
1994                           ,x_return_status => l_return_status
1995 
1996                           ,x_msg_count     => x_msg_count
1997 
1998                           ,x_msg_data      => x_msg_data
1999 
2000                           ,p_aehv_rec      => p_aehv_tbl(i)
2001 
2002                           );
2003 
2004 		  -- store the highest degree of error
2005 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2006 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
2007 			 	l_overall_status := l_return_status;
2008 			END IF;
2009 		  END IF;
2010           EXIT WHEN (i = p_aehv_tbl.LAST);
2011 
2012           i := p_aehv_tbl.NEXT(i);
2013 
2014        END LOOP;
2015 	   -- return overall status
2016 	   l_return_status := l_overall_status;
2017 
2018      END IF;
2019 
2020      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2021         RAISE FND_API.G_EXC_ERROR;
2022      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2023         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2024      END IF;
2025 
2026   EXCEPTION
2027     WHEN FND_API.G_EXC_ERROR THEN
2028       ROLLBACK TO lock_acct_header;
2029       x_return_status := FND_API.G_RET_STS_ERROR;
2030 
2031       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2032                                ,p_count   => x_msg_count
2033                                ,p_data    => x_msg_data);
2034 
2035     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2036       ROLLBACK TO lock_acct_header;
2037       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2038       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2039                                ,p_count   => x_msg_count
2040                                ,p_data    => x_msg_data);
2041 
2042     WHEN OTHERS THEN
2043       FND_MSG_PUB.ADD_EXC_MSG('OKL_TMPT_SET_PUB','lock_acct_header');
2044       -- store SQL error message on message stack for caller
2045       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2046                                ,p_count   => x_msg_count
2047                                ,p_data    => x_msg_data);
2048       -- notify caller of an UNEXPECTED error
2049       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2050 
2051   END lock_acct_header;
2052 
2053 
2054 
2055   PROCEDURE update_acct_header(
2056 
2057      p_api_version                    IN  NUMBER
2058 
2059     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2060 
2061     ,x_return_status                  OUT NOCOPY VARCHAR2
2062 
2063     ,x_msg_count                      OUT NOCOPY NUMBER
2064 
2065     ,x_msg_data                       OUT NOCOPY VARCHAR2
2066 
2067     ,p_aehv_rec                       IN  aehv_rec_type
2068 
2069     ,x_aehv_rec                       OUT NOCOPY aehv_rec_type) IS
2070 
2071     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
2072 
2073     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_header';
2074 
2075     l_aehv_rec                      aehv_rec_type := p_aehv_rec;
2076 
2077   BEGIN
2078 
2079     SAVEPOINT update_acct_header;
2080     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2081 
2082 
2083 
2084    -- customer pre-processing
2085 
2086 
2087 
2088 
2089 
2090 
2091    -- vertical industry-preprocessing
2092 
2093 
2094 
2095 
2096 
2097 
2098    -- call complex entity API
2099 
2100     okl_acct_event_pvt.update_acct_header(
2101 
2102                            p_api_version   => p_api_version
2103 
2104                           ,p_init_msg_list => p_init_msg_list
2105 
2106                           ,x_return_status => l_return_status
2107 
2108                           ,x_msg_count     => x_msg_count
2109 
2110                           ,x_msg_data      => x_msg_data
2111 
2112                           ,p_aehv_rec      => l_aehv_rec
2113 
2114                           ,x_aehv_rec      => x_aehv_rec
2115 
2116                           );
2117 
2118        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2119              RAISE FND_API.G_EXC_ERROR;
2120        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2121             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2122        END IF;
2123 
2124 
2125 	   l_aehv_rec := x_aehv_rec;
2126 
2127    -- vertical industry-post-processing
2128 
2129 
2130 
2131 
2132 
2133 
2134    -- customer post-processing
2135 
2136 
2137 
2138 
2139 
2143     WHEN FND_API.G_EXC_ERROR THEN
2140 
2141   EXCEPTION
2142 
2144       ROLLBACK TO update_acct_header;
2145       x_return_status := FND_API.G_RET_STS_ERROR;
2146 
2147       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2148                                ,p_count   => x_msg_count
2149                                ,p_data    => x_msg_data);
2150 
2151     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2152       ROLLBACK TO update_acct_header;
2153       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2154       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2155                                ,p_count   => x_msg_count
2156                                ,p_data    => x_msg_data);
2157 
2158     WHEN OTHERS THEN
2159       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_header');
2160       -- store SQL error message on message stack for caller
2161       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2162                                ,p_count   => x_msg_count
2163                                ,p_data    => x_msg_data);
2164       -- notify caller of an UNEXPECTED error
2165       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2166 
2167   END update_acct_header;
2168 
2169 
2170 
2171   PROCEDURE update_acct_header(
2172 
2173      p_api_version                    IN  NUMBER
2174 
2175     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2176 
2177     ,x_return_status                  OUT NOCOPY VARCHAR2
2178 
2179     ,x_msg_count                      OUT NOCOPY NUMBER
2180 
2181     ,x_msg_data                       OUT NOCOPY VARCHAR2
2182 
2183     ,p_aehv_tbl                       IN  aehv_tbl_type
2184 
2185     ,x_aehv_tbl                       OUT NOCOPY aehv_tbl_type) IS
2186 
2187     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
2188 
2189     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_header';
2190 
2191     i                                 NUMBER;
2192 
2193     l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
2194     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2195 
2196 
2197 
2198   BEGIN
2199 
2200   --Initialize the return status
2201 
2202      SAVEPOINT update_acct_header;
2203     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2204 
2205 
2206 
2207    -- customer pre-processing
2208 
2209 
2210 
2211 
2212 
2213 
2214    -- vertical industry-preprocessing
2215 
2216 
2217 
2218 
2219     IF (l_aehv_tbl.COUNT > 0) THEN
2220 
2221       i := l_aehv_tbl.FIRST;
2222 
2223       LOOP
2224 
2225         update_acct_header(
2226 
2227                            p_api_version   => p_api_version
2228 
2229                           ,p_init_msg_list => p_init_msg_list
2230 
2231                           ,x_return_status => x_return_status
2232 
2233                           ,x_msg_count     => x_msg_count
2234 
2235                           ,x_msg_data      => x_msg_data
2236 
2237                           ,p_aehv_rec      => l_aehv_tbl(i)
2238 
2239                           ,x_aehv_rec      => x_aehv_tbl(i)
2240 
2241                           );
2242 
2243       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
2244            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
2245               l_overall_status := x_return_status;
2246            END IF;
2247           END IF;
2248 
2249           EXIT WHEN (i = l_aehv_tbl.LAST);
2250 
2251           i := l_aehv_tbl.NEXT(i);
2252 
2253        END LOOP;
2254 
2255      END IF;
2256 
2257       x_return_status := l_overall_status;
2258 
2259       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2260              RAISE FND_API.G_EXC_ERROR;
2261        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2262             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2263        END IF;
2264 
2265 
2266 	   l_aehv_tbl := x_aehv_tbl;
2267 
2268    -- vertical industry-post-processing
2269 
2270 
2271 
2272 
2273 
2274 
2275    -- customer post-processing
2276 
2277 
2278 
2279 
2280 
2281   EXCEPTION
2282 
2283     WHEN FND_API.G_EXC_ERROR THEN
2284       ROLLBACK TO update_acct_header;
2285       x_return_status := FND_API.G_RET_STS_ERROR;
2286 
2287       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2288                                ,p_count   => x_msg_count
2289                                ,p_data    => x_msg_data);
2290 
2291     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2292       ROLLBACK TO update_acct_header;
2293       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2294       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2295                                ,p_count   => x_msg_count
2296                                ,p_data    => x_msg_data);
2297 
2298     WHEN OTHERS THEN
2299       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_header');
2300       -- store SQL error message on message stack for caller
2304       -- notify caller of an UNEXPECTED error
2301       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2302                                ,p_count   => x_msg_count
2303                                ,p_data    => x_msg_data);
2305       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2306 
2307   END update_acct_header;
2308 
2309 
2310 
2311        --Put custom code for cascade delete by developer
2312 
2313   PROCEDURE delete_acct_header(
2314 
2315      p_api_version                    IN  NUMBER
2316 
2317     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2318 
2319     ,x_return_status                  OUT NOCOPY VARCHAR2
2320 
2321     ,x_msg_count                      OUT NOCOPY NUMBER
2322 
2323     ,x_msg_data                       OUT NOCOPY VARCHAR2
2324 
2325     ,p_aehv_rec                       IN  aehv_rec_type) IS
2326 
2327     i                                 NUMBER :=0;
2328 
2329     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2330 
2331     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acct_header';
2332 
2333     l_aehv_rec                      aehv_rec_type := p_aehv_rec;
2334 
2335   BEGIN
2336 
2337     SAVEPOINT delete_acct_header;
2338     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2339 
2340 
2341 
2342    -- customer pre-processing
2343 
2344 
2345 
2346 
2347 
2348 
2349    -- vertical industry-preprocessing
2350 
2351 
2352 
2353 
2354 
2355 
2356    -- call complex entity API
2357 
2358 
2359 
2360     okl_acct_event_pvt.delete_acct_header(
2361 
2362                            p_api_version   => p_api_version
2363 
2364                           ,p_init_msg_list => p_init_msg_list
2365 
2366                           ,x_return_status => l_return_status
2367 
2368                           ,x_msg_count     => x_msg_count
2369 
2370                           ,x_msg_data      => x_msg_data
2371 
2372                           ,p_aehv_rec      => l_aehv_rec);
2373 
2374        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2375              RAISE FND_API.G_EXC_ERROR;
2376        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2377             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2378        END IF;
2379 
2380 
2381 
2382    -- vertical industry-post-processing
2383 
2384 
2385 
2386 
2387 
2388 
2389    -- customer post-processing
2390 
2391 
2392 
2393 
2394 
2395 
2396   EXCEPTION
2397 
2398     WHEN FND_API.G_EXC_ERROR THEN
2399       ROLLBACK TO delete_acct_header;
2400       x_return_status := FND_API.G_RET_STS_ERROR;
2401 
2402       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2403                                ,p_count   => x_msg_count
2404                                ,p_data    => x_msg_data);
2405 
2406     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2407       ROLLBACK TO delete_acct_header;
2408       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2409       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2410                                ,p_count   => x_msg_count
2411                                ,p_data    => x_msg_data);
2412 
2413     WHEN OTHERS THEN
2414       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','delete_acct_header');
2415       -- store SQL error message on message stack for caller
2416       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2417                                ,p_count   => x_msg_count
2418                                ,p_data    => x_msg_data);
2419       -- notify caller of an UNEXPECTED error
2420       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2421 
2422   END delete_acct_header;
2423 
2424 
2425 
2426   PROCEDURE delete_acct_header(
2427 
2428      p_api_version                    IN  NUMBER
2429 
2430     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2431 
2432     ,x_return_status                  OUT NOCOPY VARCHAR2
2433 
2434     ,x_msg_count                      OUT NOCOPY NUMBER
2435 
2436     ,x_msg_data                       OUT NOCOPY VARCHAR2
2437 
2438     ,p_aehv_tbl                       IN  aehv_tbl_type) IS
2439 
2440 
2441 
2442     i                                 NUMBER :=0;
2443 
2444     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2445 
2446     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acct_header';
2447 
2448 	l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
2449     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2450 
2451 
2452   BEGIN
2453 
2454   --Initialize the return status
2455 
2456      SAVEPOINT delete_acct_header;
2457     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2458 
2459 
2460 
2461    -- customer pre-processing
2462 
2463 
2464 
2465 
2466 
2467 
2468    -- vertical industry-preprocessing
2469 
2470 
2471 
2472 
2473 
2477 
2474 
2475 
2476     IF (l_aehv_tbl.COUNT > 0) THEN
2478       i := l_aehv_tbl.FIRST;
2479 
2480       LOOP
2481 
2482         delete_acct_header(
2483 
2484                                   p_api_version   => p_api_version
2485 
2486                                  ,p_init_msg_list => p_init_msg_list
2487 
2488                                  ,x_return_status => x_return_status
2489 
2490                                  ,x_msg_count     => x_msg_count
2491 
2492                                  ,x_msg_data      => x_msg_data
2493 
2494                                  ,p_aehv_rec      => l_aehv_tbl(i));
2495 
2496       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
2497            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
2498               l_overall_status := x_return_status;
2499            END IF;
2500           END IF;
2501 
2502           EXIT WHEN (i = l_aehv_tbl.LAST);
2503 
2504           i := l_aehv_tbl.NEXT(i);
2505 
2506        END LOOP;
2507 
2508      END IF;
2509 
2510       x_return_status := l_overall_status;
2511 
2512        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2513              RAISE FND_API.G_EXC_ERROR;
2514        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2515             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2516        END IF;
2517 
2518 
2519 
2520    -- vertical industry-post-processing
2521 
2522 
2523 
2524 
2525 
2526 
2527    -- customer post-processing
2528 
2529 
2530 
2531 
2532 
2533   EXCEPTION
2534 
2535      WHEN FND_API.G_EXC_ERROR THEN
2536       ROLLBACK TO delete_acct_header;
2537       x_return_status := FND_API.G_RET_STS_ERROR;
2538 
2539       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2540                                ,p_count   => x_msg_count
2541                                ,p_data    => x_msg_data);
2542 
2543     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2544       ROLLBACK TO delete_acct_header;
2545       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2546       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2547                                ,p_count   => x_msg_count
2548                                ,p_data    => x_msg_data);
2549 
2550     WHEN OTHERS THEN
2551       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','delete_acct_header');
2552       -- store SQL error message on message stack for caller
2553       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2554                                ,p_count   => x_msg_count
2555                                ,p_data    => x_msg_data);
2556       -- notify caller of an UNEXPECTED error
2557       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2558 
2559   END delete_acct_header;
2560 
2561 
2562 
2563   PROCEDURE validate_acct_header(
2564 
2565      p_api_version                    IN  NUMBER
2566 
2567     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2568 
2569     ,x_return_status                  OUT NOCOPY VARCHAR2
2570 
2571     ,x_msg_count                      OUT NOCOPY NUMBER
2572 
2573     ,x_msg_data                       OUT NOCOPY VARCHAR2
2574 
2575     ,p_aehv_rec                       IN  aehv_rec_type) IS
2576 
2577     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
2578 
2579     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_acct_header';
2580 
2581     l_aehv_rec                      aehv_rec_type := p_aehv_rec;
2582 
2583   BEGIN
2584 
2585     SAVEPOINT validate_acct_header;
2586     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2587 
2588 
2589 
2590    -- customer pre-processing
2591 
2592 
2593 
2594 
2595 
2596 
2597    -- vertical industry-preprocessing
2598 
2599 
2600 
2601 
2602 
2603 
2604    -- call complex entity API
2605 
2606 
2607 
2608     okl_acct_event_pvt.validate_acct_header(
2609 
2610                              p_api_version   => p_api_version
2611 
2612                             ,p_init_msg_list => p_init_msg_list
2613 
2614                             ,x_return_status => l_return_status
2615 
2616                             ,x_msg_count     => x_msg_count
2617 
2618                             ,x_msg_data      => x_msg_data
2619 
2620                             ,p_aehv_rec      => l_aehv_rec
2621 
2622                             );
2623 
2624        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2625              RAISE FND_API.G_EXC_ERROR;
2626        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2627             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2628        END IF;
2629 
2630 
2631 
2632    -- vertical industry-post-processing
2633 
2634 
2635 
2636 
2637 
2638 
2639    -- customer post-processing
2640 
2641 
2642 
2643 
2644 
2645 
2646   EXCEPTION
2647 
2648     WHEN FND_API.G_EXC_ERROR THEN
2652       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2649       ROLLBACK TO validate_acct_header;
2650       x_return_status := FND_API.G_RET_STS_ERROR;
2651 
2653                                ,p_count   => x_msg_count
2654                                ,p_data    => x_msg_data);
2655 
2656     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2657       ROLLBACK TO validate_acct_header;
2658       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2659       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2660                                ,p_count   => x_msg_count
2661                                ,p_data    => x_msg_data);
2662 
2663     WHEN OTHERS THEN
2664       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_header');
2665       -- store SQL error message on message stack for caller
2666       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2667                                ,p_count   => x_msg_count
2668                                ,p_data    => x_msg_data);
2669       -- notify caller of an UNEXPECTED error
2670       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2671 
2672   END validate_acct_header;
2673 
2674 
2675 
2676   PROCEDURE validate_acct_header(
2677 
2678      p_api_version                    IN  NUMBER
2679 
2680     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2681 
2682     ,x_return_status                  OUT NOCOPY VARCHAR2
2683 
2684     ,x_msg_count                      OUT NOCOPY NUMBER
2685 
2686     ,x_msg_data                       OUT NOCOPY VARCHAR2
2687 
2688     ,p_aehv_tbl                       IN  aehv_tbl_type) IS
2689 
2690     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
2691 
2692     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_acct_header';
2693 
2694     i                                 NUMBER;
2695 
2696     l_aehv_tbl                      aehv_tbl_type := p_aehv_tbl;
2697     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2698 
2699 
2700   BEGIN
2701 
2702   --Initialize the return status
2703 
2704 
2705     SAVEPOINT validate_acct_header;
2706     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2707 
2708 
2709 
2710    -- customer pre-processing
2711 
2712 
2713 
2714 
2715 
2716 
2717    -- vertical industry-preprocessing
2718 
2719 
2720 
2721 
2722 
2723 
2724 
2725     IF (l_aehv_tbl.COUNT > 0) THEN
2726 
2727       i := l_aehv_tbl.FIRST;
2728 
2729       LOOP
2730 
2731         validate_acct_header(
2732 
2733                            p_api_version   => p_api_version
2734 
2735                           ,p_init_msg_list => p_init_msg_list
2736 
2737                           ,x_return_status => x_return_status
2738 
2739                           ,x_msg_count     => x_msg_count
2740 
2741                           ,x_msg_data      => x_msg_data
2742 
2743                           ,p_aehv_rec      => l_aehv_tbl(i)
2744 
2745                           );
2746       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
2747            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
2748               l_overall_status := x_return_status;
2749            END IF;
2750           END IF;
2751 
2752 
2753 
2754           EXIT WHEN (i = l_aehv_tbl.LAST);
2755 
2756           i := l_aehv_tbl.NEXT(i);
2757 
2758        END LOOP;
2759 
2760      END IF;
2761 
2762      x_return_status := l_overall_status;
2763 
2764     IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2765              RAISE FND_API.G_EXC_ERROR;
2766        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2767             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2768        END IF;
2769 
2770 
2771 
2772    -- vertical industry-post-processing
2773 
2774 
2775 
2776 
2777 
2778 
2779    -- customer post-processing
2780 
2781 
2782 
2783 
2784 
2785 
2786   EXCEPTION
2787 
2788     WHEN FND_API.G_EXC_ERROR THEN
2789       ROLLBACK TO validate_acct_header;
2790       x_return_status := FND_API.G_RET_STS_ERROR;
2791 
2792       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2793                                ,p_count   => x_msg_count
2794                                ,p_data    => x_msg_data);
2795 
2796     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2797       ROLLBACK TO validate_acct_header;
2798       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2799       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2800                                ,p_count   => x_msg_count
2801                                ,p_data    => x_msg_data);
2802 
2803     WHEN OTHERS THEN
2804       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_header');
2805       -- store SQL error message on message stack for caller
2806       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2807                                ,p_count   => x_msg_count
2808                                ,p_data    => x_msg_data);
2812   END validate_acct_header;
2809       -- notify caller of an UNEXPECTED error
2810       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2811 
2813 
2814 
2815   PROCEDURE create_acct_lines(
2816 
2817      p_api_version                    IN  NUMBER
2818 
2819     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2820 
2821     ,x_return_status                  OUT NOCOPY VARCHAR2
2822 
2823     ,x_msg_count                      OUT NOCOPY NUMBER
2824 
2825     ,x_msg_data                       OUT NOCOPY VARCHAR2
2826 
2827     ,p_aelv_rec                       IN  aelv_rec_type
2828 
2829     ,x_aelv_rec                       OUT NOCOPY aelv_rec_type) IS
2830 
2831     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
2832 
2833     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_acct_lines';
2834 
2835     l_aelv_rec                      aelv_rec_type := p_aelv_rec;
2836 
2837 
2838 
2839 
2840 
2841   BEGIN
2842 
2843     SAVEPOINT create_acct_lines;
2844     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2845 
2846 
2847 
2848 
2849    -- customer pre-processing
2850 
2851 
2852 
2853 
2854 
2855 
2856    -- vertical industry-preprocessing
2857 
2858 
2859 
2860 
2861 
2862 
2863    -- call complex entity API
2864 
2865 
2866 
2867 
2868 
2869     okl_acct_event_pvt.create_acct_lines(
2870 
2871                            p_api_version   => p_api_version
2872 
2873                           ,p_init_msg_list => p_init_msg_list
2874 
2875                           ,x_return_status => l_return_status
2876 
2877                           ,x_msg_count     => x_msg_count
2878 
2879                           ,x_msg_data      => x_msg_data
2880 
2881                           ,p_aelv_rec      => l_aelv_rec
2882 
2883                           ,x_aelv_rec      => x_aelv_rec
2884 
2885                           );
2886 
2887        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2888              RAISE FND_API.G_EXC_ERROR;
2889        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2890             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2891        END IF;
2892 
2893 	   l_aelv_rec := x_aelv_rec;
2894 
2895    -- vertical industry-post-processing
2896 
2897 
2898 
2899 
2900 
2901 
2902    -- customer post-processing
2903 
2904 
2905 
2906 
2907 
2908 
2909   EXCEPTION
2910 
2911     WHEN FND_API.G_EXC_ERROR THEN
2912       ROLLBACK TO create_acct_lines;
2913       x_return_status := FND_API.G_RET_STS_ERROR;
2914 
2915       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2916                                ,p_count   => x_msg_count
2917                                ,p_data    => x_msg_data);
2918 
2919     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2920       ROLLBACK TO create_acct_lines;
2921       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2922       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2923                                ,p_count   => x_msg_count
2924                                ,p_data    => x_msg_data);
2925 
2926     WHEN OTHERS THEN
2927       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_lines');
2928       -- store SQL error message on message stack for caller
2929       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
2930                                ,p_count   => x_msg_count
2931                                ,p_data    => x_msg_data);
2932       -- notify caller of an UNEXPECTED error
2933       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2934 
2935   END create_acct_lines;
2936 
2937 
2938 
2939   PROCEDURE create_acct_lines(
2940 
2941      p_api_version                    IN  NUMBER
2942 
2943     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
2944 
2945     ,x_return_status                  OUT NOCOPY VARCHAR2
2946 
2947     ,x_msg_count                      OUT NOCOPY NUMBER
2948 
2949     ,x_msg_data                       OUT NOCOPY VARCHAR2
2950 
2951     ,p_aelv_tbl                       IN  aelv_tbl_type
2952 
2953     ,x_aelv_tbl                       OUT NOCOPY aelv_tbl_type) IS
2954 
2955     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
2956 
2957     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_acct_lines';
2958 
2959     i                                 NUMBER;
2960 
2961     l_aelv_tbl						aelv_tbl_type := p_aelv_tbl;
2962     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2963 
2964   BEGIN
2965 
2966   --Initialize the return status
2967 
2968      SAVEPOINT create_acct_lines;
2969     x_return_status    := FND_API.G_RET_STS_SUCCESS;
2970 
2971 
2972 
2973 
2974    -- customer pre-processing
2975 
2976 
2977 
2978 
2979 
2980 
2981    -- vertical industry-preprocessing
2982 
2983 
2984 
2988 
2985 
2986 
2987 
2989     IF (l_aelv_tbl.COUNT > 0) THEN
2990 
2991       i := l_aelv_tbl.FIRST;
2992 
2993       LOOP
2994 
2995         create_acct_lines(
2996 
2997                            p_api_version   => p_api_version
2998 
2999                           ,p_init_msg_list => p_init_msg_list
3000 
3001                           ,x_return_status => x_return_status
3002 
3003                           ,x_msg_count     => x_msg_count
3004 
3005                           ,x_msg_data      => x_msg_data
3006 
3007                           ,p_aelv_rec      => l_aelv_tbl(i)
3008 
3009                           ,x_aelv_rec      => x_aelv_tbl(i)
3010 
3011                           );
3012       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
3013            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
3014               l_overall_status := x_return_status;
3015            END IF;
3016           END IF;
3017 
3018           EXIT WHEN (i = l_aelv_tbl.LAST);
3019 
3020           i := l_aelv_tbl.NEXT(i);
3021 
3022        END LOOP;
3023 
3024      END IF;
3025 
3026      x_return_status := l_overall_status;
3027 
3028      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3029              RAISE FND_API.G_EXC_ERROR;
3030        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3031             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3032        END IF;
3033 
3034 	   l_aelv_tbl := x_aelv_tbl;
3035 
3036    -- vertical industry-post-processing
3037 
3038 
3039 
3040 
3041 
3042 
3043    -- customer post-processing
3044 
3045 
3046 
3047 
3048 
3049 
3050 
3051   EXCEPTION
3052 
3053    WHEN FND_API.G_EXC_ERROR THEN
3054       ROLLBACK TO create_acct_lines;
3055       x_return_status := FND_API.G_RET_STS_ERROR;
3056 
3057       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3058                                ,p_count   => x_msg_count
3059                                ,p_data    => x_msg_data);
3060 
3061     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3062       ROLLBACK TO create_acct_lines;
3063       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3064       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3065                                ,p_count   => x_msg_count
3066                                ,p_data    => x_msg_data);
3067 
3068     WHEN OTHERS THEN
3069       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','create_acct_lines');
3070       -- store SQL error message on message stack for caller
3071       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3072                                ,p_count   => x_msg_count
3073                                ,p_data    => x_msg_data);
3074       -- notify caller of an UNEXPECTED error
3075       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3076 
3077   END create_acct_lines;
3078 
3079 
3080 
3081   PROCEDURE lock_acct_lines(
3082 
3083      p_api_version                    IN  NUMBER
3084 
3085     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3086 
3087     ,x_return_status                  OUT NOCOPY VARCHAR2
3088 
3089     ,x_msg_count                      OUT NOCOPY NUMBER
3090 
3091     ,x_msg_data                       OUT NOCOPY VARCHAR2
3092 
3093     ,p_aelv_rec                       IN  aelv_rec_type) IS
3094 
3095     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3096 
3097     l_api_name                        CONSTANT VARCHAR2(30)  := 'lock_acct_lines';
3098 
3099   BEGIN
3100 
3101     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3102 	SAVEPOINT lock_acct_header;
3103 
3104     okl_acct_event_pvt.lock_acct_lines(
3105 
3106                            p_api_version   => p_api_version
3107 
3108                           ,p_init_msg_list => p_init_msg_list
3112                           ,x_msg_count     => x_msg_count
3109 
3110                           ,x_return_status => l_return_status
3111 
3113 
3114                           ,x_msg_data      => x_msg_data
3115 
3116                           ,p_aelv_rec      => p_aelv_rec
3117 
3118                           );
3119 
3120      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3121         RAISE FND_API.G_EXC_ERROR;
3122      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3123         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3124      END IF;
3125 
3126   EXCEPTION
3127     WHEN FND_API.G_EXC_ERROR THEN
3128       ROLLBACK TO lock_acct_lines;
3129       x_return_status := FND_API.G_RET_STS_ERROR;
3130 
3131       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3132                                ,p_count   => x_msg_count
3133                                ,p_data    => x_msg_data);
3134 
3135     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3136       ROLLBACK TO lock_acct_lines;
3137       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3138       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3139                                ,p_count   => x_msg_count
3140                                ,p_data    => x_msg_data);
3141 
3142     WHEN OTHERS THEN
3143       FND_MSG_PUB.ADD_EXC_MSG('OKL_TMPT_SET_PUB','lock_acct_lines');
3144       -- store SQL error message on message stack for caller
3145       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3146                                ,p_count   => x_msg_count
3147                                ,p_data    => x_msg_data);
3148       -- notify caller of an UNEXPECTED error
3149       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3150 
3151   END lock_acct_lines;
3152 
3153 
3154 
3155   PROCEDURE lock_acct_lines(
3156 
3157      p_api_version                   IN  NUMBER
3158 
3159     ,p_init_msg_list                 IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3160 
3161     ,x_return_status                 OUT NOCOPY VARCHAR2
3162 
3163     ,x_msg_count                     OUT NOCOPY NUMBER
3164 
3165     ,x_msg_data                      OUT NOCOPY VARCHAR2
3166 
3167     ,p_aelv_tbl                      IN  aelv_tbl_type) IS
3168 
3169     l_return_status                  VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3170 
3171     l_api_name                       CONSTANT VARCHAR2(30)  := 'lock_acct_lines';
3172 
3173     i                                NUMBER;
3174 
3175     l_overall_status          VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3176 
3177   BEGIN
3178 
3179     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3180 	SAVEPOINT lock_acct_lines;
3181 
3182     IF (p_aelv_tbl.COUNT > 0) THEN
3183 
3184       i := p_aelv_tbl.FIRST;
3185 
3186       LOOP
3187 
3188         lock_acct_lines(
3189 
3190                            p_api_version   => p_api_version
3191 
3195 
3192                           ,p_init_msg_list => p_init_msg_list
3193 
3194                           ,x_return_status => l_return_status
3196                           ,x_msg_count     => x_msg_count
3197 
3198                           ,x_msg_data      => x_msg_data
3199 
3200                           ,p_aelv_rec      => p_aelv_tbl(i)
3201 
3202                           );
3203 
3204 		  -- store the highest degree of error
3205 		  IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3206 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
3207 			 	l_overall_status := l_return_status;
3208 			END IF;
3209 		  END IF;
3210           EXIT WHEN (i = p_aelv_tbl.LAST);
3211 
3212           i := p_aelv_tbl.NEXT(i);
3213 
3214        END LOOP;
3215 	   -- return overall status
3216 	   l_return_status := l_overall_status;
3217 
3218      END IF;
3219 
3220      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3221         RAISE FND_API.G_EXC_ERROR;
3222      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3223         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3224      END IF;
3225 
3226   EXCEPTION
3227     WHEN FND_API.G_EXC_ERROR THEN
3228       ROLLBACK TO lock_acct_lines;
3229       x_return_status := FND_API.G_RET_STS_ERROR;
3230 
3231       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3232                                ,p_count   => x_msg_count
3233                                ,p_data    => x_msg_data);
3234 
3235     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3236       ROLLBACK TO lock_acct_lines;
3237       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3238       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3239                                ,p_count   => x_msg_count
3240                                ,p_data    => x_msg_data);
3241 
3242     WHEN OTHERS THEN
3243       FND_MSG_PUB.ADD_EXC_MSG('OKL_TMPT_SET_PUB','lock_acct_lines');
3244       -- store SQL error message on message stack for caller
3245       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3246                                ,p_count   => x_msg_count
3247                                ,p_data    => x_msg_data);
3248       -- notify caller of an UNEXPECTED error
3249       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3250 
3251   END lock_acct_lines;
3252 
3253 
3254 
3255   PROCEDURE update_acct_lines(
3256 
3257      p_api_version                    IN  NUMBER
3258 
3259     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3260 
3261     ,x_return_status                  OUT NOCOPY VARCHAR2
3262 
3263     ,x_msg_count                      OUT NOCOPY NUMBER
3264 
3265     ,x_msg_data                       OUT NOCOPY VARCHAR2
3266 
3267     ,p_aelv_rec                       IN  aelv_rec_type
3268 
3269     ,x_aelv_rec                       OUT NOCOPY aelv_rec_type) IS
3270 
3271     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3272 
3273     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_lines';
3274 
3275     l_aelv_rec                      aelv_rec_type := p_aelv_rec;
3276 
3277   BEGIN
3278 
3279     SAVEPOINT update_acct_lines;
3280     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3281 
3282 
3283 
3284    -- customer pre-processing
3285 
3286 
3287 
3288 
3289 
3290 
3291    -- vertical industry-preprocessing
3292 
3293 
3294 
3295 
3296 
3297 
3298    -- call complex entity API
3299 
3300     okl_acct_event_pvt.update_acct_lines(
3301 
3302                            p_api_version   => p_api_version
3303 
3304                           ,p_init_msg_list => p_init_msg_list
3305 
3306                           ,x_return_status => l_return_status
3307 
3308                           ,x_msg_count     => x_msg_count
3309 
3310                           ,x_msg_data      => x_msg_data
3311 
3315 
3312                           ,p_aelv_rec      => l_aelv_rec
3313 
3314                           ,x_aelv_rec      => x_aelv_rec
3316                           );
3317 
3318        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3319              RAISE FND_API.G_EXC_ERROR;
3320        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3321             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3322        END IF;
3323 
3324 
3325 	   l_aelv_rec := x_aelv_rec;
3326 
3327    -- vertical industry-post-processing
3328 
3329 
3330 
3331 
3332 
3333 
3334    -- customer post-processing
3335 
3336 
3337 
3338 
3339 
3340 
3341   EXCEPTION
3342 
3343     WHEN FND_API.G_EXC_ERROR THEN
3344       ROLLBACK TO update_acct_lines;
3345       x_return_status := FND_API.G_RET_STS_ERROR;
3346 
3347       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3348                                ,p_count   => x_msg_count
3349                                ,p_data    => x_msg_data);
3350 
3351     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3352       ROLLBACK TO update_acct_lines;
3353       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3354       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3355                                ,p_count   => x_msg_count
3356                                ,p_data    => x_msg_data);
3357 
3358     WHEN OTHERS THEN
3359       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_lines');
3360       -- store SQL error message on message stack for caller
3361       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3362                                ,p_count   => x_msg_count
3363                                ,p_data    => x_msg_data);
3364       -- notify caller of an UNEXPECTED error
3365       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3366 
3367   END update_acct_lines;
3368 
3369 
3370 
3371   PROCEDURE update_acct_lines(
3372 
3373      p_api_version                    IN  NUMBER
3374 
3375     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3376 
3377     ,x_return_status                  OUT NOCOPY VARCHAR2
3378 
3379     ,x_msg_count                      OUT NOCOPY NUMBER
3380 
3381     ,x_msg_data                       OUT NOCOPY VARCHAR2
3382 
3383     ,p_aelv_tbl                       IN  aelv_tbl_type
3384 
3385     ,x_aelv_tbl                       OUT NOCOPY aelv_tbl_type) IS
3386 
3387     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3388 
3389     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_lines';
3390 
3391     i                                 NUMBER;
3392 
3393     l_aelv_tbl						aelv_tbl_type := p_aelv_tbl;
3394     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3395 
3396   BEGIN
3397 
3398   --Initialize the return status
3399     SAVEPOINT update_acct_lines;
3400     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3401 
3402 
3403 
3404    -- customer pre-processing
3405 
3406 
3407 
3408 
3409 
3410 
3411    -- vertical industry-preprocessing
3412 
3413 
3414 
3415 
3416 
3417 
3418     IF (l_aelv_tbl.COUNT > 0) THEN
3419 
3420       i := l_aelv_tbl.FIRST;
3421 
3422       LOOP
3423 
3424         update_acct_lines(
3425 
3426                            p_api_version   => p_api_version
3427 
3428                           ,p_init_msg_list => p_init_msg_list
3429 
3430                           ,x_return_status => x_return_status
3431 
3432                           ,x_msg_count     => x_msg_count
3433 
3434                           ,x_msg_data      => x_msg_data
3435 
3436                           ,p_aelv_rec      => l_aelv_tbl(i)
3437 
3438                           ,x_aelv_rec      => x_aelv_tbl(i)
3439 
3440                           );
3441 
3442       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
3443            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
3444               l_overall_status := x_return_status;
3445            END IF;
3446           END IF;
3447 
3448           EXIT WHEN (i = l_aelv_tbl.LAST);
3449 
3450           i := l_aelv_tbl.NEXT(i);
3451 
3452        END LOOP;
3453 
3454      END IF;
3455 
3456      x_return_status := l_overall_status;
3457 
3458       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3459              RAISE FND_API.G_EXC_ERROR;
3460        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3461             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3462        END IF;
3463 
3464 
3465 	   l_aelv_tbl := x_aelv_tbl;
3466 
3467    -- vertical industry-post-processing
3468 
3469 
3470 
3471 
3472 
3473 
3474    -- customer post-processing
3475 
3476 
3477 
3478 
3479 
3480 
3481 
3482 
3483   EXCEPTION
3487       x_return_status := FND_API.G_RET_STS_ERROR;
3484 
3485      WHEN FND_API.G_EXC_ERROR THEN
3486       ROLLBACK TO update_acct_lines;
3488 
3489       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3490                                ,p_count   => x_msg_count
3491                                ,p_data    => x_msg_data);
3492 
3493     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3494       ROLLBACK TO update_acct_lines;
3495       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3496       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3497                                ,p_count   => x_msg_count
3498                                ,p_data    => x_msg_data);
3499 
3500     WHEN OTHERS THEN
3501       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','update_acct_lines');
3502       -- store SQL error message on message stack for caller
3503       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3504                                ,p_count   => x_msg_count
3505                                ,p_data    => x_msg_data);
3506       -- notify caller of an UNEXPECTED error
3507       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3508 
3509   END update_acct_lines;
3510 
3511 
3512 
3513        --Put custom code for cascade delete by developer
3514 
3515   PROCEDURE delete_acct_lines(
3516 
3517      p_api_version                    IN  NUMBER
3518 
3519     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3520 
3521     ,x_return_status                  OUT NOCOPY VARCHAR2
3522 
3523     ,x_msg_count                      OUT NOCOPY NUMBER
3524 
3525     ,x_msg_data                       OUT NOCOPY VARCHAR2
3526 
3527     ,p_aelv_rec                       IN  aelv_rec_type) IS
3528 
3529     i                                 NUMBER :=0;
3530 
3531     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3532 
3533     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acct_lines';
3534 
3535     l_aelv_rec                      aelv_rec_type := p_aelv_rec;
3536 
3537   BEGIN
3538 
3539     SAVEPOINT delete_acct_lines;
3540     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3541 
3542 
3543 
3544    -- customer pre-processing
3545 
3546 
3547 
3548 
3549 
3550 
3551    -- vertical industry-preprocessing
3552 
3553 
3554 
3555 
3556 
3557 
3558    -- call complex entity API
3559 
3560 
3561 
3562     okl_acct_event_pvt.delete_acct_lines(
3563 
3564                            p_api_version   => p_api_version
3565 
3566                           ,p_init_msg_list => p_init_msg_list
3567 
3568                           ,x_return_status => l_return_status
3569 
3570                           ,x_msg_count     => x_msg_count
3571 
3572                           ,x_msg_data      => x_msg_data
3573 
3574                           ,p_aelv_rec      => l_aelv_rec);
3575 
3576        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3577              RAISE FND_API.G_EXC_ERROR;
3578        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3579             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3580        END IF;
3581 
3582 
3583 
3584    -- vertical industry-post-processing
3585 
3586 
3587 
3588 
3589 
3590 
3591    -- customer post-processing
3592 
3593 
3594 
3595 
3596 
3597 
3598   EXCEPTION
3599 
3600     WHEN FND_API.G_EXC_ERROR THEN
3601       ROLLBACK TO delete_acct_lines;
3602       x_return_status := FND_API.G_RET_STS_ERROR;
3603 
3604       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3605                                ,p_count   => x_msg_count
3606                                ,p_data    => x_msg_data);
3607 
3608     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3609       ROLLBACK TO delete_acct_lines;
3610       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3611       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3612                                ,p_count   => x_msg_count
3613                                ,p_data    => x_msg_data);
3614 
3615     WHEN OTHERS THEN
3616       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','delete_acct_lines');
3617       -- store SQL error message on message stack for caller
3618       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3619                                ,p_count   => x_msg_count
3620                                ,p_data    => x_msg_data);
3621       -- notify caller of an UNEXPECTED error
3622       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3623 
3624   END delete_acct_lines;
3625 
3626 
3627 
3628   PROCEDURE delete_acct_lines(
3629 
3630      p_api_version                    IN  NUMBER
3631 
3632     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3633 
3634     ,x_return_status                  OUT NOCOPY VARCHAR2
3635 
3636     ,x_msg_count                      OUT NOCOPY NUMBER
3637 
3638     ,x_msg_data                       OUT NOCOPY VARCHAR2
3639 
3640     ,p_aelv_tbl                       IN  aelv_tbl_type) IS
3641 
3642 
3643 
3647 
3644     i                                 NUMBER :=0;
3645 
3646     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3648     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acct_lines';
3649 
3650 	l_aelv_tbl						aelv_tbl_type := p_aelv_tbl;
3651     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3652 
3653   BEGIN
3654 
3655   --Initialize the return status
3656 
3657      SAVEPOINT delete_acct_lines;
3658     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3659 
3660 
3661 
3662    -- customer pre-processing
3663 
3664 
3665 
3666 
3667 
3668 
3669    -- vertical industry-preprocessing
3670 
3671 
3672 
3673 
3674 
3675 
3676 
3677     IF (l_aelv_tbl.COUNT > 0) THEN
3678 
3679       i := l_aelv_tbl.FIRST;
3680 
3681       LOOP
3682 
3683         delete_acct_lines(
3684 
3685                                   p_api_version   => p_api_version
3686 
3687                                  ,p_init_msg_list => p_init_msg_list
3688 
3689                                  ,x_return_status => x_return_status
3690 
3691                                  ,x_msg_count     => x_msg_count
3692 
3693                                  ,x_msg_data      => x_msg_data
3694 
3695                                  ,p_aelv_rec      => l_aelv_tbl(i));
3696 
3697       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
3698            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
3699               l_overall_status := x_return_status;
3700            END IF;
3701           END IF;
3702 
3703           EXIT WHEN (i = l_aelv_tbl.LAST);
3704 
3705           i := l_aelv_tbl.NEXT(i);
3706 
3707        END LOOP;
3708 
3709      END IF;
3710 
3711       x_return_status := l_overall_status;
3712 
3713       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3714              RAISE FND_API.G_EXC_ERROR;
3715        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3716             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3717        END IF;
3718 
3719 
3720 
3721    -- vertical industry-post-processing
3722 
3723 
3724 
3725 
3726 
3727 
3728    -- customer post-processing
3729 
3730 
3731 
3732 
3733 
3734 
3735 
3736 
3737   EXCEPTION
3738 
3739     WHEN FND_API.G_EXC_ERROR THEN
3740       ROLLBACK TO delete_acct_lines;
3741       x_return_status := FND_API.G_RET_STS_ERROR;
3742 
3743       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3744                                ,p_count   => x_msg_count
3745                                ,p_data    => x_msg_data);
3746 
3747     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3748       ROLLBACK TO delete_acct_lines;
3749       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3750       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3751                                ,p_count   => x_msg_count
3752                                ,p_data    => x_msg_data);
3753 
3754     WHEN OTHERS THEN
3755       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','delete_acct_lines');
3756       -- store SQL error message on message stack for caller
3757       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3758                                ,p_count   => x_msg_count
3759                                ,p_data    => x_msg_data);
3760       -- notify caller of an UNEXPECTED error
3761       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3762 
3763   END delete_acct_lines;
3764 
3765 
3766 
3767   PROCEDURE validate_acct_lines(
3768 
3769      p_api_version                    IN  NUMBER
3770 
3771     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3772 
3773     ,x_return_status                  OUT NOCOPY VARCHAR2
3774 
3775     ,x_msg_count                      OUT NOCOPY NUMBER
3776 
3777     ,x_msg_data                       OUT NOCOPY VARCHAR2
3778 
3779     ,p_aelv_rec                       IN  aelv_rec_type) IS
3780 
3781     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3782 
3783     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_acct_lines';
3784 
3785     l_aelv_rec                      aelv_rec_type := p_aelv_rec;
3786 
3787   BEGIN
3788 
3789     SAVEPOINT validate_acct_lines;
3790     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3791 
3792 
3793 
3794    -- customer pre-processing
3795 
3796 
3797 
3798 
3799 
3800 
3801    -- vertical industry-preprocessing
3802 
3803 
3804 
3805 
3806 
3807 
3808    -- call complex entity API
3809 
3810 
3811 
3812     okl_acct_event_pvt.validate_acct_lines(
3813 
3814                              p_api_version   => p_api_version
3815 
3816                             ,p_init_msg_list => p_init_msg_list
3817 
3818                             ,x_return_status => l_return_status
3819 
3823 
3820                             ,x_msg_count     => x_msg_count
3821 
3822                             ,x_msg_data      => x_msg_data
3824                             ,p_aelv_rec      => l_aelv_rec
3825 
3826                             );
3827 
3828        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3829              RAISE FND_API.G_EXC_ERROR;
3830        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3831             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3832        END IF;
3833 
3834 
3835 
3836    -- vertical industry-post-processing
3837 
3838 
3839 
3840 
3841 
3842 
3843    -- customer post-processing
3844 
3845 
3846 
3847 
3848 
3849 
3850   EXCEPTION
3851 
3852     WHEN FND_API.G_EXC_ERROR THEN
3853       ROLLBACK TO validate_acct_lines;
3854       x_return_status := FND_API.G_RET_STS_ERROR;
3855 
3856       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3857                                ,p_count   => x_msg_count
3858                                ,p_data    => x_msg_data);
3859 
3860     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3861       ROLLBACK TO validate_acct_lines;
3862       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3863       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3864                                ,p_count   => x_msg_count
3865                                ,p_data    => x_msg_data);
3866 
3867     WHEN OTHERS THEN
3868       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_lines');
3869       -- store SQL error message on message stack for caller
3870       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3871                                ,p_count   => x_msg_count
3872                                ,p_data    => x_msg_data);
3873       -- notify caller of an UNEXPECTED error
3874       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3875 
3876   END validate_acct_lines;
3877 
3878 
3879 
3880   PROCEDURE validate_acct_lines(
3881 
3882      p_api_version                    IN  NUMBER
3883 
3884     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
3885 
3886     ,x_return_status                  OUT NOCOPY VARCHAR2
3887 
3888     ,x_msg_count                      OUT NOCOPY NUMBER
3889 
3890     ,x_msg_data                       OUT NOCOPY VARCHAR2
3891 
3892     ,p_aelv_tbl                       IN  aelv_tbl_type) IS
3893 
3894     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
3895 
3896     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_acct_lines';
3897 
3898     i                                 NUMBER;
3899 
3900     l_aelv_tbl						aelv_tbl_type := p_aelv_tbl;
3901     l_overall_status            VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3902 
3903 
3904   BEGIN
3905 
3906   --Initialize the return status
3907 
3908      SAVEPOINT validate_acct_lines;
3909     x_return_status    := FND_API.G_RET_STS_SUCCESS;
3910 
3911 
3912 
3913    -- customer pre-processing
3914 
3915 
3916 
3917 
3918 
3919 
3920    -- vertical industry-preprocessing
3921 
3922 
3923 
3924 
3925 
3926     IF (l_aelv_tbl.COUNT > 0) THEN
3927 
3928       i := l_aelv_tbl.FIRST;
3929 
3930       LOOP
3931 
3932         validate_acct_lines(
3933 
3934                            p_api_version   => p_api_version
3935 
3936                           ,p_init_msg_list => p_init_msg_list
3937 
3938                           ,x_return_status => x_return_status
3939 
3940                           ,x_msg_count     => x_msg_count
3941 
3942                           ,x_msg_data      => x_msg_data
3943 
3944                           ,p_aelv_rec      => l_aelv_tbl(i)
3945 
3946                           );
3947       IF x_return_status <> Okc_Api.G_RET_STS_SUCCESS THEN
3948            IF l_overall_status <> Okc_Api.G_RET_STS_UNEXP_ERROR THEN
3949               l_overall_status := x_return_status;
3950            END IF;
3951           END IF;
3952 
3953           EXIT WHEN (i = l_aelv_tbl.LAST);
3954 
3955           i := l_aelv_tbl.NEXT(i);
3956 
3957        END LOOP;
3958 
3959      END IF;
3960 
3961       x_return_status := l_overall_status;
3962 
3963       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3964              RAISE FND_API.G_EXC_ERROR;
3965        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3966             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3967        END IF;
3968 
3969 
3970    -- vertical industry-post-processing
3971 
3972 
3973 
3974 
3975 
3976 
3977    -- customer post-processing
3978 
3979 
3980 
3981 
3982   EXCEPTION
3983 
3984     WHEN FND_API.G_EXC_ERROR THEN
3985       ROLLBACK TO validate_acct_lines;
3986       x_return_status := FND_API.G_RET_STS_ERROR;
3987 
3988       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3989                                ,p_count   => x_msg_count
3990                                ,p_data    => x_msg_data);
3991 
3992     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3993       ROLLBACK TO validate_acct_lines;
3994       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3995       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
3996                                ,p_count   => x_msg_count
3997                                ,p_data    => x_msg_data);
3998 
3999     WHEN OTHERS THEN
4000       FND_MSG_PUB.ADD_EXC_MSG('OKL_ACCT_EVENT_PUB','validate_acct_lines');
4001       -- store SQL error message on message stack for caller
4002       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
4003                                ,p_count   => x_msg_count
4004                                ,p_data    => x_msg_data);
4005       -- notify caller of an UNEXPECTED error
4006       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4007 
4008   END validate_acct_lines;
4009 
4010 
4011 
4012 
4013 
4014 END OKL_ACCT_EVENT_PUB;
4015