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