[Home] [Help]
PACKAGE BODY: APPS.OKC_OUTCOME_PUB
Source
1 package body okc_outcome_pub as
2 /* $Header: OKCPOCEB.pls 120.0 2005/05/25 23:11:11 appldev noship $ */
3 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4 --
5
6
7
8 FUNCTION migrate_ocev(p_ocev_rec1 IN ocev_rec_type,
9 p_ocev_rec2 IN ocev_rec_type)
10 RETURN ocev_rec_type IS
11 l_ocev_rec ocev_rec_type;
12 --
13 l_proc varchar2(72) := ' okc_outcome_pub.'||'migrate_ocev';
14 --
15
16 BEGIN
17
18 IF (l_debug = 'Y') THEN
19 okc_debug.Set_Indentation(l_proc);
20 okc_debug.Log('10: Entering ',2);
21 END IF;
22
23 l_ocev_rec.id := p_ocev_rec1.id;
24 l_ocev_rec.object_version_number := p_ocev_rec1.object_version_number;
25 l_ocev_rec.pdf_id := p_ocev_rec1.pdf_id;
26 l_ocev_rec.cnh_id := p_ocev_rec1.cnh_id;
27 l_ocev_rec.dnz_chr_id := p_ocev_rec1.dnz_chr_id;
28 l_ocev_rec.success_resource_id := p_ocev_rec1.success_resource_id;
29 l_ocev_rec.failure_resource_id := p_ocev_rec1.failure_resource_id;
30 l_ocev_rec.created_by := p_ocev_rec1.created_by;
31 l_ocev_rec.creation_date := p_ocev_rec1.creation_date;
32 l_ocev_rec.last_updated_by := p_ocev_rec1.last_updated_by;
33 l_ocev_rec.last_update_date := p_ocev_rec1.last_update_date;
34 l_ocev_rec.last_update_login := p_ocev_rec1.last_update_login;
35 l_ocev_rec.sfwt_flag := p_ocev_rec2.sfwt_flag;
36 l_ocev_rec.seeded_flag := p_ocev_rec2.seeded_flag;
37 l_ocev_rec.application_id := p_ocev_rec2.application_id;
38 l_ocev_rec.comments := p_ocev_rec2.comments;
39 l_ocev_rec.enabled_yn := p_ocev_rec2.enabled_yn;
40 l_ocev_rec.attribute_category := p_ocev_rec2.attribute_category;
41 l_ocev_rec.attribute1 := p_ocev_rec2.attribute1;
42 l_ocev_rec.attribute2 := p_ocev_rec2.attribute2;
43 l_ocev_rec.attribute3 := p_ocev_rec2.attribute3;
44 l_ocev_rec.attribute4 := p_ocev_rec2.attribute4;
45 l_ocev_rec.attribute5 := p_ocev_rec2.attribute5;
46 l_ocev_rec.attribute6 := p_ocev_rec2.attribute6;
47 l_ocev_rec.attribute7 := p_ocev_rec2.attribute7;
48 l_ocev_rec.attribute8 := p_ocev_rec2.attribute8;
49 l_ocev_rec.attribute9 := p_ocev_rec2.attribute9;
50 l_ocev_rec.attribute10 := p_ocev_rec2.attribute10;
51 l_ocev_rec.attribute11 := p_ocev_rec2.attribute11;
52 l_ocev_rec.attribute12 := p_ocev_rec2.attribute12;
53 l_ocev_rec.attribute13 := p_ocev_rec2.attribute13;
54 l_ocev_rec.attribute14 := p_ocev_rec2.attribute14;
55 l_ocev_rec.attribute15 := p_ocev_rec2.attribute15;
56
57 IF (l_debug = 'Y') THEN
58 okc_debug.Log('1000: Leaving ',2);
59 okc_debug.Reset_Indentation;
60 END IF;
61
62 RETURN (l_ocev_rec);
63 END migrate_ocev;
64
65 FUNCTION migrate_oatv(p_oatv_rec1 IN oatv_rec_type,
66 p_oatv_rec2 IN oatv_rec_type)
67 RETURN oatv_rec_type IS
68 l_oatv_rec oatv_rec_type;
69 --
70 l_proc varchar2(72) := ' okc_outcome_pub.'||'migrate_oatv';
71 --
72
73 BEGIN
74
75 IF (l_debug = 'Y') THEN
76 okc_debug.Set_Indentation(l_proc);
77 okc_debug.Log('10: Entering ',2);
78 END IF;
79
80
81 l_oatv_rec.id := p_oatv_rec1.id;
82 l_oatv_rec.pdp_id := p_oatv_rec1.pdp_id;
83 l_oatv_rec.oce_id := p_oatv_rec1.oce_id;
84 l_oatv_rec.aae_id := p_oatv_rec1.aae_id;
85 l_oatv_rec.dnz_chr_id := p_oatv_rec1.dnz_chr_id;
86 l_oatv_rec.object_version_number := p_oatv_rec1.object_version_number;
87 l_oatv_rec.seeded_flag := p_oatv_rec1.seeded_flag;
88 l_oatv_rec.application_id := p_oatv_rec1.application_id;
89 l_oatv_rec.created_by := p_oatv_rec1.created_by;
90 l_oatv_rec.creation_date := p_oatv_rec1.creation_date;
91 l_oatv_rec.last_updated_by := p_oatv_rec1.last_updated_by;
92 l_oatv_rec.last_update_date := p_oatv_rec1.last_update_date;
93 l_oatv_rec.last_update_login := p_oatv_rec1.last_update_login;
94 l_oatv_rec.value := p_oatv_rec2.value;
95
96 IF (l_debug = 'Y') THEN
97 okc_debug.Log('1000: Leaving ',2);
98 okc_debug.Reset_Indentation;
99 END IF;
100
101 RETURN (l_oatv_rec);
102 END migrate_oatv;
103
104 PROCEDURE add_language IS
105 --
106 l_proc varchar2(72) := ' okc_outcome_pub.'||'add_language';
107 --
108
109 BEGIN
110
111 IF (l_debug = 'Y') THEN
112 okc_debug.Set_Indentation(l_proc);
113 okc_debug.Log('10: Entering ',2);
114 END IF;
115
116 okc_outcome_pvt.add_language;
117
118 IF (l_debug = 'Y') THEN
119 okc_debug.Log('1000: Leaving ',2);
120 okc_debug.Reset_Indentation;
121 END IF;
122
123 END;
124
125 --Object type procedure for insert
126 PROCEDURE create_outcomes_args(
127 p_api_version IN NUMBER,
128 p_init_msg_list IN VARCHAR2 ,
129 x_return_status OUT NOCOPY VARCHAR2,
130 x_msg_count OUT NOCOPY NUMBER,
131 x_msg_data OUT NOCOPY VARCHAR2,
132 p_ocev_rec IN ocev_rec_type,
133 p_oatv_tbl IN oatv_tbl_type,
134 x_ocev_rec OUT NOCOPY ocev_rec_type,
135 x_oatv_tbl OUT NOCOPY oatv_tbl_type) IS
136
137 l_api_name CONSTANT VARCHAR2(30) := 'create_outcomes_args';
138 l_return_status VARCHAR2(1);
139 --
140 l_proc varchar2(72) := ' okc_outcome_pub.'||'create_outcomes_args';
141 --
142
143 BEGIN
144
145 IF (l_debug = 'Y') THEN
146 okc_debug.Set_Indentation(l_proc);
147 okc_debug.Log('10: Entering ',2);
148 END IF;
149
150 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
151 p_init_msg_list,
152 '_PUB',
153 x_return_status);
154 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
155 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
156 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
157 raise OKC_API.G_EXCEPTION_ERROR;
158 END IF;
159
160 -- Call to Complex API procedure
161 okc_outcome_pvt.create_outcomes_args(
162 p_api_version,
163 p_init_msg_list,
164 x_return_status,
165 x_msg_count,
166 x_msg_data,
167 p_ocev_rec,
168 p_oatv_tbl,
169 x_ocev_rec,
170 x_oatv_tbl);
171 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
172 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
173 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
174 raise OKC_API.G_EXCEPTION_ERROR;
175 END IF;
176
177 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
178
179 IF (l_debug = 'Y') THEN
180 okc_debug.Log('1000: Leaving ',2);
181 okc_debug.Reset_Indentation;
182 END IF;
183
184 EXCEPTION
185 WHEN OKC_API.G_EXCEPTION_ERROR THEN
186 x_return_status := OKC_API.HANDLE_EXCEPTIONS
187 (l_api_name,
188 G_PKG_NAME,
189 'OKC_API.G_RET_STS_ERROR',
190 x_msg_count,
191 x_msg_data,
192 '_PUB');
193 IF (l_debug = 'Y') THEN
194 okc_debug.Log('2000: Leaving ',2);
195 okc_debug.Reset_Indentation;
196 END IF;
197 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
198 x_return_status := OKC_API.HANDLE_EXCEPTIONS
199 (l_api_name,
200 G_PKG_NAME,
201 'OKC_API.G_RET_STS_UNEXP_ERROR',
202 x_msg_count,
203 x_msg_data,
204 '_PUB');
205 IF (l_debug = 'Y') THEN
206 okc_debug.Log('3000: Leaving ',2);
207 okc_debug.Reset_Indentation;
208 END IF;
209 WHEN OTHERS THEN
210 x_return_status := OKC_API.HANDLE_EXCEPTIONS
211 (l_api_name,
212 G_PKG_NAME,
213 'OTHERS',
214 x_msg_count,
215 x_msg_data,
216 '_PUB');
217 IF (l_debug = 'Y') THEN
218 okc_debug.Log('4000: Leaving ',2);
219 okc_debug.Reset_Indentation;
220 END IF;
221 END create_outcomes_args;
222
223 --Object type procedure for update
224 PROCEDURE update_outcomes_args(
225 p_api_version IN NUMBER,
226 p_init_msg_list IN VARCHAR2 ,
227 x_return_status OUT NOCOPY VARCHAR2,
228 x_msg_count OUT NOCOPY NUMBER,
229 x_msg_data OUT NOCOPY VARCHAR2,
230 p_ocev_rec IN ocev_rec_type,
231 p_oatv_tbl IN oatv_tbl_type,
232 x_ocev_rec OUT NOCOPY ocev_rec_type,
233 x_oatv_tbl OUT NOCOPY oatv_tbl_type) IS
234
235 l_api_version CONSTANT NUMBER := 1;
236 l_api_name CONSTANT VARCHAR2(30) := 'update_outcomes_args';
237 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
238
239 --
240 l_proc varchar2(72) := ' okc_outcome_pub.'||'update_outcomes_args';
241 --
242
243 BEGIN
244
245 IF (l_debug = 'Y') THEN
246 okc_debug.Set_Indentation(l_proc);
247 okc_debug.Log('10: Entering ',2);
248 END IF;
249
250 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
251 p_init_msg_list,
252 '_PUB',
253 x_return_status);
254 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
255 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
256 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
257 raise OKC_API.G_EXCEPTION_ERROR;
258 END IF;
259
260 --Call to Complex API procedure
261 okc_outcome_pvt.update_outcomes_args(
262 p_api_version,
263 p_init_msg_list,
264 x_return_status,
265 x_msg_count,
266 x_msg_data,
267 p_ocev_rec,
268 p_oatv_tbl,
269 x_ocev_rec,
270 x_oatv_tbl);
271 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
272 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
273 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
274 raise OKC_API.G_EXCEPTION_ERROR;
275 END IF;
276
277 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
278
279 IF (l_debug = 'Y') THEN
280 okc_debug.Log('1000: Leaving ',2);
281 okc_debug.Reset_Indentation;
282 END IF;
283
284 EXCEPTION
285 WHEN OKC_API.G_EXCEPTION_ERROR THEN
286 x_return_status := OKC_API.HANDLE_EXCEPTIONS
287 (l_api_name,
288 G_PKG_NAME,
289 'OKC_API.G_RET_STS_ERROR',
290 x_msg_count,
291 x_msg_data,
292 '_PUB');
293 IF (l_debug = 'Y') THEN
294 okc_debug.Log('2000: Leaving ',2);
295 okc_debug.Reset_Indentation;
296 END IF;
297 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
298 x_return_status := OKC_API.HANDLE_EXCEPTIONS
299 (l_api_name,
300 G_PKG_NAME,
301 'OKC_API.G_RET_STS_UNEXP_ERROR',
302 x_msg_count,
303 x_msg_data,
304 '_PUB');
305 IF (l_debug = 'Y') THEN
306 okc_debug.Log('3000: Leaving ',2);
307 okc_debug.Reset_Indentation;
308 END IF;
309 WHEN OTHERS THEN
310 x_return_status := OKC_API.HANDLE_EXCEPTIONS
311 (l_api_name,
312 G_PKG_NAME,
313 'OTHERS',
314 x_msg_count,
315 x_msg_data,
316 '_PUB');
317 IF (l_debug = 'Y') THEN
318 okc_debug.Log('4000: Leaving ',2);
319 okc_debug.Reset_Indentation;
320 END IF;
321 END update_outcomes_args;
322
323 --Object type procedure for validate
324 PROCEDURE validate_outcomes_args(
325 p_api_version IN NUMBER,
326 p_init_msg_list IN VARCHAR2 ,
327 x_return_status OUT NOCOPY VARCHAR2,
328 x_msg_count OUT NOCOPY NUMBER,
329 x_msg_data OUT NOCOPY VARCHAR2,
330 p_ocev_rec IN ocev_rec_type,
331 p_oatv_tbl IN oatv_tbl_type) IS
332
333 l_api_version CONSTANT NUMBER := 1;
334 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_process_def';
335 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
336
337 --
338 l_proc varchar2(72) := ' okc_outcome_pub.'||'validate_outcomes_args';
339 --
340
341 BEGIN
342
343 IF (l_debug = 'Y') THEN
344 okc_debug.Set_Indentation(l_proc);
345 okc_debug.Log('10: Entering ',2);
346 END IF;
347
348 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
349 p_init_msg_list,
350 '_PUB',
351 x_return_status);
352 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
353 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
354 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
355 raise OKC_API.G_EXCEPTION_ERROR;
356 END IF;
357
358 okc_outcome_pvt.validate_outcomes_args(
359 p_api_version,
360 p_init_msg_list,
361 x_return_status,
362 x_msg_count,
363 x_msg_data,
364 p_ocev_rec,
365 p_oatv_tbl);
366 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
367 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
368 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
369 raise OKC_API.G_EXCEPTION_ERROR;
370 END IF;
371
372 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
373
374 IF (l_debug = 'Y') THEN
375 okc_debug.Log('1000: Leaving ',2);
376 okc_debug.Reset_Indentation;
377 END IF;
378
379 EXCEPTION
380 WHEN OKC_API.G_EXCEPTION_ERROR THEN
381 x_return_status := OKC_API.HANDLE_EXCEPTIONS
382 (l_api_name,
383 G_PKG_NAME,
384 'OKC_API.G_RET_STS_ERROR',
385 x_msg_count,
386 x_msg_data,
387 '_PUB');
388 IF (l_debug = 'Y') THEN
389 okc_debug.Log('2000: Leaving ',2);
390 okc_debug.Reset_Indentation;
391 END IF;
392 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
393 x_return_status := OKC_API.HANDLE_EXCEPTIONS
394 (l_api_name,
395 G_PKG_NAME,
396 'OKC_API.G_RET_STS_UNEXP_ERROR',
397 x_msg_count,
398 x_msg_data,
399 '_PUB');
400 IF (l_debug = 'Y') THEN
401 okc_debug.Log('3000: Leaving ',2);
402 okc_debug.Reset_Indentation;
403 END IF;
404 WHEN OTHERS THEN
405 x_return_status := OKC_API.HANDLE_EXCEPTIONS
406 (l_api_name,
407 G_PKG_NAME,
408 'OTHERS',
409 x_msg_count,
410 x_msg_data,
411 '_PUB');
412 IF (l_debug = 'Y') THEN
413 okc_debug.Log('4000: Leaving ',2);
414 okc_debug.Reset_Indentation;
415 END IF;
416 END validate_outcomes_args;
417
418 --Procedures for Outcomes
419
420 PROCEDURE create_outcome(p_api_version IN NUMBER,
421 p_init_msg_list IN VARCHAR2 ,
422 x_return_status OUT NOCOPY VARCHAR2,
423 x_msg_count OUT NOCOPY NUMBER,
424 x_msg_data OUT NOCOPY VARCHAR2,
425 p_ocev_rec IN ocev_rec_type,
426 x_ocev_rec OUT NOCOPY ocev_rec_type) IS
427
428 l_api_name CONSTANT VARCHAR2(30) := 'create_outcome';
429 l_api_version CONSTANT NUMBER := 1.0;
430 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
431 l_ocev_rec ocev_rec_type := p_ocev_rec;
432 --
433 l_proc varchar2(72) := ' okc_outcome_pub.'||'create_outcome';
434 --
435
436 BEGIN
437
438 IF (l_debug = 'Y') THEN
439 okc_debug.Set_Indentation(l_proc);
440 okc_debug.Log('10: Entering ',2);
441 END IF;
442
443 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
444 g_pkg_name,
445 p_init_msg_list,
446 l_api_version,
447 p_api_version,
448 '_PUB',
449 x_return_status);
450
451 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
452 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
453 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
454 RAISE OKC_API.G_EXCEPTION_ERROR;
455 END IF;
456
457 -- USER HOOK CALL FOR BEFORE, STARTS
458 g_ocev_rec := l_ocev_rec;
459
460 okc_util.call_user_hook(x_return_status => x_return_status,
461 p_package_name => g_pkg_name,
462 p_procedure_name => l_api_name,
463 p_before_after => 'B');
464 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
465 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
466 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
467 RAISE OKC_API.G_EXCEPTION_ERROR;
468 END IF;
469
470 --get values back from hook call
471 l_ocev_rec := migrate_ocev(l_ocev_rec, g_ocev_rec);
472
473 -- Call to procedure of complex API
474 okc_outcome_pvt.create_outcome(p_api_version => p_api_version,
475 p_init_msg_list => p_init_msg_list,
476 x_return_status => x_return_status,
477 x_msg_count => x_msg_count,
478 x_msg_data => x_msg_data,
479 p_ocev_rec => l_ocev_rec,
480 x_ocev_rec => x_ocev_rec);
481 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
482 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
483 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
484 raise OKC_API.G_EXCEPTION_ERROR;
485 END IF;
486
487 --USER HOOK CALL FOR AFTER, STARTS
488 g_ocev_rec := x_ocev_rec;
489
490 okc_util.call_user_hook(x_return_status => x_return_status,
491 p_package_name => g_pkg_name,
492 p_procedure_name => l_api_name,
493 p_before_after => 'A');
494
495 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
496 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
497 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
498 RAISE OKC_API.G_EXCEPTION_ERROR;
499 END IF;
500 --USER HOOK CALL FOR AFTER, ENDS
501
502 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
503
504
505 IF (l_debug = 'Y') THEN
506 okc_debug.Log('1000: Leaving ',2);
507 okc_debug.Reset_Indentation;
508 END IF;
509
510 EXCEPTION
511 WHEN OKC_API.G_EXCEPTION_ERROR THEN
512 x_return_status := OKC_API.HANDLE_EXCEPTIONS
513 (
514 l_api_name,
515 G_PKG_NAME,
516 'OKC_API.G_RET_STS_ERROR',
517 x_msg_count,
518 x_msg_data,
519 '_PUB'
520 );
521 IF (l_debug = 'Y') THEN
522 okc_debug.Log('2000: Leaving ',2);
523 okc_debug.Reset_Indentation;
524 END IF;
525
526 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
527 x_return_status := OKC_API.HANDLE_EXCEPTIONS
528 (
529 l_api_name,
530 G_PKG_NAME,
531 'OKC_API.G_RET_STS_UNEXP_ERROR',
532 x_msg_count,
533 x_msg_data,
534 '_PUB'
535 );
536 IF (l_debug = 'Y') THEN
537 okc_debug.Log('3000: Leaving ',2);
538 okc_debug.Reset_Indentation;
539 END IF;
540
541 WHEN OTHERS THEN
542 x_return_status := OKC_API.HANDLE_EXCEPTIONS
543 (
544 l_api_name,
545 G_PKG_NAME,
546 'OTHERS',
547 x_msg_count,
548 x_msg_data,
549 '_PUB'
550 );
551 IF (l_debug = 'Y') THEN
552 okc_debug.Log('4000: Leaving ',2);
553 okc_debug.Reset_Indentation;
554 END IF;
555 END create_outcome;
556
557 PROCEDURE create_outcome(p_api_version IN NUMBER,
558 p_init_msg_list IN VARCHAR2 ,
559 x_return_status OUT NOCOPY VARCHAR2,
560 x_msg_count OUT NOCOPY NUMBER,
561 x_msg_data OUT NOCOPY VARCHAR2,
562 p_ocev_tbl IN ocev_tbl_type,
563 x_ocev_tbl OUT NOCOPY ocev_tbl_type) IS
564
565 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
566 i NUMBER := 0;
567 --
568 l_proc varchar2(72) := ' okc_outcome_pub.'||'create_outcome';
569 --
570
571 BEGIN
572
573 IF (l_debug = 'Y') THEN
574 okc_debug.Set_Indentation(l_proc);
575 okc_debug.Log('10: Entering ',2);
576 END IF;
577
578 --Initialize the return status
579 x_return_status := OKC_API.G_RET_STS_SUCCESS;
580
581 IF p_ocev_tbl.COUNT > 0 THEN
582 i := p_ocev_tbl.FIRST;
583 LOOP
584 create_outcome(
585 p_api_version,
586 p_init_msg_list,
587 l_return_status,
588 x_msg_count,
589 x_msg_data,
590 p_ocev_tbl(i),
591 x_ocev_tbl(i));
592 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
593 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
594 x_return_status := l_return_status;
595 raise G_EXCEPTION_HALT_VALIDATION;
596 ELSE
597 x_return_status := l_return_status;
598 END IF;
599 END IF;
600 EXIT WHEN (i = p_ocev_tbl.LAST);
601 i := p_ocev_tbl.NEXT(i);
602 END LOOP;
603 END IF;
604
605 IF (l_debug = 'Y') THEN
606 okc_debug.Log('1000: Leaving ',2);
607 okc_debug.Reset_Indentation;
608 END IF;
609
610 EXCEPTION
611 WHEN G_EXCEPTION_HALT_VALIDATION THEN
612 NULL;
613 IF (l_debug = 'Y') THEN
614 okc_debug.Log('2000: Leaving ',2);
615 okc_debug.Reset_Indentation;
616 END IF;
617
618 WHEN OTHERS THEN
619 OKC_API.set_message(p_app_name => g_app_name,
620 p_msg_name => g_unexpected_error,
621 p_token1 => g_sqlcode_token,
622 p_token1_value => sqlcode,
623 p_token2 => g_sqlerrm_token,
624 p_token2_value => sqlerrm);
625 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
626 IF (l_debug = 'Y') THEN
627 okc_debug.Log('3000: Leaving ',2);
628 okc_debug.Reset_Indentation;
629 END IF;
630 END create_outcome;
631
632 PROCEDURE lock_outcome(p_api_version IN NUMBER,
633 p_init_msg_list IN VARCHAR2 ,
634 x_return_status OUT NOCOPY VARCHAR2,
635 x_msg_count OUT NOCOPY NUMBER,
636 x_msg_data OUT NOCOPY VARCHAR2,
637 p_ocev_rec IN ocev_rec_type) IS
638
639 l_api_name CONSTANT VARCHAR2(30) := 'lock_outcome';
640 l_api_version CONSTANT NUMBER := 1.0;
641 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
642 --
643 l_proc varchar2(72) := ' okc_outcome_pub.'||'lock_outcome';
644 --
645
646 BEGIN
647
648 IF (l_debug = 'Y') THEN
649 okc_debug.Set_Indentation(l_proc);
650 okc_debug.Log('10: Entering ',2);
651 END IF;
652
653 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
654 g_pkg_name,
655 p_init_msg_list,
656 l_api_version,
657 p_api_version,
658 '_PUB',
659 x_return_status);
660
661 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
662 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
663 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
664 RAISE OKC_API.G_EXCEPTION_ERROR;
665 END IF;
666
667 -- Call to procedure of complex API
668 okc_outcome_pvt.lock_outcome(p_api_version => p_api_version,
669 p_init_msg_list => p_init_msg_list,
670 x_return_status => x_return_status,
671 x_msg_count => x_msg_count,
672 x_msg_data => x_msg_data,
673 p_ocev_rec => p_ocev_rec);
674 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
675 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
676 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
677 RAISE OKC_API.G_EXCEPTION_ERROR;
678 END IF;
679
680 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
681
682
683 IF (l_debug = 'Y') THEN
684 okc_debug.Log('1000: Leaving ',2);
685 okc_debug.Reset_Indentation;
686 END IF;
687
688 EXCEPTION
689 WHEN OKC_API.G_EXCEPTION_ERROR THEN
690 x_return_status := OKC_API.HANDLE_EXCEPTIONS
691 (
692 l_api_name,
693 G_PKG_NAME,
694 'OKC_API.G_RET_STS_ERROR',
695 x_msg_count,
696 x_msg_data,
697 '_PUB'
698 );
699 IF (l_debug = 'Y') THEN
700 okc_debug.Log('2000: Leaving ',2);
701 okc_debug.Reset_Indentation;
702 END IF;
703
704 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
705 x_return_status := OKC_API.HANDLE_EXCEPTIONS
706 (
707 l_api_name,
708 G_PKG_NAME,
709 'OKC_API.G_RET_STS_UNEXP_ERROR',
710 x_msg_count,
711 x_msg_data,
712 '_PUB'
713 );
714 IF (l_debug = 'Y') THEN
715 okc_debug.Log('3000: Leaving ',2);
716 okc_debug.Reset_Indentation;
717 END IF;
718
719 WHEN OTHERS THEN
720 x_return_status := OKC_API.HANDLE_EXCEPTIONS
721 (
722 l_api_name,
723 G_PKG_NAME,
724 'OTHERS',
725 x_msg_count,
726 x_msg_data,
727 '_PUB'
728 );
729 IF (l_debug = 'Y') THEN
730 okc_debug.Log('4000: Leaving ',2);
731 okc_debug.Reset_Indentation;
732 END IF;
733 end lock_outcome;
734
735 PROCEDURE lock_outcome(p_api_version IN NUMBER,
736 p_init_msg_list IN VARCHAR2 ,
737 x_return_status OUT NOCOPY VARCHAR2,
738 x_msg_count OUT NOCOPY NUMBER,
739 x_msg_data OUT NOCOPY VARCHAR2,
740 p_ocev_tbl IN ocev_tbl_type) IS
741
742 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
743 i NUMBER := 0;
744 --
745 l_proc varchar2(72) := ' okc_outcome_pub.'||'lock_outcome';
746 --
747
748 BEGIN
749
750 IF (l_debug = 'Y') THEN
751 okc_debug.Set_Indentation(l_proc);
752 okc_debug.Log('10: Entering ',2);
753 END IF;
754
755 x_return_status := OKC_API.G_RET_STS_SUCCESS;
756 IF p_ocev_tbl.COUNT > 0 THEN
757 i := p_ocev_tbl.FIRST;
758 LOOP
759 lock_outcome(
760 p_api_version,
761 p_init_msg_list,
762 l_return_status,
763 x_msg_count,
764 x_msg_data,
765 p_ocev_tbl(i));
766 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
767 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
768 x_return_status := l_return_status;
769 raise G_EXCEPTION_HALT_VALIDATION;
770 ELSE
771 x_return_status := l_return_status;
772 END IF;
773 END IF;
774 EXIT WHEN (i = p_ocev_tbl.LAST);
775 i := p_ocev_tbl.NEXT(i);
776 END LOOP;
777 END IF;
778
779 IF (l_debug = 'Y') THEN
780 okc_debug.Log('1000: Leaving ',2);
781 okc_debug.Reset_Indentation;
782 END IF;
783
784 EXCEPTION
785 WHEN G_EXCEPTION_HALT_VALIDATION THEN
786 NULL;
787 IF (l_debug = 'Y') THEN
788 okc_debug.Log('2000: Leaving ',2);
789 okc_debug.Reset_Indentation;
790 END IF;
791
792 WHEN OTHERS THEN
793 OKC_API.set_message(p_app_name => g_app_name,
794 p_msg_name => g_unexpected_error,
795 p_token1 => g_sqlcode_token,
796 p_token1_value => sqlcode,
797 p_token2 => g_sqlerrm_token,
798 p_token2_value => sqlerrm);
799 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
800 IF (l_debug = 'Y') THEN
801 okc_debug.Log('3000: Leaving ',2);
802 okc_debug.Reset_Indentation;
803 END IF;
804 END lock_outcome;
805
806 PROCEDURE update_outcome(p_api_version IN NUMBER,
807 p_init_msg_list IN VARCHAR2 ,
808 x_return_status OUT NOCOPY VARCHAR2,
809 x_msg_count OUT NOCOPY NUMBER,
810 x_msg_data OUT NOCOPY VARCHAR2,
811 p_ocev_rec IN ocev_rec_type,
812 x_ocev_rec OUT NOCOPY ocev_rec_type) IS
813
814 l_api_name CONSTANT VARCHAR2(30) := 'update_outcome';
815 l_api_version CONSTANT NUMBER := 1.0;
816 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
817 l_ocev_rec ocev_rec_type := p_ocev_rec;
818 --
819 l_proc varchar2(72) := ' okc_outcome_pub.'||'update_outcome';
820 --
821
822 BEGIN
823
824 IF (l_debug = 'Y') THEN
825 okc_debug.Set_Indentation(l_proc);
826 okc_debug.Log('10: Entering ',2);
827 END IF;
828
829 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
830 g_pkg_name,
831 p_init_msg_list,
832 l_api_version,
833 p_api_version,
834 '_PUB',
835 x_return_status);
836
837 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
838 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
839 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
840 RAISE OKC_API.G_EXCEPTION_ERROR;
841 END IF;
842
843 -- USER HOOK CALL FOR BEFORE, STARTS
844 g_ocev_rec := l_ocev_rec;
845
846 okc_util.call_user_hook(x_return_status => x_return_status,
847 p_package_name => g_pkg_name,
848 p_procedure_name => l_api_name,
849 p_before_after => 'B');
850
851 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
852 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
853 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
854 RAISE OKC_API.G_EXCEPTION_ERROR;
855 END IF;
856
857 --get values back from hook call
858 l_ocev_rec := migrate_ocev(l_ocev_rec, g_ocev_rec);
859
860 -- Call to procedure of complex API
861 okc_outcome_pvt.update_outcome(p_api_version => p_api_version,
862 p_init_msg_list => p_init_msg_list,
863 x_return_status => x_return_status,
864 x_msg_count => x_msg_count,
865 x_msg_data => x_msg_data,
866 p_ocev_rec => l_ocev_rec,
867 x_ocev_rec => x_ocev_rec);
868 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
869 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
870 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
871 RAISE OKC_API.G_EXCEPTION_ERROR;
872 END IF;
873
874 --USER HOOK CALL FOR AFTER, STARTS
875 g_ocev_rec := x_ocev_rec;
876
877 okc_util.call_user_hook(x_return_status => x_return_status,
878 p_package_name => g_pkg_name,
879 p_procedure_name => l_api_name,
880 p_before_after => 'A');
881
882 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
883 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
884 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
885 RAISE OKC_API.G_EXCEPTION_ERROR;
886 END IF;
887 --USER HOOK CALL FOR AFTER, ENDS
888
889 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
890
891
892 IF (l_debug = 'Y') THEN
893 okc_debug.Log('1000: Leaving ',2);
894 okc_debug.Reset_Indentation;
895 END IF;
896
897 EXCEPTION
898 WHEN OKC_API.G_EXCEPTION_ERROR THEN
899 x_return_status := OKC_API.HANDLE_EXCEPTIONS
900 (
901 l_api_name,
902 G_PKG_NAME,
903 'OKC_API.G_RET_STS_ERROR',
904 x_msg_count,
905 x_msg_data,
906 '_PUB'
907 );
908 IF (l_debug = 'Y') THEN
909 okc_debug.Log('2000: Leaving ',2);
910 okc_debug.Reset_Indentation;
911 END IF;
912
913 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
914 x_return_status := OKC_API.HANDLE_EXCEPTIONS
915 (
916 l_api_name,
917 G_PKG_NAME,
918 'OKC_API.G_RET_STS_UNEXP_ERROR',
919 x_msg_count,
920 x_msg_data,
921 '_PUB'
922 );
923 IF (l_debug = 'Y') THEN
924 okc_debug.Log('3000: Leaving ',2);
925 okc_debug.Reset_Indentation;
926 END IF;
927
928 WHEN OTHERS THEN
929 x_return_status := OKC_API.HANDLE_EXCEPTIONS
930 (
931 l_api_name,
932 G_PKG_NAME,
933 'OTHERS',
934 x_msg_count,
935 x_msg_data,
936 '_PUB'
937 );
938 IF (l_debug = 'Y') THEN
939 okc_debug.Log('4000: Leaving ',2);
940 okc_debug.Reset_Indentation;
941 END IF;
942 end update_outcome;
943
944 PROCEDURE update_outcome(p_api_version IN NUMBER,
945 p_init_msg_list IN VARCHAR2 ,
946 x_return_status OUT NOCOPY VARCHAR2,
947 x_msg_count OUT NOCOPY NUMBER,
948 x_msg_data OUT NOCOPY VARCHAR2,
949 p_ocev_tbl IN ocev_tbl_type,
950 x_ocev_tbl OUT NOCOPY ocev_tbl_type) IS
951
952 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
953 i NUMBER := 0;
954 --
955 l_proc varchar2(72) := ' okc_outcome_pub.'||'update_outcome';
956 --
957
958 BEGIN
959
960 IF (l_debug = 'Y') THEN
961 okc_debug.Set_Indentation(l_proc);
962 okc_debug.Log('10: Entering ',2);
963 END IF;
964
965 x_return_status := OKC_API.G_RET_STS_SUCCESS;
966 IF p_ocev_tbl.COUNT > 0 THEN
967 i := p_ocev_tbl.FIRST;
968 LOOP
969 update_outcome(
970 p_api_version,
971 p_init_msg_list,
972 l_return_status,
973 x_msg_count,
974 x_msg_data,
975 p_ocev_tbl(i),
976 x_ocev_tbl(i));
977 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
978 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
979 x_return_status := l_return_status;
980 raise G_EXCEPTION_HALT_VALIDATION;
981 ELSE
982 x_return_status := l_return_status;
983 END IF;
984 END IF;
985 EXIT WHEN (i = p_ocev_tbl.LAST);
986 i := p_ocev_tbl.NEXT(i);
987 END LOOP;
988 END IF;
989
990 IF (l_debug = 'Y') THEN
991 okc_debug.Log('1000: Leaving ',2);
992 okc_debug.Reset_Indentation;
993 END IF;
994
995 EXCEPTION
996 WHEN G_EXCEPTION_HALT_VALIDATION THEN
997 NULL;
998 IF (l_debug = 'Y') THEN
999 okc_debug.Log('2000: Leaving ',2);
1000 okc_debug.Reset_Indentation;
1001 END IF;
1002
1003 WHEN OTHERS THEN
1004 OKC_API.set_message(p_app_name => g_app_name,
1005 p_msg_name => g_unexpected_error,
1006 p_token1 => g_sqlcode_token,
1007 p_token1_value => sqlcode,
1008 p_token2 => g_sqlerrm_token,
1009 p_token2_value => sqlerrm);
1010 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1011 IF (l_debug = 'Y') THEN
1012 okc_debug.Log('3000: Leaving ',2);
1013 okc_debug.Reset_Indentation;
1014 END IF;
1015 END update_outcome;
1016
1017 PROCEDURE delete_outcome(p_api_version IN NUMBER,
1018 p_init_msg_list IN VARCHAR2 ,
1019 x_return_status OUT NOCOPY VARCHAR2,
1020 x_msg_count OUT NOCOPY NUMBER,
1021 x_msg_data OUT NOCOPY VARCHAR2,
1022 p_ocev_rec IN ocev_rec_type) IS
1023
1024 l_api_name CONSTANT VARCHAR2(30) := 'delete_outcome';
1025 l_api_version CONSTANT NUMBER := 1.0;
1026 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1027 l_ocev_rec ocev_rec_type := p_ocev_rec;
1028 --
1029 l_proc varchar2(72) := ' okc_outcome_pub.'||'delete_outcome';
1030 --
1031
1032 BEGIN
1033
1034 IF (l_debug = 'Y') THEN
1035 okc_debug.Set_Indentation(l_proc);
1036 okc_debug.Log('10: Entering ',2);
1037 END IF;
1038
1039 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1040 g_pkg_name,
1041 p_init_msg_list,
1042 l_api_version,
1043 p_api_version,
1044 '_PUB',
1045 x_return_status);
1046
1047 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1048 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1049 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1050 RAISE OKC_API.G_EXCEPTION_ERROR;
1051 END IF;
1052
1053 -- USER HOOK CALL FOR BEFORE, STARTS
1054 g_ocev_rec := l_ocev_rec;
1055
1056 okc_util.call_user_hook(x_return_status => x_return_status,
1057 p_package_name => g_pkg_name,
1058 p_procedure_name => l_api_name,
1059 p_before_after => 'B');
1060 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1061 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1062 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1063 RAISE OKC_API.G_EXCEPTION_ERROR;
1064 END IF;
1065
1066 --get values back from hook call
1067 l_ocev_rec := migrate_ocev(l_ocev_rec, g_ocev_rec);
1068
1069 -- Call to procedure of complex API
1070 okc_outcome_pvt.delete_outcome(p_api_version => p_api_version,
1071 p_init_msg_list => p_init_msg_list,
1072 x_return_status => x_return_status,
1073 x_msg_count => x_msg_count,
1074 x_msg_data => x_msg_data,
1075 p_ocev_rec => l_ocev_rec);
1076 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1077 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1078 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1079 RAISE OKC_API.G_EXCEPTION_ERROR;
1080 END IF;
1081
1082 --USER HOOK CALL FOR AFTER, STARTS
1083 okc_util.call_user_hook(x_return_status => x_return_status,
1084 p_package_name => g_pkg_name,
1085 p_procedure_name => l_api_name,
1086 p_before_after => 'A');
1087
1088 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1089 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1090 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1091 RAISE OKC_API.G_EXCEPTION_ERROR;
1092 END IF;
1093 --USER HOOK CALL FOR AFTER, ENDS
1094
1095 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1096
1097
1098 IF (l_debug = 'Y') THEN
1099 okc_debug.Log('1000: Leaving ',2);
1100 okc_debug.Reset_Indentation;
1101 END IF;
1102
1103 EXCEPTION
1104 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1105 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1106 (
1107 l_api_name,
1108 G_PKG_NAME,
1109 'OKC_API.G_RET_STS_ERROR',
1110 x_msg_count,
1111 x_msg_data,
1112 '_PUB'
1113 );
1114 IF (l_debug = 'Y') THEN
1115 okc_debug.Log('2000: Leaving ',2);
1116 okc_debug.Reset_Indentation;
1117 END IF;
1118
1119 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1120 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1121 (
1122 l_api_name,
1123 G_PKG_NAME,
1124 'OKC_API.G_RET_STS_UNEXP_ERROR',
1125 x_msg_count,
1126 x_msg_data,
1127 '_PUB'
1128 );
1129 IF (l_debug = 'Y') THEN
1130 okc_debug.Log('3000: Leaving ',2);
1131 okc_debug.Reset_Indentation;
1132 END IF;
1133
1134 WHEN OTHERS THEN
1135 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1136 (
1137 l_api_name,
1138 G_PKG_NAME,
1139 'OTHERS',
1140 x_msg_count,
1141 x_msg_data,
1142 '_PUB'
1143 );
1144 IF (l_debug = 'Y') THEN
1145 okc_debug.Log('4000: Leaving ',2);
1146 okc_debug.Reset_Indentation;
1147 END IF;
1148 end delete_outcome;
1149
1150 PROCEDURE delete_outcome(p_api_version IN NUMBER,
1151 p_init_msg_list IN VARCHAR2 ,
1152 x_return_status OUT NOCOPY VARCHAR2,
1153 x_msg_count OUT NOCOPY NUMBER,
1154 x_msg_data OUT NOCOPY VARCHAR2,
1155 p_ocev_tbl IN ocev_tbl_type) IS
1156
1157 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1158 i NUMBER := 0;
1159 --
1160 l_proc varchar2(72) := ' okc_outcome_pub.'||'delete_outcome';
1161 --
1162
1163 BEGIN
1164
1165 IF (l_debug = 'Y') THEN
1166 okc_debug.Set_Indentation(l_proc);
1167 okc_debug.Log('10: Entering ',2);
1168 END IF;
1169
1170 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1171 IF p_ocev_tbl.COUNT > 0 THEN
1172 i := p_ocev_tbl.FIRST;
1173 LOOP
1174 delete_outcome(
1175 p_api_version,
1176 p_init_msg_list,
1177 l_return_status,
1178 x_msg_count,
1179 x_msg_data,
1180 p_ocev_tbl(i));
1181 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1182 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1183 x_return_status := l_return_status;
1184 raise G_EXCEPTION_HALT_VALIDATION;
1185 ELSE
1186 x_return_status := l_return_status;
1187 END IF;
1188 END IF;
1189 EXIT WHEN (i = p_ocev_tbl.LAST);
1190 i := p_ocev_tbl.NEXT(i);
1191 END LOOP;
1192 END IF;
1193
1194 IF (l_debug = 'Y') THEN
1195 okc_debug.Log('1000: Leaving ',2);
1196 okc_debug.Reset_Indentation;
1197 END IF;
1198
1199 EXCEPTION
1200 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1201 NULL;
1202 IF (l_debug = 'Y') THEN
1203 okc_debug.Log('2000: Leaving ',2);
1204 okc_debug.Reset_Indentation;
1205 END IF;
1206
1207 WHEN OTHERS THEN
1208 OKC_API.set_message(p_app_name => g_app_name,
1209 p_msg_name => g_unexpected_error,
1210 p_token1 => g_sqlcode_token,
1211 p_token1_value => sqlcode,
1212 p_token2 => g_sqlerrm_token,
1213 p_token2_value => sqlerrm);
1214 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1215 IF (l_debug = 'Y') THEN
1216 okc_debug.Log('3000: Leaving ',2);
1217 okc_debug.Reset_Indentation;
1218 END IF;
1219 END delete_outcome;
1220
1221 PROCEDURE validate_outcome(p_api_version IN NUMBER,
1222 p_init_msg_list IN VARCHAR2 ,
1223 x_return_status OUT NOCOPY VARCHAR2,
1224 x_msg_count OUT NOCOPY NUMBER,
1225 x_msg_data OUT NOCOPY VARCHAR2,
1226 p_ocev_rec IN ocev_rec_type) IS
1227
1228 l_api_name CONSTANT VARCHAR2(30) := 'validate_outcome';
1229 l_api_version CONSTANT NUMBER := 1.0;
1230 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1231 l_ocev_rec ocev_rec_type := p_ocev_rec;
1232 --
1233 l_proc varchar2(72) := ' okc_outcome_pub.'||'validate_outcome';
1234 --
1235
1236 BEGIN
1237
1238 IF (l_debug = 'Y') THEN
1239 okc_debug.Set_Indentation(l_proc);
1240 okc_debug.Log('10: Entering ',2);
1241 END IF;
1242
1243 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1244 g_pkg_name,
1245 p_init_msg_list,
1246 l_api_version,
1247 p_api_version,
1248 '_PUB',
1249 x_return_status);
1250
1251 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1252 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1253 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1254 RAISE OKC_API.G_EXCEPTION_ERROR;
1255 END IF;
1256
1257 -- USER HOOK CALL FOR BEFORE, STARTS
1258 g_ocev_rec := l_ocev_rec;
1259
1260 okc_util.call_user_hook(x_return_status => x_return_status,
1261 p_package_name => g_pkg_name,
1262 p_procedure_name => l_api_name,
1263 p_before_after => 'B');
1264
1265 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1266 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1267 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1268 RAISE OKC_API.G_EXCEPTION_ERROR;
1269 END IF;
1270
1271 --get values back from hook call
1272 l_ocev_rec := migrate_ocev(l_ocev_rec, g_ocev_rec);
1273
1274 -- Call to procedure of complex API
1275 okc_outcome_pvt.validate_outcome(p_api_version => p_api_version,
1276 p_init_msg_list => p_init_msg_list,
1277 x_return_status => x_return_status,
1278 x_msg_count => x_msg_count,
1279 x_msg_data => x_msg_data,
1280 p_ocev_rec => l_ocev_rec);
1281 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1282 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1283 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1284 RAISE OKC_API.G_EXCEPTION_ERROR;
1285 END IF;
1286
1287 --USER HOOK CALL FOR AFTER, STARTS
1288
1289 okc_util.call_user_hook(x_return_status => x_return_status,
1290 p_package_name => g_pkg_name,
1291 p_procedure_name => l_api_name,
1292 p_before_after => 'A');
1293
1294 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1295 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1296 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1297 RAISE OKC_API.G_EXCEPTION_ERROR;
1298 END IF;
1299 --USER HOOK CALL FOR AFTER, ENDS
1300
1301 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1302
1303 IF (l_debug = 'Y') THEN
1304 okc_debug.Log('1000: Leaving ',2);
1305 okc_debug.Reset_Indentation;
1306 END IF;
1307
1308 EXCEPTION
1309 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1310 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1311 (
1312 l_api_name,
1313 G_PKG_NAME,
1314 'OKC_API.G_RET_STS_ERROR',
1315 x_msg_count,
1316 x_msg_data,
1317 '_PUB'
1318 );
1319 IF (l_debug = 'Y') THEN
1320 okc_debug.Log('2000: Leaving ',2);
1321 okc_debug.Reset_Indentation;
1322 END IF;
1323
1324 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1325 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1326 (
1327 l_api_name,
1328 G_PKG_NAME,
1329 'OKC_API.G_RET_STS_UNEXP_ERROR',
1330 x_msg_count,
1331 x_msg_data,
1332 '_PUB'
1333 );
1334 IF (l_debug = 'Y') THEN
1335 okc_debug.Log('3000: Leaving ',2);
1336 okc_debug.Reset_Indentation;
1337 END IF;
1338
1339 WHEN OTHERS THEN
1340 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1341 (
1342 l_api_name,
1343 G_PKG_NAME,
1344 'OTHERS',
1345 x_msg_count,
1346 x_msg_data,
1347 '_PUB'
1348 );
1349 IF (l_debug = 'Y') THEN
1350 okc_debug.Log('4000: Leaving ',2);
1351 okc_debug.Reset_Indentation;
1352 END IF;
1353 END validate_outcome;
1354
1355 PROCEDURE validate_outcome(p_api_version IN NUMBER,
1356 p_init_msg_list IN VARCHAR2 ,
1357 x_return_status OUT NOCOPY VARCHAR2,
1358 x_msg_count OUT NOCOPY NUMBER,
1359 x_msg_data OUT NOCOPY VARCHAR2,
1360 p_ocev_tbl IN ocev_tbl_type) IS
1361 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1362 i NUMBER := 0;
1363 --
1364 l_proc varchar2(72) := ' okc_outcome_pub.'||'validate_outcome';
1365 --
1366
1367 BEGIN
1368
1369 IF (l_debug = 'Y') THEN
1370 okc_debug.Set_Indentation(l_proc);
1371 okc_debug.Log('10: Entering ',2);
1372 END IF;
1373
1374 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1375 IF p_ocev_tbl.COUNT > 0 THEN
1376 i := p_ocev_tbl.FIRST;
1377 LOOP
1378 validate_outcome(
1379 p_api_version,
1380 p_init_msg_list,
1381 l_return_status,
1382 x_msg_count,
1383 x_msg_data,
1384 p_ocev_tbl(i));
1385 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1386 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1387 x_return_status := l_return_status;
1388 raise G_EXCEPTION_HALT_VALIDATION;
1389 ELSE
1390 x_return_status := l_return_status;
1391 END IF;
1392 END IF;
1393 EXIT WHEN (i = p_ocev_tbl.LAST);
1394 i := p_ocev_tbl.NEXT(i);
1395 END LOOP;
1396 END IF;
1397
1398 IF (l_debug = 'Y') THEN
1399 okc_debug.Log('1000: Leaving ',2);
1400 okc_debug.Reset_Indentation;
1401 END IF;
1402
1403 EXCEPTION
1404 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1405 NULL;
1406 IF (l_debug = 'Y') THEN
1407 okc_debug.Log('2000: Leaving ',2);
1408 okc_debug.Reset_Indentation;
1409 END IF;
1410
1411 WHEN OTHERS THEN
1412 OKC_API.set_message(p_app_name => g_app_name,
1413 p_msg_name => g_unexpected_error,
1414 p_token1 => g_sqlcode_token,
1415 p_token1_value => sqlcode,
1416 p_token2 => g_sqlerrm_token,
1417 p_token2_value => sqlerrm);
1418 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1419 IF (l_debug = 'Y') THEN
1420 okc_debug.Log('3000: Leaving ',2);
1421 okc_debug.Reset_Indentation;
1422 END IF;
1423 END validate_outcome;
1424
1425 --Procedures for Outcome Arguments
1426
1427 PROCEDURE create_out_arg(p_api_version IN NUMBER,
1428 p_init_msg_list IN VARCHAR2 ,
1429 x_return_status OUT NOCOPY VARCHAR2,
1430 x_msg_count OUT NOCOPY NUMBER,
1431 x_msg_data OUT NOCOPY VARCHAR2,
1432 p_oatv_rec IN oatv_rec_type,
1433 x_oatv_rec OUT NOCOPY oatv_rec_type) IS
1434
1435 l_api_name CONSTANT VARCHAR2(30) := 'create_out_arg';
1436 l_api_version CONSTANT NUMBER := 1.0;
1437 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1438 l_oatv_rec oatv_rec_type := p_oatv_rec;
1439 --
1440 l_proc varchar2(72) := ' okc_outcome_pub.'||'create_out_arg';
1441 --
1442
1443 BEGIN
1444
1445 IF (l_debug = 'Y') THEN
1446 okc_debug.Set_Indentation(l_proc);
1447 okc_debug.Log('10: Entering ',2);
1448 END IF;
1449
1450 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1451 g_pkg_name,
1452 p_init_msg_list,
1453 l_api_version,
1454 p_api_version,
1455 '_PUB',
1456 x_return_status);
1457
1458 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1459 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1460 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1461 RAISE OKC_API.G_EXCEPTION_ERROR;
1462 END IF;
1463
1464 -- USER HOOK CALL FOR BEFORE, STARTS
1465 g_oatv_rec := l_oatv_rec;
1466
1467 okc_util.call_user_hook(x_return_status => x_return_status,
1468 p_package_name => g_pkg_name,
1469 p_procedure_name => l_api_name,
1470 p_before_after => 'B');
1471
1472 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1473 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1474 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1475 RAISE OKC_API.G_EXCEPTION_ERROR;
1476 END IF;
1477
1478 --get values back from hook call
1479 l_oatv_rec := migrate_oatv(l_oatv_rec, g_oatv_rec);
1480
1481 -- Call to procedure of complex API
1482 okc_outcome_pvt.create_out_arg(p_api_version => p_api_version,
1483 p_init_msg_list => p_init_msg_list,
1484 x_return_status => x_return_status,
1485 x_msg_count => x_msg_count,
1486 x_msg_data => x_msg_data,
1487 p_oatv_rec => l_oatv_rec,
1488 x_oatv_rec => x_oatv_rec);
1489 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1490 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1491 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1492 RAISE OKC_API.G_EXCEPTION_ERROR;
1493 END IF;
1494
1495 --USER HOOK CALL FOR AFTER, STARTS
1496 g_oatv_rec := x_oatv_rec;
1497
1498 okc_util.call_user_hook(x_return_status => x_return_status,
1499 p_package_name => g_pkg_name,
1500 p_procedure_name => l_api_name,
1501 p_before_after => 'A');
1502
1503 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1504 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1505 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1506 RAISE OKC_API.G_EXCEPTION_ERROR;
1507 END IF;
1508 --USER HOOK CALL FOR AFTER, ENDS
1509
1510 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1511
1512
1513 IF (l_debug = 'Y') THEN
1514 okc_debug.Log('1000: Leaving ',2);
1515 okc_debug.Reset_Indentation;
1516 END IF;
1517
1518 EXCEPTION
1519 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1520 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1521 (
1522 l_api_name,
1523 G_PKG_NAME,
1524 'OKC_API.G_RET_STS_ERROR',
1525 x_msg_count,
1526 x_msg_data,
1527 '_PUB'
1528 );
1529 IF (l_debug = 'Y') THEN
1530 okc_debug.Log('2000: Leaving ',2);
1531 okc_debug.Reset_Indentation;
1532 END IF;
1533
1534 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1535 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1536 (
1537 l_api_name,
1538 G_PKG_NAME,
1539 'OKC_API.G_RET_STS_UNEXP_ERROR',
1540 x_msg_count,
1541 x_msg_data,
1542 '_PUB'
1543 );
1544 IF (l_debug = 'Y') THEN
1545 okc_debug.Log('3000: Leaving ',2);
1546 okc_debug.Reset_Indentation;
1547 END IF;
1548
1549 WHEN OTHERS THEN
1550 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1551 (
1552 l_api_name,
1553 G_PKG_NAME,
1554 'OTHERS',
1555 x_msg_count,
1556 x_msg_data,
1557 '_PUB'
1558 );
1559 IF (l_debug = 'Y') THEN
1560 okc_debug.Log('4000: Leaving ',2);
1561 okc_debug.Reset_Indentation;
1562 END IF;
1563 end create_out_arg;
1564
1565 PROCEDURE create_out_arg(p_api_version IN NUMBER,
1566 p_init_msg_list IN VARCHAR2 ,
1567 x_return_status OUT NOCOPY VARCHAR2,
1568 x_msg_count OUT NOCOPY NUMBER,
1569 x_msg_data OUT NOCOPY VARCHAR2,
1570 p_oatv_tbl IN oatv_tbl_type,
1571 x_oatv_tbl OUT NOCOPY oatv_tbl_type) IS
1572
1573 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1574 i NUMBER := 0;
1575 --
1576 l_proc varchar2(72) := ' okc_outcome_pub.'||'create_out_arg';
1577 --
1578
1579 BEGIN
1580
1581 IF (l_debug = 'Y') THEN
1582 okc_debug.Set_Indentation(l_proc);
1583 okc_debug.Log('10: Entering ',2);
1584 END IF;
1585
1586 --Initialize the return status
1587 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1588
1589 IF p_oatv_tbl.COUNT > 0 THEN
1590 i := p_oatv_tbl.FIRST;
1591 LOOP
1592 create_out_arg(
1593 p_api_version,
1594 p_init_msg_list,
1595 l_return_status,
1596 x_msg_count,
1597 x_msg_data,
1598 p_oatv_tbl(i),
1599 x_oatv_tbl(i));
1600 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1601 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1602 x_return_status := l_return_status;
1603 raise G_EXCEPTION_HALT_VALIDATION;
1604 ELSE
1605 x_return_status := l_return_status;
1606 END IF;
1607 END IF;
1608 EXIT WHEN (i = p_oatv_tbl.LAST);
1609 i := p_oatv_tbl.NEXT(i);
1610 END LOOP;
1611 END IF;
1612
1613 IF (l_debug = 'Y') THEN
1614 okc_debug.Log('1000: Leaving ',2);
1615 okc_debug.Reset_Indentation;
1616 END IF;
1617
1618 EXCEPTION
1619 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1620 NULL;
1621 IF (l_debug = 'Y') THEN
1622 okc_debug.Log('2000: Leaving ',2);
1623 okc_debug.Reset_Indentation;
1624 END IF;
1625
1626 WHEN OTHERS THEN
1627 OKC_API.set_message(p_app_name => g_app_name,
1628 p_msg_name => g_unexpected_error,
1629 p_token1 => g_sqlcode_token,
1630 p_token1_value => sqlcode,
1631 p_token2 => g_sqlerrm_token,
1632 p_token2_value => sqlerrm);
1633 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1634 IF (l_debug = 'Y') THEN
1635 okc_debug.Log('3000: Leaving ',2);
1636 okc_debug.Reset_Indentation;
1637 END IF;
1638 END create_out_arg;
1639
1640 PROCEDURE lock_out_arg(p_api_version IN NUMBER,
1641 p_init_msg_list IN VARCHAR2 ,
1642 x_return_status OUT NOCOPY VARCHAR2,
1643 x_msg_count OUT NOCOPY NUMBER,
1644 x_msg_data OUT NOCOPY VARCHAR2,
1645 p_oatv_rec IN oatv_rec_type) IS
1646 l_api_name CONSTANT VARCHAR2(30) := 'lock_out_arg';
1647 l_api_version CONSTANT NUMBER := 1.0;
1648 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1649 l_oatv_rec oatv_rec_type := p_oatv_rec;
1650 --
1651 l_proc varchar2(72) := ' okc_outcome_pub.'||'lock_out_arg';
1652 --
1653
1654 BEGIN
1655
1656 IF (l_debug = 'Y') THEN
1657 okc_debug.Set_Indentation(l_proc);
1658 okc_debug.Log('10: Entering ',2);
1659 END IF;
1660
1661 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1662 g_pkg_name,
1663 p_init_msg_list,
1664 l_api_version,
1665 p_api_version,
1666 '_PUB',
1667 x_return_status);
1668
1669 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1670 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1671 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1672 RAISE OKC_API.G_EXCEPTION_ERROR;
1673 END IF;
1674
1675 -- Call to procedure of complex API
1676 okc_outcome_pvt.lock_out_arg(p_api_version => p_api_version,
1677 p_init_msg_list => p_init_msg_list,
1678 x_return_status => x_return_status,
1679 x_msg_count => x_msg_count,
1680 x_msg_data => x_msg_data,
1681 p_oatv_rec => l_oatv_rec);
1682
1683 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1684 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1685 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1686 RAISE OKC_API.G_EXCEPTION_ERROR;
1687 END IF;
1688
1689 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1690
1691
1692 IF (l_debug = 'Y') THEN
1693 okc_debug.Log('1000: Leaving ',2);
1694 okc_debug.Reset_Indentation;
1695 END IF;
1696
1697 EXCEPTION
1698 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1699 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1700 (
1701 l_api_name,
1702 G_PKG_NAME,
1703 'OKC_API.G_RET_STS_ERROR',
1704 x_msg_count,
1705 x_msg_data,
1706 '_PUB'
1707 );
1708 IF (l_debug = 'Y') THEN
1709 okc_debug.Log('2000: Leaving ',2);
1710 okc_debug.Reset_Indentation;
1711 END IF;
1712
1713 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1714 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1715 (
1716 l_api_name,
1717 G_PKG_NAME,
1718 'OKC_API.G_RET_STS_UNEXP_ERROR',
1719 x_msg_count,
1720 x_msg_data,
1721 '_PUB'
1722 );
1723 IF (l_debug = 'Y') THEN
1724 okc_debug.Log('3000: Leaving ',2);
1725 okc_debug.Reset_Indentation;
1726 END IF;
1727
1728 WHEN OTHERS THEN
1729 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1730 (
1731 l_api_name,
1732 G_PKG_NAME,
1733 'OTHERS',
1734 x_msg_count,
1735 x_msg_data,
1736 '_PUB'
1737 );
1738 IF (l_debug = 'Y') THEN
1739 okc_debug.Log('4000: Leaving ',2);
1740 okc_debug.Reset_Indentation;
1741 END IF;
1742 end lock_out_arg;
1743
1744 PROCEDURE lock_out_arg(p_api_version IN NUMBER,
1745 p_init_msg_list IN VARCHAR2 ,
1746 x_return_status OUT NOCOPY VARCHAR2,
1747 x_msg_count OUT NOCOPY NUMBER,
1748 x_msg_data OUT NOCOPY VARCHAR2,
1749 p_oatv_tbl IN oatv_tbl_type) IS
1750 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1751 i NUMBER := 0;
1752 --
1753 l_proc varchar2(72) := ' okc_outcome_pub.'||'lock_out_arg';
1754 --
1755
1756 BEGIN
1757
1758 IF (l_debug = 'Y') THEN
1759 okc_debug.Set_Indentation(l_proc);
1760 okc_debug.Log('10: Entering ',2);
1761 END IF;
1762
1763 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1764 IF p_oatv_tbl.COUNT > 0 THEN
1765 i := p_oatv_tbl.FIRST;
1766 LOOP
1767 lock_out_arg(
1768 p_api_version,
1769 p_init_msg_list,
1770 l_return_status,
1771 x_msg_count,
1772 x_msg_data,
1773 p_oatv_tbl(i));
1774 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1775 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1776 x_return_status := l_return_status;
1777 raise G_EXCEPTION_HALT_VALIDATION;
1778 ELSE
1779 x_return_status := l_return_status;
1780 END IF;
1781 END IF;
1782 EXIT WHEN (i = p_oatv_tbl.LAST);
1783 i := p_oatv_tbl.NEXT(i);
1784 END LOOP;
1785 END IF;
1786
1787 IF (l_debug = 'Y') THEN
1788 okc_debug.Log('1000: Leaving ',2);
1789 okc_debug.Reset_Indentation;
1790 END IF;
1791
1792 EXCEPTION
1793 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1794 NULL;
1795 IF (l_debug = 'Y') THEN
1796 okc_debug.Log('2000: Leaving ',2);
1797 okc_debug.Reset_Indentation;
1798 END IF;
1799
1800 WHEN OTHERS THEN
1801 OKC_API.set_message(p_app_name => g_app_name,
1802 p_msg_name => g_unexpected_error,
1803 p_token1 => g_sqlcode_token,
1804 p_token1_value => sqlcode,
1805 p_token2 => g_sqlerrm_token,
1806 p_token2_value => sqlerrm);
1807 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1808 IF (l_debug = 'Y') THEN
1809 okc_debug.Log('3000: Leaving ',2);
1810 okc_debug.Reset_Indentation;
1811 END IF;
1812 End lock_out_arg;
1813
1814 PROCEDURE update_out_arg(p_api_version IN NUMBER,
1815 p_init_msg_list IN VARCHAR2 ,
1816 x_return_status OUT NOCOPY VARCHAR2,
1817 x_msg_count OUT NOCOPY NUMBER,
1818 x_msg_data OUT NOCOPY VARCHAR2,
1819 p_oatv_rec IN oatv_rec_type,
1820 x_oatv_rec OUT NOCOPY oatv_rec_type) IS
1821
1822 l_api_name CONSTANT VARCHAR2(30) := 'update_out_arg';
1823 l_api_version CONSTANT NUMBER := 1.0;
1824 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1825 l_oatv_rec oatv_rec_type := p_oatv_rec;
1826 --
1827 l_proc varchar2(72) := ' okc_outcome_pub.'||'update_out_arg';
1828 --
1829
1830 BEGIN
1831
1832 IF (l_debug = 'Y') THEN
1833 okc_debug.Set_Indentation(l_proc);
1834 okc_debug.Log('10: Entering ',2);
1835 END IF;
1836
1837 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1838 g_pkg_name,
1839 p_init_msg_list,
1840 l_api_version,
1841 p_api_version,
1842 '_PUB',
1843 x_return_status);
1844 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1845 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1846 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1847 RAISE OKC_API.G_EXCEPTION_ERROR;
1848 END IF;
1849
1850 -- USER HOOK CALL FOR BEFORE, STARTS
1851 g_oatv_rec := l_oatv_rec;
1852
1853 okc_util.call_user_hook(x_return_status => x_return_status,
1854 p_package_name => g_pkg_name,
1855 p_procedure_name => l_api_name,
1856 p_before_after => 'B');
1857 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1858 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1859 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1860 RAISE OKC_API.G_EXCEPTION_ERROR;
1861 END IF;
1862
1863 --get values back from hook call
1864 l_oatv_rec := migrate_oatv(l_oatv_rec, g_oatv_rec);
1865
1866 -- Call to procedure of complex API
1867 okc_outcome_pvt.update_out_arg(p_api_version => p_api_version,
1868 p_init_msg_list => p_init_msg_list,
1869 x_return_status => x_return_status,
1870 x_msg_count => x_msg_count,
1871 x_msg_data => x_msg_data,
1872 p_oatv_rec => l_oatv_rec,
1873 x_oatv_rec => x_oatv_rec);
1874
1875 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1876 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1877 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1878 RAISE OKC_API.G_EXCEPTION_ERROR;
1879 END IF;
1880
1881 --USER HOOK CALL FOR AFTER, STARTS
1882 g_oatv_rec := x_oatv_rec;
1883
1884 okc_util.call_user_hook(x_return_status => x_return_status,
1885 p_package_name => g_pkg_name,
1886 p_procedure_name => l_api_name,
1887 p_before_after => 'A');
1888 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1889 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1890 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1891 RAISE OKC_API.G_EXCEPTION_ERROR;
1892 END IF;
1893 --USER HOOK CALL FOR AFTER, ENDS
1894
1895 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1896
1897
1898 IF (l_debug = 'Y') THEN
1899 okc_debug.Log('1000: Leaving ',2);
1900 okc_debug.Reset_Indentation;
1901 END IF;
1902
1903 EXCEPTION
1904 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1905 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1906 (
1907 l_api_name,
1908 G_PKG_NAME,
1909 'OKC_API.G_RET_STS_ERROR',
1910 x_msg_count,
1911 x_msg_data,
1912 '_PUB'
1913 );
1914 IF (l_debug = 'Y') THEN
1915 okc_debug.Log('2000: Leaving ',2);
1916 okc_debug.Reset_Indentation;
1917 END IF;
1918
1919 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1920 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1921 (
1922 l_api_name,
1923 G_PKG_NAME,
1924 'OKC_API.G_RET_STS_UNEXP_ERROR',
1925 x_msg_count,
1926 x_msg_data,
1927 '_PUB'
1928 );
1929 IF (l_debug = 'Y') THEN
1930 okc_debug.Log('3000: Leaving ',2);
1931 okc_debug.Reset_Indentation;
1932 END IF;
1933
1934 WHEN OTHERS THEN
1935 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1936 (
1937 l_api_name,
1938 G_PKG_NAME,
1939 'OTHERS',
1940 x_msg_count,
1941 x_msg_data,
1942 '_PUB'
1943 );
1944 IF (l_debug = 'Y') THEN
1945 okc_debug.Log('4000: Leaving ',2);
1946 okc_debug.Reset_Indentation;
1947 END IF;
1948 END update_out_arg;
1949
1950 PROCEDURE update_out_arg(p_api_version IN NUMBER,
1951 p_init_msg_list IN VARCHAR2 ,
1952 x_return_status OUT NOCOPY VARCHAR2,
1953 x_msg_count OUT NOCOPY NUMBER,
1954 x_msg_data OUT NOCOPY VARCHAR2,
1955 p_oatv_tbl IN oatv_tbl_type,
1956 x_oatv_tbl OUT NOCOPY oatv_tbl_type) IS
1957
1958 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1959 i NUMBER := 0;
1960 --
1961 l_proc varchar2(72) := ' okc_outcome_pub.'||'update_out_arg';
1962 --
1963
1964 BEGIN
1965
1966 IF (l_debug = 'Y') THEN
1967 okc_debug.Set_Indentation(l_proc);
1968 okc_debug.Log('10: Entering ',2);
1969 END IF;
1970
1971 --Initialize the return status
1972 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1973
1974 IF p_oatv_tbl.COUNT > 0 THEN
1975 i := p_oatv_tbl.FIRST;
1976 LOOP
1977 update_out_arg(
1978 p_api_version,
1979 p_init_msg_list,
1980 l_return_status,
1981 x_msg_count,
1982 x_msg_data,
1983 p_oatv_tbl(i),
1984 x_oatv_tbl(i));
1985 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1986 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1987 x_return_status := l_return_status;
1988 raise G_EXCEPTION_HALT_VALIDATION;
1989 ELSE
1990 x_return_status := l_return_status;
1991 END IF;
1992 END IF;
1993 EXIT WHEN (i = p_oatv_tbl.LAST);
1994 i := p_oatv_tbl.NEXT(i);
1995 END LOOP;
1996 END IF;
1997
1998 IF (l_debug = 'Y') THEN
1999 okc_debug.Log('1000: Leaving ',2);
2000 okc_debug.Reset_Indentation;
2001 END IF;
2002
2003 EXCEPTION
2004 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2005 NULL;
2006 IF (l_debug = 'Y') THEN
2007 okc_debug.Log('2000: Leaving ',2);
2008 okc_debug.Reset_Indentation;
2009 END IF;
2010
2011 WHEN OTHERS THEN
2012 OKC_API.set_message(p_app_name => g_app_name,
2013 p_msg_name => g_unexpected_error,
2014 p_token1 => g_sqlcode_token,
2015 p_token1_value => sqlcode,
2016 p_token2 => g_sqlerrm_token,
2017 p_token2_value => sqlerrm);
2018 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2019 IF (l_debug = 'Y') THEN
2020 okc_debug.Log('3000: Leaving ',2);
2021 okc_debug.Reset_Indentation;
2022 END IF;
2023 END update_out_arg;
2024
2025 PROCEDURE delete_out_arg(p_api_version IN NUMBER,
2026 p_init_msg_list IN VARCHAR2 ,
2027 x_return_status OUT NOCOPY VARCHAR2,
2028 x_msg_count OUT NOCOPY NUMBER,
2029 x_msg_data OUT NOCOPY VARCHAR2,
2030 p_oatv_rec IN oatv_rec_type) IS
2031
2032 l_api_name CONSTANT VARCHAR2(30) := 'delete_out_arg';
2033 l_api_version CONSTANT NUMBER := 1.0;
2034 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2035 l_oatv_rec oatv_rec_type := p_oatv_rec;
2036 --
2037 l_proc varchar2(72) := ' okc_outcome_pub.'||'delete_out_arg';
2038 --
2039
2040 BEGIN
2041
2042 IF (l_debug = 'Y') THEN
2043 okc_debug.Set_Indentation(l_proc);
2044 okc_debug.Log('10: Entering ',2);
2045 END IF;
2046
2047 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2048 g_pkg_name,
2049 p_init_msg_list,
2050 l_api_version,
2051 p_api_version,
2052 '_PUB',
2053 x_return_status);
2054
2055 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2056 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2057 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2058 RAISE OKC_API.G_EXCEPTION_ERROR;
2059 END IF;
2060
2061 -- USER HOOK CALL FOR BEFORE, STARTS
2062 g_oatv_rec := l_oatv_rec;
2063
2064 okc_util.call_user_hook(x_return_status => x_return_status,
2065 p_package_name => g_pkg_name,
2066 p_procedure_name => l_api_name,
2067 p_before_after => 'B');
2068 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2069 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2070 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2071 RAISE OKC_API.G_EXCEPTION_ERROR;
2072 END IF;
2073
2074 --get values back from hook call
2075 l_oatv_rec := migrate_oatv(l_oatv_rec, g_oatv_rec);
2076
2077 -- Call to procedure of complex API
2078 okc_outcome_pvt.delete_out_arg(p_api_version => p_api_version,
2079 p_init_msg_list => p_init_msg_list,
2080 x_return_status => x_return_status,
2081 x_msg_count => x_msg_count,
2082 x_msg_data => x_msg_data,
2083 p_oatv_rec => l_oatv_rec);
2084 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2085 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2086 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2087 RAISE OKC_API.G_EXCEPTION_ERROR;
2088 END IF;
2089
2090 --USER HOOK CALL FOR AFTER, STARTS
2091 okc_util.call_user_hook(x_return_status => x_return_status,
2092 p_package_name => g_pkg_name,
2093 p_procedure_name => l_api_name,
2094 p_before_after => 'A');
2095
2096 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2097 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2098 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2099 RAISE OKC_API.G_EXCEPTION_ERROR;
2100 END IF;
2101 --USER HOOK CALL FOR AFTER, ENDS
2102
2103 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2104
2105 IF (l_debug = 'Y') THEN
2106 okc_debug.Log('1000: Leaving ',2);
2107 okc_debug.Reset_Indentation;
2108 END IF;
2109
2110 EXCEPTION
2111 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2112 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2113 (
2114 l_api_name,
2115 G_PKG_NAME,
2116 'OKC_API.G_RET_STS_ERROR',
2117 x_msg_count,
2118 x_msg_data,
2119 '_PUB'
2120 );
2121 IF (l_debug = 'Y') THEN
2122 okc_debug.Log('2000: Leaving ',2);
2123 okc_debug.Reset_Indentation;
2124 END IF;
2125
2126 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2127 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2128 (
2129 l_api_name,
2130 G_PKG_NAME,
2131 'OKC_API.G_RET_STS_UNEXP_ERROR',
2132 x_msg_count,
2133 x_msg_data,
2134 '_PUB'
2135 );
2136 IF (l_debug = 'Y') THEN
2137 okc_debug.Log('3000: Leaving ',2);
2138 okc_debug.Reset_Indentation;
2139 END IF;
2140
2141 WHEN OTHERS THEN
2142 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2143 (
2144 l_api_name,
2145 G_PKG_NAME,
2146 'OTHERS',
2147 x_msg_count,
2148 x_msg_data,
2149 '_PUB'
2150 );
2151 IF (l_debug = 'Y') THEN
2152 okc_debug.Log('4000: Leaving ',2);
2153 okc_debug.Reset_Indentation;
2154 END IF;
2155 END delete_out_arg;
2156
2157 PROCEDURE delete_out_arg(p_api_version IN NUMBER,
2158 p_init_msg_list IN VARCHAR2 ,
2159 x_return_status OUT NOCOPY VARCHAR2,
2160 x_msg_count OUT NOCOPY NUMBER,
2161 x_msg_data OUT NOCOPY VARCHAR2,
2162 p_oatv_tbl IN oatv_tbl_type) IS
2163
2164 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2165 i NUMBER := 0;
2166 --
2167 l_proc varchar2(72) := ' okc_outcome_pub.'||'delete_out_arg';
2168 --
2169
2170 BEGIN
2171
2172 IF (l_debug = 'Y') THEN
2173 okc_debug.Set_Indentation(l_proc);
2174 okc_debug.Log('10: Entering ',2);
2175 END IF;
2176
2177 --Initialize the return status
2178 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2179
2180 IF p_oatv_tbl.COUNT > 0 THEN
2181 i := p_oatv_tbl.FIRST;
2182 LOOP
2183 delete_out_arg(
2184 p_api_version,
2185 p_init_msg_list,
2186 x_return_status,
2187 x_msg_count,
2188 x_msg_data,
2189 p_oatv_tbl(i));
2190 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2191 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2192 l_return_status := x_return_status;
2193 RAISE G_EXCEPTION_HALT_VALIDATION;
2194 ELSE
2195 l_return_status := x_return_status; -- record that there was an error
2196 END IF;
2197 END IF;
2198 EXIT WHEN (i = p_oatv_tbl.LAST);
2199 i := p_oatv_tbl.NEXT(i);
2200 END LOOP;
2201 END IF;
2202
2203 IF (l_debug = 'Y') THEN
2204 okc_debug.Log('1000: Leaving ',2);
2205 okc_debug.Reset_Indentation;
2206 END IF;
2207
2208 EXCEPTION
2209 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2210 NULL;
2211 IF (l_debug = 'Y') THEN
2212 okc_debug.Log('2000: Leaving ',2);
2213 okc_debug.Reset_Indentation;
2214 END IF;
2215
2216 WHEN OTHERS THEN
2217 OKC_API.set_message(p_app_name => g_app_name,
2218 p_msg_name => g_unexpected_error,
2219 p_token1 => g_sqlcode_token,
2220 p_token1_value => sqlcode,
2221 p_token2 => g_sqlerrm_token,
2222 p_token2_value => sqlerrm);
2223 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2224 IF (l_debug = 'Y') THEN
2225 okc_debug.Log('3000: Leaving ',2);
2226 okc_debug.Reset_Indentation;
2227 END IF;
2228 END delete_out_arg;
2229
2230 PROCEDURE validate_out_arg(p_api_version IN NUMBER,
2231 p_init_msg_list IN VARCHAR2 ,
2232 x_return_status OUT NOCOPY VARCHAR2,
2233 x_msg_count OUT NOCOPY NUMBER,
2234 x_msg_data OUT NOCOPY VARCHAR2,
2235 p_oatv_rec IN oatv_rec_type) IS
2236
2237 l_api_name CONSTANT VARCHAR2(30) := 'validate_out_arg';
2238 l_api_version CONSTANT NUMBER := 1.0;
2239 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2240 l_oatv_rec oatv_rec_type := p_oatv_rec;
2241 --
2242 l_proc varchar2(72) := ' okc_outcome_pub.'||'validate_out_arg';
2243 --
2244
2245 BEGIN
2246
2247 IF (l_debug = 'Y') THEN
2248 okc_debug.Set_Indentation(l_proc);
2249 okc_debug.Log('10: Entering ',2);
2250 END IF;
2251
2252 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2253 g_pkg_name,
2254 p_init_msg_list,
2255 l_api_version,
2256 p_api_version,
2257 '_PUB',
2258 x_return_status);
2259
2260 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2261 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2262 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2263 RAISE OKC_API.G_EXCEPTION_ERROR;
2264 END IF;
2265
2266 -- USER HOOK CALL FOR BEFORE, STARTS
2267 g_oatv_rec := l_oatv_rec;
2268
2269 okc_util.call_user_hook(x_return_status => x_return_status,
2270 p_package_name => g_pkg_name,
2271 p_procedure_name => l_api_name,
2272 p_before_after => 'B');
2273 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2274 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2275 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2276 RAISE OKC_API.G_EXCEPTION_ERROR;
2277 END IF;
2278
2279 --get values back from hook call
2280 l_oatv_rec := migrate_oatv(l_oatv_rec, g_oatv_rec);
2281
2282 -- Call to procedure of complex API
2283 okc_outcome_pvt.validate_out_arg(p_api_version => p_api_version,
2284 p_init_msg_list => p_init_msg_list,
2285 x_return_status => x_return_status,
2286 x_msg_count => x_msg_count,
2287 x_msg_data => x_msg_data,
2288 p_oatv_rec => l_oatv_rec);
2289
2290 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2291 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2292 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2293 RAISE OKC_API.G_EXCEPTION_ERROR;
2294 END IF;
2295
2296 --USER HOOK CALL FOR AFTER, STARTS
2297 okc_util.call_user_hook(x_return_status => x_return_status,
2298 p_package_name => g_pkg_name,
2299 p_procedure_name => l_api_name,
2300 p_before_after => 'A');
2301 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2302 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2303 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2304 RAISE OKC_API.G_EXCEPTION_ERROR;
2305 END IF;
2306 --USER HOOK CALL FOR AFTER, ENDS
2307
2308 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2309
2310
2311 IF (l_debug = 'Y') THEN
2312 okc_debug.Log('1000: Leaving ',2);
2313 okc_debug.Reset_Indentation;
2314 END IF;
2315
2316 EXCEPTION
2317 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2318 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2319 (
2320 l_api_name,
2321 G_PKG_NAME,
2322 'OKC_API.G_RET_STS_ERROR',
2323 x_msg_count,
2324 x_msg_data,
2325 '_PUB'
2326 );
2327 IF (l_debug = 'Y') THEN
2328 okc_debug.Log('2000: Leaving ',2);
2329 okc_debug.Reset_Indentation;
2330 END IF;
2331
2332 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2333 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2334 (
2335 l_api_name,
2336 G_PKG_NAME,
2337 'OKC_API.G_RET_STS_UNEXP_ERROR',
2338 x_msg_count,
2339 x_msg_data,
2340 '_PUB'
2341 );
2342 IF (l_debug = 'Y') THEN
2343 okc_debug.Log('3000: Leaving ',2);
2344 okc_debug.Reset_Indentation;
2345 END IF;
2346
2347 WHEN OTHERS THEN
2348 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2349 (
2350 l_api_name,
2351 G_PKG_NAME,
2352 'OTHERS',
2353 x_msg_count,
2354 x_msg_data,
2355 '_PUB'
2356 );
2357 IF (l_debug = 'Y') THEN
2358 okc_debug.Log('4000: Leaving ',2);
2359 okc_debug.Reset_Indentation;
2360 END IF;
2361 END validate_out_arg;
2362
2363 PROCEDURE validate_out_arg(p_api_version IN NUMBER,
2364 p_init_msg_list IN VARCHAR2 ,
2365 x_return_status OUT NOCOPY VARCHAR2,
2366 x_msg_count OUT NOCOPY NUMBER,
2367 x_msg_data OUT NOCOPY VARCHAR2,
2368 p_oatv_tbl IN oatv_tbl_type) IS
2369
2370 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2371 i NUMBER := 0;
2372 --
2373 l_proc varchar2(72) := ' okc_outcome_pub.'||'validate_out_arg';
2374 --
2375
2376 BEGIN
2377
2378 IF (l_debug = 'Y') THEN
2379 okc_debug.Set_Indentation(l_proc);
2380 okc_debug.Log('10: Entering ',2);
2381 END IF;
2382
2383 --Initialize the return status
2384 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2385
2386 IF p_oatv_tbl.COUNT > 0 THEN
2387 i := p_oatv_tbl.FIRST;
2388 LOOP
2389 validate_out_arg(
2390 p_api_version,
2391 p_init_msg_list,
2392 l_return_status,
2393 x_msg_count,
2394 x_msg_data,
2395 p_oatv_tbl(i));
2396 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2397 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2398 x_return_status := l_return_status;
2399 raise G_EXCEPTION_HALT_VALIDATION;
2400 ELSE
2401 x_return_status := l_return_status;
2402 END IF;
2403 END IF;
2404 EXIT WHEN (i = p_oatv_tbl.LAST);
2405 i := p_oatv_tbl.NEXT(i);
2406 END LOOP;
2407 END IF;
2408
2409 IF (l_debug = 'Y') THEN
2410 okc_debug.Log('1000: Leaving ',2);
2411 okc_debug.Reset_Indentation;
2412 END IF;
2413
2414 EXCEPTION
2415 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2416 NULL;
2417 IF (l_debug = 'Y') THEN
2418 okc_debug.Log('2000: Leaving ',2);
2419 okc_debug.Reset_Indentation;
2420 END IF;
2421
2422 WHEN OTHERS THEN
2423 OKC_API.set_message(p_app_name => g_app_name,
2424 p_msg_name => g_unexpected_error,
2425 p_token1 => g_sqlcode_token,
2426 p_token1_value => sqlcode,
2427 p_token2 => g_sqlerrm_token,
2428 p_token2_value => sqlerrm);
2429 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2430 IF (l_debug = 'Y') THEN
2431 okc_debug.Log('3000: Leaving ',2);
2432 okc_debug.Reset_Indentation;
2433 END IF;
2434 END validate_out_arg;
2435
2436 END okc_outcome_pub;