DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_ACCT_SOURCES_PVT

Source


1 Package BODY Okl_acct_sources_Pvt AS
2 /* $Header: OKLRASEB.pls 120.4.12010000.3 2008/10/01 23:45:32 rkuttiya ship $ */
3 
4 
5   PROCEDURE insert_acct_sources(
6                          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_asev_rec                     IN  asev_rec_type
12                         ,x_asev_rec                     OUT NOCOPY asev_rec_type
13                         ) IS
14     l_asev_rec                        asev_rec_type;
15     l_data                            VARCHAR2(100);
16     l_api_name                        CONSTANT VARCHAR2(30)  := 'insert_acct_sources';
17     l_count                           NUMBER ;
18     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
19   BEGIN
20     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
21     SAVEPOINT insert_acct_sources;
22     l_asev_rec := p_asev_rec;
23 
24     Okl_Ase_Pvt.insert_row(
25                                p_api_version   => p_api_version
26                               ,p_init_msg_list => p_init_msg_list
27                               ,x_return_status => l_return_status
28                               ,x_msg_count     => x_msg_count
29                               ,x_msg_data      => x_msg_data
30                               ,p_asev_rec      => l_asev_rec
31                               ,x_asev_rec      => x_asev_rec
32                               );
33 
34      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
35         RAISE Fnd_Api.G_EXC_ERROR;
36      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
37         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
38      END IF;
39 
40     /* re-assign local record structure using output record from pvt api */
41     l_asev_rec := x_asev_rec;
42 
43 
44   EXCEPTION
45     WHEN Fnd_Api.G_EXC_ERROR THEN
46       ROLLBACK TO insert_acct_sources;
47       x_return_status := Fnd_Api.G_RET_STS_ERROR;
48 
49       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
50                                ,p_count   => x_msg_count
51                                ,p_data    => x_msg_data);
52 
53     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
54       ROLLBACK TO insert_acct_sources;
55       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
56       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
57                                ,p_count   => x_msg_count
58                                ,p_data    => x_msg_data);
59 
60     WHEN OTHERS THEN
61       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','insert_acct_sources');
62       -- store SQL error message on message stack for caller
63       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
64                                ,p_count   => x_msg_count
65                                ,p_data    => x_msg_data);
66       -- notify caller of an UNEXPECTED error
67       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
68   END insert_acct_sources;
69 
70 
71   PROCEDURE insert_acct_sources(
72                          p_api_version                  IN  NUMBER
73                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
74                         ,x_return_status                OUT NOCOPY VARCHAR2
75                         ,x_msg_count                    OUT NOCOPY NUMBER
76                         ,x_msg_data                     OUT NOCOPY VARCHAR2
77                         ,p_asev_tbl                     IN  asev_tbl_type
78                         ,x_asev_tbl                     OUT NOCOPY asev_tbl_type
79                         ) IS
80     l_asev_tbl                        asev_tbl_type;
81     l_data                            VARCHAR2(100);
82     l_count                           NUMBER ;
83     l_api_name                        CONSTANT VARCHAR2(30)  := 'insert_acct_sources';
84     l_return_status                   VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
85     l_overall_status			  VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
86     i                        NUMBER;
87 
88   BEGIN
89     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
90     SAVEPOINT insert_acct_sources;
91     l_asev_tbl :=  p_asev_tbl;
92 
93     IF (p_asev_tbl.COUNT > 0) THEN
94       i := p_asev_tbl.FIRST;
95 
96       LOOP
97        -- Insert if the amount <> 0
98 
99          IF p_asev_tbl(i).amount <> 0 THEN
100 
101           insert_acct_sources (
102                            p_api_version   => p_api_version
103                           ,p_init_msg_list => p_init_msg_list
104                           ,x_return_status => x_return_status
105                           ,x_msg_count     => x_msg_count
106                           ,x_msg_data      => x_msg_data
107                           ,p_asev_rec      => p_asev_tbl(i)
108                           ,x_asev_rec      => x_asev_tbl(i)
109                           );
110 
111 		  -- store the highest degree of error
112 		  IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
113 		  	 IF l_overall_status <> Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
114 			    l_overall_status := x_return_status;
115 			 END IF;
116 		  END IF;
117           END IF;
118 
119           EXIT WHEN (i = p_asev_tbl.LAST);
120 
121           i := p_asev_tbl.NEXT(i);
122 
123 
124 
125        END LOOP;
126 
127 	   -- return overall status
128 	   x_return_status := l_overall_status;
129      END IF;
130 
131      l_return_status := x_return_status;
132 
133      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
134         RAISE Fnd_Api.G_EXC_ERROR;
135      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
136         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
137      END IF;
138 
139     /* re-assign local asele structure using output asele from pvt api */
140     l_asev_tbl := x_asev_tbl;
141 
142   EXCEPTION
143     WHEN Fnd_Api.G_EXC_ERROR THEN
144       ROLLBACK TO insert_acct_sources;
145       x_return_status := Fnd_Api.G_RET_STS_ERROR;
146 
147       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
148                                ,p_count   => x_msg_count
149                                ,p_data    => x_msg_data);
150 
151     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
152       ROLLBACK TO insert_acct_sources;
153       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
154       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
155                                ,p_count   => x_msg_count
156                                ,p_data    => x_msg_data);
157 
158     WHEN OTHERS THEN
159       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','insert_acct_sources');
160       -- store SQL error message on message stack for caller
161       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
162                                ,p_count   => x_msg_count
163                                ,p_data    => x_msg_data);
164       -- notify caller of an UNEXPECTED error
165       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
166   END insert_acct_sources;
167 
168 
169      --Added by gboomina on 14-Oct-2005 for Accruals Performance Improvement
170      --Bug 4662173 - Start of Changes
171 
172      PROCEDURE insert_acct_sources_bulk(
173                             p_api_version                  IN  NUMBER
174                            ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
175                            ,x_return_status                OUT NOCOPY VARCHAR2
176                            ,x_msg_count                    OUT NOCOPY NUMBER
177                            ,x_msg_data                     OUT NOCOPY VARCHAR2
178                            ,p_asev_tbl                     IN  asev_tbl_type
179                            ,x_asev_tbl                     OUT NOCOPY asev_tbl_type
180                            ) IS
181        l_asev_tbl                        asev_tbl_type;
182        l_data                            VARCHAR2(100);
183        l_count                           NUMBER ;
184        l_api_name                        CONSTANT VARCHAR2(30)  := 'insert_acct_sources_bulk';
185        l_return_status                   VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
186        l_overall_status                          VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
187        i                                 NUMBER;
188 
189      BEGIN
190        x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
191        SAVEPOINT insert_acct_sources;
192        l_asev_tbl :=  p_asev_tbl;
193 
194        IF (p_asev_tbl.COUNT > 0) THEN
195            --Modified by kthiruva on 27-Oct-2005.
196            --Ensure that the x_return_Status is stored in l_return_Status
197            --as it is the parameter being compared.
198            Okl_Ase_Pvt.insert_row_bulk (
199                               p_api_version   => p_api_version
200                              ,p_init_msg_list => p_init_msg_list
201                              ,x_return_status => l_return_status
202                              ,x_msg_count     => x_msg_count
203                              ,x_msg_data      => x_msg_data
204                              ,p_asev_tbl      => p_asev_tbl
205                              ,x_asev_tbl      => x_asev_tbl
206                              );
207 
208           IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
209              RAISE Fnd_Api.G_EXC_ERROR;
210           ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
211              RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
212           END IF;
213 
214         END IF;
215 
216      EXCEPTION
217        WHEN Fnd_Api.G_EXC_ERROR THEN
218          ROLLBACK TO insert_acct_sources;
219          x_return_status := Fnd_Api.G_RET_STS_ERROR;
220 
221          Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
222                                   ,p_count   => x_msg_count
223                                   ,p_data    => x_msg_data);
224 
225        WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
226          ROLLBACK TO insert_acct_sources;
227          x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
228          Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
229                                   ,p_count   => x_msg_count
230                                   ,p_data    => x_msg_data);
231 
232        WHEN OTHERS THEN
233          Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','insert_acct_sources_bulk');
234          -- store SQL error message on message stack for caller
235          Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
236                                   ,p_count   => x_msg_count
237                                   ,p_data    => x_msg_data);
238          -- notify caller of an UNEXPECTED error
239          x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
240      END insert_acct_sources_bulk;
241      --Bug 4662173 - End of Changes
242 
243   PROCEDURE lock_acct_sources(
244                          p_api_version                  IN  NUMBER
245                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
246                         ,x_return_status                OUT NOCOPY VARCHAR2
247                         ,x_msg_count                    OUT NOCOPY NUMBER
248                         ,x_msg_data                     OUT NOCOPY VARCHAR2
249                         ,p_asev_rec                     IN  asev_rec_type
250                         ) IS
251 
252     l_asev_rec                        asev_rec_type;
253     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
254 
255   BEGIN
256     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
257     SAVEPOINT lock_acct_sources;
258     l_asev_rec := p_asev_rec;
259 
260     Okl_Ase_Pvt.lock_row(
261                                p_api_version   => p_api_version
262                               ,p_init_msg_list => p_init_msg_list
263                               ,x_return_status => l_return_status
264                               ,x_msg_count     => x_msg_count
265                               ,x_msg_data      => x_msg_data
266                               ,p_asev_rec      => l_asev_rec
267                               );
268 
269      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
270         RAISE Fnd_Api.G_EXC_ERROR;
271      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
272         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
273      END IF;
274 
275   EXCEPTION
276     WHEN Fnd_Api.G_EXC_ERROR THEN
277       ROLLBACK TO lock_acct_sources;
278       x_return_status := Fnd_Api.G_RET_STS_ERROR;
279 
280       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
281                                ,p_count   => x_msg_count
282                                ,p_data    => x_msg_data);
283 
284     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
285       ROLLBACK TO lock_acct_sources;
286       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
287       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
288                                ,p_count   => x_msg_count
289                                ,p_data    => x_msg_data);
290 
291     WHEN OTHERS THEN
292       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','lock_acct_sources');
293       -- store SQL error message on message stack for caller
294       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
295                                ,p_count   => x_msg_count
296                                ,p_data    => x_msg_data);
297       -- notify caller of an UNEXPECTED error
298       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
299   END lock_acct_sources;
300 
301   PROCEDURE lock_acct_sources(
302                          p_api_version                  IN  NUMBER
303                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
304                         ,x_return_status                OUT NOCOPY VARCHAR2
305                         ,x_msg_count                    OUT NOCOPY NUMBER
306                         ,x_msg_data                     OUT NOCOPY VARCHAR2
307                         ,p_asev_tbl                     IN  asev_tbl_type
308                         ) IS
309 
310     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
311     l_overall_status			  VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
312     i                                 NUMBER;
313 
314   BEGIN
315     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
316     SAVEPOINT lock_acct_sources;
317 
318     IF (p_asev_tbl.COUNT > 0) THEN
319       i := p_asev_tbl.FIRST;
320 
321       LOOP
322         lock_acct_sources (
323                            p_api_version   => p_api_version
324                           ,p_init_msg_list => p_init_msg_list
325                           ,x_return_status => x_return_status
326                           ,x_msg_count     => x_msg_count
327                           ,x_msg_data      => x_msg_data
328                           ,p_asev_rec      => p_asev_tbl(i)
329                           );
330 
331 		  -- store the highest degree of error
332 		  IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
333 		  	 IF l_overall_status <> Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
334  		 	    l_overall_status := x_return_status;
335 			 END IF;
336 		  END IF;
337           EXIT WHEN (i = p_asev_tbl.LAST);
338 
339           i := p_asev_tbl.NEXT(i);
340 
341        END LOOP;
342 
343 	   -- return overall status
344 	   x_return_status := l_overall_status;
345      END IF;
346 
347      l_return_status := x_return_status;
348 
349      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
350         RAISE Fnd_Api.G_EXC_ERROR;
351      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
352         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
353      END IF;
354 
355   EXCEPTION
356     WHEN Fnd_Api.G_EXC_ERROR THEN
357       ROLLBACK TO lock_acct_sources;
358       x_return_status := Fnd_Api.G_RET_STS_ERROR;
359 
360       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
361                                ,p_count   => x_msg_count
362                                ,p_data    => x_msg_data);
363 
364     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
365       ROLLBACK TO lock_acct_sources;
366       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
367       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
368                                ,p_count   => x_msg_count
369                                ,p_data    => x_msg_data);
370 
371     WHEN OTHERS THEN
372       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','lock_acct_sources');
373       -- store SQL error message on message stack for caller
374       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
375                                ,p_count   => x_msg_count
376                                ,p_data    => x_msg_data);
377       -- notify caller of an UNEXPECTED error
378       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
379   END lock_acct_sources;
380 
381   PROCEDURE update_acct_sources(
382                          p_api_version                  IN  NUMBER
383                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
384                         ,x_return_status                OUT NOCOPY VARCHAR2
385                         ,x_msg_count                    OUT NOCOPY NUMBER
386                         ,x_msg_data                     OUT NOCOPY VARCHAR2
387                         ,p_asev_rec                     IN  asev_rec_type
388                         ,x_asev_rec                     OUT NOCOPY asev_rec_type
389                         ) IS
390     l_asev_rec                        asev_rec_type;
391     l_data                            VARCHAR2(100);
392     l_count                           NUMBER ;
393     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_sources';
394     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
395   BEGIN
396     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
397     SAVEPOINT update_acct_sources;
398     l_asev_rec := p_asev_rec;
399 
400     /* consulting pre-processing user hook call */
401 
402     /* vertical user pre-processing hook call */
403 
404     Okl_Ase_Pvt.update_row(
405                                p_api_version   => p_api_version
406                               ,p_init_msg_list => p_init_msg_list
407                               ,x_return_status => l_return_status
408                               ,x_msg_count     => x_msg_count
409                               ,x_msg_data      => x_msg_data
410                               ,p_asev_rec      => l_asev_rec
411                               ,x_asev_rec      => x_asev_rec
412                               );
413 
414      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
415         RAISE Fnd_Api.G_EXC_ERROR;
416      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
417         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
418      END IF;
419 
420     /* re-assign local record structure using output record from pvt api */
421     l_asev_rec := x_asev_rec;
422 
423     /* vertical user post-processing hook call */
424 
425     /* consulting post-processing user hook call */
426 
427   EXCEPTION
428     WHEN Fnd_Api.G_EXC_ERROR THEN
429       ROLLBACK TO update_acct_sources;
430       x_return_status := Fnd_Api.G_RET_STS_ERROR;
431 
432       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
433                                ,p_count   => x_msg_count
434                                ,p_data    => x_msg_data);
435 
436     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
437       ROLLBACK TO update_acct_sources;
438       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
439       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
440                                ,p_count   => x_msg_count
441                                ,p_data    => x_msg_data);
442 
443     WHEN OTHERS THEN
444       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','update_acct_sources');
445       -- store SQL error message on message stack for caller
446       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
447                                ,p_count   => x_msg_count
448                                ,p_data    => x_msg_data);
449       -- notify caller of an UNEXPECTED error
450       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
451   END update_acct_sources;
452 
453 
454   PROCEDURE update_acct_sources(
455                          p_api_version                  IN  NUMBER
456                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
457                         ,x_return_status                OUT NOCOPY VARCHAR2
458                         ,x_msg_count                    OUT NOCOPY NUMBER
459                         ,x_msg_data                     OUT NOCOPY VARCHAR2
460                         ,p_asev_tbl                     IN  asev_tbl_type
461                         ,x_asev_tbl                     OUT NOCOPY asev_tbl_type
462                         ) IS
463     l_asev_tbl                        asev_tbl_type;
464     l_data                            VARCHAR2(100);
465     l_count                           NUMBER;
466     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_sources';
467     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
468     l_overall_status			  VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
469     i                                 NUMBER;
470 
471   BEGIN
472     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
473     SAVEPOINT update_acct_sources;
474     l_asev_tbl :=  p_asev_tbl;
475 
476     /* consulting pre-processing user hook call */
477 
478     /* vertical user pre-processing hook call */
479 
480     IF (p_asev_tbl.COUNT > 0) THEN
481       i := p_asev_tbl.FIRST;
482 
483       LOOP
484         update_acct_sources (
485                            p_api_version   => p_api_version
486                           ,p_init_msg_list => p_init_msg_list
487                           ,x_return_status => x_return_status
488                           ,x_msg_count     => x_msg_count
489                           ,x_msg_data      => x_msg_data
490                           ,p_asev_rec      => p_asev_tbl(i)
491                           ,x_asev_rec      => x_asev_tbl(i)
492                           );
493 
494 		  -- store the highest degree of error
495 		  IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
496 		  	 IF l_overall_status <> Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
497 			    l_overall_status := x_return_status;
498 			 END IF;
499 		  END IF;
500           EXIT WHEN (i = p_asev_tbl.LAST);
501 
502           i := p_asev_tbl.NEXT(i);
503 
504        END LOOP;
505 
506 	   -- return overall status
507 	   x_return_status := l_overall_status;
508      END IF;
509 
510      l_return_status := x_return_status;
511 
512      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
513         RAISE Fnd_Api.G_EXC_ERROR;
514      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
515         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
516      END IF;
517 
518     /* re-assign local asele structure using output asele from pvt api */
519     l_asev_tbl := x_asev_tbl;
520 
521     /* vertical user post-processing hook call */
522 
523     /* consulting post-processing user hook call */
524 
525   EXCEPTION
526     WHEN Fnd_Api.G_EXC_ERROR THEN
527       ROLLBACK TO update_acct_sources;
528       x_return_status := Fnd_Api.G_RET_STS_ERROR;
529 
530       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
531                                ,p_count   => x_msg_count
532                                ,p_data    => x_msg_data);
533 
534     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
535       ROLLBACK TO update_acct_sources;
536       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
537       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
538                                ,p_count   => x_msg_count
539                                ,p_data    => x_msg_data);
540 
541     WHEN OTHERS THEN
542       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','update_acct_sources');
543       -- store SQL error message on message stack for caller
544       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
545                                ,p_count   => x_msg_count
546                                ,p_data    => x_msg_data);
547       -- notify caller of an UNEXPECTED error
548       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
549   END update_acct_sources;
550 
551   PROCEDURE delete_acct_sources(
552                          p_api_version                  IN  NUMBER
553                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
554                         ,x_return_status                OUT NOCOPY VARCHAR2
555                         ,x_msg_count                    OUT NOCOPY NUMBER
556                         ,x_msg_data                     OUT NOCOPY VARCHAR2
557                         ,p_asev_rec                     IN  asev_rec_type
558                         ) IS
559     l_asev_rec                        asev_rec_type;
560     l_data                            VARCHAR2(100);
561     l_count                           NUMBER ;
562     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acct_sources';
563     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
564 
565 
566 -- Added by Santonyr to fix the bug 3089327 on 07th Aug, 2003
567 
568   l_tcn_id OKL_TRX_CONTRACTS.ID%TYPE;
569   l_tsu_code OKL_TRX_CONTRACTS.TSU_CODE%TYPE;
570 
571   CURSOR tcl_csr(v_source_id NUMBER) IS
572   SELECT tcn_id
573   FROM OKL_TXL_CNTRCT_LNS
574   WHERE ID = v_source_id;
575 
576   CURSOR tcn_csr(v_tcn_id NUMBER) IS
577   SELECT tsu_code
578   FROM OKL_TRX_CONTRACTS
579   WHERE ID = v_tcn_id;
580 
581   BEGIN
582     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
583     SAVEPOINT delete_acct_sources;
584     l_asev_rec := p_asev_rec;
585 
586     /* consulting pre-processing user hook call */
587 
588     /* vertical user pre-processing hook call */
589 
590 -- Added by Santonyr to fix the bug 3089327 on 07th Aug, 2003
591 
592    OPEN tcl_csr(l_asev_rec.source_id);
593    FETCH tcl_csr INTO l_tcn_id;
594    CLOSE tcl_csr;
595 
596    OPEN tcn_csr(l_tcn_id);
597    FETCH tcn_csr INTO l_tsu_code;
598    CLOSE tcn_csr;
599 
600    IF (l_tsu_code = 'CANCELED') THEN
601 
602       Okl_Api.SET_MESSAGE(p_app_name     => g_app_name,
603                           p_msg_name     => 'OKL_TRX_CANCELED');
604 
605       RAISE Okl_Api.G_EXCEPTION_ERROR;
606 
607    END IF;
608 
609 
610     Okl_Ase_Pvt.delete_row(
611                                p_api_version   => p_api_version
612                               ,p_init_msg_list => p_init_msg_list
613                               ,x_return_status => l_return_status
614                               ,x_msg_count     => x_msg_count
615                               ,x_msg_data      => x_msg_data
616                               ,p_asev_rec      => l_asev_rec
617                               );
618 
619      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
620         RAISE Fnd_Api.G_EXC_ERROR;
621      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
622         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
623      END IF;
624 
625     /* vertical user post-processing hook call */
626 
627     /* consulting post-processing user hook call */
628 
629   EXCEPTION
630     WHEN Fnd_Api.G_EXC_ERROR THEN
631       ROLLBACK TO delete_acct_sources;
632       x_return_status := Fnd_Api.G_RET_STS_ERROR;
633 
634       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
635                                ,p_count   => x_msg_count
636                                ,p_data    => x_msg_data);
637 
638     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
639       ROLLBACK TO delete_acct_sources;
640       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
641       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
642                                ,p_count   => x_msg_count
643                                ,p_data    => x_msg_data);
644 
645     WHEN OTHERS THEN
646       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','delete_acct_sources');
647       -- store SQL error message on message stack for caller
648       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
649                                ,p_count   => x_msg_count
650                                ,p_data    => x_msg_data);
651       -- notify caller of an UNEXPECTED error
652       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
653   END delete_acct_sources;
654 
655 
656   PROCEDURE delete_acct_sources(
657                          p_api_version                  IN  NUMBER
658                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
659                         ,x_return_status                OUT NOCOPY VARCHAR2
660                         ,x_msg_count                    OUT NOCOPY NUMBER
661                         ,x_msg_data                     OUT NOCOPY VARCHAR2
662                         ,p_asev_tbl                     IN  asev_tbl_type
663                         ) IS
664     l_asev_tbl                        asev_tbl_type;
665     l_data                            VARCHAR2(100);
666     l_count                           NUMBER ;
667     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_acct_sources';
668     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
669     l_overall_status			  VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
670     i                                 NUMBER;
671 
672   BEGIN
673     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
674     SAVEPOINT delete_acct_sources;
675     l_asev_tbl :=  p_asev_tbl;
676 
677     /* consulting pre-processing user hook call */
678 
679     /* vertical user pre-processing hook call */
680 
681     IF (p_asev_tbl.COUNT > 0) THEN
682       i := p_asev_tbl.FIRST;
683 
684       LOOP
685         delete_acct_sources (
686                            p_api_version   => p_api_version
687                           ,p_init_msg_list => p_init_msg_list
688                           ,x_return_status => x_return_status
689                           ,x_msg_count     => x_msg_count
690                           ,x_msg_data      => x_msg_data
691                           ,p_asev_rec      => p_asev_tbl(i)
692                           );
693 
694 		  -- store the highest degree of error
695 		  IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
696 		  	 IF l_overall_status <> Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
697 			    l_overall_status := x_return_status;
698 			 END IF;
699 		  END IF;
700           EXIT WHEN (i = p_asev_tbl.LAST);
701 
702           i := p_asev_tbl.NEXT(i);
703 
704        END LOOP;
705 
706 	   -- return overall status
707 	   x_return_status := l_overall_status;
708      END IF;
709 
710      l_return_status := x_return_status;
711 
712      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
713         RAISE Fnd_Api.G_EXC_ERROR;
714      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
715         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
716      END IF;
717 
718     /* vertical user post-processing hook call */
719 
720     /* consulting post-processing user hook call */
721 
722   EXCEPTION
723     WHEN Fnd_Api.G_EXC_ERROR THEN
724       ROLLBACK TO delete_acct_sources;
725       x_return_status := Fnd_Api.G_RET_STS_ERROR;
726 
727       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
728                                ,p_count   => x_msg_count
729                                ,p_data    => x_msg_data);
730 
731     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
732       ROLLBACK TO delete_acct_sources;
733       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
734       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
735                                ,p_count   => x_msg_count
736                                ,p_data    => x_msg_data);
737 
738     WHEN OTHERS THEN
739       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','delete_acct_sources');
740       -- store SQL error message on message stack for caller
741       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
742                                ,p_count   => x_msg_count
743                                ,p_data    => x_msg_data);
744       -- notify caller of an UNEXPECTED error
745       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
746   END delete_acct_sources;
747 
748   PROCEDURE validate_acct_sources(
749                          p_api_version                  IN  NUMBER
750                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
751                         ,x_return_status                OUT NOCOPY VARCHAR2
752                         ,x_msg_count                    OUT NOCOPY NUMBER
753                         ,x_msg_data                     OUT NOCOPY VARCHAR2
754                         ,p_asev_rec                     IN  asev_rec_type
755                         ) IS
756     l_asev_rec                        asev_rec_type;
757     l_data                            VARCHAR2(100);
758     l_count                           NUMBER;
759     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_acct_sources';
760     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
761   BEGIN
762     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
763     SAVEPOINT validate_acct_sources;
764     l_asev_rec := p_asev_rec;
765 
766     /* consulting pre-processing user hook call */
767 
768     /* vertical user pre-processing hook call */
769 
770     Okl_Ase_Pvt.validate_row(
771                                p_api_version   => p_api_version
772                               ,p_init_msg_list => p_init_msg_list
773                               ,x_return_status => l_return_status
774                               ,x_msg_count     => x_msg_count
775                               ,x_msg_data      => x_msg_data
776                               ,p_asev_rec      => l_asev_rec
777                               );
778 
779      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
780         RAISE Fnd_Api.G_EXC_ERROR;
781      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
782         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
783      END IF;
784 
785     /* vertical user post-processing hook call */
786 
787     /* consulting post-processing user hook call */
788 
789   EXCEPTION
790     WHEN Fnd_Api.G_EXC_ERROR THEN
791       ROLLBACK TO validate_acct_sources;
792       x_return_status := Fnd_Api.G_RET_STS_ERROR;
793 
794       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
795                                ,p_count   => x_msg_count
796                                ,p_data    => x_msg_data);
797 
798     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
799       ROLLBACK TO validate_acct_sources;
800       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
801       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
802                                ,p_count   => x_msg_count
803                                ,p_data    => x_msg_data);
804 
805     WHEN OTHERS THEN
806       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','validate_acct_sources');
807       -- store SQL error message on message stack for caller
808       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
809                                ,p_count   => x_msg_count
810                                ,p_data    => x_msg_data);
811       -- notify caller of an UNEXPECTED error
812       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
813   END validate_acct_sources;
814 
815 
816   PROCEDURE validate_acct_sources(
817                          p_api_version                  IN  NUMBER
818                         ,p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE
819                         ,x_return_status                OUT NOCOPY VARCHAR2
820                         ,x_msg_count                    OUT NOCOPY NUMBER
821                         ,x_msg_data                     OUT NOCOPY VARCHAR2
822                         ,p_asev_tbl                     IN  asev_tbl_type
823                         ) IS
824     l_asev_tbl                        asev_tbl_type;
825     l_data                            VARCHAR2(100);
826     l_count                           NUMBER;
827     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_acct_sources';
828     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
829     l_overall_status			  VARCHAR2(1)   := Fnd_Api.G_RET_STS_SUCCESS;
830     i                                 NUMBER;
831 
832   BEGIN
833     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
834     SAVEPOINT validate_acct_sources;
835     l_asev_tbl :=  p_asev_tbl;
836 
837     /* consulting pre-processing user hook call */
838 
839     /* vertical user pre-processing hook call */
840 
841     IF (p_asev_tbl.COUNT > 0) THEN
842       i := p_asev_tbl.FIRST;
843 
844       LOOP
845         validate_acct_sources (
846                            p_api_version   => p_api_version
847                           ,p_init_msg_list => p_init_msg_list
848                           ,x_return_status => x_return_status
849                           ,x_msg_count     => x_msg_count
850                           ,x_msg_data      => x_msg_data
851                           ,p_asev_rec      => p_asev_tbl(i)
852                           );
853 
854 		  -- store the highest degree of error
855 		  IF x_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
856 		  	 IF l_overall_status <> Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
857 			    l_overall_status := x_return_status;
858 			 END IF;
859 		  END IF;
860           EXIT WHEN (i = p_asev_tbl.LAST);
861 
862           i := p_asev_tbl.NEXT(i);
863 
864        END LOOP;
865 
866 	   -- return overall status
867 	   x_return_status := l_overall_status;
868      END IF;
869 
870      l_return_status := x_return_status;
871 
872      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
873         RAISE Fnd_Api.G_EXC_ERROR;
874      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
875         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
876      END IF;
877 
878     /* vertical user post-processing hook call */
879 
880     /* consulting post-processing user hook call */
881 
882 
883   EXCEPTION
884     WHEN Fnd_Api.G_EXC_ERROR THEN
885       ROLLBACK TO validate_acct_sources;
886       x_return_status := Fnd_Api.G_RET_STS_ERROR;
887 
888       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
889                                ,p_count   => x_msg_count
890                                ,p_data    => x_msg_data);
891 
892     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
893       ROLLBACK TO validate_acct_sources;
894       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
895       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
896                                ,p_count   => x_msg_count
897                                ,p_data    => x_msg_data);
898 
899     WHEN OTHERS THEN
900       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','validate_acct_sources');
901       -- store SQL error message on message stack for caller
902       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
903                                ,p_count   => x_msg_count
904                                ,p_data    => x_msg_data);
905       -- notify caller of an UNEXPECTED error
906       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
907   END validate_acct_sources;
908 
909   PROCEDURE update_acct_src_custom_status(
910     p_api_version                  IN  NUMBER,
911     p_init_msg_list                IN  VARCHAR2 DEFAULT Okc_Api.G_FALSE,
912     x_return_status                OUT NOCOPY VARCHAR2,
913     x_msg_count                    OUT NOCOPY NUMBER,
914     x_msg_data                     OUT NOCOPY VARCHAR2,
915     p_asev_rec                     IN  asev_rec_type,
916     x_asev_rec                     OUT NOCOPY asev_rec_type) IS
917 
918     l_asev_rec                        asev_rec_type;
919     l_data                            VARCHAR2(100);
920     l_count                           NUMBER ;
921     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_acct_src_custom_status';
922     l_return_status                   VARCHAR2(1)    := Fnd_Api.G_RET_STS_SUCCESS;
923   BEGIN
924     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
925     SAVEPOINT update_acct_src_custom_status;
926     l_asev_rec:= p_asev_rec;
927 
928     /* consulting pre-processing user hook call */
929 
930     /* vertical user pre-processing hook call */
931 
932     Okl_Ase_Pvt.update_row(
933                                p_api_version   => p_api_version
934                               ,p_init_msg_list => p_init_msg_list
935                               ,x_return_status => l_return_status
936                               ,x_msg_count     => x_msg_count
937                               ,x_msg_data      => x_msg_data
938                               ,p_asev_rec      => l_asev_rec
939                               ,x_asev_rec      => x_asev_rec
940                               );
941 
942      IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
943         RAISE Fnd_Api.G_EXC_ERROR;
944      ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
945         RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
946      END IF;
947 
948     /* re-assign local record structure using output record from pvt api */
949     l_asev_rec := x_asev_rec;
950 
951     /* vertical user post-processing hook call */
952 
953     /* consulting post-processing user hook call */
954 
955   EXCEPTION
956     WHEN Fnd_Api.G_EXC_ERROR THEN
957       ROLLBACK TO update_acct_src_custom_status;
958       x_return_status := Fnd_Api.G_RET_STS_ERROR;
959 
960       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
961                                ,p_count   => x_msg_count
962                                ,p_data    => x_msg_data);
963 
964     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
965       ROLLBACK TO update_acct_src_custom_status;
966       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
967       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
968                                ,p_count   => x_msg_count
969                                ,p_data    => x_msg_data);
970 
971     WHEN OTHERS THEN
972       Fnd_Msg_Pub.ADD_EXC_MSG('OKL_acct_sources_Pvt','update_acct_sources');
973       -- store SQL error message on message stack for caller
974       Fnd_Msg_Pub.Count_and_get(p_encoded => Okc_Api.G_FALSE
975                                ,p_count   => x_msg_count
976                                ,p_data    => x_msg_data);
977       -- notify caller of an UNEXPECTED error
978       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
979 
980   END   update_acct_src_custom_status;
981 
982 
983 END Okl_acct_sources_Pvt;