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