DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_SGN_TRANSLATIONS_PUB

Source


1 PACKAGE BODY OKL_SGN_TRANSLATIONS_PUB AS
2 /* $Header: OKLPSGTB.pls 120.3 2005/10/30 04:28:20 appldev noship $ */
3 
4   PROCEDURE add_language IS
5   BEGIN
6 --    okl_sgn_pvt.add_language;
7     NULL;
8   END add_language;
9 
10 
11   PROCEDURE insert_sgn_translations(
12     p_api_version                  IN  NUMBER,
13     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
14     x_return_status                OUT NOCOPY VARCHAR2,
15     x_msg_count                    OUT NOCOPY NUMBER,
16     x_msg_data                     OUT NOCOPY VARCHAR2,
17     p_sgnv_rec                     IN  sgnv_rec_type,
18     x_sgnv_rec                     OUT NOCOPY sgnv_rec_type) IS
19 
20 	l_sgnv_rec                        sgnv_rec_type;
21     l_data                            VARCHAR2(100);
22     l_api_name                        CONSTANT VARCHAR2(30)  := 'insert_sgn_translations';
23     l_count                           NUMBER ;
24     l_return_status                   VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
25   BEGIN
26     x_return_status := FND_API.G_RET_STS_SUCCESS;
27     SAVEPOINT insert_sgn_translations;
28     l_sgnv_rec := p_sgnv_rec;
29 
30 
31 
32     okl_sgt_pvt.insert_row(p_api_version   => p_api_version
33                           ,p_init_msg_list => p_init_msg_list
34                           ,x_return_status => l_return_status
35                           ,x_msg_count     => x_msg_count
36                           ,x_msg_data      => x_msg_data
37                           ,p_sgnv_rec      => l_sgnv_rec
38                           ,x_sgnv_rec      => x_sgnv_rec);
39 
40      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
41         RAISE FND_API.G_EXC_ERROR;
42      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
43         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
44      END IF;
45 
46 
47 
48 
49   EXCEPTION
50     WHEN FND_API.G_EXC_ERROR THEN
51       ROLLBACK TO insert_sgn_translations;
52       x_return_status := FND_API.G_RET_STS_ERROR;
53 
54       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
55                                ,p_count   => x_msg_count
56                                ,p_data    => x_msg_data);
57 
58     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
59       ROLLBACK TO insert_sgn_translations;
60       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
61       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
62                                ,p_count   => x_msg_count
63                                ,p_data    => x_msg_data);
64 
65     WHEN OTHERS THEN
66       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','insert_sgn_translations');
67       -- store SQL error message on message stack for caller
68       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
69                                ,p_count   => x_msg_count
70                                ,p_data    => x_msg_data);
71       -- notify caller of an UNEXPECTED error
72       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
73   END insert_sgn_translations;
74 
75   PROCEDURE insert_sgn_translations(
76     p_api_version                  IN  NUMBER,
77     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
78     x_return_status                OUT NOCOPY VARCHAR2,
79     x_msg_count                    OUT NOCOPY NUMBER,
80     x_msg_data                     OUT NOCOPY VARCHAR2,
81     p_sgnv_tbl                     IN  sgnv_tbl_type,
82     x_sgnv_tbl                     OUT NOCOPY sgnv_tbl_type) IS
83 
84     l_sgnv_tbl                        sgnv_tbl_type;
85     l_data                            VARCHAR2(100);
86     l_count                           NUMBER ;
87     l_api_name                        CONSTANT VARCHAR2(30)  := 'insert_sgn_translations';
88     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
89     l_overall_status		          VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
90     i                                 NUMBER;
91 
92   BEGIN
93     x_return_status := FND_API.G_RET_STS_SUCCESS;
94     SAVEPOINT insert_sgn_translations;
95     l_sgnv_tbl :=  p_sgnv_tbl;
96 
97 
98 
99     IF (p_sgnv_tbl.COUNT > 0) THEN
100       i := p_sgnv_tbl.FIRST;
101 
102       LOOP
103         insert_sgn_translations (
104                            p_api_version   => p_api_version
105                           ,p_init_msg_list => OKL_API.G_FALSE -- Bug Number: 3992148
106                           ,x_return_status => x_return_status
107                           ,x_msg_count     => x_msg_count
108                           ,x_msg_data      => x_msg_data
109                           ,p_sgnv_rec      => p_sgnv_tbl(i)
110                           ,x_sgnv_rec      => x_sgnv_tbl(i)
111                           );
112 
113 		  -- store the highest degree of error
114 		  IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
115 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
116 			    l_overall_status := x_return_status;
117 			 END IF;
118 		  END IF;
119           EXIT WHEN (i = p_sgnv_tbl.LAST);
120 
121           i := p_sgnv_tbl.NEXT(i);
122 
123        END LOOP;
124 
125 	   -- return overall status
126 	   x_return_status := l_overall_status;
127      END IF;
128 
129      l_return_status := x_return_status;
130 
131      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
132         RAISE FND_API.G_EXC_ERROR;
133      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
134         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
135      END IF;
136 
137 
138 
139   EXCEPTION
140     WHEN FND_API.G_EXC_ERROR THEN
141       ROLLBACK TO insert_sgn_translations;
142       x_return_status := FND_API.G_RET_STS_ERROR;
143 
144       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
145                                ,p_count   => x_msg_count
146                                ,p_data    => x_msg_data);
147 
148     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
149       ROLLBACK TO insert_sgn_translations;
150       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
151       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
152                                ,p_count   => x_msg_count
153                                ,p_data    => x_msg_data);
154 
155     WHEN OTHERS THEN
156       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','insert_sgn_translations');
157       -- store SQL error message on message stack for caller
158       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
159                                ,p_count   => x_msg_count
160                                ,p_data    => x_msg_data);
161       -- notify caller of an UNEXPECTED error
162       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
163   END insert_sgn_translations;
164 
165   PROCEDURE lock_sgn_translations(
166     p_api_version                  IN  NUMBER,
167     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
168     x_return_status                OUT NOCOPY VARCHAR2,
169     x_msg_count                    OUT NOCOPY NUMBER,
170     x_msg_data                     OUT NOCOPY VARCHAR2,
171     p_sgnv_rec                     IN sgnv_rec_type) IS
172 
173     l_sgnv_rec                        sgnv_rec_type;
174     l_return_status                   VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
175 
176   BEGIN
177     x_return_status := FND_API.G_RET_STS_SUCCESS;
178     SAVEPOINT lock_sgn_translations;
179     l_sgnv_rec := p_sgnv_rec;
180 
181     okl_sgt_pvt.lock_row(p_api_version   => p_api_version
182                         ,p_init_msg_list => p_init_msg_list
183                         ,x_return_status => l_return_status
184                         ,x_msg_count     => x_msg_count
185                         ,x_msg_data      => x_msg_data
186                         ,p_sgnv_rec      => l_sgnv_rec);
187 
188      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
189         RAISE FND_API.G_EXC_ERROR;
190      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
191         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
192      END IF;
193 
194   EXCEPTION
195     WHEN FND_API.G_EXC_ERROR THEN
196       ROLLBACK TO lock_sgn_translations;
197       x_return_status := FND_API.G_RET_STS_ERROR;
198 
199       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
200                                ,p_count   => x_msg_count
201                                ,p_data    => x_msg_data);
202 
203     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
204       ROLLBACK TO lock_sgn_translations;
205       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
206       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
207                                ,p_count   => x_msg_count
208                                ,p_data    => x_msg_data);
209 
210     WHEN OTHERS THEN
211       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','lock_sgn_translations');
212       -- store SQL error message on message stack for caller
213       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
214                                ,p_count   => x_msg_count
215                                ,p_data    => x_msg_data);
216       -- notify caller of an UNEXPECTED error
217       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
218   END lock_sgn_translations;
219 
220   PROCEDURE lock_sgn_translations(
221     p_api_version                  IN  NUMBER,
222     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
223     x_return_status                OUT NOCOPY VARCHAR2,
224     x_msg_count                    OUT NOCOPY NUMBER,
225     x_msg_data                     OUT NOCOPY VARCHAR2,
226     p_sgnv_tbl                     IN  sgnv_tbl_type) IS
227 
228     l_return_status                VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
229     l_overall_status			   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
230     i                              NUMBER;
231 
232   BEGIN
233     x_return_status := FND_API.G_RET_STS_SUCCESS;
234     SAVEPOINT lock_sgn_translations;
235 
236     IF (p_sgnv_tbl.COUNT > 0) THEN
237       i := p_sgnv_tbl.FIRST;
238 
239       LOOP
240         lock_sgn_translations (p_api_version   => p_api_version
241                               ,p_init_msg_list => p_init_msg_list
242                               ,x_return_status => x_return_status
243                               ,x_msg_count     => x_msg_count
244                               ,x_msg_data      => x_msg_data
245                               ,p_sgnv_rec      => p_sgnv_tbl(i));
246 
247 		  -- store the highest degree of error
248 		  IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
249 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
250  		 	    l_overall_status := x_return_status;
251 			 END IF;
252 		  END IF;
253           EXIT WHEN (i = p_sgnv_tbl.LAST);
254 
255           i := p_sgnv_tbl.NEXT(i);
256 
257        END LOOP;
258 
259 	   -- return overall status
260 	   x_return_status := l_overall_status;
261      END IF;
262 
263      l_return_status := x_return_status;
264 
265      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
266         RAISE FND_API.G_EXC_ERROR;
267      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
268         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
269      END IF;
270 
271   EXCEPTION
272     WHEN FND_API.G_EXC_ERROR THEN
273       ROLLBACK TO lock_sgn_translations;
274       x_return_status := FND_API.G_RET_STS_ERROR;
275 
276       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
277                                ,p_count   => x_msg_count
278                                ,p_data    => x_msg_data);
279 
280     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
281       ROLLBACK TO lock_sgn_translations;
282       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
283       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
284                                ,p_count   => x_msg_count
285                                ,p_data    => x_msg_data);
286 
287     WHEN OTHERS THEN
288       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','lock_sgn_translations');
289       -- store SQL error message on message stack for caller
290       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
291                                ,p_count   => x_msg_count
292                                ,p_data    => x_msg_data);
293       -- notify caller of an UNEXPECTED error
294       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
295   END lock_sgn_translations;
296 
297   PROCEDURE update_sgn_translations(
298     p_api_version                  IN  NUMBER,
299     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
300     x_return_status                OUT NOCOPY VARCHAR2,
301     x_msg_count                    OUT NOCOPY NUMBER,
302     x_msg_data                     OUT NOCOPY VARCHAR2,
303     p_sgnv_rec                     IN  sgnv_rec_type,
304     x_sgnv_rec                     OUT NOCOPY sgnv_rec_type) IS
305 
306     l_sgnv_rec                        sgnv_rec_type;
307     l_data                            VARCHAR2(100);
308     l_count                           NUMBER ;
309     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_sgn_translations';
310     l_return_status                   VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
311   BEGIN
312     x_return_status := FND_API.G_RET_STS_SUCCESS;
313     SAVEPOINT update_sgn_translations;
314     l_sgnv_rec := p_sgnv_rec;
315 
316 
317 
318     okl_sgt_pvt.update_row(p_api_version   => p_api_version
319                           ,p_init_msg_list => p_init_msg_list
320                           ,x_return_status => l_return_status
321                           ,x_msg_count     => x_msg_count
322                           ,x_msg_data      => x_msg_data
323                           ,p_sgnv_rec      => l_sgnv_rec
324                           ,x_sgnv_rec      => x_sgnv_rec);
325 
326      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
327         RAISE FND_API.G_EXC_ERROR;
328      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
329         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
330      END IF;
331 
332 
333 
334   EXCEPTION
335     WHEN FND_API.G_EXC_ERROR THEN
336       ROLLBACK TO update_sgn_translations;
337       x_return_status := FND_API.G_RET_STS_ERROR;
338 
339       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
340                                ,p_count   => x_msg_count
341                                ,p_data    => x_msg_data);
342 
343     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
344       ROLLBACK TO update_sgn_translations;
345       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
346       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
347                                ,p_count   => x_msg_count
348                                ,p_data    => x_msg_data);
349 
350     WHEN OTHERS THEN
351       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','update_sgn_translations');
352       -- store SQL error message on message stack for caller
353       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
354                                ,p_count   => x_msg_count
355                                ,p_data    => x_msg_data);
356       -- notify caller of an UNEXPECTED error
357       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
358   END update_sgn_translations;
359 
360   PROCEDURE update_sgn_translations(
361     p_api_version                  IN  NUMBER,
362     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
363     x_return_status                OUT NOCOPY VARCHAR2,
364     x_msg_count                    OUT NOCOPY NUMBER,
365     x_msg_data                     OUT NOCOPY VARCHAR2,
366     p_sgnv_tbl                     IN  sgnv_tbl_type,
367     x_sgnv_tbl                     OUT NOCOPY sgnv_tbl_type) IS
368 
369     l_sgnv_tbl                        sgnv_tbl_type;
370     l_data                            VARCHAR2(100);
371     l_count                           NUMBER;
372     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_sgn_translations';
373     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
374     l_overall_status			      VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
375     i                                 NUMBER;
376 
377   BEGIN
378     x_return_status := FND_API.G_RET_STS_SUCCESS;
379     SAVEPOINT update_sgn_translations;
380     l_sgnv_tbl :=  p_sgnv_tbl;
381 
382 
383 
384     IF (p_sgnv_tbl.COUNT > 0) THEN
385       i := p_sgnv_tbl.FIRST;
386 
387       LOOP
388         update_sgn_translations (p_api_version   => p_api_version
389                                 ,p_init_msg_list => p_init_msg_list
390                                 ,x_return_status => x_return_status
391                                 ,x_msg_count     => x_msg_count
392                                 ,x_msg_data      => x_msg_data
393                                 ,p_sgnv_rec      => p_sgnv_tbl(i)
394                                 ,x_sgnv_rec      => x_sgnv_tbl(i));
395 
396 		  -- store the highest degree of error
397 		  IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
398 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
399 			    l_overall_status := x_return_status;
400 			 END IF;
401 		  END IF;
402           EXIT WHEN (i = p_sgnv_tbl.LAST);
403 
404           i := p_sgnv_tbl.NEXT(i);
405 
406        END LOOP;
407 
408 	   -- return overall status
409 	   x_return_status := l_overall_status;
410      END IF;
411 
412      l_return_status := x_return_status;
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 
421 
422   EXCEPTION
423     WHEN FND_API.G_EXC_ERROR THEN
424       ROLLBACK TO update_sgn_translations;
425       x_return_status := FND_API.G_RET_STS_ERROR;
426 
427       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
428                                ,p_count   => x_msg_count
429                                ,p_data    => x_msg_data);
430 
431     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
432       ROLLBACK TO update_sgn_translations;
433       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
434       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
435                                ,p_count   => x_msg_count
436                                ,p_data    => x_msg_data);
437 
438     WHEN OTHERS THEN
439       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','update_sgn_translations');
440       -- store SQL error message on message stack for caller
441       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
442                                ,p_count   => x_msg_count
443                                ,p_data    => x_msg_data);
444       -- notify caller of an UNEXPECTED error
445       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
446   END update_sgn_translations;
447 
448   PROCEDURE delete_sgn_translations(
449     p_api_version                  IN  NUMBER,
450     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
451     x_return_status                OUT NOCOPY VARCHAR2,
452     x_msg_count                    OUT NOCOPY NUMBER,
453     x_msg_data                     OUT NOCOPY VARCHAR2,
454     p_sgnv_rec                     IN  sgnv_rec_type) IS
455 
456     l_sgnv_rec                        sgnv_rec_type;
457     l_data                            VARCHAR2(100);
458     l_count                           NUMBER ;
459     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_sgn_translations';
460     l_return_status                   VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
461   BEGIN
462     x_return_status := FND_API.G_RET_STS_SUCCESS;
463     SAVEPOINT delete_sgn_translations;
464     l_sgnv_rec := p_sgnv_rec;
465 
466 
467 
468     okl_sgt_pvt.delete_row(p_api_version   => p_api_version
469                           ,p_init_msg_list => p_init_msg_list
470                           ,x_return_status => l_return_status
471                           ,x_msg_count     => x_msg_count
472                           ,x_msg_data      => x_msg_data
473                           ,p_sgnv_rec      => l_sgnv_rec);
474 
475      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
476         RAISE FND_API.G_EXC_ERROR;
477      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
478         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
479      END IF;
480 
481 
482 
483   EXCEPTION
484     WHEN FND_API.G_EXC_ERROR THEN
485       ROLLBACK TO delete_sgn_translations;
486       x_return_status := FND_API.G_RET_STS_ERROR;
487 
488       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
489                                ,p_count   => x_msg_count
490                                ,p_data    => x_msg_data);
491 
492     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
493       ROLLBACK TO delete_sgn_translations;
494       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
496                                ,p_count   => x_msg_count
497                                ,p_data    => x_msg_data);
498 
499     WHEN OTHERS THEN
500       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','delete_sgn_translations');
501       -- store SQL error message on message stack for caller
502       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
503                                ,p_count   => x_msg_count
504                                ,p_data    => x_msg_data);
505       -- notify caller of an UNEXPECTED error
506       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507   END delete_sgn_translations;
508 
509   PROCEDURE delete_sgn_translations(
510     p_api_version                  IN  NUMBER,
511     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
512     x_return_status                OUT NOCOPY VARCHAR2,
513     x_msg_count                    OUT NOCOPY NUMBER,
514     x_msg_data                     OUT NOCOPY VARCHAR2,
515     p_sgnv_tbl                     IN  sgnv_tbl_type) IS
516 
517     l_sgnv_tbl                        sgnv_tbl_type;
518     l_data                            VARCHAR2(100);
519     l_count                           NUMBER;
520     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_sgn_translations';
521     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
522     l_overall_status			      VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
523     i                                 NUMBER;
524 
525   BEGIN
526     x_return_status := FND_API.G_RET_STS_SUCCESS;
527     SAVEPOINT delete_sgn_translations;
528     l_sgnv_tbl :=  p_sgnv_tbl;
529 
530 
531 
532     IF (p_sgnv_tbl.COUNT > 0) THEN
533       i := p_sgnv_tbl.FIRST;
534 
535       LOOP
536         delete_sgn_translations (p_api_version   => p_api_version
537                                 ,p_init_msg_list => p_init_msg_list
538                                 ,x_return_status => x_return_status
539                                 ,x_msg_count     => x_msg_count
540                                 ,x_msg_data      => x_msg_data
541                                 ,p_sgnv_rec      => p_sgnv_tbl(i));
542 
543 		  -- store the highest degree of error
544 		  IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
545 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
546 			    l_overall_status := x_return_status;
547 			 END IF;
548 		  END IF;
549           EXIT WHEN (i = p_sgnv_tbl.LAST);
550 
551           i := p_sgnv_tbl.NEXT(i);
552 
553        END LOOP;
554 
555 	   -- return overall status
556 	   x_return_status := l_overall_status;
557      END IF;
558 
559      l_return_status := x_return_status;
560 
561      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
562         RAISE FND_API.G_EXC_ERROR;
563      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
564         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
565      END IF;
566 
567 
568 
569   EXCEPTION
570     WHEN FND_API.G_EXC_ERROR THEN
571       ROLLBACK TO delete_sgn_translations;
572       x_return_status := FND_API.G_RET_STS_ERROR;
573 
574       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
575                                ,p_count   => x_msg_count
576                                ,p_data    => x_msg_data);
577 
578     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
579       ROLLBACK TO delete_sgn_translations;
580       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
581       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
582                                ,p_count   => x_msg_count
583                                ,p_data    => x_msg_data);
584 
585     WHEN OTHERS THEN
586       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','delete_sgn_translations');
587       -- store SQL error message on message stack for caller
588       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
589                                ,p_count   => x_msg_count
590                                ,p_data    => x_msg_data);
591       -- notify caller of an UNEXPECTED error
592       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
593   END delete_sgn_translations;
594 
595   PROCEDURE validate_sgn_translations(
596     p_api_version                  IN  NUMBER,
597     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
598     x_return_status                OUT NOCOPY VARCHAR2,
599     x_msg_count                    OUT NOCOPY NUMBER,
600     x_msg_data                     OUT NOCOPY VARCHAR2,
601     p_sgnv_rec                     IN  sgnv_rec_type,
602     x_sgnv_rec                     OUT NOCOPY sgnv_rec_type) IS
603     l_sgnv_rec                        sgnv_rec_type;
604     l_data                            VARCHAR2(100);
605     l_count                           NUMBER ;
606     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_sgn_translations';
607     l_return_status                   VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
608   BEGIN
609     x_return_status := FND_API.G_RET_STS_SUCCESS;
610     SAVEPOINT validate_sgn_translations;
611     l_sgnv_rec := p_sgnv_rec;
612 
613 
614 
615     okl_sgt_pvt.validate_row(p_api_version   => p_api_version
616                             ,p_init_msg_list => p_init_msg_list
617                             ,x_return_status => l_return_status
618                             ,x_msg_count     => x_msg_count
619                             ,x_msg_data      => x_msg_data
620                             ,p_sgnv_rec      => l_sgnv_rec);
621 
622      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
623         RAISE FND_API.G_EXC_ERROR;
624      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
625         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
626      END IF;
627 
628 
629 
630   EXCEPTION
631     WHEN FND_API.G_EXC_ERROR THEN
632       ROLLBACK TO validate_sgn_translations;
633       x_return_status := FND_API.G_RET_STS_ERROR;
634 
635       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
636                                ,p_count   => x_msg_count
637                                ,p_data    => x_msg_data);
638 
639     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
640       ROLLBACK TO validate_sgn_translations;
641       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
642       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
643                                ,p_count   => x_msg_count
644                                ,p_data    => x_msg_data);
645 
646     WHEN OTHERS THEN
647       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','validate_sgn_translations');
648       -- store SQL error message on message stack for caller
649       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
650                                ,p_count   => x_msg_count
651                                ,p_data    => x_msg_data);
652       -- notify caller of an UNEXPECTED error
653       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654   END validate_sgn_translations;
655 
656   PROCEDURE validate_sgn_translations(
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_sgnv_tbl                     IN  sgnv_tbl_type,
663     x_sgnv_tbl                     OUT NOCOPY sgnv_tbl_type) IS
664 
665     l_sgnv_tbl                        sgnv_tbl_type;
666     l_data                            VARCHAR2(100);
667     l_count                           NUMBER;
668     l_api_name                        CONSTANT VARCHAR2(30)  := 'validate_sgn_translations';
669     l_return_status                   VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
670     l_overall_status			      VARCHAR2(1)   := FND_API.G_RET_STS_SUCCESS;
671     i                                 NUMBER;
672 
673   BEGIN
674     x_return_status := FND_API.G_RET_STS_SUCCESS;
675     SAVEPOINT validate_sgn_translations;
676     l_sgnv_tbl :=  p_sgnv_tbl;
677 
678 
679 
680     IF (p_sgnv_tbl.COUNT > 0) THEN
681       i := p_sgnv_tbl.FIRST;
682 
683       LOOP
684         validate_sgn_translations (p_api_version   => p_api_version
685                                 ,p_init_msg_list => p_init_msg_list
686                                 ,x_return_status => x_return_status
687                                 ,x_msg_count     => x_msg_count
688                                 ,x_msg_data      => x_msg_data
689                                 ,p_sgnv_rec      => p_sgnv_tbl(i)
690                                 ,x_sgnv_rec      => x_sgnv_tbl(i));
691 
692 		  -- store the highest degree of error
693 		  IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
694 		  	 IF l_overall_status <> FND_API.G_RET_STS_UNEXP_ERROR THEN
695 			    l_overall_status := x_return_status;
696 			 END IF;
697 		  END IF;
698           EXIT WHEN (i = p_sgnv_tbl.LAST);
699 
700           i := p_sgnv_tbl.NEXT(i);
701 
702        END LOOP;
703 
704 	   -- return overall status
705 	   x_return_status := l_overall_status;
706      END IF;
707 
708      l_return_status := x_return_status;
709 
710      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
711         RAISE FND_API.G_EXC_ERROR;
712      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
713         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
714      END IF;
715 
716 
717 
718   EXCEPTION
719     WHEN FND_API.G_EXC_ERROR THEN
720       ROLLBACK TO validate_sgn_translations;
721       x_return_status := FND_API.G_RET_STS_ERROR;
722 
723       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
724                                ,p_count   => x_msg_count
725                                ,p_data    => x_msg_data);
726 
727     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
728       ROLLBACK TO validate_sgn_translations;
729       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
730       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
731                                ,p_count   => x_msg_count
732                                ,p_data    => x_msg_data);
733 
734     WHEN OTHERS THEN
735       FND_MSG_PUB.ADD_EXC_MSG('OKL_SGN_TRANSLATIONS_PUB','validate_sgn_translations');
736       -- store SQL error message on message stack for caller
737       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
738                                ,p_count   => x_msg_count
739                                ,p_data    => x_msg_data);
740       -- notify caller of an UNEXPECTED error
741       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
742   END validate_sgn_translations;
743 
744 END OKL_SGN_TRANSLATIONS_PUB;