DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TRANS_CONTRACTS_PUB

Source


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