[Home] [Help]
PACKAGE BODY: APPS.OKC_ACTIONS_PVT
Source
1 PACKAGE BODY OKC_ACTIONS_PVT AS
2 /* $Header: OKCCACNB.pls 120.0 2005/05/25 22:57:10 appldev noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 /*********************** HAND-CODED ***************************************/
7
8 PROCEDURE ADD_LANGUAGE IS
9 BEGIN
10 okc_acn_pvt.add_language;
11 okc_aae_pvt.add_language;
12 END;
13
14 -- Object type procedure for create
15 PROCEDURE CREATE_ACTIONS(
16 p_api_version IN NUMBER,
17 p_init_msg_list IN VARCHAR2 ,
18 x_return_status OUT NOCOPY VARCHAR2,
19 x_msg_count OUT NOCOPY NUMBER,
20 x_msg_data OUT NOCOPY VARCHAR2,
21 p_acnv_rec IN acnv_rec_type,
22 p_aaev_tbl IN aaev_tbl_type,
23 x_acnv_rec OUT NOCOPY acnv_rec_type,
24 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
25
26 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
27 l_acnv_rec acnv_rec_type;
28 l_aaev_tbl aaev_tbl_type := p_aaev_tbl;
29 i NUMBER;
30 BEGIN
31
32 -- populate the master
33 create_actions(
34 p_api_version,
35 p_init_msg_list,
36 x_return_status,
37 x_msg_count,
38 x_msg_data,
39 p_acnv_rec,
40 x_acnv_rec);
41
42 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
43 RAISE G_EXCEPTION_HALT_VALIDATION;
44 ELSE
45 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
46 l_return_status := x_return_status;
47 END IF;
48 END IF;
49
50 -- populate the foreign key for the detail
51 IF (l_aaev_tbl.COUNT > 0) THEN
52 i:= l_aaev_tbl.FIRST;
53 LOOP
54 l_aaev_tbl(i).acn_id := x_acnv_rec.id;
55 EXIT WHEN(i = l_aaev_tbl.LAST);
56 i := l_aaev_tbl.NEXT(i);
57 END LOOP;
58 END IF;
59
60 -- populate the detail
61 create_act_atts(
62 p_api_version,
63 p_init_msg_list,
64 x_return_status,
65 x_msg_count,
66 x_msg_data,
67 p_aaev_tbl,
68 x_aaev_tbl);
69
70 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
71 RAISE G_EXCEPTION_HALT_VALIDATION;
72 ELSE
73 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
74 l_return_status := x_return_status;
75 END IF;
76 END IF;
77
78 EXCEPTION
79 WHEN G_EXCEPTION_HALT_VALIDATION THEN
80 NULL;
81
82 WHEN OTHERS THEN
83 OKC_API.SET_MESSAGE(p_app_name => g_app_name
84 ,p_msg_name => g_unexpected_error
85 ,p_token1 => g_sqlcode_token
86 ,p_token1_value => sqlcode
87 ,p_token2 => g_sqlerrm_token
88 ,p_token2_value => sqlerrm);
89 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
90
91 END CREATE_ACTIONS;
92
93 PROCEDURE CREATE_ACTIONS(
94 p_api_version IN NUMBER,
95 p_init_msg_list IN VARCHAR2 ,
96 x_return_status OUT NOCOPY VARCHAR2,
97 x_msg_count OUT NOCOPY NUMBER,
98 x_msg_data OUT NOCOPY VARCHAR2,
99 p_acnv_tbl IN acnv_tbl_type,
100 p_aaev_tbl IN aaev_tbl_type,
101 x_acnv_tbl OUT NOCOPY acnv_tbl_type,
102 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
103
104 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
105 l_acnv_tbl acnv_tbl_type;
106 l_aaev_tbl aaev_tbl_type := p_aaev_tbl;
107 i NUMBER;
108 BEGIN
109
110 -- populate the master
111 create_actions(
112 p_api_version,
113 p_init_msg_list,
114 x_return_status,
115 x_msg_count,
116 x_msg_data,
117 p_acnv_tbl,
118 x_acnv_tbl);
119
120 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
121 RAISE G_EXCEPTION_HALT_VALIDATION;
122 ELSE
123 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
124 l_return_status := x_return_status;
125 END IF;
126 END IF;
127
128 -- populate the foreign key for the detail
129 IF (l_aaev_tbl.COUNT > 0) THEN
130 i:= l_aaev_tbl.FIRST;
131 LOOP
132 l_aaev_tbl(i).acn_id := x_acnv_tbl(i).id;
133 EXIT WHEN(i = l_aaev_tbl.LAST);
134 i := l_aaev_tbl.NEXT(i);
135 END LOOP;
136 END IF;
137
138 -- populate the detail
139 create_act_atts(
140 p_api_version,
141 p_init_msg_list,
142 x_return_status,
143 x_msg_count,
144 x_msg_data,
145 p_aaev_tbl,
146 x_aaev_tbl);
147
148 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
149 RAISE G_EXCEPTION_HALT_VALIDATION;
150 ELSE
151 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
152 l_return_status := x_return_status;
153 END IF;
154 END IF;
155
156 EXCEPTION
157 WHEN G_EXCEPTION_HALT_VALIDATION THEN
158 NULL;
159
160 WHEN OTHERS THEN
161 OKC_API.SET_MESSAGE(p_app_name => g_app_name
162 ,p_msg_name => g_unexpected_error
163 ,p_token1 => g_sqlcode_token
164 ,p_token1_value => sqlcode
165 ,p_token2 => g_sqlerrm_token
166 ,p_token2_value => sqlerrm);
167 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
168
169 END CREATE_ACTIONS;
170
171 -- Object type procedure for update
172 PROCEDURE UPDATE_ACTIONS(
173 p_api_version IN NUMBER,
174 p_init_msg_list IN VARCHAR2 ,
175 x_return_status OUT NOCOPY VARCHAR2,
176 x_msg_count OUT NOCOPY NUMBER,
177 x_msg_data OUT NOCOPY VARCHAR2,
178 p_acnv_rec IN acnv_rec_type,
179 p_aaev_tbl IN aaev_tbl_type,
180 x_acnv_rec OUT NOCOPY acnv_rec_type,
181 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
182
183 --l_api_vsersion CONSTANT NUMBER := 1;
184 --l_api_name CONSTANT VARCHAR2(30) := 'V_update_pub_event';
185 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
186 BEGIN
187 -- Update the master
188 update_actions(
189 p_api_version,
190 p_init_msg_list,
191 x_return_status,
192 x_msg_count,
193 x_msg_data,
194 p_acnv_rec,
195 x_acnv_rec);
196
197 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
198 RAISE G_EXCEPTION_HALT_VALIDATION;
199 ELSE
200 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
201 l_return_status := x_return_status;
202 END IF;
203 END IF;
204
205 -- Update the detail
206 update_act_atts(
207 p_api_version,
208 p_init_msg_list,
209 x_return_status,
210 x_msg_count,
211 x_msg_data,
212 p_aaev_tbl,
213 x_aaev_tbl);
214
215 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
216 RAISE G_EXCEPTION_HALT_VALIDATION;
217 ELSE
218 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
219 l_return_status := x_return_status;
220 END IF;
221 END IF;
222
223 EXCEPTION
224 WHEN G_EXCEPTION_HALT_VALIDATION THEN
225 NULL;
226
227 WHEN OTHERS THEN
228 OKC_API.SET_MESSAGE(p_app_name => g_app_name
229 ,p_msg_name => g_unexpected_error
230 ,p_token1 => g_sqlcode_token
231 ,p_token1_value => sqlcode
232 ,p_token2 => g_sqlerrm_token
233 ,p_token2_value => sqlerrm);
234 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
235
236 END UPDATE_ACTIONS;
237
238 -- Object type procedure for validate
239 PROCEDURE VALIDATE_ACTIONS(
240 p_api_version IN NUMBER,
241 p_init_msg_list IN VARCHAR2 ,
242 x_return_status OUT NOCOPY VARCHAR2,
243 x_msg_count OUT NOCOPY NUMBER,
244 x_msg_data OUT NOCOPY VARCHAR2,
245 p_acnv_rec IN acnv_rec_type,
246 p_aaev_tbl IN aaev_tbl_type) IS
247
248 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
249 BEGIN
250 -- Validate the master
251 validate_actions(
252 p_api_version,
253 p_init_msg_list,
254 x_return_status,
255 x_msg_count,
256 x_msg_data,
257 p_acnv_rec);
258
259 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
260 RAISE G_EXCEPTION_HALT_VALIDATION;
261 ELSE
262 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
263 l_return_status := x_return_status;
264 END IF;
265 END IF;
266
267 -- Validate the detail
268 validate_act_atts(
269 p_api_version,
270 p_init_msg_list,
271 x_return_status,
272 x_msg_count,
273 x_msg_data,
274 p_aaev_tbl);
275
276 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
277 RAISE G_EXCEPTION_HALT_VALIDATION;
278 ELSE
279 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
280 l_return_status := x_return_status;
281 END IF;
282 END IF;
283
284 EXCEPTION
285 WHEN G_EXCEPTION_HALT_VALIDATION THEN
286 NULL;
287
288 WHEN OTHERS THEN
289 OKC_API.SET_MESSAGE(p_app_name => g_app_name
290 ,p_msg_name => g_unexpected_error
291 ,p_token1 => g_sqlcode_token
292 ,p_token1_value => sqlcode
293 ,p_token2 => g_sqlerrm_token
294 ,p_token2_value => sqlerrm);
295 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
296
297 END VALIDATE_ACTIONS;
298
299 -- Procedures for Actions
300 PROCEDURE CREATE_ACTIONS(
301 p_api_version IN NUMBER,
302 p_init_msg_list IN VARCHAR2 ,
303 x_return_status OUT NOCOPY VARCHAR2,
304 x_msg_count OUT NOCOPY NUMBER,
305 x_msg_data OUT NOCOPY VARCHAR2,
306 p_acnv_rec IN acnv_rec_type,
307 x_acnv_rec OUT NOCOPY acnv_rec_type) IS
308
309 BEGIN
310 okc_acn_pvt.insert_row(
311 p_api_version,
312 p_init_msg_list,
313 x_return_status,
314 x_msg_count,
315 x_msg_data,
316 p_acnv_rec,
317 x_acnv_rec);
318
319 END CREATE_ACTIONS;
320
321 PROCEDURE CREATE_ACTIONS(
322 p_api_version IN NUMBER,
323 p_init_msg_list IN VARCHAR2 ,
324 x_return_status OUT NOCOPY VARCHAR2,
325 x_msg_count OUT NOCOPY NUMBER,
326 x_msg_data OUT NOCOPY VARCHAR2,
327 p_acnv_tbl IN acnv_tbl_type,
328 x_acnv_tbl OUT NOCOPY acnv_tbl_type) IS
329
330 BEGIN
331
332 okc_acn_pvt.insert_row(
333 p_api_version,
334 p_init_msg_list,
335 x_return_status,
336 x_msg_count,
337 x_msg_data,
338 p_acnv_tbl,
339 x_acnv_tbl);
340
341 END CREATE_ACTIONS;
342
343 PROCEDURE LOCK_ACTIONS(
344 p_api_version IN NUMBER,
345 p_init_msg_list IN VARCHAR2 ,
346 x_return_status OUT NOCOPY VARCHAR2,
347 x_msg_count OUT NOCOPY NUMBER,
348 x_msg_data OUT NOCOPY VARCHAR2,
349 p_acnv_rec IN acnv_rec_type) IS
350
351 BEGIN
352 okc_acn_pvt.lock_row(
353 p_api_version,
354 p_init_msg_list,
355 x_return_status,
356 x_msg_count,
357 x_msg_data,
358 p_acnv_rec);
359
360 END LOCK_ACTIONS;
361
362 PROCEDURE LOCK_ACTIONS(
363 p_api_version IN NUMBER,
364 p_init_msg_list IN VARCHAR2 ,
365 x_return_status OUT NOCOPY VARCHAR2,
366 x_msg_count OUT NOCOPY NUMBER,
367 x_msg_data OUT NOCOPY VARCHAR2,
368 p_acnv_tbl IN acnv_tbl_type) IS
369
370 BEGIN
371 okc_acn_pvt.lock_row(
372 p_api_version,
373 p_init_msg_list,
374 x_return_status,
375 x_msg_count,
376 x_msg_data,
377 p_acnv_tbl);
378
379 END LOCK_ACTIONS;
380
381 PROCEDURE UPDATE_ACTIONS(
382 p_api_version IN NUMBER,
383 p_init_msg_list IN VARCHAR2 ,
384 x_return_status OUT NOCOPY VARCHAR2,
385 x_msg_count OUT NOCOPY NUMBER,
386 x_msg_data OUT NOCOPY VARCHAR2,
387 p_acnv_rec IN acnv_rec_type,
388 x_acnv_rec OUT NOCOPY acnv_rec_type) IS
389 l_aaev_tbl OKC_ACTIONS_PUB.aaev_tbl_type;
390 v_aaev_tbl OKC_ACTIONS_PUB.aaev_tbl_type;
391 l_api_version NUMBER := 1;
392 l_init_msg_list VARCHAR2(1) := 'T';
393 l_return_status varchar2(1):= OKC_API.G_RET_STS_SUCCESS;
394 l_msg_count number;
395 l_msg_data varchar2(200);
396 l_app_id1 NUMBER;
397 l_cnt NUMBER := 0;
398 CURSOR l_id_cur is
399 SELECT *
400 FROM okc_action_attributes_V
401 WHERE acn_id = p_acnv_rec.id;
402 BEGIN
403
404 SELECT application_id INTO l_app_id1
405 FROM OKC_ACTIONS_B
406 WHERE id = p_acnv_rec.id;
407
408 okc_acn_pvt.update_row(
409 p_api_version,
410 p_init_msg_list,
411 x_return_status,
412 x_msg_count,
413 x_msg_data,
414 p_acnv_rec,
415 x_acnv_rec);
416 IF x_return_status = 'S' THEN
417
418 IF nvl(p_acnv_rec.application_id,-99) <> nvl(l_app_id1,-99) THEN
419 l_aaev_tbl.delete;
420 v_aaev_tbl.delete;
421 FOR l_aaev_rec in l_id_cur
422 LOOP
423 l_cnt := l_cnt + 1;
424 l_aaev_tbl(l_cnt).id := l_aaev_rec.id;
425 l_aaev_tbl(l_cnt).application_id := p_acnv_rec.application_id;
426 l_aaev_tbl(l_cnt).object_Version_number := l_aaev_rec.object_Version_number;
427 l_aaev_tbl(l_cnt).aal_id := l_aaev_rec.aal_id;
428 l_aaev_tbl(l_cnt).ACN_ID := l_aaev_rec.ACN_ID;
429 l_aaev_tbl(l_cnt).ELEMENT_NAME := l_aaev_rec.ELEMENT_NAME;
430 l_aaev_tbl(l_cnt).NAME := l_aaev_rec.NAME;
431 l_aaev_tbl(l_cnt).SFWT_FLAG := l_aaev_rec.SFWT_FLAG;
432 l_aaev_tbl(l_cnt).DESCRIPTION := l_aaev_rec.DESCRIPTION;
433 l_aaev_tbl(l_cnt).DATA_TYPE := l_aaev_rec.DATA_TYPE;
434 l_aaev_tbl(l_cnt).LIST_YN := l_aaev_rec.LIST_YN;
435 l_aaev_tbl(l_cnt).VISIBLE_YN := l_aaev_rec.VISIBLE_YN;
436 l_aaev_tbl(l_cnt).DATE_OF_INTEREST_YN := l_aaev_rec.DATE_OF_INTEREST_YN;
437 l_aaev_tbl(l_cnt).FORMAT_MASK := l_aaev_rec.FORMAT_MASK;
438 l_aaev_tbl(l_cnt).MINIMUM_VALUE := l_aaev_rec.MINIMUM_VALUE;
439 l_aaev_tbl(l_cnt).MAXIMUM_VALUE := l_aaev_rec.MAXIMUM_VALUE;
440 l_aaev_tbl(l_cnt).SEEDED_FLAG := l_aaev_rec.SEEDED_FLAG;
441 l_aaev_tbl(l_cnt).ATTRIBUTE_CATEGORY := l_aaev_rec.ATTRIBUTE_CATEGORY;
442 l_aaev_tbl(l_cnt).ATTRIBUTE1 := l_aaev_rec.ATTRIBUTE1;
443 l_aaev_tbl(l_cnt).ATTRIBUTE2 := l_aaev_rec.ATTRIBUTE2;
444 l_aaev_tbl(l_cnt).ATTRIBUTE3 := l_aaev_rec.ATTRIBUTE3;
445 l_aaev_tbl(l_cnt).ATTRIBUTE4 := l_aaev_rec.ATTRIBUTE4;
446 l_aaev_tbl(l_cnt).ATTRIBUTE5 := l_aaev_rec.ATTRIBUTE5;
447 l_aaev_tbl(l_cnt).ATTRIBUTE6 := l_aaev_rec.ATTRIBUTE6;
448 l_aaev_tbl(l_cnt).ATTRIBUTE7 := l_aaev_rec.ATTRIBUTE7;
449 l_aaev_tbl(l_cnt).ATTRIBUTE8 := l_aaev_rec.ATTRIBUTE8;
450 l_aaev_tbl(l_cnt).ATTRIBUTE9 := l_aaev_rec.ATTRIBUTE9;
451 l_aaev_tbl(l_cnt).ATTRIBUTE10 := l_aaev_rec.ATTRIBUTE10;
452 l_aaev_tbl(l_cnt).ATTRIBUTE11 := l_aaev_rec.ATTRIBUTE11;
453 l_aaev_tbl(l_cnt).ATTRIBUTE12 := l_aaev_rec.ATTRIBUTE12;
454 l_aaev_tbl(l_cnt).ATTRIBUTE13 := l_aaev_rec.ATTRIBUTE13;
455 l_aaev_tbl(l_cnt).ATTRIBUTE14 := l_aaev_rec.ATTRIBUTE14;
456 l_aaev_tbl(l_cnt).ATTRIBUTE15 := l_aaev_rec.ATTRIBUTE15;
457 l_aaev_tbl(l_cnt).JTOT_OBJECT_CODE := l_aaev_rec.JTOT_OBJECT_CODE;
458 l_aaev_tbl(l_cnt).NAME_COLUMN := l_aaev_rec.NAME_COLUMN;
459 l_aaev_tbl(l_cnt).DESCRIPTION_COLUMN := l_aaev_rec.DESCRIPTION_COLUMN;
460 l_aaev_tbl(l_cnt).SOURCE_DOC_NUMBER_YN := l_aaev_rec.SOURCE_DOC_NUMBER_YN;
461 l_aaev_tbl(l_cnt).LAST_UPDATED_BY := l_aaev_rec.LAST_UPDATED_BY;
462 l_aaev_tbl(l_cnt).CREATED_BY := l_aaev_rec.CREATED_BY;
463 l_aaev_tbl(l_cnt).CREATION_DATE := l_aaev_rec.CREATION_DATE;
464 l_aaev_tbl(l_cnt).LAST_UPDATE_DATE := l_aaev_rec.LAST_UPDATE_DATE;
465 l_aaev_tbl(l_cnt).LAST_UPDATE_LOGIN := l_aaev_rec.LAST_UPDATE_LOGIN;
466
467 END LOOP;
468 -- CLOSE l_id_cur;
469 -- v_aaev_tbl := l_aaev_tbl;
470 okc_actions_pub.update_act_atts (
471 p_api_version => l_api_version
472 ,p_init_msg_list => l_init_msg_list
473 ,x_return_status => l_return_status
474 ,x_msg_count => l_msg_count
475 ,x_msg_data => l_msg_data
476 ,p_aaev_tbl => l_aaev_tbl
477 ,x_aaev_tbl => v_aaev_tbl
478 );
479 END IF;
480 END IF;
481
482 END UPDATE_ACTIONS;
483
484
485
486 PROCEDURE UPDATE_ACTIONS(
487 p_api_version IN NUMBER,
488 p_init_msg_list IN VARCHAR2 ,
489 x_return_status OUT NOCOPY VARCHAR2,
490 x_msg_count OUT NOCOPY NUMBER,
491 x_msg_data OUT NOCOPY VARCHAR2,
492 p_acnv_tbl IN acnv_tbl_type,
493 x_acnv_tbl OUT NOCOPY acnv_tbl_type) IS
494 BEGIN
495 okc_acn_pvt.update_row(
496 p_api_version,
497 p_init_msg_list,
498 x_return_status,
499 x_msg_count,
500 x_msg_data,
501 p_acnv_tbl,
502 x_acnv_tbl);
503 END UPDATE_ACTIONS;
504
505 -- Procedure for Cascade Delete
506 PROCEDURE DELETE_ACTIONS(
507 p_api_version IN NUMBER,
508 p_init_msg_list IN VARCHAR2 ,
509 x_return_status OUT NOCOPY VARCHAR2,
510 x_msg_count OUT NOCOPY NUMBER,
511 x_msg_data OUT NOCOPY VARCHAR2,
512 p_acnv_rec IN acnv_rec_type) IS
513
514 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
515 i NUMBER := 0;
516 l_aaev_tbl aaev_tbl_type;
517
518 CURSOR aae_csr IS
519 SELECT aae.id
520 FROM okc_action_attributes_v aae
521 WHERE aae.acn_id = p_acnv_rec.id;
522
523 BEGIN
524 -- populate the foreign key of the detail
525 FOR aae_rec IN aae_csr LOOP
526 i := i + 1;
527 l_aaev_tbl(i).acn_id := aae_rec.id;
528 END LOOP;
529
530 -- Delete the details
531 -- call delete procedure
532 IF l_aaev_tbl.COUNT > 0 THEN
533 okc_actions_pvt.delete_act_atts(
534 p_api_version,
535 p_init_msg_list,
536 x_return_status,
537 x_msg_count,
538 x_msg_data,
539 l_aaev_tbl);
540
541 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
542 RAISE G_EXCEPTION_HALT_VALIDATION;
543 ELSE
544 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
545 l_return_status := x_return_status;
546 END IF;
547 END IF;
548 END IF;
549 -- Delete the Master
550 okc_acn_pvt.delete_row(
551 p_api_version,
552 p_init_msg_list,
553 x_return_status,
554 x_msg_count,
555 x_msg_data,
556 p_acnv_rec);
557
558 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
559 RAISE G_EXCEPTION_HALT_VALIDATION;
560 ELSE
561 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
562 l_return_status := x_return_status;
563 END IF;
564 END IF;
565
566 EXCEPTION
567 WHEN G_EXCEPTION_HALT_VALIDATION THEN
568 NULL;
569
570 WHEN OTHERS THEN
571 OKC_API.SET_MESSAGE(p_app_name => g_app_name
572 ,p_msg_name => g_unexpected_error
573 ,p_token1 => g_sqlcode_token
574 ,p_token1_value => sqlcode
575 ,p_token2 => g_sqlerrm_token
576 ,p_token2_value => sqlerrm);
577 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
578
579 END DELETE_ACTIONS;
580
581 PROCEDURE DELETE_ACTIONS(
582 p_api_version IN NUMBER,
583 p_init_msg_list IN VARCHAR2 ,
584 x_return_status OUT NOCOPY VARCHAR2,
585 x_msg_count OUT NOCOPY NUMBER,
586 x_msg_data OUT NOCOPY VARCHAR2,
587 p_acnv_tbl IN acnv_tbl_type) IS
588 i NUMBER := 0;
589 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
590
591 BEGIN
592 -- Initialize the return status
593 x_return_status := OKC_API.G_RET_STS_SUCCESS;
594
595 IF (p_acnv_tbl.COUNT > 0) THEN
596 i := p_acnv_tbl.FIRST;
597 LOOP
598 delete_actions(
599 p_api_version
600 ,p_init_msg_list
601 ,x_return_status
602 ,x_msg_count
603 ,x_msg_data
604 ,p_acnv_tbl(i));
605 EXIT WHEN (i=p_acnv_tbl.LAST);
606 i := p_acnv_tbl.NEXT(i);
607 END LOOP;
608 END IF;
609
610 IF x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
611 RAISE G_EXCEPTION_HALT_VALIDATION;
612 ELSE
613 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
614 l_return_status := x_return_status;
615 END IF;
616 END IF;
617
618 EXCEPTION
619 WHEN G_EXCEPTION_HALT_VALIDATION THEN
620 NULL;
621
622 WHEN OTHERS THEN
623 OKC_API.SET_MESSAGE(p_app_name => g_app_name
624 ,p_msg_name => g_unexpected_error
625 ,p_token1 => g_sqlcode_token
626 ,p_token1_value => sqlcode
627 ,p_token2 => g_sqlerrm_token
628 ,p_token2_value => sqlerrm);
629 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
630
631 END DELETE_ACTIONS;
632
633 PROCEDURE VALIDATE_ACTIONS(
634 p_api_version IN NUMBER,
635 p_init_msg_list IN VARCHAR2 ,
636 x_return_status OUT NOCOPY VARCHAR2,
637 x_msg_count OUT NOCOPY NUMBER,
638 x_msg_data OUT NOCOPY VARCHAR2,
639 p_acnv_rec IN acnv_rec_type) IS
640
641 BEGIN
642
643 okc_acn_pvt.validate_row(
644 p_api_version,
645 p_init_msg_list,
646 x_return_status,
647 x_msg_count,
648 x_msg_data,
649 p_acnv_rec);
650
651 END VALIDATE_ACTIONS;
652 PROCEDURE VALIDATE_ACTIONS(
653 p_api_version IN NUMBER,
654 p_init_msg_list IN VARCHAR2 ,
655 x_return_status OUT NOCOPY VARCHAR2,
656 x_msg_count OUT NOCOPY NUMBER,
657 x_msg_data OUT NOCOPY VARCHAR2,
658 p_acnv_tbl IN acnv_tbl_type) IS
659
660 BEGIN
661
662 okc_acn_pvt.validate_row(
663 p_api_version,
664 p_init_msg_list,
665 x_return_status,
666 x_msg_count,
667 x_msg_data,
668 p_acnv_tbl);
669
670 END VALIDATE_ACTIONS;
671 -- Procedures for Action Attributes
672 PROCEDURE CREATE_ACT_ATTS(
673 p_api_version IN NUMBER,
674 p_init_msg_list IN VARCHAR2 ,
675 x_return_status OUT NOCOPY VARCHAR2,
676 x_msg_count OUT NOCOPY NUMBER,
677 x_msg_data OUT NOCOPY VARCHAR2,
678 p_aaev_rec IN aaev_rec_type,
679 x_aaev_rec OUT NOCOPY aaev_rec_type) IS
680 l_app_id NUMBER;
681 l_aaev_rec aaev_rec_type := p_aaev_rec;
682
683 BEGIN
684 SELECT application_id into l_app_id
685 FROM OKC_ACTIONS_B
686 WHERE ID = l_aaev_rec.acn_id;
687 l_aaev_rec.application_id := l_app_id;
688 okc_aae_pvt.insert_row(
689 p_api_version,
690 p_init_msg_list,
691 x_return_status,
692 x_msg_count,
693 x_msg_data,
694 l_aaev_rec,
695 x_aaev_rec);
696
697 END CREATE_ACT_ATTS;
698
699 PROCEDURE CREATE_ACT_ATTS(
700 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_aaev_tbl IN aaev_tbl_type,
706 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
707 BEGIN
708 okc_aae_pvt.insert_row(
709 p_api_version,
710 p_init_msg_list,
711 x_return_status,
712 x_msg_count,
713 x_msg_data,
714 p_aaev_tbl,
715 x_aaev_tbl);
716
717 END CREATE_ACT_ATTS;
718
719 PROCEDURE LOCK_ACT_ATTS(
720 p_api_version IN NUMBER,
721 p_init_msg_list IN VARCHAR2 ,
722 x_return_status OUT NOCOPY VARCHAR2,
723 x_msg_count OUT NOCOPY NUMBER,
724 x_msg_data OUT NOCOPY VARCHAR2,
725 p_aaev_rec IN aaev_rec_type) IS
726
727 BEGIN
728 okc_aae_pvt.lock_row(
729 p_api_version,
730 p_init_msg_list,
731 x_return_status,
732 x_msg_count,
733 x_msg_data,
734 p_aaev_rec);
735
736 END LOCK_ACT_ATTS;
737
738 PROCEDURE LOCK_ACT_ATTS(
739 p_api_version IN NUMBER,
740 p_init_msg_list IN VARCHAR2 ,
741 x_return_status OUT NOCOPY VARCHAR2,
742 x_msg_count OUT NOCOPY NUMBER,
743 x_msg_data OUT NOCOPY VARCHAR2,
744 p_aaev_tbl IN aaev_tbl_type) IS
745
746 BEGIN
747 okc_aae_pvt.lock_row(
748 p_api_version,
749 p_init_msg_list,
750 x_return_status,
751 x_msg_count,
752 x_msg_data,
753 p_aaev_tbl);
754
755 END LOCK_ACT_ATTS;
756
757 PROCEDURE UPDATE_ACT_ATTS(
758 p_api_version IN NUMBER,
759 p_init_msg_list IN VARCHAR2 ,
760 x_return_status OUT NOCOPY VARCHAR2,
761 x_msg_count OUT NOCOPY NUMBER,
762 x_msg_data OUT NOCOPY VARCHAR2,
763 p_aaev_rec IN aaev_rec_type,
764 x_aaev_rec OUT NOCOPY aaev_rec_type) IS
765 BEGIN
766 okc_aae_pvt.update_row(
767 p_api_version,
768 p_init_msg_list,
769 x_return_status,
770 x_msg_count,
771 x_msg_data,
772 p_aaev_rec,
773 x_aaev_rec);
774
775 END UPDATE_ACT_ATTS;
776
777 PROCEDURE UPDATE_ACT_ATTS(
778 p_api_version IN NUMBER,
779 p_init_msg_list IN VARCHAR2 ,
780 x_return_status OUT NOCOPY VARCHAR2,
781 x_msg_count OUT NOCOPY NUMBER,
782 x_msg_data OUT NOCOPY VARCHAR2,
783 p_aaev_tbl IN aaev_tbl_type,
784 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
785
786 BEGIN
787 okc_aae_pvt.update_row(
788 p_api_version,
789 p_init_msg_list,
790 x_return_status,
791 x_msg_count,
792 x_msg_data,
793 p_aaev_tbl,
794 x_aaev_tbl);
795
796 END UPDATE_ACT_ATTS;
797
798 PROCEDURE DELETE_ACT_ATTS(
799 p_api_version IN NUMBER,
800 p_init_msg_list IN VARCHAR2 ,
801 x_return_status OUT NOCOPY VARCHAR2,
802 x_msg_count OUT NOCOPY NUMBER,
803 x_msg_data OUT NOCOPY VARCHAR2,
804 p_aaev_rec IN aaev_rec_type) IS
805
806 BEGIN
807 okc_aae_pvt.delete_row(
808 p_api_version,
809 p_init_msg_list,
810 x_return_status,
811 x_msg_count,
812 x_msg_data,
813 p_aaev_rec);
814
815 END DELETE_ACT_ATTS;
816
817 PROCEDURE DELETE_ACT_ATTS(
818 p_api_version IN NUMBER,
819 p_init_msg_list IN VARCHAR2 ,
820 x_return_status OUT NOCOPY VARCHAR2,
821 x_msg_count OUT NOCOPY NUMBER,
822 x_msg_data OUT NOCOPY VARCHAR2,
823 p_aaev_tbl IN aaev_tbl_type) IS
824
825 BEGIN
826 okc_aae_pvt.delete_row(
827 p_api_version,
828 p_init_msg_list,
829 x_return_status,
830 x_msg_count,
831 x_msg_data,
832 p_aaev_tbl);
833
834 END DELETE_ACT_ATTS;
835
836 PROCEDURE VALIDATE_ACT_ATTS(
837 p_api_version IN NUMBER,
838 p_init_msg_list IN VARCHAR2 ,
839 x_return_status OUT NOCOPY VARCHAR2,
840 x_msg_count OUT NOCOPY NUMBER,
841 x_msg_data OUT NOCOPY VARCHAR2,
842 p_aaev_rec IN aaev_rec_type) IS
843
844 BEGIN
845 okc_aae_pvt.validate_row(
846 p_api_version,
847 p_init_msg_list,
848 x_return_status,
849 x_msg_count,
850 x_msg_data,
851 p_aaev_rec);
852
853 END VALIDATE_ACT_ATTS;
854
855 PROCEDURE VALIDATE_ACT_ATTS(
856 p_api_version IN NUMBER,
857 p_init_msg_list IN VARCHAR2 ,
858 x_return_status OUT NOCOPY VARCHAR2,
859 x_msg_count OUT NOCOPY NUMBER,
860 x_msg_data OUT NOCOPY VARCHAR2,
861 p_aaev_tbl IN aaev_tbl_type) IS
862
863 BEGIN
864 okc_aae_pvt.validate_row(
865 p_api_version,
866 p_init_msg_list,
867 x_return_status,
868 x_msg_count,
869 x_msg_data,
870 p_aaev_tbl);
871
872 END VALIDATE_ACT_ATTS;
873
874 END OKC_ACTIONS_PVT;