DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TMPT_SET_PUB

Source


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