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