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