[Home] [Help]
PACKAGE BODY: APPS.OKC_AAE_PVT
Source
1 PACKAGE BODY OKC_AAE_PVT AS
2 /* $Header: OKCSAAEB.pls 120.1 2005/12/19 11:39:22 rvohra noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 l_lang VARCHAR2(12) := okc_util.get_userenv_lang;
7 ---------------------------------------------------------------------------
8 -- FUNCTION get_seq_id
9 ---------------------------------------------------------------------------
10 FUNCTION get_seq_id RETURN NUMBER IS
11 BEGIN
12 RETURN(okc_p_util.raw_to_number(sys_guid()));
13 END get_seq_id;
14
15 ---------------------------------------------------------------------------
16 -- PROCEDURE qc
17 ---------------------------------------------------------------------------
18 PROCEDURE qc IS
19 BEGIN
20 null;
21 END qc;
22
23 ---------------------------------------------------------------------------
24 -- PROCEDURE change_version
25 ---------------------------------------------------------------------------
26 PROCEDURE change_version IS
27 BEGIN
28 null;
29 END change_version;
30
31 ---------------------------------------------------------------------------
32 -- PROCEDURE api_copy
33 ---------------------------------------------------------------------------
34 PROCEDURE api_copy IS
35 BEGIN
36 null;
37 END api_copy;
38
39 ---------------------------------------------------------------------------
40 -- PROCEDURE add_language
41 ---------------------------------------------------------------------------
42 PROCEDURE add_language IS
43 BEGIN
44 /* Mar/19/03 requested by Ric Ginsberg */
45 /* The following delete and update statements are commented out */
46 /* as a quick workaround to fix the time-consuming table handler issue */
47 /* Eventually we'll need to turn them into a separate fix_language procedure */
48 /*
49
50 DELETE FROM OKC_ACTION_ATTRIBUTES_TL T
51 WHERE NOT EXISTS (
52 SELECT NULL
53 FROM OKC_ACTION_ATTRIBUTES_B B
54 WHERE B.ID = T.ID
55 );
56
57 UPDATE OKC_ACTION_ATTRIBUTES_TL T SET (
58 NAME,
59 DESCRIPTION) = (SELECT
60 B.NAME,
61 B.DESCRIPTION
62 FROM OKC_ACTION_ATTRIBUTES_TL B
63 WHERE B.ID = T.ID
64 AND B.LANGUAGE = T.SOURCE_LANG)
65 WHERE (
66 T.ID,
67 T.LANGUAGE)
68 IN (SELECT
69 SUBT.ID,
70 SUBT.LANGUAGE
71 FROM OKC_ACTION_ATTRIBUTES_TL SUBB, OKC_ACTION_ATTRIBUTES_TL SUBT
72 WHERE SUBB.ID = SUBT.ID
73 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
74 AND (SUBB.NAME <> SUBT.NAME
75 OR SUBB.DESCRIPTION <> SUBT.DESCRIPTION
76 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
77 OR (SUBB.DESCRIPTION IS NOT NULL AND SUBT.DESCRIPTION IS NULL)
78 ));
79 */
80
81 INSERT INTO OKC_ACTION_ATTRIBUTES_TL (
82 ID,
83 LANGUAGE,
84 SOURCE_LANG,
85 SFWT_FLAG,
86 NAME,
87 DESCRIPTION,
88 CREATED_BY,
89 CREATION_DATE,
90 LAST_UPDATED_BY,
91 LAST_UPDATE_DATE,
92 LAST_UPDATE_LOGIN)
93 SELECT
94 B.ID,
95 L.LANGUAGE_CODE,
96 B.SOURCE_LANG,
97 B.SFWT_FLAG,
98 B.NAME,
99 B.DESCRIPTION,
100 B.CREATED_BY,
101 B.CREATION_DATE,
102 B.LAST_UPDATED_BY,
103 B.LAST_UPDATE_DATE,
104 B.LAST_UPDATE_LOGIN
105 FROM OKC_ACTION_ATTRIBUTES_TL B, FND_LANGUAGES L
106 WHERE L.INSTALLED_FLAG IN ('I', 'B')
107 AND B.LANGUAGE = USERENV('LANG')
108 AND NOT EXISTS(
109 SELECT NULL
110 FROM OKC_ACTION_ATTRIBUTES_TL T
111 WHERE T.ID = B.ID
112 AND T.LANGUAGE = L.LANGUAGE_CODE
113 );
114
115 END add_language;
116
117 ---------------------------------------------------------------------------
118 -- FUNCTION get_rec for: OKC_ACTION_ATTRIBUTES_B
119 ---------------------------------------------------------------------------
120 FUNCTION get_rec (
121 p_aae_rec IN aae_rec_type,
122 x_no_data_found OUT NOCOPY BOOLEAN
123 ) RETURN aae_rec_type IS
124 CURSOR okc_action_attributes_b_pk_csr (p_id IN NUMBER) IS
125 SELECT
126 ID,
127 AAL_ID,
128 ACN_ID,
129 ELEMENT_NAME,
130 DATA_TYPE,
131 LIST_YN,
132 VISIBLE_YN,
133 DATE_OF_INTEREST_YN,
134 OBJECT_VERSION_NUMBER,
135 CREATED_BY,
136 CREATION_DATE,
137 LAST_UPDATED_BY,
138 LAST_UPDATE_DATE,
139 FORMAT_MASK,
140 MINIMUM_VALUE,
141 MAXIMUM_VALUE,
142 JTOT_OBJECT_CODE,
143 NAME_COLUMN,
144 DESCRIPTION_COLUMN,
145 source_doc_number_yn,
146 LAST_UPDATE_LOGIN,
147 APPLICATION_ID,
148 SEEDED_FLAG,
149 ATTRIBUTE_CATEGORY,
150 ATTRIBUTE1,
151 ATTRIBUTE2,
152 ATTRIBUTE3,
153 ATTRIBUTE4,
154 ATTRIBUTE5,
155 ATTRIBUTE6,
156 ATTRIBUTE7,
157 ATTRIBUTE8,
158 ATTRIBUTE9,
159 ATTRIBUTE10,
160 ATTRIBUTE11,
161 ATTRIBUTE12,
162 ATTRIBUTE13,
163 ATTRIBUTE14,
164 ATTRIBUTE15
165 FROM Okc_Action_Attributes_B
166 WHERE okc_action_attributes_b.id = p_id;
167 l_okc_action_attributes_b_pk okc_action_attributes_b_pk_csr%ROWTYPE;
168 l_aae_rec aae_rec_type;
169 BEGIN
170 x_no_data_found := TRUE;
171 -- Get current database values
172 OPEN okc_action_attributes_b_pk_csr (p_aae_rec.id);
173 FETCH okc_action_attributes_b_pk_csr INTO
174 l_aae_rec.ID,
175 l_aae_rec.AAL_ID,
176 l_aae_rec.ACN_ID,
177 l_aae_rec.ELEMENT_NAME,
178 l_aae_rec.DATA_TYPE,
179 l_aae_rec.LIST_YN,
180 l_aae_rec.VISIBLE_YN,
181 l_aae_rec.DATE_OF_INTEREST_YN,
182 l_aae_rec.OBJECT_VERSION_NUMBER,
183 l_aae_rec.CREATED_BY,
184 l_aae_rec.CREATION_DATE,
185 l_aae_rec.LAST_UPDATED_BY,
186 l_aae_rec.LAST_UPDATE_DATE,
187 l_aae_rec.FORMAT_MASK,
188 l_aae_rec.MINIMUM_VALUE,
189 l_aae_rec.MAXIMUM_VALUE,
190 l_aae_rec.JTOT_OBJECT_CODE,
191 l_aae_rec.NAME_COLUMN,
192 l_aae_rec.DESCRIPTION_COLUMN,
193 l_aae_rec.source_doc_number_yn,
194 l_aae_rec.LAST_UPDATE_LOGIN,
195 l_aae_rec.APPLICATION_ID,
196 l_aae_rec.SEEDED_FLAG,
197 l_aae_rec.ATTRIBUTE_CATEGORY,
198 l_aae_rec.ATTRIBUTE1,
199 l_aae_rec.ATTRIBUTE2,
200 l_aae_rec.ATTRIBUTE3,
201 l_aae_rec.ATTRIBUTE4,
202 l_aae_rec.ATTRIBUTE5,
203 l_aae_rec.ATTRIBUTE6,
204 l_aae_rec.ATTRIBUTE7,
205 l_aae_rec.ATTRIBUTE8,
206 l_aae_rec.ATTRIBUTE9,
207 l_aae_rec.ATTRIBUTE10,
208 l_aae_rec.ATTRIBUTE11,
209 l_aae_rec.ATTRIBUTE12,
210 l_aae_rec.ATTRIBUTE13,
211 l_aae_rec.ATTRIBUTE14,
212 l_aae_rec.ATTRIBUTE15;
213 x_no_data_found := okc_action_attributes_b_pk_csr%NOTFOUND;
214 CLOSE okc_action_attributes_b_pk_csr;
215 RETURN(l_aae_rec);
216 END get_rec;
217
218 FUNCTION get_rec (
219 p_aae_rec IN aae_rec_type
220 ) RETURN aae_rec_type IS
221 l_row_notfound BOOLEAN := TRUE;
222 BEGIN
223 RETURN(get_rec(p_aae_rec, l_row_notfound));
224 END get_rec;
225 ---------------------------------------------------------------------------
226 -- FUNCTION get_rec for: OKC_ACTION_ATTRIBUTES_TL
227 ---------------------------------------------------------------------------
228 FUNCTION get_rec (
229 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
230 x_no_data_found OUT NOCOPY BOOLEAN
231 ) RETURN OkcActionAttributesTlRecType IS
232 CURSOR okc_action_attribute1_csr (p_id IN NUMBER,
233 p_language IN VARCHAR2) IS
234 SELECT
235 ID,
236 LANGUAGE,
237 SOURCE_LANG,
238 SFWT_FLAG,
239 NAME,
240 DESCRIPTION,
241 CREATED_BY,
242 CREATION_DATE,
243 LAST_UPDATED_BY,
244 LAST_UPDATE_DATE,
245 LAST_UPDATE_LOGIN
246 FROM Okc_Action_Attributes_Tl
247 WHERE okc_action_attributes_tl.id = p_id
248 AND okc_action_attributes_tl.language = p_language;
249 l_okc_action_attributes_tl_pk okc_action_attribute1_csr%ROWTYPE;
250 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
251 BEGIN
252 x_no_data_found := TRUE;
253 -- Get current database values
254 OPEN okc_action_attribute1_csr (p_okc_action_attributes_tl_rec.id,
255 p_okc_action_attributes_tl_rec.language);
256 FETCH okc_action_attribute1_csr INTO
257 l_okc_action_attributes_tl_rec.ID,
258 l_okc_action_attributes_tl_rec.LANGUAGE,
259 l_okc_action_attributes_tl_rec.SOURCE_LANG,
260 l_okc_action_attributes_tl_rec.SFWT_FLAG,
261 l_okc_action_attributes_tl_rec.NAME,
262 l_okc_action_attributes_tl_rec.DESCRIPTION,
263 l_okc_action_attributes_tl_rec.CREATED_BY,
264 l_okc_action_attributes_tl_rec.CREATION_DATE,
265 l_okc_action_attributes_tl_rec.LAST_UPDATED_BY,
266 l_okc_action_attributes_tl_rec.LAST_UPDATE_DATE,
267 l_okc_action_attributes_tl_rec.LAST_UPDATE_LOGIN;
268 x_no_data_found := okc_action_attribute1_csr%NOTFOUND;
269 CLOSE okc_action_attribute1_csr;
270 RETURN(l_okc_action_attributes_tl_rec);
271 END get_rec;
272
273 FUNCTION get_rec (
274 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType
275 ) RETURN OkcActionAttributesTlRecType IS
276 l_row_notfound BOOLEAN := TRUE;
277 BEGIN
278 RETURN(get_rec(p_okc_action_attributes_tl_rec, l_row_notfound));
279 END get_rec;
280 ---------------------------------------------------------------------------
281 -- FUNCTION get_rec for: OKC_ACTION_ATTRIBUTES_V
282 ---------------------------------------------------------------------------
283 FUNCTION get_rec (
284 p_aaev_rec IN aaev_rec_type,
285 x_no_data_found OUT NOCOPY BOOLEAN
286 ) RETURN aaev_rec_type IS
287 CURSOR okc_aaev_pk_csr (p_id IN NUMBER) IS
288 SELECT
289 ID,
290 AAL_ID,
291 OBJECT_VERSION_NUMBER,
292 SFWT_FLAG,
293 ACN_ID,
294 ELEMENT_NAME,
295 NAME,
296 DESCRIPTION,
297 DATA_TYPE,
298 LIST_YN,
299 VISIBLE_YN,
300 DATE_OF_INTEREST_YN,
301 FORMAT_MASK,
302 MINIMUM_VALUE,
303 MAXIMUM_VALUE,
304 JTOT_OBJECT_CODE,
305 NAME_COLUMN,
306 DESCRIPTION_COLUMN,
307 source_doc_number_yn,
308 APPLICATION_ID,
309 SEEDED_FLAG,
310 ATTRIBUTE_CATEGORY,
311 ATTRIBUTE1,
312 ATTRIBUTE2,
313 ATTRIBUTE3,
314 ATTRIBUTE4,
315 ATTRIBUTE5,
316 ATTRIBUTE6,
317 ATTRIBUTE7,
318 ATTRIBUTE8,
319 ATTRIBUTE9,
320 ATTRIBUTE10,
321 ATTRIBUTE11,
322 ATTRIBUTE12,
323 ATTRIBUTE13,
324 ATTRIBUTE14,
325 ATTRIBUTE15,
326 CREATED_BY,
327 CREATION_DATE,
328 LAST_UPDATED_BY,
329 LAST_UPDATE_DATE,
330 LAST_UPDATE_LOGIN
331 FROM Okc_Action_Attributes_V
332 WHERE okc_action_attributes_v.id = p_id;
333 l_okc_aaev_pk okc_aaev_pk_csr%ROWTYPE;
334 l_aaev_rec aaev_rec_type;
335 BEGIN
336 x_no_data_found := TRUE;
337 -- Get current database values
338 OPEN okc_aaev_pk_csr (p_aaev_rec.id);
339 FETCH okc_aaev_pk_csr INTO
340 l_aaev_rec.ID,
341 l_aaev_rec.AAL_ID,
342 l_aaev_rec.OBJECT_VERSION_NUMBER,
343 l_aaev_rec.SFWT_FLAG,
344 l_aaev_rec.ACN_ID,
345 l_aaev_rec.ELEMENT_NAME,
346 l_aaev_rec.NAME,
347 l_aaev_rec.DESCRIPTION,
348 l_aaev_rec.DATA_TYPE,
349 l_aaev_rec.LIST_YN,
350 l_aaev_rec.VISIBLE_YN,
351 l_aaev_rec.DATE_OF_INTEREST_YN,
352 l_aaev_rec.FORMAT_MASK,
353 l_aaev_rec.MINIMUM_VALUE,
354 l_aaev_rec.MAXIMUM_VALUE,
355 l_aaev_rec.JTOT_OBJECT_CODE,
356 l_aaev_rec.NAME_COLUMN,
357 l_aaev_rec.DESCRIPTION_COLUMN,
358 l_aaev_rec.source_doc_number_yn,
359 l_aaev_rec.APPLICATION_ID,
360 l_aaev_rec.SEEDED_FLAG,
361 l_aaev_rec.ATTRIBUTE_CATEGORY,
362 l_aaev_rec.ATTRIBUTE1,
363 l_aaev_rec.ATTRIBUTE2,
364 l_aaev_rec.ATTRIBUTE3,
365 l_aaev_rec.ATTRIBUTE4,
366 l_aaev_rec.ATTRIBUTE5,
367 l_aaev_rec.ATTRIBUTE6,
368 l_aaev_rec.ATTRIBUTE7,
369 l_aaev_rec.ATTRIBUTE8,
370 l_aaev_rec.ATTRIBUTE9,
371 l_aaev_rec.ATTRIBUTE10,
372 l_aaev_rec.ATTRIBUTE11,
373 l_aaev_rec.ATTRIBUTE12,
374 l_aaev_rec.ATTRIBUTE13,
375 l_aaev_rec.ATTRIBUTE14,
376 l_aaev_rec.ATTRIBUTE15,
377 l_aaev_rec.CREATED_BY,
378 l_aaev_rec.CREATION_DATE,
379 l_aaev_rec.LAST_UPDATED_BY,
380 l_aaev_rec.LAST_UPDATE_DATE,
381 l_aaev_rec.LAST_UPDATE_LOGIN;
382 x_no_data_found := okc_aaev_pk_csr%NOTFOUND;
383 CLOSE okc_aaev_pk_csr;
384 RETURN(l_aaev_rec);
385 END get_rec;
386
387 FUNCTION get_rec (
388 p_aaev_rec IN aaev_rec_type
389 ) RETURN aaev_rec_type IS
390 l_row_notfound BOOLEAN := TRUE;
391 BEGIN
392 RETURN(get_rec(p_aaev_rec, l_row_notfound));
393 END get_rec;
394
395 -------------------------------------------------------------
396 -- FUNCTION null_out_defaults for: OKC_ACTION_ATTRIBUTES_V --
397 -------------------------------------------------------------
398 FUNCTION null_out_defaults (
399 p_aaev_rec IN aaev_rec_type
400 ) RETURN aaev_rec_type IS
401 l_aaev_rec aaev_rec_type := p_aaev_rec;
402 BEGIN
403 IF (l_aaev_rec.aal_id = OKC_API.G_MISS_NUM) THEN
404 l_aaev_rec.aal_id := NULL;
405 END IF;
406 IF (l_aaev_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
407 l_aaev_rec.object_version_number := NULL;
408 END IF;
409 IF (l_aaev_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
410 l_aaev_rec.sfwt_flag := NULL;
411 END IF;
412 IF (l_aaev_rec.acn_id = OKC_API.G_MISS_NUM) THEN
413 l_aaev_rec.acn_id := NULL;
414 END IF;
415 IF (l_aaev_rec.element_name = OKC_API.G_MISS_CHAR) THEN
416 l_aaev_rec.element_name := NULL;
417 END IF;
418 IF (l_aaev_rec.name = OKC_API.G_MISS_CHAR) THEN
419 l_aaev_rec.name := NULL;
420 END IF;
421 IF (l_aaev_rec.description = OKC_API.G_MISS_CHAR) THEN
422 l_aaev_rec.description := NULL;
423 END IF;
424 IF (l_aaev_rec.data_type = OKC_API.G_MISS_CHAR) THEN
425 l_aaev_rec.data_type := NULL;
426 END IF;
427 IF (l_aaev_rec.list_yn = OKC_API.G_MISS_CHAR) THEN
428 l_aaev_rec.list_yn := NULL;
429 END IF;
430 IF (l_aaev_rec.visible_yn = OKC_API.G_MISS_CHAR) THEN
431 l_aaev_rec.visible_yn := NULL;
432 END IF;
433 IF (l_aaev_rec.date_of_interest_yn = OKC_API.G_MISS_CHAR) THEN
434 l_aaev_rec.date_of_interest_yn := NULL;
435 END IF;
436 IF (l_aaev_rec.format_mask = OKC_API.G_MISS_CHAR) THEN
437 l_aaev_rec.format_mask := NULL;
438 END IF;
439 IF (l_aaev_rec.minimum_value = OKC_API.G_MISS_CHAR) THEN
440 l_aaev_rec.minimum_value := NULL;
441 END IF;
442 IF (l_aaev_rec.maximum_value = OKC_API.G_MISS_CHAR) THEN
443 l_aaev_rec.maximum_value := NULL;
444 END IF;
445 IF (l_aaev_rec.JTOT_object_code = OKC_API.G_MISS_CHAR) THEN
446 l_aaev_rec.JTOT_object_code := NULL;
447 END IF;
448 IF (l_aaev_rec.NAME_COLUMN = OKC_API.G_MISS_CHAR) THEN
449 l_aaev_rec.NAME_COLUMN := NULL;
450 END IF;
451 IF (l_aaev_rec.description_column = OKC_API.G_MISS_CHAR) THEN
452 l_aaev_rec.description_column := NULL;
453 END IF;
454 IF (l_aaev_rec.source_doc_number_yn = OKC_API.G_MISS_CHAR) THEN
455 l_aaev_rec.source_doc_number_yn := NULL;
456 END IF;
457 IF (l_aaev_rec.application_id = OKC_API.G_MISS_NUM) THEN
458 l_aaev_rec.application_id := NULL;
459 END IF;
460 IF (l_aaev_rec.seeded_flag = OKC_API.G_MISS_CHAR) THEN
461 l_aaev_rec.seeded_flag := NULL;
462 END IF;
463 IF (l_aaev_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
464 l_aaev_rec.attribute_category := NULL;
465 END IF;
466 IF (l_aaev_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
467 l_aaev_rec.attribute1 := NULL;
468 END IF;
469 IF (l_aaev_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
470 l_aaev_rec.attribute2 := NULL;
471 END IF;
472 IF (l_aaev_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
473 l_aaev_rec.attribute3 := NULL;
474 END IF;
475 IF (l_aaev_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
476 l_aaev_rec.attribute4 := NULL;
477 END IF;
478 IF (l_aaev_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
479 l_aaev_rec.attribute5 := NULL;
480 END IF;
481 IF (l_aaev_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
482 l_aaev_rec.attribute6 := NULL;
483 END IF;
484 IF (l_aaev_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
485 l_aaev_rec.attribute7 := NULL;
486 END IF;
487 IF (l_aaev_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
488 l_aaev_rec.attribute8 := NULL;
489 END IF;
490 IF (l_aaev_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
491 l_aaev_rec.attribute9 := NULL;
492 END IF;
493 IF (l_aaev_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
494 l_aaev_rec.attribute10 := NULL;
495 END IF;
496 IF (l_aaev_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
497 l_aaev_rec.attribute11 := NULL;
498 END IF;
499 IF (l_aaev_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
500 l_aaev_rec.attribute12 := NULL;
501 END IF;
502 IF (l_aaev_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
503 l_aaev_rec.attribute13 := NULL;
504 END IF;
505 IF (l_aaev_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
506 l_aaev_rec.attribute14 := NULL;
507 END IF;
508 IF (l_aaev_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
509 l_aaev_rec.attribute15 := NULL;
510 END IF;
511 IF (l_aaev_rec.created_by = OKC_API.G_MISS_NUM) THEN
512 l_aaev_rec.created_by := NULL;
513 END IF;
514 IF (l_aaev_rec.creation_date = OKC_API.G_MISS_DATE) THEN
515 l_aaev_rec.creation_date := NULL;
516 END IF;
517 IF (l_aaev_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
518 l_aaev_rec.last_updated_by := NULL;
519 END IF;
520 IF (l_aaev_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
521 l_aaev_rec.last_update_date := NULL;
522 END IF;
523 IF (l_aaev_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
524 l_aaev_rec.last_update_login := NULL;
525 END IF;
526 RETURN(l_aaev_rec);
527 END null_out_defaults;
528
529 /*** Commeted out nocopy generated code in favor of hand written code ************
530 ---------------------------------------------------------------------------
531 -- PROCEDURE Validate_Attributes
532 ---------------------------------------------------------------------------
533 -----------------------------------------------------
534 -- Validate_Attributes for:OKC_ACTION_ATTRIBUTES_V --
535 -----------------------------------------------------
536 FUNCTION Validate_Attributes (
537 p_aaev_rec IN aaev_rec_type
538 ) RETURN VARCHAR2 IS
539 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
540 BEGIN
541 IF p_aaev_rec.id = OKC_API.G_MISS_NUM OR
542 p_aaev_rec.id IS NULL
543 THEN
544 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
545 l_return_status := OKC_API.G_RET_STS_ERROR;
546 ELSIF p_aaev_rec.object_version_number = OKC_API.G_MISS_NUM OR
547 p_aaev_rec.object_version_number IS NULL
548 THEN
549 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
550 l_return_status := OKC_API.G_RET_STS_ERROR;
551 ELSIF p_aaev_rec.acn_id = OKC_API.G_MISS_NUM OR
552 p_aaev_rec.acn_id IS NULL
553 THEN
554 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'acn_id');
555 l_return_status := OKC_API.G_RET_STS_ERROR;
556 ELSIF p_aaev_rec.element_name = OKC_API.G_MISS_CHAR OR
557 p_aaev_rec.element_name IS NULL
558 THEN
559 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'element_name');
560 l_return_status := OKC_API.G_RET_STS_ERROR;
561 ELSIF p_aaev_rec.name = OKC_API.G_MISS_CHAR OR
562 p_aaev_rec.name IS NULL
563 THEN
564 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'name');
565 l_return_status := OKC_API.G_RET_STS_ERROR;
566 ELSIF p_aaev_rec.data_type = OKC_API.G_MISS_CHAR OR
567 p_aaev_rec.data_type IS NULL
568 THEN
569 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'data_type');
570 l_return_status := OKC_API.G_RET_STS_ERROR;
571 ELSIF p_aaev_rec.list_yn = OKC_API.G_MISS_CHAR OR
572 p_aaev_rec.list_yn IS NULL
573 THEN
574 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'list_yn');
575 l_return_status := OKC_API.G_RET_STS_ERROR;
576 ELSIF p_aaev_rec.visible_yn = OKC_API.G_MISS_CHAR OR
577 p_aaev_rec.visible_yn IS NULL
578 THEN
579 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'visible_yn');
580 l_return_status := OKC_API.G_RET_STS_ERROR;
581 ELSIF p_aaev_rec.date_of_interest_yn = OKC_API.G_MISS_CHAR OR
582 p_aaev_rec.date_of_interest_yn IS NULL
583 THEN
584 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_of_interest_yn');
585 l_return_status := OKC_API.G_RET_STS_ERROR;
586 END IF;
587 RETURN(l_return_status);
588 END Validate_Attributes;
589
590 ---------------------------------------------------------------------------
591 -- PROCEDURE Validate_Record
592 ---------------------------------------------------------------------------
593 -------------------------------------------------
594 -- Validate_Record for:OKC_ACTION_ATTRIBUTES_V --
595 -------------------------------------------------
596 FUNCTION Validate_Record (
597 p_aaev_rec IN aaev_rec_type
598 ) RETURN VARCHAR2 IS
599 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
600 ------------------------------------
601 -- FUNCTION validate_foreign_keys --
602 ------------------------------------
603 FUNCTION validate_foreign_keys (
604 p_aaev_rec IN aaev_rec_type
605 ) RETURN VARCHAR2 IS
606 item_not_found_error EXCEPTION;
607 CURSOR okc_aalv_pk_csr (p_id IN NUMBER) IS
608 SELECT
609 ID,
610 OBJECT_VERSION_NUMBER,
611 OBJECT_NAME,
612 NAME_COLUMN,
613 CREATED_BY,
614 CREATION_DATE,
615 LAST_UPDATED_BY,
616 LAST_UPDATE_DATE,
617 LAST_UPDATE_LOGIN
618 FROM Okc_Action_Att_Lookups_V
619 WHERE okc_action_att_lookups_v.id = p_id;
620 l_okc_aalv_pk okc_aalv_pk_csr%ROWTYPE;
621 CURSOR okc_acnv_pk_csr (p_id IN NUMBER) IS
622 SELECT
623 ID,
624 CORRELATION,
625 OBJECT_VERSION_NUMBER,
626 SFWT_FLAG,
627 NAME,
628 DESCRIPTION,
629 SHORT_DESCRIPTION,
630 COMMENTS,
631 ENABLED_YN,
632 FACTORY_ENABLED_YN,
633 COUNTER_ACTION_YN,
634 ACN_TYPE,
635 SYNC_ALLOWED_YN,
636 APPLICATION_ID,
637 SEEDED_FLAG,
638 ATTRIBUTE_CATEGORY,
639 ATTRIBUTE1,
640 ATTRIBUTE2,
641 ATTRIBUTE3,
642 ATTRIBUTE4,
643 ATTRIBUTE5,
644 ATTRIBUTE6,
645 ATTRIBUTE7,
646 ATTRIBUTE8,
647 ATTRIBUTE9,
648 ATTRIBUTE10,
649 ATTRIBUTE11,
650 ATTRIBUTE12,
651 ATTRIBUTE13,
652 ATTRIBUTE14,
653 ATTRIBUTE15,
654 CREATED_BY,
655 CREATION_DATE,
656 LAST_UPDATED_BY,
657 LAST_UPDATE_DATE,
658 LAST_UPDATE_LOGIN
659 FROM Okc_Actions_V
660 WHERE okc_actions_v.id = p_id;
661 l_okc_acnv_pk okc_acnv_pk_csr%ROWTYPE;
662 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
663 l_row_notfound BOOLEAN := TRUE;
664 BEGIN
665 IF (p_aaev_rec.AAL_ID IS NOT NULL)
666 THEN
667 OPEN okc_aalv_pk_csr(p_aaev_rec.AAL_ID);
668 FETCH okc_aalv_pk_csr INTO l_okc_aalv_pk;
669 l_row_notfound := okc_aalv_pk_csr%NOTFOUND;
670 CLOSE okc_aalv_pk_csr;
671 IF (l_row_notfound) THEN
672 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'AAL_ID');
673 RAISE item_not_found_error;
674 END IF;
675 END IF;
676 IF (p_aaev_rec.ACN_ID IS NOT NULL)
677 THEN
678 OPEN okc_acnv_pk_csr(p_aaev_rec.ACN_ID);
679 FETCH okc_acnv_pk_csr INTO l_okc_acnv_pk;
680 l_row_notfound := okc_acnv_pk_csr%NOTFOUND;
681 CLOSE okc_acnv_pk_csr;
682 IF (l_row_notfound) THEN
683 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'ACN_ID');
684 RAISE item_not_found_error;
685 END IF;
686 END IF;
687 RETURN (l_return_status);
688 EXCEPTION
689 WHEN item_not_found_error THEN
690 l_return_status := OKC_API.G_RET_STS_ERROR;
691 RETURN (l_return_status);
692 END validate_foreign_keys;
693 BEGIN
694 l_return_status := validate_foreign_keys (p_aaev_rec);
695 RETURN (l_return_status);
696 END Validate_Record;
697 */
698
699 /************************** BEGIN HAND-CODED *****************************/
700
701 ---------------------------------------------------------------------------
702 -- PROCEDURE Validate_Object_Version_Number
703 ---------------------------------------------------------------------------
704 -- Start of comments
705 --
706 -- Procedure Name : Validate_Object_Version_Number
707 -- Description :
708 -- Business Rules :
709 -- Parameters :
710 -- Version : 1.0
711 -- End of comments
712 ---------------------------------------------------------------------------
713 PROCEDURE Validate_Object_Version_Number(x_return_status OUT NOCOPY VARCHAR2
714 ,p_aaev_rec IN aaev_rec_type)
715 IS
716
717 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
718
719 BEGIN
720 -- initialize return status
721 x_return_status := OKC_API.G_RET_STS_SUCCESS;
722
723 -- check for data before processing
724 IF (p_aaev_rec.object_version_number IS NULL) OR
725 (p_aaev_rec.object_version_Number = OKC_API.G_MISS_NUM) THEN
726 OKC_API.SET_MESSAGE(p_app_name => g_app_name
727 ,p_msg_name => g_required_value
728 ,p_token1 => g_col_name_token
729 ,p_token1_value => 'object_version_number');
730 x_return_status := OKC_API.G_RET_STS_ERROR;
731 RAISE G_EXCEPTION_HALT_VALIDATION;
732 END IF;
733
734 EXCEPTION
735 WHEN G_EXCEPTION_HALT_VALIDATION THEN
736 -- no processing necessary; validation can continue
737 -- with the next column
738 NULL;
739
740 WHEN OTHERS THEN
741 -- store SQL error message on message stack for caller
742 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
743 p_msg_name => g_unexpected_error,
744 p_token1 => g_sqlcode_token,
745 p_token1_value => sqlcode,
746 p_token2 => g_sqlerrm_token,
747 p_token2_value => sqlerrm);
748
749 -- notify caller of an UNEXPECTED error
750 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
751
752 END Validate_Object_Version_Number;
753
754 ---------------------------------------------------------------------------
755 -- PROCEDURE Validate_Sfwt_Flag
756 ---------------------------------------------------------------------------
757 -- Start of comments
758 --
759 -- Procedure Name : Validate_Sfwt_Flag
760 -- Description :
761 -- Business Rules :
762 -- Parameters :
763 -- Version : 1.0
764 -- End of comments
765 ---------------------------------------------------------------------------
766 PROCEDURE Validate_Sfwt_Flag(x_return_status OUT NOCOPY VARCHAR2
767 ,p_aaev_rec IN aaev_rec_type)
768 IS
769
770 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
771
772 BEGIN
773 -- initialize return status
774 x_return_status := OKC_API.G_RET_STS_SUCCESS;
775
776 -- check for data before processing
777 IF (p_aaev_rec.sfwt_flag IS NULL) OR
778 (p_aaev_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
779 OKC_API.SET_MESSAGE(p_app_name => g_app_name
780 ,p_msg_name => g_required_value
781 ,p_token1 => g_col_name_token
782 ,p_token1_value => 'sfwt_flag');
783 x_return_status := OKC_API.G_RET_STS_ERROR;
784 RAISE G_EXCEPTION_HALT_VALIDATION;
785 END IF;
786
787 -- check if sfwt_flag is in uppercase
788 IF (p_aaev_rec.sfwt_flag) <> UPPER(p_aaev_rec.sfwt_flag) THEN
789 OKC_API.SET_MESSAGE(p_app_name => g_app_name
790 ,p_msg_name => g_uppercase_required
791 ,p_token1 => g_col_name_token
792 ,p_token1_value => 'sfwt_flag');
793 x_return_status := OKC_API.G_RET_STS_ERROR;
794 RAISE G_EXCEPTION_HALT_VALIDATION;
795 END IF;
796
797 -- check if sfwt_flag is Y or N
798 IF UPPER(p_aaev_rec.sfwt_flag) NOT IN ('Y','N') THEN
799 OKC_API.SET_MESSAGE(p_app_name => g_app_name
800 ,p_msg_name => g_invalid_value
801 ,p_token1 => g_col_name_token
802 ,p_token1_value => 'sfwt_flag');
803 x_return_status := OKC_API.G_RET_STS_ERROR;
804 RAISE G_EXCEPTION_HALT_VALIDATION;
805 END IF;
806
807 EXCEPTION
808 WHEN G_EXCEPTION_HALT_VALIDATION THEN
809 -- no processing required ; validation can continue
810 -- with the next column
811 NULL;
812
813 WHEN OTHERS THEN
814 -- store SQL error message on message stack for caller
815 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
816 p_msg_name => g_unexpected_error,
817 p_token1 => g_sqlcode_token,
818 p_token1_value => sqlcode,
819 p_token2 => g_sqlerrm_token,
820 p_token2_value => sqlerrm);
821
822 -- notify caller of an UNEXPECTED error
823 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
824
825 END Validate_Sfwt_Flag;
826
827 ---------------------------------------------------------------------------
828 -- PROCEDURE Validate_Seeded_Flag
829 ---------------------------------------------------------------------------
830 -- Start of comments
831 --
832 -- Procedure Name : Validate_Seeded_Flag
833 -- Description : Checks if column SEEDED_FLAG is 'Y' or 'N' only
834 -- Business Rules :
835 -- Parameters :
836 -- Version : 1.0
837 -- End of comments
838 ---------------------------------------------------------------------------
839
840 PROCEDURE validate_seeded_flag(
841 x_return_status OUT NOCOPY VARCHAR2,
842 p_aaev_rec IN aaev_rec_type) IS
843 BEGIN
844 -- initialize return status
845 x_return_status := OKC_API.G_RET_STS_SUCCESS;
846 -- Check if seeded_flag is Y or N
847 IF UPPER(p_aaev_rec.seeded_flag) NOT IN ('Y', 'N') THEN
848 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
849 p_msg_name => g_invalid_value,
850 p_token1 => g_col_name_token,
851 p_token1_value => 'seeded_flag');
852 x_return_status := OKC_API.G_RET_STS_ERROR;
853 raise G_EXCEPTION_HALT_VALIDATION;
854 END IF;
855
856 --Check if the data is in upper case
857 IF p_aaev_rec.seeded_flag <> UPPER(p_aaev_rec.seeded_flag) THEN
858 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
859 p_msg_name => g_uppercase_required,
860 p_token1 => g_col_name_token,
861 p_token1_value => 'seeded_flag');
862 x_return_status := OKC_API.G_RET_STS_ERROR;
863 raise G_EXCEPTION_HALT_VALIDATION;
864 END IF;
865 EXCEPTION
866 when G_EXCEPTION_HALT_VALIDATION then
867 -- no processing necessary; validation can continue
868 -- with the next column
869 null;
870
871 when OTHERS then
872 -- store SQL error message on message stack for caller
873 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
874 p_msg_name => g_unexpected_error,
875 p_token1 => g_sqlcode_token,
876 p_token1_value => sqlcode,
877 p_token2 => g_sqlerrm_token,
878 p_token2_value => sqlerrm);
879 -- notify caller of an UNEXPECTED error
880 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
881 END validate_seeded_flag;
882 ---------------------------------------------------------------------------
883 -- PROCEDURE Validate_Application_id
884 ---------------------------------------------------------------------------
885 -- Start of comments
886 --
887 -- Procedure Name : Validate_Application_id
888 -- Description : Checks id application id exists in fnd_application
889 -- Business Rules :
890 -- Parameters :
891 -- Version : 1.0
892 -- End of comments
893 ---------------------------------------------------------------------------
894
895 PROCEDURE validate_application_id(
896 x_return_status OUT NOCOPY VARCHAR2,
897 p_aaev_rec IN aaev_rec_type) IS
898 Cursor application_id_cur(p_application_id IN NUMBER) IS
899 select '1'
900 from fnd_application
901 where application_id = p_application_id;
902 l_dummy VARCHAR2(1) := '?';
903 BEGIN
904 -- initialize return status
905 x_return_status := OKC_API.G_RET_STS_SUCCESS;
906
907 IF p_aaev_rec.application_id IS NOT NULL THEN
908 --Check if application id exists in the fnd_application or not
909 OPEN application_id_cur(p_aaev_rec.application_id);
910 FETCH application_id_cur INTO l_dummy;
911 CLOSE application_id_cur ;
912 IF l_dummy = '?' THEN
913 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
914 p_msg_name => g_invalid_value,
915 p_token1 => g_col_name_token,
916 p_token1_value => 'application_id');
917 x_return_status := OKC_API.G_RET_STS_ERROR;
918 raise G_EXCEPTION_HALT_VALIDATION;
919 END IF;
920 END IF;
921 EXCEPTION
922 when G_EXCEPTION_HALT_VALIDATION then
923 -- no processing necessary; validation can continue
924 -- with the next column
925 null;
926
927 when OTHERS then
928 -- store SQL error message on message stack for caller
929 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
930 p_msg_name => g_unexpected_error,
931 p_token1 => g_sqlcode_token,
932 p_token1_value => sqlcode,
933 p_token2 => g_sqlerrm_token,
934 p_token2_value => sqlerrm);
935 -- notify caller of an UNEXPECTED error
936 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
937 END validate_application_id;
938
939 ---------------------------------------------------------------------------
940 -- PROCEDURE Validate_Acn_Id
941 ---------------------------------------------------------------------------
942 -- Start of comments
943 --
944 -- Procedure Name : Validate_Acn_Id
945 -- Description :
946 -- Business Rules :
947 -- Parameters :
948 -- Version : 1.0
949 -- End of comments
950 ---------------------------------------------------------------------------
951 PROCEDURE Validate_Acn_Id(x_return_status OUT NOCOPY VARCHAR2
952 ,p_aaev_rec IN aaev_rec_type)
953 IS
954
955 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
956
957 BEGIN
958 -- initialize return status
959 x_return_status := OKC_API.G_RET_STS_SUCCESS;
960
961 -- check for data before processing
962 IF (p_aaev_rec.acn_id IS NULL) OR
963 (p_aaev_rec.acn_id = OKC_API.G_MISS_NUM) THEN
964 OKC_API.SET_MESSAGE(p_app_name => g_app_name
965 ,p_msg_name => g_required_value
966 ,p_token1 => g_col_name_token
967 ,p_token1_value => 'acn_id');
968 x_return_status := OKC_API.G_RET_STS_ERROR;
969 RAISE G_EXCEPTION_HALT_VALIDATION;
970 END IF;
971
972 EXCEPTION
973 WHEN G_EXCEPTION_HALT_VALIDATION THEN
974 -- no processing neccessary; validation can continue
975 -- with the next column
976 NULL;
977
978 WHEN OTHERS THEN
979 -- store SQL error message on message stack for caller
980 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
981 p_msg_name => g_unexpected_error,
982 p_token1 => g_sqlcode_token,
983 p_token1_value => sqlcode,
984 p_token2 => g_sqlerrm_token,
985 p_token2_value => sqlerrm);
986
987 -- notify caller of an UNEXPECTED error
988 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
989
990 END Validate_Acn_Id;
991
992 ---------------------------------------------------------------------------
993 -- PROCEDURE Validate_Element_Name
994 ---------------------------------------------------------------------------
995 -- Start of comments
996 --
997 -- Procedure Name : Validate_Element_Name
998 -- Description :
999 -- Business Rules :
1000 -- Parameters :
1001 -- Version : 1.0
1002 -- End of comments
1003 ---------------------------------------------------------------------------
1004 PROCEDURE Validate_Element_Name(x_return_status OUT NOCOPY VARCHAR2
1005 ,p_aaev_rec IN aaev_rec_type)
1006 IS
1007
1008 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1009 l_temp NUMBER;
1010
1011 BEGIN
1012 -- initialize return status
1013 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1014
1015 -- check for data before processing
1016 IF (p_aaev_rec.element_name IS NULL) OR
1017 (p_aaev_rec.element_name = OKC_API.G_MISS_CHAR) THEN
1018 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1019 ,p_msg_name => g_required_value
1020 ,p_token1 => g_col_name_token
1021 ,p_token1_value => 'element_name');
1022 x_return_status := OKC_API.G_RET_STS_ERROR;
1023 RAISE G_EXCEPTION_HALT_VALIDATION;
1024 END IF;
1025
1026 -- check that element_name should not contain the special characters
1027 l_temp := INSTR(p_aaev_rec.element_name,'<');
1028 IF l_temp <> 0 THEN
1029 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1030 ,p_msg_name => g_invalid_value
1031 ,p_token1 => g_col_name_token
1032 ,p_token1_value => 'element_name');
1033
1034 -- notify caller of an error
1035 x_return_status := OKC_API.G_RET_STS_ERROR;
1036
1037 -- halt further validation of this column
1038 RAISE G_EXCEPTION_HALT_VALIDATION;
1039 END IF;
1040
1041 l_temp := INSTR(p_aaev_rec.element_name,'>');
1042 IF l_temp <> 0 THEN
1043 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1044 ,p_msg_name => g_invalid_value
1045 ,p_token1 => g_col_name_token
1046 ,p_token1_value => 'element_name');
1047
1048 -- notify caller of an error
1049 x_return_status := OKC_API.G_RET_STS_ERROR;
1050
1051 -- halt further validation of this column
1052 RAISE G_EXCEPTION_HALT_VALIDATION;
1053 END IF;
1054
1055 l_temp := INSTR(p_aaev_rec.element_name,'?');
1056 IF l_temp <> 0 THEN
1057 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1058 ,p_msg_name => g_invalid_value
1059 ,p_token1 => g_col_name_token
1060 ,p_token1_value => 'element_name');
1061
1062 -- notify caller of an error
1063 x_return_status := OKC_API.G_RET_STS_ERROR;
1064
1065 -- halt further validation of this column
1066 RAISE G_EXCEPTION_HALT_VALIDATION;
1067 END IF;
1068
1069 l_temp := INSTR(p_aaev_rec.element_name,'[');
1070 IF l_temp <> 0 THEN
1071 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1072 ,p_msg_name => g_invalid_value
1073 ,p_token1 => g_col_name_token
1074 ,p_token1_value => 'element_name');
1075
1076 -- notify caller of an error
1077 x_return_status := OKC_API.G_RET_STS_ERROR;
1078
1079 -- halt further validation of this column
1080 RAISE G_EXCEPTION_HALT_VALIDATION;
1081 END IF;
1082
1083 l_temp := INSTR(p_aaev_rec.element_name,']');
1084 IF l_temp <> 0 THEN
1085 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1086 ,p_msg_name => g_invalid_value
1087 ,p_token1 => g_col_name_token
1088 ,p_token1_value => 'element_name');
1089
1090 -- notify caller of an error
1091 x_return_status := OKC_API.G_RET_STS_ERROR;
1092
1093 -- halt further validation of this column
1094 RAISE G_EXCEPTION_HALT_VALIDATION;
1095 END IF;
1096
1097 l_temp := INSTR(p_aaev_rec.element_name,'/');
1098 IF l_temp <> 0 THEN
1099 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1100 ,p_msg_name => g_invalid_value
1101 ,p_token1 => g_col_name_token
1102 ,p_token1_value => 'element_name');
1103
1104 -- notify caller of an error
1105 x_return_status := OKC_API.G_RET_STS_ERROR;
1106
1107 -- halt further validation of this column
1108 RAISE G_EXCEPTION_HALT_VALIDATION;
1109 END IF;
1110
1111 l_temp := INSTR(p_aaev_rec.element_name,'#');
1112 IF l_temp <> 0 THEN
1113 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1114 ,p_msg_name => g_invalid_value
1115 ,p_token1 => g_col_name_token
1116 ,p_token1_value => 'element_name');
1117
1118 -- notify caller of an error
1119 x_return_status := OKC_API.G_RET_STS_ERROR;
1120
1121 -- halt further validation of this column
1122 RAISE G_EXCEPTION_HALT_VALIDATION;
1123 END IF;
1124
1125 l_temp := INSTR(p_aaev_rec.element_name,'.');
1126 IF l_temp <> 0 THEN
1127 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1128 ,p_msg_name => g_invalid_value
1129 ,p_token1 => g_col_name_token
1130 ,p_token1_value => 'element_name');
1131
1132 -- notify caller of an error
1133 x_return_status := OKC_API.G_RET_STS_ERROR;
1134
1135 -- halt further validation of this column
1136 RAISE G_EXCEPTION_HALT_VALIDATION;
1137 END IF;
1138
1139 l_temp := INSTR(p_aaev_rec.element_name,'=');
1140 IF l_temp <> 0 THEN
1141 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1142 ,p_msg_name => g_invalid_value
1143 ,p_token1 => g_col_name_token
1144 ,p_token1_value => 'element_name');
1145
1146 -- notify caller of an error
1147 x_return_status := OKC_API.G_RET_STS_ERROR;
1148
1149 -- halt further validation of this column
1150 RAISE G_EXCEPTION_HALT_VALIDATION;
1151 END IF;
1152
1153 l_temp := INSTR(p_aaev_rec.element_name,'!');
1154 IF l_temp <> 0 THEN
1155 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1156 ,p_msg_name => g_invalid_value
1157 ,p_token1 => g_col_name_token
1158 ,p_token1_value => 'element_name');
1159
1160 -- notify caller of an error
1161 x_return_status := OKC_API.G_RET_STS_ERROR;
1162
1163 -- halt further validation of this column
1164 RAISE G_EXCEPTION_HALT_VALIDATION;
1165 END IF;
1166
1167 l_temp := INSTR(p_aaev_rec.element_name,'(');
1168 IF l_temp <> 0 THEN
1169 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1170 ,p_msg_name => g_invalid_value
1171 ,p_token1 => g_col_name_token
1172 ,p_token1_value => 'element_name');
1173
1174 -- notify caller of an error
1175 x_return_status := OKC_API.G_RET_STS_ERROR;
1176
1177 -- halt further validation of this column
1178 RAISE G_EXCEPTION_HALT_VALIDATION;
1179 END IF;
1180
1181 l_temp := INSTR(p_aaev_rec.element_name,')');
1182 IF l_temp <> 0 THEN
1183 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1184 ,p_msg_name => g_invalid_value
1185 ,p_token1 => g_col_name_token
1186 ,p_token1_value => 'element_name');
1187
1188 -- notify caller of an error
1189 x_return_status := OKC_API.G_RET_STS_ERROR;
1190
1191 -- halt further validation of this column
1192 RAISE G_EXCEPTION_HALT_VALIDATION;
1193 END IF;
1194
1195 l_temp := INSTR(p_aaev_rec.element_name,',');
1196 IF l_temp <> 0 THEN
1197 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1198 ,p_msg_name => g_invalid_value
1199 ,p_token1 => g_col_name_token
1200 ,p_token1_value => 'element_name');
1201
1202 -- notify caller of an error
1203 x_return_status := OKC_API.G_RET_STS_ERROR;
1204
1205 -- halt further validation of this column
1206 RAISE G_EXCEPTION_HALT_VALIDATION;
1207 END IF;
1208
1209 EXCEPTION
1210 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1211 -- no processing neccessary; validation can continue
1212 -- with the next column
1213 NULL;
1214
1215 WHEN OTHERS THEN
1216 -- store SQL error message on message stack for caller
1217 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1218 p_msg_name => g_unexpected_error,
1219 p_token1 => g_sqlcode_token,
1220 p_token1_value => sqlcode,
1221 p_token2 => g_sqlerrm_token,
1222 p_token2_value => sqlerrm);
1223
1224 -- notify caller of an UNEXPECTED error
1225 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1226
1227 END Validate_Element_Name;
1228
1229 ---------------------------------------------------------------------------
1230 -- PROCEDURE Validate_Name
1231 ---------------------------------------------------------------------------
1232 -- Start of comments
1233 --
1234 -- Procedure Name : Validate_Name
1235 -- Description :
1236 -- Business Rules :
1237 -- Parameters :
1238 -- Version : 1.0
1239 -- End of comments
1240 ---------------------------------------------------------------------------
1241 PROCEDURE Validate_Name(x_return_status OUT NOCOPY VARCHAR2
1242 ,p_aaev_rec IN aaev_rec_type)
1243 IS
1244
1245 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1246
1247 BEGIN
1248 -- initialize return status
1249 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1250
1251 -- check for data before processing
1252 IF (p_aaev_rec.name IS NULL) OR
1253 (p_aaev_rec.name = OKC_API.G_MISS_CHAR) THEN
1254 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1255 ,p_msg_name => g_required_value
1256 ,p_token1 => g_col_name_token
1257 ,p_token1_value => 'name');
1258 x_return_status := OKC_API.G_RET_STS_ERROR;
1259 RAISE G_EXCEPTION_HALT_VALIDATION;
1260 END IF;
1261
1262 EXCEPTION
1263 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1264 -- no processing neccessary; validation can continue
1265 -- with the next column
1266 NULL;
1267
1268 WHEN OTHERS THEN
1269 -- store SQL error message on message stack for caller
1270 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1271 p_msg_name => g_unexpected_error,
1272 p_token1 => g_sqlcode_token,
1273 p_token1_value => sqlcode,
1274 p_token2 => g_sqlerrm_token,
1275 p_token2_value => sqlerrm);
1276
1277 -- notify caller of an UNEXPECTED error
1278 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1279
1280 END Validate_Name;
1281
1282 ---------------------------------------------------------------------------
1283 -- PROCEDURE Validate_Data_Type
1284 ---------------------------------------------------------------------------
1285 -- Start of comments
1286 --
1287 -- Procedure Name : Validate_Data_Type
1288 -- Description :
1289 -- Business Rules :
1290 -- Parameters :
1291 -- Version : 1.0
1292 -- End of comments
1293 ---------------------------------------------------------------------------
1294 PROCEDURE Validate_Data_Type(x_return_status OUT NOCOPY VARCHAR2
1295 ,p_aaev_rec IN aaev_rec_type)
1296 IS
1297
1298 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1299
1300 BEGIN
1301 -- initialize return status
1302 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1303
1304 -- check for data before processing
1305 IF (p_aaev_rec.data_type IS NULL) OR
1306 (p_aaev_rec.data_type = OKC_API.G_MISS_CHAR) THEN
1307 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1308 ,p_msg_name => g_required_value
1309 ,p_token1 => g_col_name_token
1310 ,p_token1_value => 'data_type');
1311 x_return_status := OKC_API.G_RET_STS_ERROR;
1312 RAISE G_EXCEPTION_HALT_VALIDATION;
1313 END IF;
1314
1315 -- verify that data is uppercase
1316 IF (p_aaev_rec.data_type) <> UPPER(p_aaev_rec.data_type) THEN
1317 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1318 ,p_msg_name => g_uppercase_required
1319 ,p_token1 => g_col_name_token
1320 ,p_token1_value => 'data_type');
1321
1322 -- notify caller of an error
1323 x_return_status := OKC_API.G_RET_STS_ERROR;
1324 -- halt further validation of this column
1325 RAISE G_EXCEPTION_HALT_VALIDATION;
1326 END IF;
1327
1328 -- check for valid data_type
1329 IF (UPPER(p_aaev_rec.data_type) NOT IN ('CHAR','NUMBER','DATE')) THEN
1330 --IF (UPPER(p_aaev_rec.data_type) NOT IN ('C','N','D')) THEN
1331 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1332 ,p_msg_name => g_invalid_value
1333 ,p_token1 => g_col_name_token
1334 ,p_token1_value => 'data_type');
1335 x_return_status := OKC_API.G_RET_STS_ERROR;
1336 RAISE G_EXCEPTION_HALT_VALIDATION;
1337 END IF;
1338
1339 EXCEPTION
1340 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1341 -- no processing neccessary; validation can continue
1342 -- with the next column
1343 NULL;
1344
1345 WHEN OTHERS THEN
1346 -- store SQL error message on message stack for caller
1347 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1348 p_msg_name => g_unexpected_error,
1349 p_token1 => g_sqlcode_token,
1350 p_token1_value => sqlcode,
1351 p_token2 => g_sqlerrm_token,
1352 p_token2_value => sqlerrm);
1353
1354 -- notify caller of an UNEXPECTED error
1355 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1356
1357 END Validate_Data_Type;
1358
1359 ---------------------------------------------------------------------------
1360 -- PROCEDURE Validate_List_YN
1361 ---------------------------------------------------------------------------
1362 -- Start of comments
1363 --
1364 -- Procedure Name : Validate_List_YN
1365 -- Description :
1366 -- Business Rules :
1367 -- Parameters :
1368 -- Version : 1.0
1369 -- End of comments
1370 ---------------------------------------------------------------------------
1371 PROCEDURE Validate_List_YN(x_return_status OUT NOCOPY VARCHAR2
1372 ,p_aaev_rec IN aaev_rec_type)
1373 IS
1374
1375 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1376
1377 BEGIN
1378 -- initialize return status
1379 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1380
1381 -- check for data before processing
1382 IF (p_aaev_rec.list_yn IS NULL) OR
1383 (p_aaev_rec.list_yn = OKC_API.G_MISS_CHAR) THEN
1384 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1385 ,p_msg_name => g_required_value
1386 ,p_token1 => g_col_name_token
1387 ,p_token1_value => 'list_yn');
1388 x_return_status := OKC_API.G_RET_STS_ERROR;
1389 RAISE G_EXCEPTION_HALT_VALIDATION;
1390 END IF;
1391
1392 -- check if list_yn is in uppercase
1393 IF (p_aaev_rec.list_yn) <> UPPER(p_aaev_rec.list_yn) THEN
1394 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1395 ,p_msg_name => g_uppercase_required
1396 ,p_token1 => g_col_name_token
1397 ,p_token1_value => 'list_yn');
1398 x_return_status := OKC_API.G_RET_STS_ERROR;
1399 RAISE G_EXCEPTION_HALT_VALIDATION;
1400 END IF;
1401
1402 -- check if list_yn is Y or N
1403 IF UPPER(p_aaev_rec.list_yn) NOT IN ('Y','N') THEN
1404 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1405 ,p_msg_name => g_invalid_value
1406 ,p_token1 => g_col_name_token
1407 ,p_token1_value => 'list_yn');
1408 x_return_status := OKC_API.G_RET_STS_ERROR;
1409 RAISE G_EXCEPTION_HALT_VALIDATION;
1410 END IF;
1411
1412 -- check if list_yn is Y then aal_id should not be null
1413 /*IF UPPER(p_aaev_rec.list_yn) = 'Y' THEN
1414 IF (p_aaev_rec.aal_id IS NULL) OR
1415 (p_aaev_rec.aal_id = OKC_API.G_MISS_NUM) THEN
1416 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1417 ,p_msg_name => g_invalid_value
1418 ,p_token1 => g_col_name_token
1419 ,p_token1_value => 'list_yn');
1420 x_return_status := OKC_API.G_RET_STS_ERROR;
1421 RAISE G_EXCEPTION_HALT_VALIDATION;
1422 END IF;
1423 END IF;*/
1424 EXCEPTION
1425 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1426 -- no processing neccessary; validation can continue
1427 -- with the next column
1428 NULL;
1429
1430 WHEN OTHERS THEN
1431 -- store SQL error message on message stack for caller
1432 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1433 p_msg_name => g_unexpected_error,
1434 p_token1 => g_sqlcode_token,
1435 p_token1_value => sqlcode,
1436 p_token2 => g_sqlerrm_token,
1437 p_token2_value => sqlerrm);
1438
1439 -- notify caller of an UNEXPECTED error
1440 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1441
1442 END Validate_List_YN;
1443
1444 ---------------------------------------------------------------------------
1445 -- PROCEDURE Validate_Visible_YN
1446 ---------------------------------------------------------------------------
1447 -- Start of comments
1448 --
1449 -- Procedure Name : Validate_Visible_YN
1450 -- Description :
1451 -- Business Rules :
1452 -- Parameters :
1453 -- Version : 1.0
1454 -- End of comments
1455 ---------------------------------------------------------------------------
1456 PROCEDURE Validate_Visible_YN(x_return_status OUT NOCOPY VARCHAR2
1457 ,p_aaev_rec IN aaev_rec_type)
1458 IS
1459
1460 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1461
1462 BEGIN
1463 -- initialize return status
1464 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1465
1466 -- check for data before processing
1467 IF (p_aaev_rec.visible_yn IS NULL) OR
1468 (p_aaev_rec.visible_yn = OKC_API.G_MISS_CHAR) THEN
1469 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1470 ,p_msg_name => g_required_value
1471 ,p_token1 => g_col_name_token
1472 ,p_token1_value => 'visible_yn');
1473 x_return_status := OKC_API.G_RET_STS_ERROR;
1474 RAISE G_EXCEPTION_HALT_VALIDATION;
1475 END IF;
1476
1477 -- check if visible_yn is in uppercase
1478 IF (p_aaev_rec.visible_yn) <> UPPER(p_aaev_rec.visible_yn) THEN
1479 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1480 ,p_msg_name => g_uppercase_required
1481 ,p_token1 => g_col_name_token
1482 ,p_token1_value => 'visible_yn');
1483 x_return_status := OKC_API.G_RET_STS_ERROR;
1484 RAISE G_EXCEPTION_HALT_VALIDATION;
1485 END IF;
1486
1487 -- check if visible_yn is Y or N
1488 IF UPPER(p_aaev_rec.visible_yn) NOT IN ('Y','N') THEN
1489 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1490 ,p_msg_name => g_invalid_value
1491 ,p_token1 => g_col_name_token
1492 ,p_token1_value => 'visible_yn');
1493 x_return_status := OKC_API.G_RET_STS_ERROR;
1494 RAISE G_EXCEPTION_HALT_VALIDATION;
1495 END IF;
1496
1497 EXCEPTION
1498 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1499 -- no processing neccessary; validation can continue
1500 -- with the next column
1501 NULL;
1502
1503 WHEN OTHERS THEN
1504 -- store SQL error message on message stack for caller
1505 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1506 p_msg_name => g_unexpected_error,
1507 p_token1 => g_sqlcode_token,
1508 p_token1_value => sqlcode,
1509 p_token2 => g_sqlerrm_token,
1510 p_token2_value => sqlerrm);
1511
1512 -- notify caller of an UNEXPECTED error
1513 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1514
1515 END Validate_Visible_YN;
1516
1517 ---------------------------------------------------------------------------
1518 -- PROCEDURE Validate_Date_of_Interest_YN
1519 ---------------------------------------------------------------------------
1520 -- Start of comments
1521 --
1522 -- Procedure Name : Validate_Date_of_Interest_YN
1523 -- Description :
1524 -- Business Rules :
1525 -- Parameters :
1526 -- Version : 1.0
1527 -- End of comments
1528 ---------------------------------------------------------------------------
1529 PROCEDURE Validate_Date_of_Interest_YN(x_return_status OUT NOCOPY VARCHAR2
1530 ,p_aaev_rec IN aaev_rec_type)
1531 IS
1532
1533 CURSOR okc_doi_csr (p_id IN NUMBER) IS
1534 SELECT '1'
1535 FROM Okc_Action_Attributes_V
1536 WHERE okc_action_attributes_v.acn_id = p_id
1537 AND okc_action_attributes_v.date_of_interest_yn = 'Y';
1538
1539 l_dummy_var VARCHAR2(1);
1540
1541 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1542 l_row_found BOOLEAN := FALSE;
1543 BEGIN
1544
1545 -- initialize return status
1546 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1547 -- check if date_of_interest_yn has been already checked or not
1548
1549 IF (p_aaev_rec.ACN_ID IS NOT NULL)
1550 THEN
1551
1552 IF (p_aaev_rec.DATE_OF_INTEREST_YN = 'Y') THEN
1553 OPEN okc_doi_csr(p_aaev_rec.ACN_ID);
1554 FETCH okc_doi_csr INTO l_dummy_var;
1555 l_row_found := okc_doi_csr%FOUND;
1556 CLOSE okc_doi_csr;
1557 IF (l_row_found) THEN
1558 -- OKC_API.set_message(G_APP_NAME, G_ONE_DOI,G_COL_NAME_TOKEN,'DATE_OF_INTEREST_YN');
1559 OKC_API.set_message(G_APP_NAME, G_ONE_DOI);
1560 x_return_status := OKC_API.G_RET_STS_ERROR;
1561 RAISE G_EXCEPTION_HALT_VALIDATION;
1562 END IF;
1563 END IF;
1564 END IF;
1565
1566 -- check for data before processing
1567 IF (p_aaev_rec.date_of_interest_yn IS NULL) OR
1568 (p_aaev_rec.date_of_interest_yn = OKC_API.G_MISS_CHAR) THEN
1569 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1570 ,p_msg_name => g_required_value
1571 ,p_token1 => g_col_name_token
1572 ,p_token1_value => 'date_of_interest_yn');
1573 x_return_status := OKC_API.G_RET_STS_ERROR;
1574 RAISE G_EXCEPTION_HALT_VALIDATION;
1575 END IF;
1576
1577 -- check if date_of_interest_yn is in uppercase
1578 IF (p_aaev_rec.date_of_interest_yn) <> UPPER(p_aaev_rec.date_of_interest_yn) THEN
1579 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1580 ,p_msg_name => g_uppercase_required
1581 ,p_token1 => g_col_name_token
1582 ,p_token1_value => 'date_of_interest_yn');
1583 x_return_status := OKC_API.G_RET_STS_ERROR;
1584 RAISE G_EXCEPTION_HALT_VALIDATION;
1585 END IF;
1586
1587 -- check if date_of_interest_yn is Y or N
1588 IF UPPER(p_aaev_rec.date_of_interest_yn) NOT IN ('Y','N') THEN
1589 OKC_API.SET_MESSAGE(p_app_name => g_app_name
1590 ,p_msg_name => g_invalid_value
1591 ,p_token1 => g_col_name_token
1592 ,p_token1_value => 'date_of_interest_yn');
1593 x_return_status := OKC_API.G_RET_STS_ERROR;
1594 RAISE G_EXCEPTION_HALT_VALIDATION;
1595 END IF;
1596
1597 EXCEPTION
1598 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1599 -- no processing neccessary; validation can continue
1600 -- with the next column
1601 NULL;
1602
1603 WHEN OTHERS THEN
1604 -- store SQL error message on message stack for caller
1605 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1606 p_msg_name => g_unexpected_error,
1607 p_token1 => g_sqlcode_token,
1608 p_token1_value => sqlcode,
1609 p_token2 => g_sqlerrm_token,
1610 p_token2_value => sqlerrm);
1611
1612 -- notify caller of an UNEXPECTED error
1613 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1614
1615 END Validate_Date_of_Interest_YN;
1616
1617 ---------------------------------------------------------------------------
1618 -- PROCEDURE Validate_Format_Mask
1619 ---------------------------------------------------------------------------
1620 -- Start of comments
1621 --
1622 -- Procedure Name : Validate_Format_Mask
1623 -- Description :
1624 -- Business Rules :
1625 -- Parameters :
1626 -- Version : 1.0
1627 -- End of comments
1628 ---------------------------------------------------------------------------
1629 PROCEDURE Validate_Format_Mask(x_return_status OUT NOCOPY VARCHAR2
1630 ,p_aaev_rec IN aaev_rec_type)
1631 IS
1632
1633 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1634 l_char_check VARCHAR2(255) ;
1635
1636 BEGIN
1637 -- initialize return status
1638 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1639
1640 -- check for data before processing
1641 IF (p_aaev_rec.format_mask is not null) AND
1642 (p_aaev_rec.format_mask <> OKC_API.G_MISS_CHAR) THEN
1643
1644 --
1645 -- Check if format_mask is in date format whenever the value in the field
1646 -- data_type is 'DATE'
1647 --
1648 IF UPPER(p_aaev_rec.data_type) = 'DATE' THEN
1649 -- IF UPPER(p_aaev_rec.data_type) = 'D' THEN
1650 SELECT to_char(SYSDATE,NVL(p_aaev_rec.format_mask, 'DD-MON-YYYY'))
1651 INTO l_char_check
1652 FROM DUAL;
1653 ELSIF
1654 UPPER(p_aaev_rec.data_type) = 'NUMBER' AND p_aaev_rec.format_mask IS NOT NULL
1655 --UPPER(p_aaev_rec.data_type) = 'N' AND p_aaev_rec.format_mask IS NOT NULL
1656 THEN
1657 SELECT to_char(1,p_aaev_rec.format_mask)
1658 INTO l_char_check
1659 FROM DUAL;
1660 IF p_aaev_rec.data_type = 'CHAR' AND
1661 --IF p_aaev_rec.data_type = 'C' AND
1662 p_aaev_rec.format_mask IS NOT NULL THEN
1663 OKC_API.SET_MESSAGE(G_APP_NAME
1664 ,G_INVALID_VALUE
1665 ,G_COL_NAME_TOKEN
1666 ,'format_mask');
1667
1668 -- notify caller of an error
1669 x_return_status := OKC_API.G_RET_STS_ERROR;
1670
1671 -- halt furhter validation of this column
1672 RAISE G_EXCEPTION_HALT_VALIDATION;
1673
1674 END IF;
1675 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1676 END IF;
1677 END IF;
1678
1679 EXCEPTION
1680 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1681 -- no processing neccessary; validation can continue
1682 -- with the next column
1683 NULL;
1684
1685 WHEN OTHERS THEN
1686 -- store SQL error message on message stack for caller
1687 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1688 p_msg_name => g_unexpected_error,
1689 p_token1 => g_sqlcode_token,
1690 p_token1_value => sqlcode,
1691 p_token2 => g_sqlerrm_token,
1692 p_token2_value => sqlerrm);
1693
1694 -- notify caller of an UNEXPECTED error
1695 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1696
1697 END Validate_Format_Mask;
1698
1699
1700 ---------------------------------------------------------------------------
1701 -- FUNCTION Validate_Foreign_Keys
1702 ---------------------------------------------------------------------------
1703 -- Start of comments
1704 --
1705 -- Function Name : Validate_Foreign_Keys
1706 -- Description :
1707 -- Business Rules :
1708 -- Parameters :
1709 -- Version : 1.0
1710 -- End of comments
1711 ---------------------------------------------------------------------------
1712 FUNCTION Validate_Foreign_Keys (
1713 p_aaev_rec IN aaev_rec_type
1714 ) RETURN VARCHAR2 IS
1715 item_not_found_error EXCEPTION;
1716
1717 CURSOR okc_acnv_pk_csr (p_id IN NUMBER) IS
1718 SELECT '1'
1719 FROM Okc_Actions_V
1720 WHERE okc_actions_v.id = p_id;
1721
1722 l_dummy_var VARCHAR2(1);
1723
1724 CURSOR okc_aalv_pk_csr (p_id IN NUMBER) IS
1725 SELECT '1'
1726 FROM Okc_Action_Att_Lookups_V
1727 WHERE okc_action_att_lookups_v.id = p_id;
1728
1729 l_dummy VARCHAR2(1);
1730 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1731 l_row_notfound BOOLEAN := TRUE;
1732 BEGIN
1733 IF (p_aaev_rec.ACN_ID IS NOT NULL)
1734 THEN
1735 OPEN okc_acnv_pk_csr(p_aaev_rec.ACN_ID);
1736 FETCH okc_acnv_pk_csr INTO l_dummy_var;
1737 l_row_notfound := okc_acnv_pk_csr%NOTFOUND;
1738 CLOSE okc_acnv_pk_csr;
1739 IF (l_row_notfound) THEN
1740 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'ACN_ID');
1741 RAISE item_not_found_error;
1742 END IF;
1743 END IF;
1744 IF (p_aaev_rec.AAL_ID IS NOT NULL)
1745 THEN
1746 OPEN okc_aalv_pk_csr(p_aaev_rec.AAL_ID);
1747 FETCH okc_aalv_pk_csr INTO l_dummy;
1748 l_row_notfound := okc_aalv_pk_csr%NOTFOUND;
1749 CLOSE okc_aalv_pk_csr;
1750 IF (l_row_notfound) THEN
1751 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'AAL_ID');
1752 RAISE item_not_found_error;
1753 END IF;
1754 END IF;
1755 RETURN (l_return_status);
1756 EXCEPTION
1757 WHEN item_not_found_error THEN
1758 l_return_status := OKC_API.G_RET_STS_ERROR;
1759 RETURN (l_return_status);
1760 END Validate_Foreign_Keys;
1761
1762 ---------------------------------------------------------------------------
1763 -- FUNCTION Validate_Attributes
1764 ---------------------------------------------------------------------------
1765 -- Start of comments
1766 --
1767 -- Procedure Name : Validate_Attributes
1768 -- Description :
1769 -- Business Rules :
1770 -- Parameters :
1771 -- Version : 1.0
1772 -- End of comments
1773 ---------------------------------------------------------------------------
1774
1775 FUNCTION Validate_Attributes (
1776 p_aaev_rec IN aaev_rec_type
1777 ) RETURN VARCHAR2 IS
1778
1779 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1780 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1781 BEGIN
1782
1783 -- Validate_Foreign_Keys;
1784
1785 l_return_status := Validate_Foreign_Keys(p_aaev_rec);
1786 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1787 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1788 -- need to leave
1789 x_return_status := l_return_status;
1790 RAISE G_EXCEPTION_HALT_VALIDATION;
1791 ELSE
1792 -- record that there was an error
1793 x_return_status := l_return_status;
1794 END IF;
1795 END IF;
1796
1797 -- call each column-level validation
1798
1799 -- Validate_Id
1800 IF p_aaev_rec.id = OKC_API.G_MISS_NUM OR
1801 p_aaev_rec.id IS NULL
1802 THEN
1803 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
1804 l_return_status := OKC_API.G_RET_STS_ERROR;
1805 END IF;
1806
1807 -- Validate_Object_Version_Number
1808 IF (p_aaev_rec.object_version_number IS NOT NULL) AND
1809 (p_aaev_rec.object_version_number <> OKC_API.G_MISS_NUM) THEN
1810 Validate_Object_Version_Number(x_return_status,p_aaev_rec);
1811 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1812 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1813 -- need to leave
1814 l_return_status := x_return_status;
1815 RAISE G_EXCEPTION_HALT_VALIDATION;
1816 ELSE
1817 -- record that there was an error
1818 l_return_status := x_return_status;
1819 END IF;
1820 END IF;
1821 END IF;
1822
1823 -- Validate_Sfwt_Flag
1824 IF (p_aaev_rec.sfwt_flag IS NOT NULL) AND
1825 (p_aaev_rec.sfwt_flag <> OKC_API.G_MISS_CHAR) THEN
1826 Validate_Sfwt_Flag(x_return_status,p_aaev_rec);
1827 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1828 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1829 -- need to leave
1830 l_return_status := x_return_status;
1831 RAISE G_EXCEPTION_HALT_VALIDATION;
1832 ELSE
1833 -- record that there was an error
1834 l_return_status := x_return_status;
1835 END IF;
1836 END IF;
1837 END IF;
1838
1839 -- Validate_Seeded_Flag
1840 IF (p_aaev_rec.seeded_flag IS NOT NULL) AND
1841 (p_aaev_rec.sfwt_flag <> OKC_API.G_MISS_CHAR) THEN
1842 Validate_Sfwt_Flag(x_return_status,p_aaev_rec);
1843 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1844 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1845 -- need to leave
1846 l_return_status := x_return_status;
1847 RAISE G_EXCEPTION_HALT_VALIDATION;
1848 ELSE
1849 -- record that there was an error
1850 l_return_status := x_return_status;
1851 END IF;
1852 END IF;
1853 END IF;
1854
1855
1856 -- Validate_Application_id
1857 IF (p_aaev_rec.application_id IS NOT NULL) AND
1858 (p_aaev_rec.sfwt_flag <> OKC_API.G_MISS_CHAR) THEN
1859 Validate_Sfwt_Flag(x_return_status,p_aaev_rec);
1860 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1861 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1862 -- need to leave
1863 l_return_status := x_return_status;
1864 RAISE G_EXCEPTION_HALT_VALIDATION;
1865 ELSE
1866 -- record that there was an error
1867 l_return_status := x_return_status;
1868 END IF;
1869 END IF;
1870 END IF;
1871
1872 -- Validate_Acn_Id
1873 IF (p_aaev_rec.acn_id IS NOT NULL) AND
1874 (p_aaev_rec.acn_id <> OKC_API.G_MISS_NUM) THEN
1875 Validate_Acn_Id(x_return_status,p_aaev_rec);
1876 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1877 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1878 -- need to leave
1879 l_return_status := x_return_status;
1880 RAISE G_EXCEPTION_HALT_VALIDATION;
1881 ELSE
1882 -- record that there was an error
1883 l_return_status := x_return_status;
1884 END IF;
1885 END IF;
1886 END IF;
1887
1888 -- Validate_Element_Name
1889 IF (p_aaev_rec.element_name IS NOT NULL) AND
1890 (p_aaev_rec.element_name <> OKC_API.G_MISS_CHAR) THEN
1891 Validate_Element_Name(x_return_status,p_aaev_rec);
1892 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1893 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1894 -- need to leave
1895 l_return_status := x_return_status;
1896 RAISE G_EXCEPTION_HALT_VALIDATION;
1897 ELSE
1898 -- record that there was an error
1899 l_return_status := x_return_status;
1900 END IF;
1901 END IF;
1902 END IF;
1903
1904 -- Validate_Name
1905 IF (p_aaev_rec.name IS NOT NULL) AND
1906 (p_aaev_rec.name <> OKC_API.G_MISS_CHAR) THEN
1907 Validate_Name(x_return_status,p_aaev_rec);
1908 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1909 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1910 -- need to leave
1911 l_return_status := x_return_status;
1912 RAISE G_EXCEPTION_HALT_VALIDATION;
1913 ELSE
1914 -- record that there was an error
1915 l_return_status := x_return_status;
1916 END IF;
1917 END IF;
1918 END IF;
1919
1920 -- Validate_Data_Type
1921 IF (p_aaev_rec.data_type IS NOT NULL) AND
1922 (p_aaev_rec.data_type <> OKC_API.G_MISS_CHAR) THEN
1923 Validate_Data_Type(x_return_status,p_aaev_rec);
1924 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1925 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1926 -- need to leave
1927 l_return_status := x_return_status;
1928 RAISE G_EXCEPTION_HALT_VALIDATION;
1929 ELSE
1930 -- record that there was an error
1931 l_return_status := x_return_status;
1932 END IF;
1933 END IF;
1934 END IF;
1935
1936 -- Validate_List_YN
1937 IF (p_aaev_rec.list_yn IS NOT NULL) AND
1938 (p_aaev_rec.list_yn <> OKC_API.G_MISS_CHAR) THEN
1939 Validate_List_YN(x_return_status,p_aaev_rec);
1940 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1941 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1942 -- need to leave
1943 l_return_status := x_return_status;
1944 RAISE G_EXCEPTION_HALT_VALIDATION;
1945 ELSE
1946 -- record that there was an error
1947 l_return_status := x_return_status;
1948 END IF;
1949 END IF;
1950 END IF;
1951
1952 -- Validate_Visible_YN
1953 IF (p_aaev_rec.visible_yn IS NOT NULL) AND
1954 (p_aaev_rec.visible_yn <> OKC_API.G_MISS_CHAR) THEN
1955 Validate_Visible_YN(x_return_status,p_aaev_rec);
1956 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1957 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1958 -- need to leave
1959 l_return_status := x_return_status;
1960 RAISE G_EXCEPTION_HALT_VALIDATION;
1961 ELSE
1962 -- record that there was an error
1963 l_return_status := x_return_status;
1964 END IF;
1965 END IF;
1966 END IF;
1967
1968 -- Validate_Date_of_Interest_YN
1969 IF (p_aaev_rec.date_of_interest_yn IS NOT NULL) AND
1970 (p_aaev_rec.date_of_interest_yn <> OKC_API.G_MISS_CHAR) THEN
1971 Validate_Date_of_Interest_YN(x_return_status,p_aaev_rec);
1972 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1973 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1974 -- need to leave
1975 l_return_status := x_return_status;
1976 RAISE G_EXCEPTION_HALT_VALIDATION;
1977 ELSE
1978 -- record that there was an error
1979 l_return_status := x_return_status;
1980 END IF;
1981 END IF;
1982 END IF;
1983
1984 -- Validate_Format_Mask
1985 IF (p_aaev_rec.format_mask IS NOT NULL) AND
1986 (p_aaev_rec.format_mask <> OKC_API.G_MISS_CHAR) THEN
1987 Validate_Format_Mask(x_return_status,p_aaev_rec);
1988 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1989 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1990 -- need to leave
1991 l_return_status := x_return_status;
1992 RAISE G_EXCEPTION_HALT_VALIDATION;
1993 ELSE
1994 -- record that there was an error
1995 l_return_status := x_return_status;
1996 END IF;
1997 END IF;
1998 END IF;
1999
2000 RETURN(l_return_status);
2001 EXCEPTION
2002 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2003 -- just come out with return status
2004 NULL;
2005 RETURN (l_return_status);
2006
2007 WHEN OTHERS THEN
2008 -- store SQL error message on message stack for caller
2009 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2010 p_msg_name => g_unexpected_error,
2011 p_token1 => g_sqlcode_token,
2012 p_token1_value => sqlcode,
2013 p_token2 => g_sqlerrm_token,
2014 p_token2_value => sqlerrm);
2015 -- notify caller of an UNEXPECTED error
2016 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2017 RETURN(l_return_status);
2018
2019 END Validate_Attributes;
2020
2021 ---------------------------------------------------------------------------
2022 -- PROCEDURE Validate_Unique_Aae_Record
2023 ---------------------------------------------------------------------------
2024 -- Start of comments
2025 --
2026 -- Procedure Name : Validate_Unique_Aae_Record
2027 -- Description :
2028 -- Business Rules :
2029 -- Parameters :
2030 -- Version : 1.0
2031 -- End of comments
2032 ---------------------------------------------------------------------------
2033 PROCEDURE Validate_Unique_Aae_Record(
2034 x_return_status OUT NOCOPY VARCHAR2,
2035 p_aaev_rec IN aaev_rec_type)
2036 IS
2037
2038 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2039 l_unq_tbl OKC_UTIL.unq_tbl_type;
2040 l_dummy VARCHAR2(1);
2041 l_row_found Boolean := False;
2042 CURSOR c1(p_acn_id okc_action_attributes_v.acn_id%TYPE,
2043 p_element_name okc_Action_attributes_v.element_name%TYPE) is
2044 SELECT 1
2045 FROM okc_action_attributes_b
2046 WHERE acn_id = p_acn_id
2047 AND element_name = p_element_name
2048 AND id <> nvl(p_aaev_rec.id,-9999);
2049
2050 BEGIN
2051
2052 -- initialize return status
2053 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2054 /* Bug 1636056:The following code commented out nocopy since it was not using bind
2055 variables and parsing was taking place.Replaced with explicit cursor
2056 as above
2057
2058 -- initialize columns of unique concatenated key
2059
2060 l_unq_tbl(1).p_col_name := 'acn_id';
2061 l_unq_tbl(1).p_col_val := p_aaev_rec.acn_id;
2062 l_unq_tbl(2).p_col_name := 'element_name';
2063 l_unq_tbl(2).p_col_val := p_aaev_rec.element_name;
2064
2065 -- initialize return status
2066 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2067
2068 -- call check_comp_unique utility
2069 OKC_UTIL.check_comp_unique(p_view_name => 'OKC_ACTION_ATTRIBUTES_V'
2070 ,p_col_tbl => l_unq_tbl
2071 ,p_id => p_aaev_rec.id
2072 ,x_return_status => l_return_status);
2073 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2074 x_return_status := OKC_API.G_RET_STS_ERROR;
2075 END IF;
2076 */
2077 OPEN c1(p_aaev_rec.acn_id,
2078 p_aaev_rec.element_name);
2079 FETCH c1 into l_dummy;
2080 l_row_found := c1%FOUND;
2081 CLOSE c1;
2082 IF l_row_found then
2083 --OKC_API.set_message(G_APP_NAME,G_UNQS,G_COL_NAME_TOKEN1,'acn_id',G_COL_NAME_TOKEN2,'element_name');
2084 OKC_API.set_message(G_APP_NAME,G_UNQS);
2085 x_return_status := OKC_API.G_RET_STS_ERROR;
2086 END IF;
2087 EXCEPTION
2088 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2089 -- no processing necessary; validation can continue
2090 -- with the next column
2091 NULL;
2092
2093 WHEN OTHERS THEN
2094 -- store SQL error message on message stack for caller
2095 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2096 p_msg_name => g_unexpected_error,
2097 p_token1 => g_sqlcode_token,
2098 p_token1_value => sqlcode,
2099 p_token2 => g_sqlerrm_token,
2100 p_token2_value => sqlerrm);
2101
2102 -- notify caller of an UNEXPECTED error
2103 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2104
2105 END Validate_Unique_Aae_Record;
2106
2107 ---------------------------------------------------------------------------
2108 -- PROCEDURE Validate_Dt_Doi_YN
2109 ---------------------------------------------------------------------------
2110 -- Start of comments
2111 --
2112 -- Procedure Name : Validate_Dt_Doi_YN
2113 -- Description : To Validate that if Date_of_Interest_YN can be 'Y'
2114 -- : only for Data_type 'Date'
2115 -- Business Rules :
2116 -- Parameters :
2117 -- Version : 1.0
2118 -- End of comments
2119 ---------------------------------------------------------------------------
2120 PROCEDURE Validate_Dt_Doi_YN(x_return_status OUT NOCOPY VARCHAR2,
2121 p_aaev_rec IN aaev_rec_type)
2122 IS
2123
2124 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2125
2126
2127 BEGIN
2128 -- initialize return status
2129 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2130 --
2131 -- Check if Date_of_Interest_YN is 'Y' then Data_Type should be 'Date'
2132 --
2133
2134 IF UPPER(p_aaev_rec.data_type) <> 'DATE'
2135 AND UPPER(p_aaev_rec.date_of_interest_yn) = 'Y' THEN
2136 OKC_API.SET_MESSAGE(G_APP_NAME
2137 ,G_INVALID_VALUE
2138 ,G_COL_NAME_TOKEN
2139 ,'Dt_Doi_YN');
2140
2141 -- notify caller of an error
2142 x_return_status := OKC_API.G_RET_STS_ERROR;
2143
2144 -- halt furhter validation of this column
2145 RAISE G_EXCEPTION_HALT_VALIDATION;
2146 END IF;
2147
2148 EXCEPTION
2149 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2150 -- no processing necessary; validation can continue
2151 -- with the next column
2152 NULL;
2153
2154 WHEN OTHERS THEN
2155 -- store SQL error message on message stack for caller
2156 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2157 p_msg_name => g_unexpected_error,
2158 p_token1 => g_sqlcode_token,
2159 p_token1_value => sqlcode,
2160 p_token2 => g_sqlerrm_token,
2161 p_token2_value => sqlerrm);
2162
2163 -- notify caller of an UNEXPECTED error
2164 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2165
2166 END Validate_Dt_Doi_YN;
2167
2168 ---------------------------------------------------------------------------
2169 -- PROCEDURE Validate_Minmaxvalue
2170 ---------------------------------------------------------------------------
2171 -- Start of comments
2172 --
2173 -- Procedure Name : Validate_Minmaxvalue
2174 -- Description :
2175 -- Business Rules :
2176 -- Parameters :
2177 -- Version : 1.0
2178 -- End of comments
2179 ---------------------------------------------------------------------------
2180 PROCEDURE Validate_Minmaxvalue(x_return_status OUT NOCOPY VARCHAR2,
2181 p_aaev_rec IN aaev_rec_type)
2182 IS
2183
2184 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2185 l_date_check_max DATE;
2186 l_date_check_min DATE;
2187 -- Bug 4893035 - Changing the declaration to NUMBER
2188 -- l_number_check_max NUMBER(38);
2189 -- l_number_check_min NUMBER(38);
2190 l_number_check_max NUMBER;
2191 l_number_check_min NUMBER;
2192
2193
2194 BEGIN
2195 -- initialize return status
2196 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2197 --
2198 -- Check if minimum_value and maximum_value are of the correct data type
2199 --
2200
2201 --IF UPPER(p_aaev_rec.data_type) = 'VARCHAR2' THEN
2202 IF UPPER(p_aaev_rec.data_type) = 'CHAR' THEN
2203 -- no need to check minimum and maximum value
2204 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2205 ELSIF
2206 UPPER(p_aaev_rec.data_type) = 'DATE' THEN
2207 --UPPER(p_aaev_rec.data_type) = 'D' THEN
2208 SELECT to_date(p_aaev_rec.minimum_value,NVL(p_aaev_rec.format_mask,'XXXXX')),
2209 to_date(p_aaev_rec.maximum_value,NVL(p_aaev_rec.format_mask,'XXXXX'))
2210 INTO l_date_check_min,l_date_check_max
2211 FROM DUAL;
2212 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2213 ELSIF
2214 UPPER(p_aaev_rec.data_type) = 'NUMBER'
2215 --UPPER(p_aaev_rec.data_type) = 'N'
2216 THEN
2217 SELECT to_number(p_aaev_rec.minimum_value,NVL(p_aaev_rec.format_mask,'XXXXX')),
2218 to_number(p_aaev_rec.maximum_value,NVL(p_aaev_rec.format_mask,'XXXXX'))
2219 INTO l_number_check_max,l_number_check_min
2220 FROM DUAL;
2221 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2222 ELSE
2223 OKC_API.SET_MESSAGE(G_APP_NAME
2224 ,G_INVALID_VALUE
2225 ,G_COL_NAME_TOKEN
2226 ,'MINMAX_VALUE');
2227
2228 -- notify caller of an error
2229 x_return_status := OKC_API.G_RET_STS_ERROR;
2230
2231 -- halt furhter validation of this column
2232 RAISE G_EXCEPTION_HALT_VALIDATION;
2233 END IF;
2234
2235 EXCEPTION
2236 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2237 -- no processing necessary; validation can continue
2241 WHEN OTHERS THEN
2238 -- with the next column
2239 NULL;
2240
2242 -- store SQL error message on message stack for caller
2243 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2244 p_msg_name => g_unexpected_error,
2245 p_token1 => g_sqlcode_token,
2246 p_token1_value => sqlcode,
2247 p_token2 => g_sqlerrm_token,
2248 p_token2_value => sqlerrm);
2249
2250 -- notify caller of an UNEXPECTED error
2251 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2252
2253 END Validate_Minmaxvalue;
2254
2255 ---------------------------------------------------------------------------
2256 -- FUNCTION Validate_Record
2257 ---------------------------------------------------------------------------
2258 -- Start of comments
2259 --
2260 -- Procedure Name : Validate_Record
2261 -- Description :
2262 -- Business Rules :
2263 -- Parameters :
2264 -- Version : 1.0
2265 -- End of comments
2266 ---------------------------------------------------------------------------
2267
2268 FUNCTION Validate_Record (
2269 p_aaev_rec IN aaev_rec_type
2270 ) RETURN VARCHAR2 IS
2271 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2272 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2273 BEGIN
2274
2275 -- Validate_Unique_Aae_Record
2276 Validate_Unique_Aae_Record(x_return_status,p_aaev_rec);
2277 -- store the highest degree of error
2278 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2279 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2280 -- need to leave
2281 l_return_status := x_return_status;
2282 RAISE G_EXCEPTION_HALT_VALIDATION;
2283 ELSE
2284 -- record that there was an error
2285 l_return_status := x_return_status;
2286 END IF;
2287 END IF;
2288
2289 -- Validate_Dt_Doi_YN
2290 Validate_Dt_Doi_YN(x_return_status,p_aaev_rec);
2291 -- store the highest degree of error
2292 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2293 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2294 -- need to leave
2295 l_return_status := x_return_status;
2296 RAISE G_EXCEPTION_HALT_VALIDATION;
2297 ELSE
2298 -- record that there was an error
2299 l_return_status := x_return_status;
2300 END IF;
2301 END IF;
2302
2303 -- Validate_Minmaxvalue
2304 Validate_Minmaxvalue(x_return_status,p_aaev_rec);
2305 -- store the highest degree of error
2306 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2307 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2308 -- need to leave
2309 l_return_status := x_return_status;
2310 RAISE G_EXCEPTION_HALT_VALIDATION;
2311 ELSE
2312 -- record that there was an error
2313 l_return_status := x_return_status;
2314 END IF;
2315 END IF;
2316 RETURN(l_return_status);
2317
2318 EXCEPTION
2319 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2320 -- no processing necessary; validation can continue
2321 -- with the next column
2322 NULL;
2323 RETURN (l_return_status);
2324
2325 WHEN OTHERS THEN
2326 -- store SQL error message on message stack for caller
2327 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2328 p_msg_name => g_unexpected_error,
2329 p_token1 => g_sqlcode_token,
2330 p_token1_value => sqlcode,
2331 p_token2 => g_sqlerrm_token,
2332 p_token2_value => sqlerrm);
2333
2334 -- notify caller of an UNEXPECTED error
2335 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2336
2337 END Validate_Record;
2338
2339 /*********************** END HAND-CODED **********************************/
2340
2341 ---------------------------------------------------------------------------
2342 -- PROCEDURE Migrate
2343 ---------------------------------------------------------------------------
2344 PROCEDURE migrate (
2345 p_from IN aaev_rec_type,
2346 p_to OUT NOCOPY aae_rec_type
2347 ) IS
2348 BEGIN
2349 p_to.id := p_from.id;
2350 p_to.aal_id := p_from.aal_id;
2351 p_to.acn_id := p_from.acn_id;
2352 p_to.element_name := p_from.element_name;
2353 p_to.data_type := p_from.data_type;
2354 p_to.list_yn := p_from.list_yn;
2355 p_to.visible_yn := p_from.visible_yn;
2356 p_to.date_of_interest_yn := p_from.date_of_interest_yn;
2357 p_to.object_version_number := p_from.object_version_number;
2358 p_to.created_by := p_from.created_by;
2359 p_to.creation_date := p_from.creation_date;
2360 p_to.last_updated_by := p_from.last_updated_by;
2361 p_to.last_update_date := p_from.last_update_date;
2362 p_to.format_mask := p_from.format_mask;
2363 p_to.minimum_value := p_from.minimum_value;
2364 p_to.maximum_value := p_from.maximum_value;
2365 p_to.JTOT_object_code := p_from.JTOT_object_code;
2366 p_to.NAME_COLUMN := p_from.NAME_COLUMN;
2367 p_to.description_column := p_from.description_column;
2368 p_to.source_doc_number_yn := p_from.source_doc_number_yn;
2369 p_to.last_update_login := p_from.last_update_login;
2370 p_to.application_id := p_from.application_id;
2371 p_to.seeded_flag := p_from.seeded_flag;
2372 p_to.attribute_category := p_from.attribute_category;
2373 p_to.attribute1 := p_from.attribute1;
2374 p_to.attribute2 := p_from.attribute2;
2375 p_to.attribute3 := p_from.attribute3;
2376 p_to.attribute4 := p_from.attribute4;
2377 p_to.attribute5 := p_from.attribute5;
2378 p_to.attribute6 := p_from.attribute6;
2379 p_to.attribute7 := p_from.attribute7;
2380 p_to.attribute8 := p_from.attribute8;
2381 p_to.attribute9 := p_from.attribute9;
2382 p_to.attribute10 := p_from.attribute10;
2383 p_to.attribute11 := p_from.attribute11;
2384 p_to.attribute12 := p_from.attribute12;
2385 p_to.attribute13 := p_from.attribute13;
2386 p_to.attribute14 := p_from.attribute14;
2387 p_to.attribute15 := p_from.attribute15;
2388 END migrate;
2389 PROCEDURE migrate (
2390 p_from IN aae_rec_type,
2391 p_to IN OUT NOCOPY aaev_rec_type
2392 ) IS
2393 BEGIN
2394 p_to.id := p_from.id;
2395 p_to.aal_id := p_from.aal_id;
2396 p_to.acn_id := p_from.acn_id;
2397 p_to.element_name := p_from.element_name;
2398 p_to.data_type := p_from.data_type;
2399 p_to.list_yn := p_from.list_yn;
2400 p_to.visible_yn := p_from.visible_yn;
2401 p_to.date_of_interest_yn := p_from.date_of_interest_yn;
2402 p_to.object_version_number := p_from.object_version_number;
2403 p_to.created_by := p_from.created_by;
2404 p_to.creation_date := p_from.creation_date;
2405 p_to.last_updated_by := p_from.last_updated_by;
2406 p_to.last_update_date := p_from.last_update_date;
2407 p_to.format_mask := p_from.format_mask;
2408 p_to.minimum_value := p_from.minimum_value;
2409 p_to.maximum_value := p_from.maximum_value;
2410 p_to.JTOT_object_code := p_from.JTOT_object_code;
2411 p_to.NAME_COLUMN := p_from.NAME_COLUMN;
2412 p_to.description_column := p_from.description_column;
2413 p_to.source_doc_number_yn := p_from.source_doc_number_yn;
2414 p_to.last_update_login := p_from.last_update_login;
2415 p_to.application_id := p_from.application_id;
2416 p_to.seeded_flag := p_from.seeded_flag;
2417 p_to.attribute_category := p_from.attribute_category;
2418 p_to.attribute1 := p_from.attribute1;
2419 p_to.attribute2 := p_from.attribute2;
2420 p_to.attribute3 := p_from.attribute3;
2421 p_to.attribute4 := p_from.attribute4;
2422 p_to.attribute5 := p_from.attribute5;
2423 p_to.attribute6 := p_from.attribute6;
2424 p_to.attribute7 := p_from.attribute7;
2425 p_to.attribute8 := p_from.attribute8;
2426 p_to.attribute9 := p_from.attribute9;
2427 p_to.attribute10 := p_from.attribute10;
2428 p_to.attribute11 := p_from.attribute11;
2429 p_to.attribute12 := p_from.attribute12;
2430 p_to.attribute13 := p_from.attribute13;
2431 p_to.attribute14 := p_from.attribute14;
2432 p_to.attribute15 := p_from.attribute15;
2433 END migrate;
2434 PROCEDURE migrate (
2435 p_from IN aaev_rec_type,
2436 p_to OUT NOCOPY OkcActionAttributesTlRecType
2437 ) IS
2438 BEGIN
2439 p_to.id := p_from.id;
2440 p_to.sfwt_flag := p_from.sfwt_flag;
2441 p_to.name := p_from.name;
2442 p_to.description := p_from.description;
2443 p_to.created_by := p_from.created_by;
2444 p_to.creation_date := p_from.creation_date;
2445 p_to.last_updated_by := p_from.last_updated_by;
2446 p_to.last_update_date := p_from.last_update_date;
2447 p_to.last_update_login := p_from.last_update_login;
2448 END migrate;
2449 PROCEDURE migrate (
2450 p_from IN OkcActionAttributesTlRecType,
2451 p_to IN OUT NOCOPY aaev_rec_type
2452 ) IS
2453 BEGIN
2454 p_to.id := p_from.id;
2455 p_to.sfwt_flag := p_from.sfwt_flag;
2456 p_to.name := p_from.name;
2457 p_to.description := p_from.description;
2458 p_to.created_by := p_from.created_by;
2459 p_to.creation_date := p_from.creation_date;
2460 p_to.last_updated_by := p_from.last_updated_by;
2461 p_to.last_update_date := p_from.last_update_date;
2462 p_to.last_update_login := p_from.last_update_login;
2463 END migrate;
2464
2465 ---------------------------------------------------------------------------
2466 -- PROCEDURE validate_row
2467 ---------------------------------------------------------------------------
2468 ----------------------------------------------
2469 -- validate_row for:OKC_ACTION_ATTRIBUTES_V --
2470 ----------------------------------------------
2471 PROCEDURE validate_row(
2472 p_api_version IN NUMBER,
2473 p_init_msg_list IN VARCHAR2 ,
2474 x_return_status OUT NOCOPY VARCHAR2,
2475 x_msg_count OUT NOCOPY NUMBER,
2476 x_msg_data OUT NOCOPY VARCHAR2,
2477 p_aaev_rec IN aaev_rec_type) IS
2478
2479 l_api_version CONSTANT NUMBER := 1;
2480 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
2481 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2482 l_aaev_rec aaev_rec_type := p_aaev_rec;
2483 l_aae_rec aae_rec_type;
2484 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
2485 BEGIN
2486 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2487 G_PKG_NAME,
2488 p_init_msg_list,
2489 l_api_version,
2490 p_api_version,
2491 '_PVT',
2492 x_return_status);
2493 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2494 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2495 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2496 RAISE OKC_API.G_EXCEPTION_ERROR;
2497 END IF;
2498 --- Validate all non-missing attributes (Item Level Validation)
2499 l_return_status := Validate_Attributes(l_aaev_rec);
2500 --- If any errors happen abort API
2501 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2502 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2503 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2504 RAISE OKC_API.G_EXCEPTION_ERROR;
2505 END IF;
2506 l_return_status := Validate_Record(l_aaev_rec);
2507 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2508 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2509 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2510 RAISE OKC_API.G_EXCEPTION_ERROR;
2511 END IF;
2512 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2513 EXCEPTION
2514 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2515 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2516 (
2517 l_api_name,
2518 G_PKG_NAME,
2519 'OKC_API.G_RET_STS_ERROR',
2520 x_msg_count,
2521 x_msg_data,
2522 '_PVT'
2523 );
2524 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2525 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2526 (
2527 l_api_name,
2528 G_PKG_NAME,
2529 'OKC_API.G_RET_STS_UNEXP_ERROR',
2530 x_msg_count,
2531 x_msg_data,
2532 '_PVT'
2533 );
2534 WHEN OTHERS THEN
2535 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2536 (
2537 l_api_name,
2538 G_PKG_NAME,
2539 'OTHERS',
2540 x_msg_count,
2541 x_msg_data,
2542 '_PVT'
2543 );
2544 END validate_row;
2545 ------------------------------------------
2546 -- PL/SQL TBL validate_row for:AAEV_TBL --
2547 ------------------------------------------
2548 PROCEDURE validate_row(
2549 p_api_version IN NUMBER,
2550 p_init_msg_list IN VARCHAR2 ,
2551 x_return_status OUT NOCOPY VARCHAR2,
2552 x_msg_count OUT NOCOPY NUMBER,
2553 x_msg_data OUT NOCOPY VARCHAR2,
2554 p_aaev_tbl IN aaev_tbl_type) IS
2555
2556 l_api_version CONSTANT NUMBER := 1;
2557 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
2558 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2559 i NUMBER := 0;
2560 BEGIN
2561 OKC_API.init_msg_list(p_init_msg_list);
2562 -- Make sure PL/SQL table has records in it before passing
2563 IF (p_aaev_tbl.COUNT > 0) THEN
2564 i := p_aaev_tbl.FIRST;
2565 LOOP
2566 validate_row (
2567 p_api_version => p_api_version,
2568 p_init_msg_list => OKC_API.G_FALSE,
2569 x_return_status => x_return_status,
2570 x_msg_count => x_msg_count,
2571 x_msg_data => x_msg_data,
2572 p_aaev_rec => p_aaev_tbl(i));
2573 EXIT WHEN (i = p_aaev_tbl.LAST);
2574 i := p_aaev_tbl.NEXT(i);
2575 END LOOP;
2576 END IF;
2577 EXCEPTION
2578 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2579 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2580 (
2581 l_api_name,
2582 G_PKG_NAME,
2583 'OKC_API.G_RET_STS_ERROR',
2584 x_msg_count,
2585 x_msg_data,
2586 '_PVT'
2587 );
2588 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2589 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2590 (
2591 l_api_name,
2592 G_PKG_NAME,
2593 'OKC_API.G_RET_STS_UNEXP_ERROR',
2594 x_msg_count,
2595 x_msg_data,
2596 '_PVT'
2597 );
2598 WHEN OTHERS THEN
2599 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2600 (
2601 l_api_name,
2602 G_PKG_NAME,
2603 'OTHERS',
2604 x_msg_count,
2605 x_msg_data,
2606 '_PVT'
2607 );
2608 END validate_row;
2609
2610 ---------------------------------------------------------------------------
2611 -- PROCEDURE insert_row
2612 ---------------------------------------------------------------------------
2613 --------------------------------------------
2614 -- insert_row for:OKC_ACTION_ATTRIBUTES_B --
2615 --------------------------------------------
2616 PROCEDURE insert_row(
2617 p_init_msg_list IN VARCHAR2 ,
2618 x_return_status OUT NOCOPY VARCHAR2,
2619 x_msg_count OUT NOCOPY NUMBER,
2620 x_msg_data OUT NOCOPY VARCHAR2,
2621 p_aae_rec IN aae_rec_type,
2622 x_aae_rec OUT NOCOPY aae_rec_type) IS
2623
2624 l_api_version CONSTANT NUMBER := 1;
2625 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
2626 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2627 l_aae_rec aae_rec_type := p_aae_rec;
2628 l_def_aae_rec aae_rec_type;
2629 ------------------------------------------------
2630 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_B --
2631 ------------------------------------------------
2632 FUNCTION Set_Attributes (
2633 p_aae_rec IN aae_rec_type,
2634 x_aae_rec OUT NOCOPY aae_rec_type
2635 ) RETURN VARCHAR2 IS
2636 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2637 BEGIN
2638 x_aae_rec := p_aae_rec;
2639 RETURN(l_return_status);
2640 END Set_Attributes;
2641 BEGIN
2642 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2643 p_init_msg_list,
2644 '_PVT',
2645 x_return_status);
2646 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2647 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2648 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2649 RAISE OKC_API.G_EXCEPTION_ERROR;
2650 END IF;
2651 --- Setting item attributes
2652 l_return_status := Set_Attributes(
2653 p_aae_rec, -- IN
2654 l_aae_rec); -- OUT
2655 --- If any errors happen abort API
2656 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2657 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2658 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2659 RAISE OKC_API.G_EXCEPTION_ERROR;
2660 END IF;
2661 INSERT INTO OKC_ACTION_ATTRIBUTES_B(
2662 id,
2663 aal_id,
2664 acn_id,
2665 element_name,
2666 data_type,
2667 list_yn,
2668 visible_yn,
2669 date_of_interest_yn,
2670 object_version_number,
2671 created_by,
2672 creation_date,
2673 last_updated_by,
2674 last_update_date,
2675 format_mask,
2676 minimum_value,
2677 maximum_value,
2678 JTOT_object_code,
2679 NAME_COLUMN,
2680 description_column,
2681 source_doc_number_yn,
2682 last_update_login,
2683 application_id,
2684 seeded_flag,
2685 attribute_category,
2686 attribute1,
2687 attribute2,
2688 attribute3,
2689 attribute4,
2690 attribute5,
2691 attribute6,
2692 attribute7,
2693 attribute8,
2694 attribute9,
2695 attribute10,
2696 attribute11,
2697 attribute12,
2698 attribute13,
2699 attribute14,
2700 attribute15)
2701 VALUES (
2702 l_aae_rec.id,
2703 l_aae_rec.aal_id,
2704 l_aae_rec.acn_id,
2705 l_aae_rec.element_name,
2706 l_aae_rec.data_type,
2707 l_aae_rec.list_yn,
2708 l_aae_rec.visible_yn,
2709 l_aae_rec.date_of_interest_yn,
2710 l_aae_rec.object_version_number,
2711 l_aae_rec.created_by,
2712 l_aae_rec.creation_date,
2713 l_aae_rec.last_updated_by,
2714 l_aae_rec.last_update_date,
2715 l_aae_rec.format_mask,
2716 l_aae_rec.minimum_value,
2717 l_aae_rec.maximum_value,
2718 l_aae_rec.JTOT_object_code,
2719 l_aae_rec.NAME_COLUMN,
2720 l_aae_rec.description_column,
2721 l_aae_rec.source_doc_number_yn,
2722 l_aae_rec.last_update_login,
2723 l_aae_rec.application_id,
2724 l_aae_rec.seeded_flag,
2725 l_aae_rec.attribute_category,
2726 l_aae_rec.attribute1,
2727 l_aae_rec.attribute2,
2728 l_aae_rec.attribute3,
2729 l_aae_rec.attribute4,
2730 l_aae_rec.attribute5,
2731 l_aae_rec.attribute6,
2732 l_aae_rec.attribute7,
2733 l_aae_rec.attribute8,
2734 l_aae_rec.attribute9,
2735 l_aae_rec.attribute10,
2736 l_aae_rec.attribute11,
2737 l_aae_rec.attribute12,
2738 l_aae_rec.attribute13,
2739 l_aae_rec.attribute14,
2740 l_aae_rec.attribute15);
2741 -- Set OUT values
2742 x_aae_rec := l_aae_rec;
2743 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2744 EXCEPTION
2745 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2746 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2747 (
2748 l_api_name,
2749 G_PKG_NAME,
2750 'OKC_API.G_RET_STS_ERROR',
2751 x_msg_count,
2752 x_msg_data,
2753 '_PVT'
2754 );
2755 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2756 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2757 (
2758 l_api_name,
2759 G_PKG_NAME,
2760 'OKC_API.G_RET_STS_UNEXP_ERROR',
2761 x_msg_count,
2762 x_msg_data,
2763 '_PVT'
2764 );
2765 WHEN OTHERS THEN
2766 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2767 (
2768 l_api_name,
2769 G_PKG_NAME,
2770 'OTHERS',
2771 x_msg_count,
2772 x_msg_data,
2773 '_PVT'
2774 );
2775 END insert_row;
2776 ---------------------------------------------
2777 -- insert_row for:OKC_ACTION_ATTRIBUTES_TL --
2778 ---------------------------------------------
2779 PROCEDURE insert_row(
2780 p_init_msg_list IN VARCHAR2 ,
2781 x_return_status OUT NOCOPY VARCHAR2,
2782 x_msg_count OUT NOCOPY NUMBER,
2783 x_msg_data OUT NOCOPY VARCHAR2,
2784 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
2785 x_okc_action_attributes_tl_rec OUT NOCOPY OkcActionAttributesTlRecType) IS
2786
2787 l_api_version CONSTANT NUMBER := 1;
2788 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
2789 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2790 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType := p_okc_action_attributes_tl_rec;
2791 ldefokcactionattributestlrec OkcActionAttributesTlRecType;
2792 CURSOR get_languages IS
2793 SELECT *
2794 FROM FND_LANGUAGES
2795 WHERE INSTALLED_FLAG IN ('I', 'B');
2796 -------------------------------------------------
2797 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_TL --
2798 -------------------------------------------------
2799 FUNCTION Set_Attributes (
2800 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
2801 x_okc_action_attributes_tl_rec OUT NOCOPY OkcActionAttributesTlRecType
2802 ) RETURN VARCHAR2 IS
2803 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2804 BEGIN
2805 x_okc_action_attributes_tl_rec := p_okc_action_attributes_tl_rec;
2806 x_okc_action_attributes_tl_rec.LANGUAGE := l_lang;
2807 x_okc_action_attributes_tl_rec.SOURCE_LANG := l_lang;
2808 RETURN(l_return_status);
2809 END Set_Attributes;
2810 BEGIN
2811 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2812 p_init_msg_list,
2813 '_PVT',
2814 x_return_status);
2815 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2816 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2817 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2818 RAISE OKC_API.G_EXCEPTION_ERROR;
2819 END IF;
2820 --- Setting item attributes
2821 l_return_status := Set_Attributes(
2822 p_okc_action_attributes_tl_rec, -- IN
2823 l_okc_action_attributes_tl_rec); -- OUT
2824 --- If any errors happen abort API
2825 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2826 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2827 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2828 RAISE OKC_API.G_EXCEPTION_ERROR;
2829 END IF;
2830 FOR l_lang_rec IN get_languages LOOP
2831 l_okc_action_attributes_tl_rec.language := l_lang_rec.language_code;
2832 INSERT INTO OKC_ACTION_ATTRIBUTES_TL(
2833 id,
2834 language,
2835 source_lang,
2836 sfwt_flag,
2837 name,
2838 description,
2839 created_by,
2840 creation_date,
2841 last_updated_by,
2842 last_update_date,
2843 last_update_login)
2844 VALUES (
2845 l_okc_action_attributes_tl_rec.id,
2846 l_okc_action_attributes_tl_rec.language,
2847 l_okc_action_attributes_tl_rec.source_lang,
2848 l_okc_action_attributes_tl_rec.sfwt_flag,
2849 l_okc_action_attributes_tl_rec.name,
2850 l_okc_action_attributes_tl_rec.description,
2851 l_okc_action_attributes_tl_rec.created_by,
2852 l_okc_action_attributes_tl_rec.creation_date,
2853 l_okc_action_attributes_tl_rec.last_updated_by,
2854 l_okc_action_attributes_tl_rec.last_update_date,
2855 l_okc_action_attributes_tl_rec.last_update_login);
2856 END LOOP;
2857 -- Set OUT values
2858 x_okc_action_attributes_tl_rec := l_okc_action_attributes_tl_rec;
2859 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2860 EXCEPTION
2861 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2862 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2863 (
2864 l_api_name,
2865 G_PKG_NAME,
2866 'OKC_API.G_RET_STS_ERROR',
2867 x_msg_count,
2868 x_msg_data,
2869 '_PVT'
2870 );
2871 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2872 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2873 (
2874 l_api_name,
2875 G_PKG_NAME,
2876 'OKC_API.G_RET_STS_UNEXP_ERROR',
2877 x_msg_count,
2878 x_msg_data,
2879 '_PVT'
2880 );
2881 WHEN OTHERS THEN
2882 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2883 (
2884 l_api_name,
2885 G_PKG_NAME,
2886 'OTHERS',
2887 x_msg_count,
2888 x_msg_data,
2889 '_PVT'
2890 );
2891 END insert_row;
2892 --------------------------------------------
2893 -- insert_row for:OKC_ACTION_ATTRIBUTES_V --
2894 --------------------------------------------
2895 PROCEDURE insert_row(
2896 p_api_version IN NUMBER,
2897 p_init_msg_list IN VARCHAR2 ,
2898 x_return_status OUT NOCOPY VARCHAR2,
2899 x_msg_count OUT NOCOPY NUMBER,
2900 x_msg_data OUT NOCOPY VARCHAR2,
2901 p_aaev_rec IN aaev_rec_type,
2902 x_aaev_rec OUT NOCOPY aaev_rec_type) IS
2903
2904 l_id NUMBER ;
2905 l_api_version CONSTANT NUMBER := 1;
2906 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
2907 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2908 l_aaev_rec aaev_rec_type;
2909 l_def_aaev_rec aaev_rec_type;
2910 l_aae_rec aae_rec_type;
2911 lx_aae_rec aae_rec_type;
2912 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
2913 LxOkcActionAttributesTlRec OkcActionAttributesTlRecType;
2914 -------------------------------
2915 -- FUNCTION fill_who_columns --
2916 -------------------------------
2917 FUNCTION fill_who_columns (
2918 p_aaev_rec IN aaev_rec_type
2919 ) RETURN aaev_rec_type IS
2920 l_aaev_rec aaev_rec_type := p_aaev_rec;
2921 BEGIN
2922 l_aaev_rec.CREATION_DATE := SYSDATE;
2923 l_aaev_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2924 l_aaev_rec.LAST_UPDATE_DATE := l_aaev_rec.CREATION_DATE;
2925 l_aaev_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2926 l_aaev_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2927 RETURN(l_aaev_rec);
2928 END fill_who_columns;
2929 ------------------------------------------------
2930 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_V --
2931 ------------------------------------------------
2932 FUNCTION Set_Attributes (
2933 p_aaev_rec IN aaev_rec_type,
2934 x_aaev_rec OUT NOCOPY aaev_rec_type
2935 ) RETURN VARCHAR2 IS
2936 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2937 BEGIN
2938 x_aaev_rec := p_aaev_rec;
2939 x_aaev_rec.OBJECT_VERSION_NUMBER := 1;
2940 x_aaev_rec.SFWT_FLAG := 'N';
2941 RETURN(l_return_status);
2942 END Set_Attributes;
2943 BEGIN
2944 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2945 G_PKG_NAME,
2946 p_init_msg_list,
2947 l_api_version,
2948 p_api_version,
2949 '_PVT',
2950 x_return_status);
2951 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2952 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2953 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2954 RAISE OKC_API.G_EXCEPTION_ERROR;
2955 END IF;
2956 l_aaev_rec := null_out_defaults(p_aaev_rec);
2957 -- Set primary key value
2958 -- If action attribute is created by seed then use sequence generated id
2959 IF l_aaev_rec.CREATED_BY = 1 THEN
2960 SELECT OKC_ACTION_ATTRIBUTES_S1.nextval INTO l_id FROM dual;
2961 l_aaev_rec.ID := l_id;
2962 l_aaev_rec.seeded_flag := 'Y';
2963 ELSE
2964 l_aaev_rec.ID := get_seq_id;
2965 l_aaev_rec.seeded_flag := 'N';
2966 END IF;
2967 --l_aaev_rec.ID := get_seq_id;
2968 --- Setting item attributes
2969 l_return_status := Set_Attributes(
2970 l_aaev_rec, -- IN
2971 l_def_aaev_rec); -- OUT
2972 --- If any errors happen abort API
2973 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2974 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2975 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2976 RAISE OKC_API.G_EXCEPTION_ERROR;
2977 END IF;
2978 l_def_aaev_rec := fill_who_columns(l_def_aaev_rec);
2979 --- Validate all non-missing attributes (Item Level Validation)
2980 l_return_status := Validate_Attributes(l_def_aaev_rec);
2981 --- If any errors happen abort API
2982 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2983 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2984 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2985 RAISE OKC_API.G_EXCEPTION_ERROR;
2986 END IF;
2987 l_return_status := Validate_Record(l_def_aaev_rec);
2988 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2989 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2990 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2991 RAISE OKC_API.G_EXCEPTION_ERROR;
2992 END IF;
2993 --------------------------------------
2994 -- Move VIEW record to "Child" records
2995 --------------------------------------
2996 migrate(l_def_aaev_rec, l_aae_rec);
2997 migrate(l_def_aaev_rec, l_okc_action_attributes_tl_rec);
2998 --------------------------------------------
2999 -- Call the INSERT_ROW for each child record
3000 --------------------------------------------
3001 insert_row(
3002 p_init_msg_list,
3003 x_return_status,
3004 x_msg_count,
3005 x_msg_data,
3006 l_aae_rec,
3007 lx_aae_rec
3008 );
3009 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3010 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3011 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3012 RAISE OKC_API.G_EXCEPTION_ERROR;
3013 END IF;
3014 migrate(lx_aae_rec, l_def_aaev_rec);
3015 insert_row(
3016 p_init_msg_list,
3017 x_return_status,
3018 x_msg_count,
3019 x_msg_data,
3020 l_okc_action_attributes_tl_rec,
3021 LxOkcActionAttributesTlRec
3022 );
3023 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3024 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3025 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3026 RAISE OKC_API.G_EXCEPTION_ERROR;
3027 END IF;
3028 migrate(LxOkcActionAttributesTlRec, l_def_aaev_rec);
3029 -- Set OUT values
3030 x_aaev_rec := l_def_aaev_rec;
3031 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3032 EXCEPTION
3033 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3034 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3035 (
3036 l_api_name,
3037 G_PKG_NAME,
3038 'OKC_API.G_RET_STS_ERROR',
3039 x_msg_count,
3040 x_msg_data,
3041 '_PVT'
3042 );
3043 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3044 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3045 (
3046 l_api_name,
3047 G_PKG_NAME,
3048 'OKC_API.G_RET_STS_UNEXP_ERROR',
3049 x_msg_count,
3050 x_msg_data,
3051 '_PVT'
3052 );
3053 WHEN OTHERS THEN
3054 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3055 (
3056 l_api_name,
3057 G_PKG_NAME,
3058 'OTHERS',
3059 x_msg_count,
3060 x_msg_data,
3061 '_PVT'
3062 );
3063 END insert_row;
3064 ----------------------------------------
3065 -- PL/SQL TBL insert_row for:AAEV_TBL --
3066 ----------------------------------------
3067 PROCEDURE insert_row(
3068 p_api_version IN NUMBER,
3069 p_init_msg_list IN VARCHAR2 ,
3070 x_return_status OUT NOCOPY VARCHAR2,
3071 x_msg_count OUT NOCOPY NUMBER,
3072 x_msg_data OUT NOCOPY VARCHAR2,
3073 p_aaev_tbl IN aaev_tbl_type,
3074 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
3075
3076 l_api_version CONSTANT NUMBER := 1;
3077 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
3078 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3079 i NUMBER := 0;
3080 BEGIN
3081 OKC_API.init_msg_list(p_init_msg_list);
3082 -- Make sure PL/SQL table has records in it before passing
3083 IF (p_aaev_tbl.COUNT > 0) THEN
3084 i := p_aaev_tbl.FIRST;
3085 LOOP
3086 insert_row (
3087 p_api_version => p_api_version,
3088 p_init_msg_list => OKC_API.G_FALSE,
3089 x_return_status => x_return_status,
3090 x_msg_count => x_msg_count,
3091 x_msg_data => x_msg_data,
3092 p_aaev_rec => p_aaev_tbl(i),
3093 x_aaev_rec => x_aaev_tbl(i));
3094 EXIT WHEN (i = p_aaev_tbl.LAST);
3095 i := p_aaev_tbl.NEXT(i);
3096 END LOOP;
3097 END IF;
3098 EXCEPTION
3099 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3100 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3101 (
3102 l_api_name,
3103 G_PKG_NAME,
3104 'OKC_API.G_RET_STS_ERROR',
3105 x_msg_count,
3106 x_msg_data,
3107 '_PVT'
3108 );
3109 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3110 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3111 (
3112 l_api_name,
3113 G_PKG_NAME,
3114 'OKC_API.G_RET_STS_UNEXP_ERROR',
3115 x_msg_count,
3116 x_msg_data,
3117 '_PVT'
3118 );
3119 WHEN OTHERS THEN
3120 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3121 (
3122 l_api_name,
3123 G_PKG_NAME,
3124 'OTHERS',
3125 x_msg_count,
3126 x_msg_data,
3127 '_PVT'
3128 );
3129 END insert_row;
3130
3131 ---------------------------------------------------------------------------
3132 -- PROCEDURE lock_row
3133 ---------------------------------------------------------------------------
3134 ------------------------------------------
3135 -- lock_row for:OKC_ACTION_ATTRIBUTES_B --
3136 ------------------------------------------
3137 PROCEDURE lock_row(
3138 p_init_msg_list IN VARCHAR2 ,
3139 x_return_status OUT NOCOPY VARCHAR2,
3140 x_msg_count OUT NOCOPY NUMBER,
3141 x_msg_data OUT NOCOPY VARCHAR2,
3142 p_aae_rec IN aae_rec_type) IS
3143
3144 E_Resource_Busy EXCEPTION;
3145 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3146 CURSOR lock_csr (p_aae_rec IN aae_rec_type) IS
3147 SELECT OBJECT_VERSION_NUMBER
3148 FROM OKC_ACTION_ATTRIBUTES_B
3149 WHERE ID = p_aae_rec.id
3150 AND OBJECT_VERSION_NUMBER = p_aae_rec.object_version_number
3151 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
3152
3153 CURSOR lchk_csr (p_aae_rec IN aae_rec_type) IS
3154 SELECT OBJECT_VERSION_NUMBER
3155 FROM OKC_ACTION_ATTRIBUTES_B
3156 WHERE ID = p_aae_rec.id;
3157 l_api_version CONSTANT NUMBER := 1;
3158 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
3159 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3160 l_object_version_number OKC_ACTION_ATTRIBUTES_B.OBJECT_VERSION_NUMBER%TYPE;
3161 lc_object_version_number OKC_ACTION_ATTRIBUTES_B.OBJECT_VERSION_NUMBER%TYPE;
3162 l_row_notfound BOOLEAN := FALSE;
3163 lc_row_notfound BOOLEAN := FALSE;
3164 BEGIN
3165 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3166 p_init_msg_list,
3167 '_PVT',
3168 x_return_status);
3169 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3170 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3171 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3172 RAISE OKC_API.G_EXCEPTION_ERROR;
3173 END IF;
3174 BEGIN
3175 OPEN lock_csr(p_aae_rec);
3176 FETCH lock_csr INTO l_object_version_number;
3177 l_row_notfound := lock_csr%NOTFOUND;
3178 CLOSE lock_csr;
3179 EXCEPTION
3180 WHEN E_Resource_Busy THEN
3181 IF (lock_csr%ISOPEN) THEN
3182 CLOSE lock_csr;
3183 END IF;
3184 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3185 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3186 END;
3187
3188 IF ( l_row_notfound ) THEN
3189 OPEN lchk_csr(p_aae_rec);
3190 FETCH lchk_csr INTO lc_object_version_number;
3191 lc_row_notfound := lchk_csr%NOTFOUND;
3192 CLOSE lchk_csr;
3193 END IF;
3194 IF (lc_row_notfound) THEN
3195 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3196 RAISE OKC_API.G_EXCEPTION_ERROR;
3197 ELSIF lc_object_version_number > p_aae_rec.object_version_number THEN
3198 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3199 RAISE OKC_API.G_EXCEPTION_ERROR;
3200 ELSIF lc_object_version_number <> p_aae_rec.object_version_number THEN
3201 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3202 RAISE OKC_API.G_EXCEPTION_ERROR;
3203 ELSIF lc_object_version_number = -1 THEN
3204 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3205 RAISE OKC_API.G_EXCEPTION_ERROR;
3206 END IF;
3207 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3208 EXCEPTION
3209 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3210 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3211 (
3212 l_api_name,
3213 G_PKG_NAME,
3214 'OKC_API.G_RET_STS_ERROR',
3215 x_msg_count,
3216 x_msg_data,
3217 '_PVT'
3218 );
3219 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3220 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3221 (
3222 l_api_name,
3223 G_PKG_NAME,
3224 'OKC_API.G_RET_STS_UNEXP_ERROR',
3225 x_msg_count,
3226 x_msg_data,
3227 '_PVT'
3228 );
3229 WHEN OTHERS THEN
3230 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3231 (
3232 l_api_name,
3233 G_PKG_NAME,
3234 'OTHERS',
3235 x_msg_count,
3236 x_msg_data,
3237 '_PVT'
3238 );
3239 END lock_row;
3240 -------------------------------------------
3241 -- lock_row for:OKC_ACTION_ATTRIBUTES_TL --
3242 -------------------------------------------
3243 PROCEDURE lock_row(
3244 p_init_msg_list IN VARCHAR2 ,
3245 x_return_status OUT NOCOPY VARCHAR2,
3246 x_msg_count OUT NOCOPY NUMBER,
3247 x_msg_data OUT NOCOPY VARCHAR2,
3248 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType) IS
3249
3250 E_Resource_Busy EXCEPTION;
3251 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3252 CURSOR lock_csr (p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType) IS
3253 SELECT *
3254 FROM OKC_ACTION_ATTRIBUTES_TL
3255 WHERE ID = p_okc_action_attributes_tl_rec.id
3256 FOR UPDATE NOWAIT;
3257
3258 l_api_version CONSTANT NUMBER := 1;
3259 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
3260 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3261 l_lock_var lock_csr%ROWTYPE;
3262 l_row_notfound BOOLEAN := FALSE;
3263 lc_row_notfound BOOLEAN := FALSE;
3264 BEGIN
3265 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3266 p_init_msg_list,
3267 '_PVT',
3268 x_return_status);
3269 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3270 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3271 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3272 RAISE OKC_API.G_EXCEPTION_ERROR;
3273 END IF;
3274 BEGIN
3275 OPEN lock_csr(p_okc_action_attributes_tl_rec);
3276 FETCH lock_csr INTO l_lock_var;
3277 l_row_notfound := lock_csr%NOTFOUND;
3278 CLOSE lock_csr;
3279 EXCEPTION
3280 WHEN E_Resource_Busy THEN
3281 IF (lock_csr%ISOPEN) THEN
3282 CLOSE lock_csr;
3283 END IF;
3284 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3285 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3286 END;
3287
3288 IF ( l_row_notfound ) THEN
3289 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3290 RAISE OKC_API.G_EXCEPTION_ERROR;
3291 END IF;
3292 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3293 EXCEPTION
3294 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3295 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3296 (
3297 l_api_name,
3298 G_PKG_NAME,
3299 'OKC_API.G_RET_STS_ERROR',
3300 x_msg_count,
3301 x_msg_data,
3302 '_PVT'
3303 );
3304 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3305 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3306 (
3307 l_api_name,
3308 G_PKG_NAME,
3309 'OKC_API.G_RET_STS_UNEXP_ERROR',
3310 x_msg_count,
3311 x_msg_data,
3312 '_PVT'
3313 );
3314 WHEN OTHERS THEN
3315 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3316 (
3317 l_api_name,
3318 G_PKG_NAME,
3319 'OTHERS',
3320 x_msg_count,
3321 x_msg_data,
3322 '_PVT'
3323 );
3324 END lock_row;
3325 ------------------------------------------
3326 -- lock_row for:OKC_ACTION_ATTRIBUTES_V --
3327 ------------------------------------------
3328 PROCEDURE lock_row(
3329 p_api_version IN NUMBER,
3330 p_init_msg_list IN VARCHAR2 ,
3331 x_return_status OUT NOCOPY VARCHAR2,
3332 x_msg_count OUT NOCOPY NUMBER,
3333 x_msg_data OUT NOCOPY VARCHAR2,
3334 p_aaev_rec IN aaev_rec_type) IS
3335
3336 l_api_version CONSTANT NUMBER := 1;
3337 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3338 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3339 l_aae_rec aae_rec_type;
3340 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
3341 BEGIN
3342 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3343 G_PKG_NAME,
3344 p_init_msg_list,
3345 l_api_version,
3346 p_api_version,
3347 '_PVT',
3348 x_return_status);
3349 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3350 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3351 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3352 RAISE OKC_API.G_EXCEPTION_ERROR;
3353 END IF;
3354 --------------------------------------
3355 -- Move VIEW record to "Child" records
3356 --------------------------------------
3357 migrate(p_aaev_rec, l_aae_rec);
3358 migrate(p_aaev_rec, l_okc_action_attributes_tl_rec);
3359 --------------------------------------------
3360 -- Call the LOCK_ROW for each child record
3361 --------------------------------------------
3362 lock_row(
3363 p_init_msg_list,
3364 x_return_status,
3365 x_msg_count,
3366 x_msg_data,
3367 l_aae_rec
3368 );
3369 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3370 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3371 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3372 RAISE OKC_API.G_EXCEPTION_ERROR;
3373 END IF;
3374 lock_row(
3375 p_init_msg_list,
3376 x_return_status,
3377 x_msg_count,
3378 x_msg_data,
3379 l_okc_action_attributes_tl_rec
3380 );
3381 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3382 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3383 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3384 RAISE OKC_API.G_EXCEPTION_ERROR;
3385 END IF;
3386 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3387 EXCEPTION
3388 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3389 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3390 (
3391 l_api_name,
3392 G_PKG_NAME,
3393 'OKC_API.G_RET_STS_ERROR',
3394 x_msg_count,
3395 x_msg_data,
3396 '_PVT'
3397 );
3398 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3399 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3400 (
3401 l_api_name,
3402 G_PKG_NAME,
3403 'OKC_API.G_RET_STS_UNEXP_ERROR',
3404 x_msg_count,
3405 x_msg_data,
3406 '_PVT'
3407 );
3408 WHEN OTHERS THEN
3409 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3410 (
3411 l_api_name,
3412 G_PKG_NAME,
3413 'OTHERS',
3414 x_msg_count,
3415 x_msg_data,
3416 '_PVT'
3417 );
3418 END lock_row;
3419 --------------------------------------
3420 -- PL/SQL TBL lock_row for:AAEV_TBL --
3421 --------------------------------------
3422 PROCEDURE lock_row(
3423 p_api_version IN NUMBER,
3424 p_init_msg_list IN VARCHAR2 ,
3425 x_return_status OUT NOCOPY VARCHAR2,
3426 x_msg_count OUT NOCOPY NUMBER,
3427 x_msg_data OUT NOCOPY VARCHAR2,
3428 p_aaev_tbl IN aaev_tbl_type) IS
3429
3430 l_api_version CONSTANT NUMBER := 1;
3431 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
3432 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3433 i NUMBER := 0;
3434 BEGIN
3435 OKC_API.init_msg_list(p_init_msg_list);
3436 -- Make sure PL/SQL table has records in it before passing
3437 IF (p_aaev_tbl.COUNT > 0) THEN
3438 i := p_aaev_tbl.FIRST;
3439 LOOP
3440 lock_row (
3441 p_api_version => p_api_version,
3442 p_init_msg_list => OKC_API.G_FALSE,
3443 x_return_status => x_return_status,
3444 x_msg_count => x_msg_count,
3445 x_msg_data => x_msg_data,
3446 p_aaev_rec => p_aaev_tbl(i));
3447 EXIT WHEN (i = p_aaev_tbl.LAST);
3448 i := p_aaev_tbl.NEXT(i);
3449 END LOOP;
3450 END IF;
3451 EXCEPTION
3452 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3453 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3454 (
3455 l_api_name,
3456 G_PKG_NAME,
3457 'OKC_API.G_RET_STS_ERROR',
3458 x_msg_count,
3459 x_msg_data,
3460 '_PVT'
3461 );
3462 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3463 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3464 (
3465 l_api_name,
3466 G_PKG_NAME,
3467 'OKC_API.G_RET_STS_UNEXP_ERROR',
3468 x_msg_count,
3469 x_msg_data,
3470 '_PVT'
3471 );
3472 WHEN OTHERS THEN
3473 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3474 (
3475 l_api_name,
3476 G_PKG_NAME,
3477 'OTHERS',
3478 x_msg_count,
3479 x_msg_data,
3480 '_PVT'
3481 );
3482 END lock_row;
3483
3484 ---------------------------------------------------------------------------
3485 -- PROCEDURE update_row
3486 ---------------------------------------------------------------------------
3487 --------------------------------------------
3488 -- update_row for:OKC_ACTION_ATTRIBUTES_B --
3489 --------------------------------------------
3490 PROCEDURE update_row(
3491 p_init_msg_list IN VARCHAR2 ,
3492 x_return_status OUT NOCOPY VARCHAR2,
3493 x_msg_count OUT NOCOPY NUMBER,
3494 x_msg_data OUT NOCOPY VARCHAR2,
3495 p_aae_rec IN aae_rec_type,
3496 x_aae_rec OUT NOCOPY aae_rec_type) IS
3497
3498 l_api_version CONSTANT NUMBER := 1;
3499 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
3500 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3501 l_aae_rec aae_rec_type := p_aae_rec;
3502 l_def_aae_rec aae_rec_type;
3503 l_row_notfound BOOLEAN := TRUE;
3504 ----------------------------------
3505 -- FUNCTION populate_new_record --
3506 ----------------------------------
3507 FUNCTION populate_new_record (
3508 p_aae_rec IN aae_rec_type,
3509 x_aae_rec OUT NOCOPY aae_rec_type
3510 ) RETURN VARCHAR2 IS
3511 l_aae_rec aae_rec_type;
3512 l_row_notfound BOOLEAN := TRUE;
3513 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3514 BEGIN
3515 x_aae_rec := p_aae_rec;
3516 -- Get current database values
3517 l_aae_rec := get_rec(p_aae_rec, l_row_notfound);
3518 IF (l_row_notfound) THEN
3519 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3520 END IF;
3521 IF (x_aae_rec.id = OKC_API.G_MISS_NUM)
3522 THEN
3523 x_aae_rec.id := l_aae_rec.id;
3524 END IF;
3525 IF (x_aae_rec.aal_id = OKC_API.G_MISS_NUM)
3526 THEN
3527 x_aae_rec.aal_id := l_aae_rec.aal_id;
3528 END IF;
3529 IF (x_aae_rec.acn_id = OKC_API.G_MISS_NUM)
3530 THEN
3531 x_aae_rec.acn_id := l_aae_rec.acn_id;
3532 END IF;
3533 IF (x_aae_rec.element_name = OKC_API.G_MISS_CHAR)
3534 THEN
3535 x_aae_rec.element_name := l_aae_rec.element_name;
3536 END IF;
3537 IF (x_aae_rec.data_type = OKC_API.G_MISS_CHAR)
3538 THEN
3539 x_aae_rec.data_type := l_aae_rec.data_type;
3540 END IF;
3541 IF (x_aae_rec.list_yn = OKC_API.G_MISS_CHAR)
3542 THEN
3543 x_aae_rec.list_yn := l_aae_rec.list_yn;
3544 END IF;
3545 IF (x_aae_rec.visible_yn = OKC_API.G_MISS_CHAR)
3546 THEN
3547 x_aae_rec.visible_yn := l_aae_rec.visible_yn;
3548 END IF;
3549 IF (x_aae_rec.date_of_interest_yn = OKC_API.G_MISS_CHAR)
3550 THEN
3551 x_aae_rec.date_of_interest_yn := l_aae_rec.date_of_interest_yn;
3552 END IF;
3553 IF (x_aae_rec.object_version_number = OKC_API.G_MISS_NUM)
3554 THEN
3555 x_aae_rec.object_version_number := l_aae_rec.object_version_number;
3556 END IF;
3557 IF (x_aae_rec.created_by = OKC_API.G_MISS_NUM)
3558 THEN
3559 x_aae_rec.created_by := l_aae_rec.created_by;
3560 END IF;
3561 IF (x_aae_rec.creation_date = OKC_API.G_MISS_DATE)
3562 THEN
3563 x_aae_rec.creation_date := l_aae_rec.creation_date;
3564 END IF;
3565 IF (x_aae_rec.last_updated_by = OKC_API.G_MISS_NUM)
3566 THEN
3567 x_aae_rec.last_updated_by := l_aae_rec.last_updated_by;
3568 END IF;
3569 IF (x_aae_rec.last_update_date = OKC_API.G_MISS_DATE)
3570 THEN
3571 x_aae_rec.last_update_date := l_aae_rec.last_update_date;
3572 END IF;
3573 IF (x_aae_rec.format_mask = OKC_API.G_MISS_CHAR)
3574 THEN
3575 x_aae_rec.format_mask := l_aae_rec.format_mask;
3576 END IF;
3577 IF (x_aae_rec.minimum_value = OKC_API.G_MISS_CHAR)
3578 THEN
3579 x_aae_rec.minimum_value := l_aae_rec.minimum_value;
3580 END IF;
3581 IF (x_aae_rec.maximum_value = OKC_API.G_MISS_CHAR)
3582 THEN
3583 x_aae_rec.maximum_value := l_aae_rec.maximum_value;
3584 END IF;
3585 IF (x_aae_rec.JTOT_object_code = OKC_API.G_MISS_CHAR)
3586 THEN
3587 x_aae_rec.JTOT_object_code := l_aae_rec.JTOT_object_code;
3588 END IF;
3589 IF (x_aae_rec.NAME_COLUMN = OKC_API.G_MISS_CHAR)
3590 THEN
3591 x_aae_rec.NAME_COLUMN := l_aae_rec.NAME_COLUMN;
3592 END IF;
3593 IF (x_aae_rec.description_column = OKC_API.G_MISS_CHAR)
3594 THEN
3595 x_aae_rec.description_column := l_aae_rec.description_column;
3596 END IF;
3597 IF (x_aae_rec.source_doc_number_yn = OKC_API.G_MISS_CHAR)
3598 THEN
3599 x_aae_rec.source_doc_number_yn := l_aae_rec.source_doc_number_yn;
3600 END IF;
3601 IF (x_aae_rec.last_update_login = OKC_API.G_MISS_NUM)
3602 THEN
3603 x_aae_rec.last_update_login := l_aae_rec.last_update_login;
3604 END IF;
3605 IF (x_aae_rec.application_id = OKC_API.G_MISS_NUM)
3606 THEN
3607 x_aae_rec.application_id := l_aae_rec.application_id;
3608 END IF;
3609 IF (x_aae_rec.seeded_flag = OKC_API.G_MISS_CHAR)
3610 THEN
3611 x_aae_rec.seeded_flag := l_aae_rec.seeded_flag;
3612 END IF;
3613 IF (x_aae_rec.attribute_category = OKC_API.G_MISS_CHAR)
3614 THEN
3615 x_aae_rec.attribute_category := l_aae_rec.attribute_category;
3616 END IF;
3617 IF (x_aae_rec.attribute1 = OKC_API.G_MISS_CHAR)
3618 THEN
3619 x_aae_rec.attribute1 := l_aae_rec.attribute1;
3620 END IF;
3621 IF (x_aae_rec.attribute2 = OKC_API.G_MISS_CHAR)
3622 THEN
3623 x_aae_rec.attribute2 := l_aae_rec.attribute2;
3624 END IF;
3625 IF (x_aae_rec.attribute3 = OKC_API.G_MISS_CHAR)
3626 THEN
3627 x_aae_rec.attribute3 := l_aae_rec.attribute3;
3628 END IF;
3629 IF (x_aae_rec.attribute4 = OKC_API.G_MISS_CHAR)
3630 THEN
3631 x_aae_rec.attribute4 := l_aae_rec.attribute4;
3632 END IF;
3633 IF (x_aae_rec.attribute5 = OKC_API.G_MISS_CHAR)
3634 THEN
3635 x_aae_rec.attribute5 := l_aae_rec.attribute5;
3636 END IF;
3637 IF (x_aae_rec.attribute6 = OKC_API.G_MISS_CHAR)
3638 THEN
3639 x_aae_rec.attribute6 := l_aae_rec.attribute6;
3640 END IF;
3641 IF (x_aae_rec.attribute7 = OKC_API.G_MISS_CHAR)
3642 THEN
3643 x_aae_rec.attribute7 := l_aae_rec.attribute7;
3644 END IF;
3645 IF (x_aae_rec.attribute8 = OKC_API.G_MISS_CHAR)
3646 THEN
3647 x_aae_rec.attribute8 := l_aae_rec.attribute8;
3648 END IF;
3649 IF (x_aae_rec.attribute9 = OKC_API.G_MISS_CHAR)
3650 THEN
3651 x_aae_rec.attribute9 := l_aae_rec.attribute9;
3652 END IF;
3653 IF (x_aae_rec.attribute10 = OKC_API.G_MISS_CHAR)
3654 THEN
3655 x_aae_rec.attribute10 := l_aae_rec.attribute10;
3656 END IF;
3657 IF (x_aae_rec.attribute11 = OKC_API.G_MISS_CHAR)
3658 THEN
3659 x_aae_rec.attribute11 := l_aae_rec.attribute11;
3660 END IF;
3661 IF (x_aae_rec.attribute12 = OKC_API.G_MISS_CHAR)
3662 THEN
3663 x_aae_rec.attribute12 := l_aae_rec.attribute12;
3664 END IF;
3665 IF (x_aae_rec.attribute13 = OKC_API.G_MISS_CHAR)
3666 THEN
3667 x_aae_rec.attribute13 := l_aae_rec.attribute13;
3668 END IF;
3669 IF (x_aae_rec.attribute14 = OKC_API.G_MISS_CHAR)
3670 THEN
3671 x_aae_rec.attribute14 := l_aae_rec.attribute14;
3672 END IF;
3673 IF (x_aae_rec.attribute15 = OKC_API.G_MISS_CHAR)
3674 THEN
3675 x_aae_rec.attribute15 := l_aae_rec.attribute15;
3676 END IF;
3677 RETURN(l_return_status);
3678 END populate_new_record;
3679 ------------------------------------------------
3680 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_B --
3681 ------------------------------------------------
3682 FUNCTION Set_Attributes (
3683 p_aae_rec IN aae_rec_type,
3684 x_aae_rec OUT NOCOPY aae_rec_type
3685 ) RETURN VARCHAR2 IS
3686 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3687 BEGIN
3688 x_aae_rec := p_aae_rec;
3689 RETURN(l_return_status);
3690 END Set_Attributes;
3691 BEGIN
3692 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3693 p_init_msg_list,
3694 '_PVT',
3695 x_return_status);
3696 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3697 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3698 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3699 RAISE OKC_API.G_EXCEPTION_ERROR;
3700 END IF;
3701 --- Setting item attributes
3702 l_return_status := Set_Attributes(
3703 p_aae_rec, -- IN
3704 l_aae_rec); -- OUT
3705 --- If any errors happen abort API
3706 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3707 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3708 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3709 RAISE OKC_API.G_EXCEPTION_ERROR;
3710 END IF;
3711 l_return_status := populate_new_record(l_aae_rec, l_def_aae_rec);
3712 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3713 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3714 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3715 RAISE OKC_API.G_EXCEPTION_ERROR;
3716 END IF;
3717 UPDATE OKC_ACTION_ATTRIBUTES_B
3718 SET AAL_ID = l_def_aae_rec.aal_id,
3719 ACN_ID = l_def_aae_rec.acn_id,
3720 ELEMENT_NAME = l_def_aae_rec.element_name,
3721 DATA_TYPE = l_def_aae_rec.data_type,
3722 LIST_YN = l_def_aae_rec.list_yn,
3723 VISIBLE_YN = l_def_aae_rec.visible_yn,
3724 DATE_OF_INTEREST_YN = l_def_aae_rec.date_of_interest_yn,
3725 OBJECT_VERSION_NUMBER = l_def_aae_rec.object_version_number,
3726 CREATED_BY = l_def_aae_rec.created_by,
3727 CREATION_DATE = l_def_aae_rec.creation_date,
3728 LAST_UPDATED_BY = l_def_aae_rec.last_updated_by,
3729 LAST_UPDATE_DATE = l_def_aae_rec.last_update_date,
3730 FORMAT_MASK = l_def_aae_rec.format_mask,
3731 MINIMUM_VALUE = l_def_aae_rec.minimum_value,
3732 MAXIMUM_VALUE = l_def_aae_rec.maximum_value,
3733 JTOT_OBJECT_CODE = l_def_aae_rec.JTOT_object_code,
3734 NAME_COLUMN= l_def_aae_rec.NAME_COLUMN,
3735 DESCRIPTION_COLUMN = l_def_aae_rec.description_column,
3736 source_doc_number_yn = l_def_aae_rec.source_doc_number_yn,
3737 LAST_UPDATE_LOGIN = l_def_aae_rec.last_update_login,
3738 APPLICATION_ID = l_def_aae_rec.application_id,
3739 SEEDED_FLAG = l_def_aae_rec.seeded_flag,
3740 ATTRIBUTE_CATEGORY = l_def_aae_rec.attribute_category,
3741 ATTRIBUTE1 = l_def_aae_rec.attribute1,
3742 ATTRIBUTE2 = l_def_aae_rec.attribute2,
3743 ATTRIBUTE3 = l_def_aae_rec.attribute3,
3744 ATTRIBUTE4 = l_def_aae_rec.attribute4,
3745 ATTRIBUTE5 = l_def_aae_rec.attribute5,
3746 ATTRIBUTE6 = l_def_aae_rec.attribute6,
3747 ATTRIBUTE7 = l_def_aae_rec.attribute7,
3748 ATTRIBUTE8 = l_def_aae_rec.attribute8,
3749 ATTRIBUTE9 = l_def_aae_rec.attribute9,
3750 ATTRIBUTE10 = l_def_aae_rec.attribute10,
3751 ATTRIBUTE11 = l_def_aae_rec.attribute11,
3752 ATTRIBUTE12 = l_def_aae_rec.attribute12,
3753 ATTRIBUTE13 = l_def_aae_rec.attribute13,
3754 ATTRIBUTE14 = l_def_aae_rec.attribute14,
3755 ATTRIBUTE15 = l_def_aae_rec.attribute15
3756 WHERE ID = l_def_aae_rec.id;
3757
3758 x_aae_rec := l_def_aae_rec;
3759 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3760 EXCEPTION
3761 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3762 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3763 (
3764 l_api_name,
3765 G_PKG_NAME,
3766 'OKC_API.G_RET_STS_ERROR',
3767 x_msg_count,
3768 x_msg_data,
3769 '_PVT'
3770 );
3771 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3772 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3773 (
3774 l_api_name,
3775 G_PKG_NAME,
3776 'OKC_API.G_RET_STS_UNEXP_ERROR',
3777 x_msg_count,
3778 x_msg_data,
3779 '_PVT'
3780 );
3781 WHEN OTHERS THEN
3782 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3783 (
3784 l_api_name,
3785 G_PKG_NAME,
3786 'OTHERS',
3787 x_msg_count,
3788 x_msg_data,
3789 '_PVT'
3790 );
3791 END update_row;
3792 ---------------------------------------------
3793 -- update_row for:OKC_ACTION_ATTRIBUTES_TL --
3794 ---------------------------------------------
3795 PROCEDURE update_row(
3796 p_init_msg_list IN VARCHAR2 ,
3797 x_return_status OUT NOCOPY VARCHAR2,
3798 x_msg_count OUT NOCOPY NUMBER,
3799 x_msg_data OUT NOCOPY VARCHAR2,
3800 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
3801 x_okc_action_attributes_tl_rec OUT NOCOPY OkcActionAttributesTlRecType) IS
3802
3803 l_api_version CONSTANT NUMBER := 1;
3804 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
3805 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3806 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType := p_okc_action_attributes_tl_rec;
3807 ldefokcactionattributestlrec OkcActionAttributesTlRecType;
3808 l_row_notfound BOOLEAN := TRUE;
3809 ----------------------------------
3810 -- FUNCTION populate_new_record --
3811 ----------------------------------
3812 FUNCTION populate_new_record (
3813 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
3814 x_okc_action_attributes_tl_rec OUT NOCOPY OkcActionAttributesTlRecType
3815 ) RETURN VARCHAR2 IS
3816 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
3817 l_row_notfound BOOLEAN := TRUE;
3818 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3819 BEGIN
3820 x_okc_action_attributes_tl_rec := p_okc_action_attributes_tl_rec;
3821 -- Get current database values
3822 l_okc_action_attributes_tl_rec := get_rec(p_okc_action_attributes_tl_rec, l_row_notfound);
3823 IF (l_row_notfound) THEN
3824 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3825 END IF;
3826 IF (x_okc_action_attributes_tl_rec.id = OKC_API.G_MISS_NUM)
3827 THEN
3828 x_okc_action_attributes_tl_rec.id := l_okc_action_attributes_tl_rec.id;
3829 END IF;
3830 IF (x_okc_action_attributes_tl_rec.language = OKC_API.G_MISS_CHAR)
3831 THEN
3832 x_okc_action_attributes_tl_rec.language := l_okc_action_attributes_tl_rec.language;
3833 END IF;
3834 IF (x_okc_action_attributes_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
3835 THEN
3836 x_okc_action_attributes_tl_rec.source_lang := l_okc_action_attributes_tl_rec.source_lang;
3837 END IF;
3838 IF (x_okc_action_attributes_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
3839 THEN
3840 x_okc_action_attributes_tl_rec.sfwt_flag := l_okc_action_attributes_tl_rec.sfwt_flag;
3841 END IF;
3842 IF (x_okc_action_attributes_tl_rec.name = OKC_API.G_MISS_CHAR)
3843 THEN
3844 x_okc_action_attributes_tl_rec.name := l_okc_action_attributes_tl_rec.name;
3845 END IF;
3846 IF (x_okc_action_attributes_tl_rec.description = OKC_API.G_MISS_CHAR)
3847 THEN
3848 x_okc_action_attributes_tl_rec.description := l_okc_action_attributes_tl_rec.description;
3849 END IF;
3850 IF (x_okc_action_attributes_tl_rec.created_by = OKC_API.G_MISS_NUM)
3851 THEN
3852 x_okc_action_attributes_tl_rec.created_by := l_okc_action_attributes_tl_rec.created_by;
3853 END IF;
3854 IF (x_okc_action_attributes_tl_rec.creation_date = OKC_API.G_MISS_DATE)
3855 THEN
3856 x_okc_action_attributes_tl_rec.creation_date := l_okc_action_attributes_tl_rec.creation_date;
3857 END IF;
3858 IF (x_okc_action_attributes_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
3859 THEN
3860 x_okc_action_attributes_tl_rec.last_updated_by := l_okc_action_attributes_tl_rec.last_updated_by;
3861 END IF;
3862 IF (x_okc_action_attributes_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
3863 THEN
3864 x_okc_action_attributes_tl_rec.last_update_date := l_okc_action_attributes_tl_rec.last_update_date;
3865 END IF;
3866 IF (x_okc_action_attributes_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
3867 THEN
3868 x_okc_action_attributes_tl_rec.last_update_login := l_okc_action_attributes_tl_rec.last_update_login;
3869 END IF;
3870 RETURN(l_return_status);
3871 END populate_new_record;
3872 -------------------------------------------------
3873 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_TL --
3874 -------------------------------------------------
3875 FUNCTION Set_Attributes (
3876 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
3877 x_okc_action_attributes_tl_rec OUT NOCOPY OkcActionAttributesTlRecType
3878 ) RETURN VARCHAR2 IS
3879 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3880 BEGIN
3881 x_okc_action_attributes_tl_rec := p_okc_action_attributes_tl_rec;
3882 x_okc_action_attributes_tl_rec.LANGUAGE := l_lang;
3883 x_okc_action_attributes_tl_rec.SOURCE_LANG := l_lang;
3884 RETURN(l_return_status);
3885 END Set_Attributes;
3886 BEGIN
3887 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3888 p_init_msg_list,
3889 '_PVT',
3890 x_return_status);
3891 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3892 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3893 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3894 RAISE OKC_API.G_EXCEPTION_ERROR;
3895 END IF;
3896 --- Setting item attributes
3897 l_return_status := Set_Attributes(
3898 p_okc_action_attributes_tl_rec, -- IN
3899 l_okc_action_attributes_tl_rec); -- OUT
3900 --- If any errors happen abort API
3901 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3902 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3903 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3904 RAISE OKC_API.G_EXCEPTION_ERROR;
3905 END IF;
3906 l_return_status := populate_new_record(l_okc_action_attributes_tl_rec, ldefokcactionattributestlrec);
3907 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3908 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3909 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3910 RAISE OKC_API.G_EXCEPTION_ERROR;
3911 END IF;
3912 UPDATE OKC_ACTION_ATTRIBUTES_TL
3913 SET NAME = ldefokcactionattributestlrec.name,
3914 DESCRIPTION = ldefokcactionattributestlrec.description,
3915 SOURCE_LANG = ldefokcactionattributestlrec.source_lang,
3916 CREATED_BY = ldefokcactionattributestlrec.created_by,
3917 CREATION_DATE = ldefokcactionattributestlrec.creation_date,
3918 LAST_UPDATED_BY = ldefokcactionattributestlrec.last_updated_by,
3919 LAST_UPDATE_DATE = ldefokcactionattributestlrec.last_update_date,
3920 LAST_UPDATE_LOGIN = ldefokcactionattributestlrec.last_update_login
3921 WHERE ID = ldefokcactionattributestlrec.id
3922 AND USERENV('LANG') IN (SOURCE_LANG,LANGUAGE);
3923 --AND SOURCE_LANG = USERENV('LANG');
3924
3925 UPDATE OKC_ACTION_ATTRIBUTES_TL
3926 SET SFWT_FLAG = 'Y'
3927 WHERE ID = ldefokcactionattributestlrec.id
3928 AND SOURCE_LANG <> USERENV('LANG');
3929
3930 x_okc_action_attributes_tl_rec := ldefokcactionattributestlrec;
3931 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3932 EXCEPTION
3933 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3934 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3935 (
3936 l_api_name,
3937 G_PKG_NAME,
3938 'OKC_API.G_RET_STS_ERROR',
3939 x_msg_count,
3940 x_msg_data,
3941 '_PVT'
3942 );
3943 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3944 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3945 (
3946 l_api_name,
3947 G_PKG_NAME,
3948 'OKC_API.G_RET_STS_UNEXP_ERROR',
3949 x_msg_count,
3950 x_msg_data,
3951 '_PVT'
3952 );
3953 WHEN OTHERS THEN
3954 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3955 (
3956 l_api_name,
3957 G_PKG_NAME,
3958 'OTHERS',
3959 x_msg_count,
3960 x_msg_data,
3961 '_PVT'
3962 );
3963 END update_row;
3964 --------------------------------------------
3965 -- update_row for:OKC_ACTION_ATTRIBUTES_V --
3966 --------------------------------------------
3967 PROCEDURE update_row(
3968 p_api_version IN NUMBER,
3969 p_init_msg_list IN VARCHAR2 ,
3970 x_return_status OUT NOCOPY VARCHAR2,
3971 x_msg_count OUT NOCOPY NUMBER,
3972 x_msg_data OUT NOCOPY VARCHAR2,
3973 p_aaev_rec IN aaev_rec_type,
3974 x_aaev_rec OUT NOCOPY aaev_rec_type) IS
3975
3976 l_api_version CONSTANT NUMBER := 1;
3977 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3978 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3979 l_aaev_rec aaev_rec_type := p_aaev_rec;
3980 l_def_aaev_rec aaev_rec_type;
3981 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
3982 LxOkcActionAttributesTlRec OkcActionAttributesTlRecType;
3983 l_aae_rec aae_rec_type;
3984 lx_aae_rec aae_rec_type;
3985 -------------------------------
3986 -- FUNCTION fill_who_columns --
3987 -------------------------------
3988 FUNCTION fill_who_columns (
3989 p_aaev_rec IN aaev_rec_type
3990 ) RETURN aaev_rec_type IS
3991 l_aaev_rec aaev_rec_type := p_aaev_rec;
3992 BEGIN
3993 l_aaev_rec.LAST_UPDATE_DATE := SYSDATE;
3994 l_aaev_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3995 l_aaev_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3996 RETURN(l_aaev_rec);
3997 END fill_who_columns;
3998 ----------------------------------
3999 -- FUNCTION populate_new_record --
4000 ----------------------------------
4001 FUNCTION populate_new_record (
4002 p_aaev_rec IN aaev_rec_type,
4003 x_aaev_rec OUT NOCOPY aaev_rec_type
4004 ) RETURN VARCHAR2 IS
4005 l_aaev_rec aaev_rec_type;
4006 l_row_notfound BOOLEAN := TRUE;
4007 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4008 BEGIN
4009 x_aaev_rec := p_aaev_rec;
4010 -- Get current database values
4011 l_aaev_rec := get_rec(p_aaev_rec, l_row_notfound);
4012 IF (l_row_notfound) THEN
4013 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4014 END IF;
4015 IF (x_aaev_rec.id = OKC_API.G_MISS_NUM)
4016 THEN
4017 x_aaev_rec.id := l_aaev_rec.id;
4018 END IF;
4019 IF (x_aaev_rec.aal_id = OKC_API.G_MISS_NUM)
4020 THEN
4021 x_aaev_rec.aal_id := l_aaev_rec.aal_id;
4022 END IF;
4023 IF (x_aaev_rec.object_version_number = OKC_API.G_MISS_NUM)
4024 THEN
4025 x_aaev_rec.object_version_number := l_aaev_rec.object_version_number;
4026 END IF;
4027 IF (x_aaev_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
4028 THEN
4029 x_aaev_rec.sfwt_flag := l_aaev_rec.sfwt_flag;
4030 END IF;
4031 IF (x_aaev_rec.acn_id = OKC_API.G_MISS_NUM)
4032 THEN
4033 x_aaev_rec.acn_id := l_aaev_rec.acn_id;
4034 END IF;
4035 IF (x_aaev_rec.element_name = OKC_API.G_MISS_CHAR)
4036 THEN
4037 x_aaev_rec.element_name := l_aaev_rec.element_name;
4038 END IF;
4039 IF (x_aaev_rec.name = OKC_API.G_MISS_CHAR)
4040 THEN
4041 x_aaev_rec.name := l_aaev_rec.name;
4042 END IF;
4043 IF (x_aaev_rec.description = OKC_API.G_MISS_CHAR)
4044 THEN
4045 x_aaev_rec.description := l_aaev_rec.description;
4046 END IF;
4047 IF (x_aaev_rec.data_type = OKC_API.G_MISS_CHAR)
4048 THEN
4049 x_aaev_rec.data_type := l_aaev_rec.data_type;
4050 END IF;
4051 IF (x_aaev_rec.list_yn = OKC_API.G_MISS_CHAR)
4052 THEN
4053 x_aaev_rec.list_yn := l_aaev_rec.list_yn;
4054 END IF;
4055 IF (x_aaev_rec.visible_yn = OKC_API.G_MISS_CHAR)
4056 THEN
4057 x_aaev_rec.visible_yn := l_aaev_rec.visible_yn;
4058 END IF;
4059 IF (x_aaev_rec.date_of_interest_yn = OKC_API.G_MISS_CHAR)
4060 THEN
4061 x_aaev_rec.date_of_interest_yn := l_aaev_rec.date_of_interest_yn;
4062 END IF;
4063 IF (x_aaev_rec.format_mask = OKC_API.G_MISS_CHAR)
4064 THEN
4065 x_aaev_rec.format_mask := l_aaev_rec.format_mask;
4066 END IF;
4067 IF (x_aaev_rec.minimum_value = OKC_API.G_MISS_CHAR)
4068 THEN
4069 x_aaev_rec.minimum_value := l_aaev_rec.minimum_value;
4070 END IF;
4071 IF (x_aaev_rec.maximum_value = OKC_API.G_MISS_CHAR)
4072 THEN
4073 x_aaev_rec.maximum_value := l_aaev_rec.maximum_value;
4074 END IF;
4075 IF (x_aaev_rec.JTOT_object_code = OKC_API.G_MISS_CHAR)
4076 THEN
4077 x_aaev_rec.JTOT_object_code := l_aaev_rec.JTOT_object_code;
4078 END IF;
4079 IF (x_aaev_rec.NAME_COLUMN = OKC_API.G_MISS_CHAR)
4080 THEN
4081 x_aaev_rec.NAME_COLUMN := l_aaev_rec.NAME_COLUMN;
4082 END IF;
4083 IF (x_aaev_rec.description_column = OKC_API.G_MISS_CHAR)
4084 THEN
4085 x_aaev_rec.description_column := l_aaev_rec.description_column;
4086 END IF;
4087 IF (x_aaev_rec.source_doc_number_yn = OKC_API.G_MISS_CHAR)
4088 THEN
4089 x_aaev_rec.source_doc_number_yn := l_aaev_rec.source_doc_number_yn;
4090 END IF;
4091 IF (x_aaev_rec.application_id = OKC_API.G_MISS_NUM)
4092 THEN
4093 x_aaev_rec.application_id := l_aaev_rec.application_id;
4094 END IF;
4095 IF (x_aaev_rec.seeded_flag = OKC_API.G_MISS_CHAR)
4096 THEN
4097 x_aaev_rec.seeded_flag := l_aaev_rec.seeded_flag;
4098 END IF;
4099 IF (x_aaev_rec.attribute_category = OKC_API.G_MISS_CHAR)
4100 THEN
4101 x_aaev_rec.attribute_category := l_aaev_rec.attribute_category;
4102 END IF;
4103 IF (x_aaev_rec.attribute1 = OKC_API.G_MISS_CHAR)
4104 THEN
4105 x_aaev_rec.attribute1 := l_aaev_rec.attribute1;
4106 END IF;
4107 IF (x_aaev_rec.attribute2 = OKC_API.G_MISS_CHAR)
4108 THEN
4109 x_aaev_rec.attribute2 := l_aaev_rec.attribute2;
4110 END IF;
4111 IF (x_aaev_rec.attribute3 = OKC_API.G_MISS_CHAR)
4112 THEN
4113 x_aaev_rec.attribute3 := l_aaev_rec.attribute3;
4114 END IF;
4115 IF (x_aaev_rec.attribute4 = OKC_API.G_MISS_CHAR)
4116 THEN
4117 x_aaev_rec.attribute4 := l_aaev_rec.attribute4;
4118 END IF;
4119 IF (x_aaev_rec.attribute5 = OKC_API.G_MISS_CHAR)
4120 THEN
4121 x_aaev_rec.attribute5 := l_aaev_rec.attribute5;
4122 END IF;
4123 IF (x_aaev_rec.attribute6 = OKC_API.G_MISS_CHAR)
4124 THEN
4125 x_aaev_rec.attribute6 := l_aaev_rec.attribute6;
4126 END IF;
4127 IF (x_aaev_rec.attribute7 = OKC_API.G_MISS_CHAR)
4128 THEN
4129 x_aaev_rec.attribute7 := l_aaev_rec.attribute7;
4130 END IF;
4131 IF (x_aaev_rec.attribute8 = OKC_API.G_MISS_CHAR)
4132 THEN
4133 x_aaev_rec.attribute8 := l_aaev_rec.attribute8;
4134 END IF;
4135 IF (x_aaev_rec.attribute9 = OKC_API.G_MISS_CHAR)
4136 THEN
4137 x_aaev_rec.attribute9 := l_aaev_rec.attribute9;
4138 END IF;
4139 IF (x_aaev_rec.attribute10 = OKC_API.G_MISS_CHAR)
4140 THEN
4141 x_aaev_rec.attribute10 := l_aaev_rec.attribute10;
4142 END IF;
4143 IF (x_aaev_rec.attribute11 = OKC_API.G_MISS_CHAR)
4144 THEN
4145 x_aaev_rec.attribute11 := l_aaev_rec.attribute11;
4146 END IF;
4147 IF (x_aaev_rec.attribute12 = OKC_API.G_MISS_CHAR)
4148 THEN
4149 x_aaev_rec.attribute12 := l_aaev_rec.attribute12;
4150 END IF;
4151 IF (x_aaev_rec.attribute13 = OKC_API.G_MISS_CHAR)
4152 THEN
4153 x_aaev_rec.attribute13 := l_aaev_rec.attribute13;
4154 END IF;
4155 IF (x_aaev_rec.attribute14 = OKC_API.G_MISS_CHAR)
4156 THEN
4157 x_aaev_rec.attribute14 := l_aaev_rec.attribute14;
4158 END IF;
4159 IF (x_aaev_rec.attribute15 = OKC_API.G_MISS_CHAR)
4160 THEN
4161 x_aaev_rec.attribute15 := l_aaev_rec.attribute15;
4162 END IF;
4163 IF (x_aaev_rec.created_by = OKC_API.G_MISS_NUM)
4164 THEN
4165 x_aaev_rec.created_by := l_aaev_rec.created_by;
4166 END IF;
4167 IF (x_aaev_rec.creation_date = OKC_API.G_MISS_DATE)
4168 THEN
4169 x_aaev_rec.creation_date := l_aaev_rec.creation_date;
4170 END IF;
4171 IF (x_aaev_rec.last_updated_by = OKC_API.G_MISS_NUM)
4172 THEN
4173 x_aaev_rec.last_updated_by := l_aaev_rec.last_updated_by;
4174 END IF;
4175 IF (x_aaev_rec.last_update_date = OKC_API.G_MISS_DATE)
4176 THEN
4177 x_aaev_rec.last_update_date := l_aaev_rec.last_update_date;
4178 END IF;
4179 IF (x_aaev_rec.last_update_login = OKC_API.G_MISS_NUM)
4180 THEN
4181 x_aaev_rec.last_update_login := l_aaev_rec.last_update_login;
4182 END IF;
4183 RETURN(l_return_status);
4184 END populate_new_record;
4185 ------------------------------------------------
4186 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_V --
4187 ------------------------------------------------
4188 FUNCTION Set_Attributes (
4189 p_aaev_rec IN aaev_rec_type,
4190 x_aaev_rec OUT NOCOPY aaev_rec_type
4191 ) RETURN VARCHAR2 IS
4192 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4193 BEGIN
4194 x_aaev_rec := p_aaev_rec;
4195 x_aaev_rec.OBJECT_VERSION_NUMBER := NVL(x_aaev_rec.OBJECT_VERSION_NUMBER, 0) + 1;
4196 RETURN(l_return_status);
4197 END Set_Attributes;
4198 BEGIN
4199 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4200 G_PKG_NAME,
4201 p_init_msg_list,
4202 l_api_version,
4203 p_api_version,
4204 '_PVT',
4205 x_return_status);
4206 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4207 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4208 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4209 RAISE OKC_API.G_EXCEPTION_ERROR;
4210 END IF;
4211 -- Seeded data should not be updated
4212 IF l_aaev_rec.last_updated_by <> 1 THEN
4213 IF l_aaev_rec.seeded_flag = 'Y' THEN
4214 OKC_API.set_message (p_app_name => G_APP_NAME,
4215 p_msg_name => 'OKC_NOT_DELETE_SEEDED');
4216 RAISE OKC_API.G_EXCEPTION_ERROR;
4217 END IF;
4218 END IF;
4219 /*IF l_aaev_rec.created_by = 1 THEN
4220 OKC_API.set_message (p_app_name => G_APP_NAME,
4221 p_msg_name => 'OKC_NOT_DELETE_SEEDED');
4222 RAISE OKC_API.G_EXCEPTION_ERROR;
4223 END IF;*/
4224 --- Setting item attributes
4225 l_return_status := Set_Attributes(
4226 p_aaev_rec, -- IN
4227 l_aaev_rec); -- OUT
4228 --- If any errors happen abort API
4229 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4230 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4231 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4232 RAISE OKC_API.G_EXCEPTION_ERROR;
4233 END IF;
4234 l_return_status := populate_new_record(l_aaev_rec, l_def_aaev_rec);
4235 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4236 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4237 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4238 RAISE OKC_API.G_EXCEPTION_ERROR;
4239 END IF;
4240 l_def_aaev_rec := fill_who_columns(l_def_aaev_rec);
4241 --- Validate all non-missing attributes (Item Level Validation)
4242 l_return_status := Validate_Attributes(l_def_aaev_rec);
4243 --- If any errors happen abort API
4244 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4245 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4246 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4247 RAISE OKC_API.G_EXCEPTION_ERROR;
4248 END IF;
4249 l_return_status := Validate_Record(l_def_aaev_rec);
4250 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4251 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4252 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4253 RAISE OKC_API.G_EXCEPTION_ERROR;
4254 END IF;
4255
4256 --------------------------------------
4257 -- Move VIEW record to "Child" records
4258 --------------------------------------
4259 migrate(l_def_aaev_rec, l_okc_action_attributes_tl_rec);
4260 migrate(l_def_aaev_rec, l_aae_rec);
4261 --------------------------------------------
4262 -- Call the UPDATE_ROW for each child record
4263 --------------------------------------------
4264 update_row(
4265 p_init_msg_list,
4266 x_return_status,
4267 x_msg_count,
4268 x_msg_data,
4269 l_okc_action_attributes_tl_rec,
4270 LxOkcActionAttributesTlRec
4271 );
4272 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4273 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4274 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4275 RAISE OKC_API.G_EXCEPTION_ERROR;
4276 END IF;
4277 migrate(LxOkcActionAttributesTlRec, l_def_aaev_rec);
4278 update_row(
4279 p_init_msg_list,
4280 x_return_status,
4281 x_msg_count,
4282 x_msg_data,
4283 l_aae_rec,
4284 lx_aae_rec
4285 );
4286 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4287 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4288 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4289 RAISE OKC_API.G_EXCEPTION_ERROR;
4290 END IF;
4291 migrate(lx_aae_rec, l_def_aaev_rec);
4292 x_aaev_rec := l_def_aaev_rec;
4293 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4294 EXCEPTION
4295 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4296 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4297 (
4298 l_api_name,
4299 G_PKG_NAME,
4300 'OKC_API.G_RET_STS_ERROR',
4301 x_msg_count,
4302 x_msg_data,
4303 '_PVT'
4304 );
4305 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4306 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4307 (
4308 l_api_name,
4309 G_PKG_NAME,
4310 'OKC_API.G_RET_STS_UNEXP_ERROR',
4311 x_msg_count,
4312 x_msg_data,
4313 '_PVT'
4314 );
4315 WHEN OTHERS THEN
4316 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4317 (
4318 l_api_name,
4319 G_PKG_NAME,
4320 'OTHERS',
4321 x_msg_count,
4322 x_msg_data,
4323 '_PVT'
4324 );
4325 END update_row;
4326 ----------------------------------------
4327 -- PL/SQL TBL update_row for:AAEV_TBL --
4328 ----------------------------------------
4329 PROCEDURE update_row(
4330 p_api_version IN NUMBER,
4331 p_init_msg_list IN VARCHAR2 ,
4332 x_return_status OUT NOCOPY VARCHAR2,
4333 x_msg_count OUT NOCOPY NUMBER,
4334 x_msg_data OUT NOCOPY VARCHAR2,
4335 p_aaev_tbl IN aaev_tbl_type,
4336 x_aaev_tbl OUT NOCOPY aaev_tbl_type) IS
4337
4338 l_api_version CONSTANT NUMBER := 1;
4339 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
4340 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4341 i NUMBER := 0;
4342 BEGIN
4343 OKC_API.init_msg_list(p_init_msg_list);
4344 -- Make sure PL/SQL table has records in it before passing
4345 IF (p_aaev_tbl.COUNT > 0) THEN
4346 i := p_aaev_tbl.FIRST;
4347 LOOP
4348 update_row (
4349 p_api_version => p_api_version,
4350 p_init_msg_list => OKC_API.G_FALSE,
4351 x_return_status => x_return_status,
4352 x_msg_count => x_msg_count,
4353 x_msg_data => x_msg_data,
4354 p_aaev_rec => p_aaev_tbl(i),
4355 x_aaev_rec => x_aaev_tbl(i));
4356 EXIT WHEN (i = p_aaev_tbl.LAST);
4357 i := p_aaev_tbl.NEXT(i);
4358 END LOOP;
4359 END IF;
4360 EXCEPTION
4361 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4362 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4363 (
4364 l_api_name,
4365 G_PKG_NAME,
4366 'OKC_API.G_RET_STS_ERROR',
4367 x_msg_count,
4368 x_msg_data,
4369 '_PVT'
4370 );
4371 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4372 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4373 (
4374 l_api_name,
4375 G_PKG_NAME,
4376 'OKC_API.G_RET_STS_UNEXP_ERROR',
4377 x_msg_count,
4378 x_msg_data,
4379 '_PVT'
4380 );
4381 WHEN OTHERS THEN
4382 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4383 (
4384 l_api_name,
4385 G_PKG_NAME,
4386 'OTHERS',
4387 x_msg_count,
4388 x_msg_data,
4389 '_PVT'
4390 );
4391 END update_row;
4392
4393 ---------------------------------------------------------------------------
4394 -- PROCEDURE delete_row
4395 ---------------------------------------------------------------------------
4396 --------------------------------------------
4397 -- delete_row for:OKC_ACTION_ATTRIBUTES_B --
4398 --------------------------------------------
4399 PROCEDURE delete_row(
4400 p_init_msg_list IN VARCHAR2 ,
4401 x_return_status OUT NOCOPY VARCHAR2,
4402 x_msg_count OUT NOCOPY NUMBER,
4403 x_msg_data OUT NOCOPY VARCHAR2,
4404 p_aae_rec IN aae_rec_type) IS
4405
4406 l_api_version CONSTANT NUMBER := 1;
4407 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
4408 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4409 l_aae_rec aae_rec_type:= p_aae_rec;
4410 l_row_notfound BOOLEAN := TRUE;
4411 BEGIN
4412 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4413 p_init_msg_list,
4414 '_PVT',
4415 x_return_status);
4416 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4417 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4418 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4419 RAISE OKC_API.G_EXCEPTION_ERROR;
4420 END IF;
4421 DELETE FROM OKC_ACTION_ATTRIBUTES_B
4422 WHERE ID = l_aae_rec.id;
4423
4424 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4425 EXCEPTION
4426 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4427 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4428 (
4429 l_api_name,
4430 G_PKG_NAME,
4431 'OKC_API.G_RET_STS_ERROR',
4432 x_msg_count,
4433 x_msg_data,
4434 '_PVT'
4435 );
4436 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4437 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4438 (
4439 l_api_name,
4440 G_PKG_NAME,
4441 'OKC_API.G_RET_STS_UNEXP_ERROR',
4442 x_msg_count,
4443 x_msg_data,
4444 '_PVT'
4445 );
4446 WHEN OTHERS THEN
4447 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4448 (
4449 l_api_name,
4450 G_PKG_NAME,
4451 'OTHERS',
4452 x_msg_count,
4453 x_msg_data,
4454 '_PVT'
4455 );
4456 END delete_row;
4457 ---------------------------------------------
4458 -- delete_row for:OKC_ACTION_ATTRIBUTES_TL --
4459 ---------------------------------------------
4460 PROCEDURE delete_row(
4461 p_init_msg_list IN VARCHAR2 ,
4462 x_return_status OUT NOCOPY VARCHAR2,
4463 x_msg_count OUT NOCOPY NUMBER,
4464 x_msg_data OUT NOCOPY VARCHAR2,
4465 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType) IS
4466
4467 l_api_version CONSTANT NUMBER := 1;
4468 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
4469 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4470 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType:= p_okc_action_attributes_tl_rec;
4471 l_row_notfound BOOLEAN := TRUE;
4472 -------------------------------------------------
4473 -- Set_Attributes for:OKC_ACTION_ATTRIBUTES_TL --
4474 -------------------------------------------------
4475 FUNCTION Set_Attributes (
4476 p_okc_action_attributes_tl_rec IN OkcActionAttributesTlRecType,
4477 x_okc_action_attributes_tl_rec OUT NOCOPY OkcActionAttributesTlRecType
4478 ) RETURN VARCHAR2 IS
4479 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4480 BEGIN
4481 x_okc_action_attributes_tl_rec := p_okc_action_attributes_tl_rec;
4482 x_okc_action_attributes_tl_rec.LANGUAGE := l_lang;
4483 RETURN(l_return_status);
4484 END Set_Attributes;
4485 BEGIN
4486 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4487 p_init_msg_list,
4488 '_PVT',
4489 x_return_status);
4490 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4491 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4492 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4493 RAISE OKC_API.G_EXCEPTION_ERROR;
4494 END IF;
4495 --- Setting item attributes
4496 l_return_status := Set_Attributes(
4497 p_okc_action_attributes_tl_rec, -- IN
4498 l_okc_action_attributes_tl_rec); -- OUT
4499 --- If any errors happen abort API
4500 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4501 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4502 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4503 RAISE OKC_API.G_EXCEPTION_ERROR;
4504 END IF;
4505 DELETE FROM OKC_ACTION_ATTRIBUTES_TL
4506 WHERE ID = l_okc_action_attributes_tl_rec.id;
4507
4508 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4509 EXCEPTION
4510 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4511 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4512 (
4513 l_api_name,
4514 G_PKG_NAME,
4515 'OKC_API.G_RET_STS_ERROR',
4516 x_msg_count,
4517 x_msg_data,
4518 '_PVT'
4519 );
4520 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4521 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4522 (
4523 l_api_name,
4524 G_PKG_NAME,
4525 'OKC_API.G_RET_STS_UNEXP_ERROR',
4526 x_msg_count,
4527 x_msg_data,
4528 '_PVT'
4529 );
4530 WHEN OTHERS THEN
4531 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4532 (
4533 l_api_name,
4534 G_PKG_NAME,
4535 'OTHERS',
4536 x_msg_count,
4537 x_msg_data,
4538 '_PVT'
4539 );
4540 END delete_row;
4541 --------------------------------------------
4542 -- delete_row for:OKC_ACTION_ATTRIBUTES_V --
4543 --------------------------------------------
4544 PROCEDURE delete_row(
4545 p_api_version IN NUMBER,
4546 p_init_msg_list IN VARCHAR2 ,
4547 x_return_status OUT NOCOPY VARCHAR2,
4548 x_msg_count OUT NOCOPY NUMBER,
4549 x_msg_data OUT NOCOPY VARCHAR2,
4550 p_aaev_rec IN aaev_rec_type) IS
4551
4552 l_api_version CONSTANT NUMBER := 1;
4553 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
4554 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4555 l_aaev_rec aaev_rec_type := p_aaev_rec;
4556 l_okc_action_attributes_tl_rec OkcActionAttributesTlRecType;
4557 l_aae_rec aae_rec_type;
4558 BEGIN
4559 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4560 G_PKG_NAME,
4561 p_init_msg_list,
4562 l_api_version,
4563 p_api_version,
4564 '_PVT',
4565 x_return_status);
4566 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4567 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4568 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4569 RAISE OKC_API.G_EXCEPTION_ERROR;
4570 END IF;
4571 -- Seeded data should not be deleted
4572 IF l_aaev_rec.last_updated_by <> 1 THEN
4573 IF l_aaev_rec.seeded_flag = 'Y' THEN
4574 OKC_API.set_message (p_app_name => G_APP_NAME,
4575 p_msg_name => 'OKC_NOT_DELETE_SEEDED');
4576 RAISE OKC_API.G_EXCEPTION_ERROR;
4577 END IF;
4578 END IF;
4579 /*IF l_aaev_rec.created_by = 1 THEN
4580 OKC_API.set_message (p_app_name => G_APP_NAME,
4581 p_msg_name => 'OKC_NOT_DELETE_SEEDED');
4582 RAISE OKC_API.G_EXCEPTION_ERROR;
4583 END IF;*/
4584 --------------------------------------
4585 -- Move VIEW record to "Child" records
4586 --------------------------------------
4587 migrate(l_aaev_rec, l_okc_action_attributes_tl_rec);
4588 migrate(l_aaev_rec, l_aae_rec);
4589 --------------------------------------------
4590 -- Call the DELETE_ROW for each child record
4591 --------------------------------------------
4592 delete_row(
4593 p_init_msg_list,
4594 x_return_status,
4595 x_msg_count,
4596 x_msg_data,
4597 l_okc_action_attributes_tl_rec
4598 );
4599 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4600 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4601 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4602 RAISE OKC_API.G_EXCEPTION_ERROR;
4603 END IF;
4604 delete_row(
4605 p_init_msg_list,
4606 x_return_status,
4607 x_msg_count,
4608 x_msg_data,
4609 l_aae_rec
4610 );
4611 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4612 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4613 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4614 RAISE OKC_API.G_EXCEPTION_ERROR;
4615 END IF;
4616 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4617 EXCEPTION
4618 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4619 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4620 (
4621 l_api_name,
4622 G_PKG_NAME,
4623 'OKC_API.G_RET_STS_ERROR',
4624 x_msg_count,
4625 x_msg_data,
4626 '_PVT'
4627 );
4628 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4629 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4630 (
4631 l_api_name,
4632 G_PKG_NAME,
4633 'OKC_API.G_RET_STS_UNEXP_ERROR',
4634 x_msg_count,
4635 x_msg_data,
4636 '_PVT'
4637 );
4638 WHEN OTHERS THEN
4639 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4640 (
4641 l_api_name,
4642 G_PKG_NAME,
4643 'OTHERS',
4644 x_msg_count,
4645 x_msg_data,
4646 '_PVT'
4647 );
4648 END delete_row;
4649 ----------------------------------------
4650 -- PL/SQL TBL delete_row for:AAEV_TBL --
4651 ----------------------------------------
4652 PROCEDURE delete_row(
4653 p_api_version IN NUMBER,
4654 p_init_msg_list IN VARCHAR2 ,
4655 x_return_status OUT NOCOPY VARCHAR2,
4656 x_msg_count OUT NOCOPY NUMBER,
4657 x_msg_data OUT NOCOPY VARCHAR2,
4658 p_aaev_tbl IN aaev_tbl_type) IS
4659
4660 l_api_version CONSTANT NUMBER := 1;
4661 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
4662 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4663 i NUMBER := 0;
4664 BEGIN
4665 OKC_API.init_msg_list(p_init_msg_list);
4666 -- Make sure PL/SQL table has records in it before passing
4667 IF (p_aaev_tbl.COUNT > 0) THEN
4668 i := p_aaev_tbl.FIRST;
4669 LOOP
4670 delete_row (
4671 p_api_version => p_api_version,
4672 p_init_msg_list => OKC_API.G_FALSE,
4673 x_return_status => x_return_status,
4674 x_msg_count => x_msg_count,
4675 x_msg_data => x_msg_data,
4676 p_aaev_rec => p_aaev_tbl(i));
4677 EXIT WHEN (i = p_aaev_tbl.LAST);
4678 i := p_aaev_tbl.NEXT(i);
4679 END LOOP;
4680 END IF;
4681 EXCEPTION
4682 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4683 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4684 (
4685 l_api_name,
4686 G_PKG_NAME,
4687 'OKC_API.G_RET_STS_ERROR',
4688 x_msg_count,
4689 x_msg_data,
4690 '_PVT'
4691 );
4692 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4693 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4694 (
4695 l_api_name,
4696 G_PKG_NAME,
4697 'OKC_API.G_RET_STS_UNEXP_ERROR',
4698 x_msg_count,
4699 x_msg_data,
4700 '_PVT'
4701 );
4702 WHEN OTHERS THEN
4703 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4704 (
4705 l_api_name,
4706 G_PKG_NAME,
4707 'OTHERS',
4708 x_msg_count,
4709 x_msg_data,
4710 '_PVT'
4711 );
4712 END delete_row;
4713 END OKC_AAE_PVT;