DBA Data[Home] [Help]

PACKAGE BODY: APPS.AK_OBJECT_ATTRIBUTES_PKG

Source


1 package body AK_OBJECT_ATTRIBUTES_PKG as
2 /* $Header: AKDOBJAB.pls 120.3 2006/01/25 15:58:00 tshort ship $ */
3 --*****************************************************************************
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_DATABASE_OBJECT_NAME in VARCHAR2,
7 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
8 X_ATTRIBUTE_CODE in VARCHAR2,
9 X_COLUMN_NAME in VARCHAR2,
10 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
11 X_BOLD in VARCHAR2,
12 X_ITALIC in VARCHAR2,
13 X_VERTICAL_ALIGNMENT in VARCHAR2,
14 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
15 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
16 X_DATA_SOURCE_TYPE IN VARCHAR2,
17 X_DATA_STORAGE_TYPE IN VARCHAR2,
18 X_TABLE_NAME IN VARCHAR2,
19 X_BASE_TABLE_COLUMN_NAME IN VARCHAR2,
20 X_REQUIRED_FLAG IN VARCHAR2,
21 X_DISPLAY_VALUE_LENGTH IN NUMBER,
22 X_LOV_REGION_APPLICATION_ID IN NUMBER,
23 X_LOV_REGION_CODE IN VARCHAR2,
24 X_LOV_FOREIGN_KEY_NAME IN VARCHAR2,
25 X_LOV_ATTRIBUTE_APPLICATION_ID IN NUMBER,
26 X_LOV_ATTRIBUTE_CODE IN VARCHAR2,
27 X_DEFAULTING_API_PKG IN VARCHAR2,
28 X_DEFAULTING_API_PROC IN VARCHAR2,
29 X_VALIDATION_API_PKG IN VARCHAR2,
30 X_VALIDATION_API_PROC IN VARCHAR2,
31 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
32 X_DEFAULT_VALUE_NUMBER in NUMBER,
33 X_DEFAULT_VALUE_DATE in DATE,
34 X_CREATION_DATE in DATE,
35 X_CREATED_BY in NUMBER,
36 X_LAST_UPDATE_DATE in DATE,
37 X_LAST_UPDATED_BY in NUMBER,
38 X_LAST_UPDATE_LOGIN in NUMBER,
39 X_ATTRIBUTE_CATEGORY in VARCHAR2,
40 X_ATTRIBUTE1 in VARCHAR2,
41 X_ATTRIBUTE2 in VARCHAR2,
42 X_ATTRIBUTE3 in VARCHAR2,
43 X_ATTRIBUTE4 in VARCHAR2,
44 X_ATTRIBUTE5 in VARCHAR2,
45 X_ATTRIBUTE6 in VARCHAR2,
46 X_ATTRIBUTE7 in VARCHAR2,
47 X_ATTRIBUTE8 in VARCHAR2,
48 X_ATTRIBUTE9 in VARCHAR2,
49 X_ATTRIBUTE10 in VARCHAR2,
50 X_ATTRIBUTE11 in VARCHAR2,
51 X_ATTRIBUTE12 in VARCHAR2,
52 X_ATTRIBUTE13 in VARCHAR2,
53 X_ATTRIBUTE14 in VARCHAR2,
54 X_ATTRIBUTE15 in VARCHAR2
55 ) is
56 cursor C is select ROWID from AK_OBJECT_ATTRIBUTES
57 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
58 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
59 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
60 begin
61 insert into AK_OBJECT_ATTRIBUTES (
62 DATABASE_OBJECT_NAME,
63 ATTRIBUTE_APPLICATION_ID,
64 ATTRIBUTE_CODE,
65 COLUMN_NAME,
66 ATTRIBUTE_LABEL_LENGTH,
67 BOLD,
68 ITALIC,
69 VERTICAL_ALIGNMENT,
70 HORIZONTAL_ALIGNMENT,
71 DATA_SOURCE_TYPE,
72 DATA_STORAGE_TYPE,
73 TABLE_NAME,
74 BASE_TABLE_COLUMN_NAME,
75 REQUIRED_FLAG,
76 DISPLAY_VALUE_LENGTH,
77 LOV_REGION_APPLICATION_ID,
78 LOV_REGION_CODE,
79 LOV_FOREIGN_KEY_NAME,
80 LOV_ATTRIBUTE_APPLICATION_ID,
81 LOV_ATTRIBUTE_CODE,
82 DEFAULTING_API_PKG,
83 DEFAULTING_API_PROC,
84 VALIDATION_API_PKG,
85 VALIDATION_API_PROC,
86 DEFAULT_VALUE_VARCHAR2,
87 DEFAULT_VALUE_NUMBER,
88 DEFAULT_VALUE_DATE,
89 CREATION_DATE,
90 CREATED_BY,
91 LAST_UPDATE_DATE,
92 LAST_UPDATED_BY,
93 LAST_UPDATE_LOGIN,
94 ATTRIBUTE_CATEGORY,
95 ATTRIBUTE1,
96 ATTRIBUTE2,
97 ATTRIBUTE3,
98 ATTRIBUTE4,
99 ATTRIBUTE5,
100 ATTRIBUTE6,
101 ATTRIBUTE7,
102 ATTRIBUTE8,
103 ATTRIBUTE9,
104 ATTRIBUTE10,
105 ATTRIBUTE11,
106 ATTRIBUTE12,
107 ATTRIBUTE13,
108 ATTRIBUTE14,
109 ATTRIBUTE15
110 ) values (
111 X_DATABASE_OBJECT_NAME,
112 X_ATTRIBUTE_APPLICATION_ID,
113 X_ATTRIBUTE_CODE,
114 X_COLUMN_NAME,
115 X_ATTRIBUTE_LABEL_LENGTH,
116 X_BOLD,
117 X_ITALIC,
118 X_VERTICAL_ALIGNMENT,
119 X_HORIZONTAL_ALIGNMENT,
120 X_DATA_SOURCE_TYPE,
121 X_DATA_STORAGE_TYPE,
122 X_TABLE_NAME,
123 X_BASE_TABLE_COLUMN_NAME,
124 X_REQUIRED_FLAG,
125 X_DISPLAY_VALUE_LENGTH,
126 X_LOV_REGION_APPLICATION_ID,
127 X_LOV_REGION_CODE,
128 X_LOV_FOREIGN_KEY_NAME,
129 X_LOV_ATTRIBUTE_APPLICATION_ID,
130 X_LOV_ATTRIBUTE_CODE,
131 X_DEFAULTING_API_PKG,
132 X_DEFAULTING_API_PROC,
133 X_VALIDATION_API_PKG,
134 X_VALIDATION_API_PROC,
135 X_DEFAULT_VALUE_VARCHAR2,
136 X_DEFAULT_VALUE_NUMBER,
137 X_DEFAULT_VALUE_DATE,
138 X_CREATION_DATE,
139 X_CREATED_BY,
140 X_LAST_UPDATE_DATE,
141 X_LAST_UPDATED_BY,
142 X_LAST_UPDATE_LOGIN,
143 X_ATTRIBUTE_CATEGORY,
144 X_ATTRIBUTE1,
145 X_ATTRIBUTE2,
146 X_ATTRIBUTE3,
147 X_ATTRIBUTE4,
148 X_ATTRIBUTE5,
149 X_ATTRIBUTE6,
150 X_ATTRIBUTE7,
151 X_ATTRIBUTE8,
152 X_ATTRIBUTE9,
153 X_ATTRIBUTE10,
154 X_ATTRIBUTE11,
155 X_ATTRIBUTE12,
156 X_ATTRIBUTE13,
157 X_ATTRIBUTE14,
158 X_ATTRIBUTE15
159 );
160 
161 open c;
162 fetch c into X_ROWID;
163 if (c%notfound) then
164 close c;
165 raise no_data_found;
166 end if;
167 close c;
168 
169 insert into AK_OBJECT_ATTRIBUTES_TL (
170 DATABASE_OBJECT_NAME,
171 ATTRIBUTE_APPLICATION_ID,
172 ATTRIBUTE_CODE,
173 LANGUAGE,
174 ATTRIBUTE_LABEL_LONG,
175 SOURCE_LANG,
176 CREATED_BY,
177 CREATION_DATE,
178 LAST_UPDATED_BY,
179 LAST_UPDATE_DATE,
180 LAST_UPDATE_LOGIN
181 ) select
182 X_DATABASE_OBJECT_NAME,
183 X_ATTRIBUTE_APPLICATION_ID,
184 X_ATTRIBUTE_CODE,
185 L.LANGUAGE_CODE,
186 X_ATTRIBUTE_LABEL_LONG,
187 userenv('LANG'),
188 X_CREATED_BY,
189 X_CREATION_DATE,
190 X_LAST_UPDATED_BY,
191 X_LAST_UPDATE_DATE,
192 X_LAST_UPDATE_LOGIN
193 from FND_LANGUAGES L
194 where L.INSTALLED_FLAG in ('I', 'B')
195 and not exists
196 (select NULL
197 from AK_OBJECT_ATTRIBUTES_TL T
198 where T.DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
199 and T.ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
200 and T.ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
201 and T.LANGUAGE = L.LANGUAGE_CODE);
202 end INSERT_ROW;
203 --*****************************************************************************
204 procedure LOCK_ROW (
205 X_DATABASE_OBJECT_NAME in VARCHAR2,
206 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
207 X_ATTRIBUTE_CODE in VARCHAR2,
208 X_ATTRIBUTE_CATEGORY in VARCHAR2,
209 X_ATTRIBUTE1 in VARCHAR2,
210 X_ATTRIBUTE2 in VARCHAR2,
211 X_ATTRIBUTE3 in VARCHAR2,
212 X_ATTRIBUTE4 in VARCHAR2,
213 X_ATTRIBUTE5 in VARCHAR2,
214 X_ATTRIBUTE6 in VARCHAR2,
215 X_ATTRIBUTE7 in VARCHAR2,
216 X_ATTRIBUTE8 in VARCHAR2,
217 X_ATTRIBUTE9 in VARCHAR2,
218 X_ATTRIBUTE10 in VARCHAR2,
219 X_ATTRIBUTE11 in VARCHAR2,
220 X_ATTRIBUTE12 in VARCHAR2,
221 X_ATTRIBUTE13 in VARCHAR2,
222 X_ATTRIBUTE14 in VARCHAR2,
223 X_ATTRIBUTE15 in VARCHAR2,
224 X_COLUMN_NAME in VARCHAR2,
225 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
226 X_BOLD in VARCHAR2,
227 X_ITALIC in VARCHAR2,
228 X_VERTICAL_ALIGNMENT in VARCHAR2,
229 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
230 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
231 X_DATA_SOURCE_TYPE IN VARCHAR2,
232 X_DATA_STORAGE_TYPE IN VARCHAR2,
233 X_TABLE_NAME IN VARCHAR2,
234 X_BASE_TABLE_COLUMN_NAME IN VARCHAR2,
235 X_REQUIRED_FLAG IN VARCHAR2,
236 X_DISPLAY_VALUE_LENGTH IN NUMBER,
237 X_LOV_REGION_APPLICATION_ID IN NUMBER,
238 X_LOV_REGION_CODE IN VARCHAR2,
239 X_LOV_FOREIGN_KEY_NAME IN VARCHAR2,
240 X_LOV_ATTRIBUTE_APPLICATION_ID IN NUMBER,
241 X_LOV_ATTRIBUTE_CODE IN VARCHAR2,
242 X_DEFAULTING_API_PKG IN VARCHAR2,
243 X_DEFAULTING_API_PROC IN VARCHAR2,
244 X_VALIDATION_API_PKG IN VARCHAR2,
245 X_VALIDATION_API_PROC IN VARCHAR2,
246 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
247 X_DEFAULT_VALUE_NUMBER in NUMBER,
248 X_DEFAULT_VALUE_DATE in DATE
249 ) is
250 cursor c is select
251 ATTRIBUTE_CATEGORY,
252 ATTRIBUTE1,
253 ATTRIBUTE2,
254 ATTRIBUTE3,
255 ATTRIBUTE4,
256 ATTRIBUTE5,
257 ATTRIBUTE6,
258 ATTRIBUTE7,
259 ATTRIBUTE8,
260 ATTRIBUTE9,
261 ATTRIBUTE10,
262 ATTRIBUTE11,
263 ATTRIBUTE12,
264 ATTRIBUTE13,
265 ATTRIBUTE14,
266 ATTRIBUTE15,
267 COLUMN_NAME,
268 ATTRIBUTE_LABEL_LENGTH,
269 BOLD,
270 ITALIC,
271 VERTICAL_ALIGNMENT,
272 HORIZONTAL_ALIGNMENT,
273 DATA_SOURCE_TYPE,
274 DATA_STORAGE_TYPE,
275 TABLE_NAME,
276 BASE_TABLE_COLUMN_NAME,
277 REQUIRED_FLAG,
278 DISPLAY_VALUE_LENGTH,
279 LOV_REGION_APPLICATION_ID,
280 LOV_REGION_CODE,
281 LOV_FOREIGN_KEY_NAME,
282 LOV_ATTRIBUTE_APPLICATION_ID,
283 LOV_ATTRIBUTE_CODE,
284 DEFAULTING_API_PKG,
285 DEFAULTING_API_PROC,
286 VALIDATION_API_PKG,
287 VALIDATION_API_PROC,
288 DEFAULT_VALUE_VARCHAR2,
289 DEFAULT_VALUE_NUMBER,
290 DEFAULT_VALUE_DATE
291 from AK_OBJECT_ATTRIBUTES
292 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
293 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
294 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
295 for update of DATABASE_OBJECT_NAME nowait;
296 recinfo c%rowtype;
297 
298 cursor c1 is select
299 ATTRIBUTE_LABEL_LONG
300 from AK_OBJECT_ATTRIBUTES_TL
301 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
302 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
303 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
304 and LANGUAGE = userenv('LANG')
305 for update of DATABASE_OBJECT_NAME nowait;
306 tlinfo c1%rowtype;
307 
308 begin
309 open c;
310 fetch c into recinfo;
311 if (c%notfound) then
312 close c;
313 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
314 app_exception.raise_exception;
315 end if;
316 close c;
317 if ( ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
318 OR ((recinfo.ATTRIBUTE_CATEGORY is null)
319 AND (X_ATTRIBUTE_CATEGORY is null)))
320 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
321 OR ((recinfo.ATTRIBUTE1 is null)
322 AND (X_ATTRIBUTE1 is null)))
323 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
324 OR ((recinfo.ATTRIBUTE2 is null)
325 AND (X_ATTRIBUTE2 is null)))
326 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
327 OR ((recinfo.ATTRIBUTE3 is null)
328 AND (X_ATTRIBUTE3 is null)))
329 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
330 OR ((recinfo.ATTRIBUTE4 is null)
331 AND (X_ATTRIBUTE4 is null)))
332 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
333 OR ((recinfo.ATTRIBUTE5 is null)
334 AND (X_ATTRIBUTE5 is null)))
335 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
336 OR ((recinfo.ATTRIBUTE6 is null)
337 AND (X_ATTRIBUTE6 is null)))
338 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
339 OR ((recinfo.ATTRIBUTE7 is null)
340 AND (X_ATTRIBUTE7 is null)))
341 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
342 OR ((recinfo.ATTRIBUTE8 is null)
343 AND (X_ATTRIBUTE8 is null)))
344 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
345 OR ((recinfo.ATTRIBUTE9 is null)
346 AND (X_ATTRIBUTE9 is null)))
347 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
348 OR ((recinfo.ATTRIBUTE10 is null)
349 AND (X_ATTRIBUTE10 is null)))
350 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
351 OR ((recinfo.ATTRIBUTE11 is null)
352 AND (X_ATTRIBUTE11 is null)))
353 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
354 OR ((recinfo.ATTRIBUTE12 is null)
355 AND (X_ATTRIBUTE12 is null)))
356 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
357 OR ((recinfo.ATTRIBUTE13 is null)
358 AND (X_ATTRIBUTE13 is null)))
359 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
360 OR ((recinfo.ATTRIBUTE14 is null)
361 AND (X_ATTRIBUTE14 is null)))
362 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
363 OR ((recinfo.ATTRIBUTE15 is null)
364 AND (X_ATTRIBUTE15 is null)))
365 AND ((recinfo.COLUMN_NAME = X_COLUMN_NAME)
366 OR ((recinfo.COLUMN_NAME is null)
367 AND (X_COLUMN_NAME is null)))
368 AND (recinfo.ATTRIBUTE_LABEL_LENGTH = X_ATTRIBUTE_LABEL_LENGTH)
369 AND (recinfo.BOLD = X_BOLD)
370 AND (recinfo.ITALIC = X_ITALIC)
371 AND (recinfo.VERTICAL_ALIGNMENT = X_VERTICAL_ALIGNMENT)
372 AND (recinfo.HORIZONTAL_ALIGNMENT = X_HORIZONTAL_ALIGNMENT)
373 AND (recinfo.DATA_SOURCE_TYPE = X_DATA_SOURCE_TYPE)
374 AND ((recinfo.DATA_STORAGE_TYPE = X_DATA_STORAGE_TYPE)
375 or ((recinfo.DATA_STORAGE_TYPE is null)
376 and (X_DATA_STORAGE_TYPE is null)))
377 AND ((recinfo.TABLE_NAME = X_TABLE_NAME)
378 or ((recinfo.TABLE_NAME is null)
379 and (X_TABLE_NAME is null)))
380 AND ((recinfo.BASE_TABLE_COLUMN_NAME = X_BASE_TABLE_COLUMN_NAME)
381 or ((recinfo.BASE_TABLE_COLUMN_NAME is null)
382 and (X_BASE_TABLE_COLUMN_NAME is null)))
383 AND (recinfo.REQUIRED_FLAG = X_REQUIRED_FLAG)
384 AND (recinfo.DISPLAY_VALUE_LENGTH = X_DISPLAY_VALUE_LENGTH)
385 AND ((recinfo.LOV_REGION_APPLICATION_ID = X_LOV_REGION_APPLICATION_ID)
386 or ((recinfo.LOV_REGION_APPLICATION_ID is null)
387 and (X_LOV_REGION_APPLICATION_ID is null)))
388 AND ((recinfo.LOV_REGION_CODE = X_LOV_REGION_CODE)
389 or ((recinfo.LOV_REGION_CODE is null)
390 and (X_LOV_REGION_CODE is null)))
391 AND ((recinfo.LOV_FOREIGN_KEY_NAME = X_LOV_FOREIGN_KEY_NAME)
392 or ((recinfo.LOV_FOREIGN_KEY_NAME is null)
393 and (X_LOV_FOREIGN_KEY_NAME is null)))
394 AND ((recinfo.LOV_ATTRIBUTE_APPLICATION_ID = X_LOV_ATTRIBUTE_APPLICATION_ID)
395 or ((recinfo.LOV_ATTRIBUTE_APPLICATION_ID is null)
396 and (X_LOV_ATTRIBUTE_APPLICATION_ID is null)))
397 AND ((recinfo.LOV_ATTRIBUTE_CODE = X_LOV_ATTRIBUTE_CODE)
398 or ((recinfo.LOV_ATTRIBUTE_CODE is null)
399 and (X_LOV_ATTRIBUTE_CODE is null)))
400 AND ((recinfo.DEFAULTING_API_PKG = X_DEFAULTING_API_PKG)
401 or ((recinfo.DEFAULTING_API_PKG is null)
402 and (X_DEFAULTING_API_PKG is null)))
403 AND ((recinfo.DEFAULTING_API_PROC = X_DEFAULTING_API_PROC)
404 or ((recinfo.DEFAULTING_API_PROC is null)
405 and (X_DEFAULTING_API_PROC is null)))
406 AND ((recinfo.VALIDATION_API_PKG = X_VALIDATION_API_PKG)
407 or ((recinfo.VALIDATION_API_PKG is null)
408 and (X_VALIDATION_API_PKG is null)))
409 AND ((recinfo.VALIDATION_API_PROC = X_VALIDATION_API_PROC)
410 or ((recinfo.VALIDATION_API_PROC is null)
411 and (X_VALIDATION_API_PROC is null)))
412 AND ((recinfo.DEFAULT_VALUE_VARCHAR2 = X_DEFAULT_VALUE_VARCHAR2)
413 or ((recinfo.DEFAULT_VALUE_VARCHAR2 is null)
414 and (X_DEFAULT_VALUE_VARCHAR2 is null)))
415 AND ((recinfo.DEFAULT_VALUE_NUMBER = X_DEFAULT_VALUE_NUMBER)
416 or ((recinfo.DEFAULT_VALUE_NUMBER is null)
417 and (X_DEFAULT_VALUE_NUMBER is null)))
418 AND ((recinfo.DEFAULT_VALUE_DATE = X_DEFAULT_VALUE_DATE)
419 or ((recinfo.DEFAULT_VALUE_DATE is null)
420 and (X_DEFAULT_VALUE_DATE is null)))
421 ) then
422 null;
423 else
424 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
425 app_exception.raise_exception;
426 end if;
427 
428 open c1;
429 fetch c1 into tlinfo;
430 if (c1%notfound) then
431 close c1;
432 return;
433 end if;
434 close c1;
435 
436 if ((tlinfo.attribute_label_long = X_attribute_label_long)
437 OR ((tlinfo.attribute_label_long is null)
438 AND (X_attribute_label_long is null)))
439 then
440 null;
441 else
442 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
443 app_exception.raise_exception;
444 end if;
445 return;
446 end LOCK_ROW;
447 --*****************************************************************************
448 procedure UPDATE_ROW (
449 X_DATABASE_OBJECT_NAME in VARCHAR2,
450 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
451 X_ATTRIBUTE_CODE in VARCHAR2,
452 X_COLUMN_NAME in VARCHAR2,
453 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
454 X_BOLD in VARCHAR2,
455 X_ITALIC in VARCHAR2,
456 X_VERTICAL_ALIGNMENT in VARCHAR2,
457 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
458 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
459 X_DATA_SOURCE_TYPE IN VARCHAR2,
460 X_DATA_STORAGE_TYPE IN VARCHAR2,
461 X_TABLE_NAME IN VARCHAR2,
462 X_BASE_TABLE_COLUMN_NAME IN VARCHAR2,
463 X_REQUIRED_FLAG IN VARCHAR2,
464 X_DISPLAY_VALUE_LENGTH IN NUMBER,
465 X_LOV_REGION_APPLICATION_ID IN NUMBER,
466 X_LOV_REGION_CODE IN VARCHAR2,
467 X_LOV_FOREIGN_KEY_NAME IN VARCHAR2,
468 X_LOV_ATTRIBUTE_APPLICATION_ID IN NUMBER,
469 X_LOV_ATTRIBUTE_CODE IN VARCHAR2,
470 X_DEFAULTING_API_PKG IN VARCHAR2,
471 X_DEFAULTING_API_PROC IN VARCHAR2,
472 X_VALIDATION_API_PKG IN VARCHAR2,
473 X_VALIDATION_API_PROC IN VARCHAR2,
474 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
478 X_LAST_UPDATED_BY in NUMBER,
475 X_DEFAULT_VALUE_NUMBER in NUMBER,
476 X_DEFAULT_VALUE_DATE in DATE,
477 X_LAST_UPDATE_DATE in DATE,
479 X_LAST_UPDATE_LOGIN in NUMBER,
480 X_ATTRIBUTE_CATEGORY in VARCHAR2,
481 X_ATTRIBUTE1 in VARCHAR2,
482 X_ATTRIBUTE2 in VARCHAR2,
483 X_ATTRIBUTE3 in VARCHAR2,
484 X_ATTRIBUTE4 in VARCHAR2,
485 X_ATTRIBUTE5 in VARCHAR2,
486 X_ATTRIBUTE6 in VARCHAR2,
487 X_ATTRIBUTE7 in VARCHAR2,
488 X_ATTRIBUTE8 in VARCHAR2,
489 X_ATTRIBUTE9 in VARCHAR2,
490 X_ATTRIBUTE10 in VARCHAR2,
491 X_ATTRIBUTE11 in VARCHAR2,
492 X_ATTRIBUTE12 in VARCHAR2,
493 X_ATTRIBUTE13 in VARCHAR2,
494 X_ATTRIBUTE14 in VARCHAR2,
495 X_ATTRIBUTE15 in VARCHAR2
496 ) is
497 begin
498 update AK_OBJECT_ATTRIBUTES set
499 DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME,
500 ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID,
501 ATTRIBUTE_CODE = X_ATTRIBUTE_CODE,
502 COLUMN_NAME = X_COLUMN_NAME,
503 ATTRIBUTE_LABEL_LENGTH = X_ATTRIBUTE_LABEL_LENGTH,
504 BOLD = X_BOLD,
505 ITALIC = X_ITALIC,
506 VERTICAL_ALIGNMENT = X_VERTICAL_ALIGNMENT,
507 HORIZONTAL_ALIGNMENT = X_HORIZONTAL_ALIGNMENT,
508 DATA_SOURCE_TYPE = X_DATA_SOURCE_TYPE,
509 DATA_STORAGE_TYPE = X_DATA_STORAGE_TYPE,
510 TABLE_NAME = X_TABLE_NAME,
511 BASE_TABLE_COLUMN_NAME = X_BASE_TABLE_COLUMN_NAME,
512 REQUIRED_FLAG = X_REQUIRED_FLAG,
513 DISPLAY_VALUE_LENGTH = X_DISPLAY_VALUE_LENGTH,
514 LOV_REGION_APPLICATION_ID = X_LOV_REGION_APPLICATION_ID,
515 LOV_REGION_CODE = X_LOV_REGION_CODE,
516 LOV_FOREIGN_KEY_NAME = X_LOV_FOREIGN_KEY_NAME,
517 LOV_ATTRIBUTE_APPLICATION_ID = X_LOV_ATTRIBUTE_APPLICATION_ID,
518 LOV_ATTRIBUTE_CODE = X_LOV_ATTRIBUTE_CODE,
519 DEFAULTING_API_PKG = X_DEFAULTING_API_PKG,
520 DEFAULTING_API_PROC = X_DEFAULTING_API_PROC,
521 VALIDATION_API_PKG = X_VALIDATION_API_PKG,
522 VALIDATION_API_PROC = X_VALIDATION_API_PROC,
523 DEFAULT_VALUE_VARCHAR2 = X_DEFAULT_VALUE_VARCHAR2,
524 DEFAULT_VALUE_NUMBER = X_DEFAULT_VALUE_NUMBER,
525 DEFAULT_VALUE_DATE = X_DEFAULT_VALUE_DATE,
526 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
527 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
528 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
529 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
530 ATTRIBUTE1 = X_ATTRIBUTE1,
531 ATTRIBUTE2 = X_ATTRIBUTE2,
532 ATTRIBUTE3 = X_ATTRIBUTE3,
533 ATTRIBUTE4 = X_ATTRIBUTE4,
534 ATTRIBUTE5 = X_ATTRIBUTE5,
535 ATTRIBUTE6 = X_ATTRIBUTE6,
536 ATTRIBUTE7 = X_ATTRIBUTE7,
537 ATTRIBUTE8 = X_ATTRIBUTE8,
538 ATTRIBUTE9 = X_ATTRIBUTE9,
539 ATTRIBUTE10 = X_ATTRIBUTE10,
540 ATTRIBUTE11 = X_ATTRIBUTE11,
541 ATTRIBUTE12 = X_ATTRIBUTE12,
542 ATTRIBUTE13 = X_ATTRIBUTE13,
543 ATTRIBUTE14 = X_ATTRIBUTE14,
544 ATTRIBUTE15 = X_ATTRIBUTE15
545 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
546 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
547 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
548 if (sql%notfound) then
549 raise no_data_found;
550 end if;
551 update AK_OBJECT_ATTRIBUTES_TL set
552 ATTRIBUTE_LABEL_LONG = X_ATTRIBUTE_LABEL_LONG,
553 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
554 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
555 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
556 SOURCE_LANG = userenv('LANG')
557 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
558 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
559 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
560 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
561 if (sql%notfound) then
562 raise no_data_found;
563 end if;
564 end UPDATE_ROW;
565 --*****************************************************************************
566 procedure DELETE_ROW (
567 X_DATABASE_OBJECT_NAME in VARCHAR2,
568 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
569 X_ATTRIBUTE_CODE in VARCHAR2
570 ) is
571 begin
572 delete from AK_OBJECT_ATTRIBUTES
573 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
574 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
575 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
576 
577 if (sql%notfound) then
578 raise no_data_found;
579 end if;
580 
581 delete from AK_OBJECT_ATTRIBUTES_TL
582 where DATABASE_OBJECT_NAME = X_DATABASE_OBJECT_NAME
583 and ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
584 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
585 if (sql%notfound) then
586 raise no_data_found;
587 end if;
588 end DELETE_ROW;
589 --*****************************************************************************
590 procedure ADD_LANGUAGE
591 is
592 begin
593 
594 /* Mar/19/03 requested by Ric Ginsberg */
595 /* The following delete and update statements are commented out */
596 /* as a quick workaround to fix the time-consuming table handler issue */
597 /* Eventually we'll need to turn them into a separate fix_language procedure */
598 /*
599 delete from AK_OBJECT_ATTRIBUTES_TL T
600 where not exists
601 (select NULL
602 from AK_OBJECT_ATTRIBUTES B
603 where B.DATABASE_OBJECT_NAME = T.DATABASE_OBJECT_NAME
604 and B.ATTRIBUTE_CODE = T.ATTRIBUTE_CODE
605 and B.ATTRIBUTE_APPLICATION_ID = T.ATTRIBUTE_APPLICATION_ID
606 );
607 
608 update AK_OBJECT_ATTRIBUTES_TL T set (
609 ATTRIBUTE_LABEL_LONG,
610 ATTRIBUTE_LABEL_SHORT
611 ) = (select
612 B.ATTRIBUTE_LABEL_LONG,
613 B.ATTRIBUTE_LABEL_SHORT
614 from AK_OBJECT_ATTRIBUTES_TL B
615 where B.DATABASE_OBJECT_NAME = T.DATABASE_OBJECT_NAME
619 where (
616 and B.ATTRIBUTE_CODE = T.ATTRIBUTE_CODE
617 and B.ATTRIBUTE_APPLICATION_ID = T.ATTRIBUTE_APPLICATION_ID
618 and B.LANGUAGE = T.SOURCE_LANG)
620 T.DATABASE_OBJECT_NAME,
621 T.ATTRIBUTE_CODE,
622 T.ATTRIBUTE_APPLICATION_ID,
623 T.LANGUAGE
624 ) in (select
625 SUBT.DATABASE_OBJECT_NAME,
626 SUBT.ATTRIBUTE_CODE,
627 SUBT.ATTRIBUTE_APPLICATION_ID,
628 SUBT.LANGUAGE
629 from AK_OBJECT_ATTRIBUTES_TL SUBB, AK_OBJECT_ATTRIBUTES_TL SUBT
630 where SUBB.DATABASE_OBJECT_NAME = SUBT.DATABASE_OBJECT_NAME
631 and SUBB.ATTRIBUTE_CODE = SUBT.ATTRIBUTE_CODE
632 and SUBB.ATTRIBUTE_APPLICATION_ID = SUBT.ATTRIBUTE_APPLICATION_ID
633 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
634 and (SUBB.ATTRIBUTE_LABEL_LONG <> SUBT.ATTRIBUTE_LABEL_LONG
635 or (SUBB.ATTRIBUTE_LABEL_LONG is null and SUBT.ATTRIBUTE_LABEL_LONG is not null)
636 or (SUBB.ATTRIBUTE_LABEL_LONG is not null and SUBT.ATTRIBUTE_LABEL_LONG is null)
637 or SUBB.ATTRIBUTE_LABEL_SHORT <> SUBT.ATTRIBUTE_LABEL_SHORT
638 or (SUBB.ATTRIBUTE_LABEL_SHORT is null and SUBT.ATTRIBUTE_LABEL_SHORT is not null)
639 or (SUBB.ATTRIBUTE_LABEL_SHORT is not null and SUBT.ATTRIBUTE_LABEL_SHORT is null)
640 ));
641 */
642 
643 insert /*+ append parallel(tt) */ into AK_OBJECT_ATTRIBUTES_TL tt (
644 DATABASE_OBJECT_NAME,
645 ATTRIBUTE_APPLICATION_ID,
646 ATTRIBUTE_CODE,
647 ATTRIBUTE_LABEL_LONG,
648 ATTRIBUTE_LABEL_SHORT,
649 CREATED_BY,
650 CREATION_DATE,
651 LAST_UPDATED_BY,
652 LAST_UPDATE_DATE,
653 LAST_UPDATE_LOGIN,
654 LANGUAGE,
655 SOURCE_LANG
656 ) select /*+ parallel(v) parallel(t) use_nl(t)  */ v.* from
657 (select /*+ no_merge ordered parallel(b) */
658 B.DATABASE_OBJECT_NAME,
659 B.ATTRIBUTE_APPLICATION_ID,
660 B.ATTRIBUTE_CODE,
661 B.ATTRIBUTE_LABEL_LONG,
662 B.ATTRIBUTE_LABEL_SHORT,
663 B.CREATED_BY,
664 B.CREATION_DATE,
665 B.LAST_UPDATED_BY,
666 B.LAST_UPDATE_DATE,
667 B.LAST_UPDATE_LOGIN,
668 L.LANGUAGE_CODE,
669 B.SOURCE_LANG
670 from AK_OBJECT_ATTRIBUTES_TL B, FND_LANGUAGES L
671 where L.INSTALLED_FLAG in ('I', 'B')
672 and B.LANGUAGE = userenv('LANG')
673 ) v, AK_OBJECT_ATTRIBUTES_TL T
674 where T.DATABASE_OBJECT_NAME(+) = v.DATABASE_OBJECT_NAME
675 and T.ATTRIBUTE_CODE(+) = v.ATTRIBUTE_CODE
676 and T.ATTRIBUTE_APPLICATION_ID(+) = v.ATTRIBUTE_APPLICATION_ID
677 and T.LANGUAGE(+) = v.LANGUAGE_CODE
678 and T.DATABASE_OBJECT_NAME is NULL
679 and T.ATTRIBUTE_CODE is NULL
680 and T.ATTRIBUTE_APPLICATION_ID is NULL;
681 
682 end ADD_LANGUAGE;
683 
684 --*****************************************************************************
685 procedure ADD_REGION_ITEM (
686 X_REGION_APPLICATION_ID in NUMBER,
687 X_REGION_CODE in VARCHAR2,
688 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
689 X_ATTRIBUTE_CODE in VARCHAR2,
690 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
691 X_BOLD in VARCHAR2,
692 X_ITALIC in VARCHAR2,
693 X_VERTICAL_ALIGNMENT in VARCHAR2,
694 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
695 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
696 X_DEFAULT_VALUE_NUMBER in NUMBER,
697 X_DEFAULT_VALUE_DATE in DATE,
698 X_LOV_FOREIGN_KEY_NAME in VARCHAR2,
699 X_LOV_REGION_APPLICATION_ID in NUMBER,
700 X_LOV_REGION_CODE in VARCHAR2,
701 X_LOV_ATTRIBUTE_APPLICATION_ID in NUMBER,
702 X_LOV_ATTRIBUTE_CODE in VARCHAR2,
703 X_LOV_DEFAULT_FLAG in VARCHAR2,
704 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
705 X_CREATION_DATE in DATE,
706 X_CREATED_BY in NUMBER,
707 X_LAST_UPDATE_DATE in DATE,
708 X_LAST_UPDATED_BY in NUMBER,
709 X_LAST_UPDATE_LOGIN in NUMBER,
710 x_display_value_length in number,
711 X_COMMIT in VARCHAR2) IS
712 /* local variables */
713 max_sequence number;
714 dummy number;
715 row_id varchar2(30);
716 --display_flag_default varchar2(1) := 'Y';
717 display_flag_default varchar2(1) := 'N';
718 query_flag_default varchar2(1) := 'N';
719 attribute_label_length_default number := 30;
720 object_attribute_flag_default varchar2(1) := 'Y';
721 item_style_default varchar2(30) := 'TEXT';
722 l_submit varchar2(1) := 'N';
723 l_encrypt varchar2(1) := 'N';
724 l_display_height number := 1;
725 l_item_name varchar2(30) := '';
726 
727 /* cursor definition */
728 cursor c1 is
729 select 1
730 from   ak_region_items
731 where  region_application_id = X_REGION_APPLICATION_ID
732 and    region_code = X_REGION_CODE
733 and    attribute_application_id = X_ATTRIBUTE_APPLICATION_ID
734 and    attribute_code = X_ATTRIBUTE_CODE;
735 cursor c2 is
736 select max(display_sequence)
737 from   ak_region_items
738 where  region_application_id = X_REGION_APPLICATION_ID
739 and    region_code = X_REGION_CODE;
740 begin
741 /* no need to insert record if one already exists */
742 open c1;
743 fetch c1 into dummy;
744 if (NOT c1%notfound) then
745 close c1;
746 return;
747 end if;
748 close c1;
749 
750 /* set display sequence to one larger than the largest sequence */
751 open c2;
752 fetch c2 into dummy;
753 close c2;
754 max_sequence := nvl(dummy,0) + 1;
755 
756 /* call package procedure to insert new record */
757 
758 ak_region_items_pkg.insert_row(
759 x_rowid => row_id,
760 x_region_application_id => x_region_application_id,
761 x_region_code => x_region_code,
765 x_node_display_flag => display_flag_default,
762 x_attribute_application_id => x_attribute_application_id,
763 x_attribute_code => x_attribute_code,
764 x_display_sequence => max_sequence,
766 x_node_query_flag => query_flag_default,
767 x_attribute_label_length => nvl(x_attribute_label_length,attribute_label_length_default),
768 x_bold => x_bold,
769 x_italic => x_italic,
770 x_vertical_alignment => x_vertical_alignment,
771 x_horizontal_alignment => x_horizontal_alignment,
772 x_item_style => item_style_default,
773 x_object_attribute_flag => object_attribute_flag_default,
774 x_attribute_label_long => x_attribute_label_long,
775 x_description => '',
776 X_SECURITY_CODE => NULL,
777 X_UPDATE_FLAG => 'Y',
778 X_REQUIRED_FLAG => 'N',
779 X_DISPLAY_VALUE_LENGTH => x_display_value_length,
780 X_LOV_REGION_APPLICATION_ID => X_LOV_REGION_APPLICATION_ID,
781 X_LOV_REGION_CODE => X_LOV_REGION_CODE,
782 X_LOV_FOREIGN_KEY_NAME => X_LOV_FOREIGN_KEY_NAME,
783 X_LOV_ATTRIBUTE_APPLICATION_ID => X_LOV_ATTRIBUTE_APPLICATION_ID,
784 X_LOV_ATTRIBUTE_CODE => X_LOV_ATTRIBUTE_CODE,
785 X_LOV_DEFAULT_FLAG => X_LOV_DEFAULT_FLAG,
786 X_REGION_DEFAULTING_API_PKG => NULL,
787 X_REGION_DEFAULTING_API_PROC => NULL,
788 X_REGION_VALIDATION_API_PKG => NULL,
789 X_REGION_VALIDATION_API_PROC => NULL,
790 X_ORDER_SEQUENCE => NULL,
791 X_ORDER_DIRECTION => NULL,
792 X_DEFAULT_VALUE_VARCHAR2 => x_default_value_varchar2,
793 X_DEFAULT_VALUE_NUMBER => x_default_value_number,
794 X_DEFAULT_VALUE_DATE => x_default_value_date,
795 X_ITEM_NAME => l_item_name,
796 X_DISPLAY_HEIGHT => l_display_height,
797 X_SUBMIT => l_submit,
798 X_ENCRYPT => l_encrypt,
799 X_VIEW_USAGE_NAME => '',
800 X_VIEW_ATTRIBUTE_NAME => '',
801 X_CSS_CLASS_NAME => '',
802 X_CSS_LABEL_CLASS_NAME => '',
803 X_URL => '',
804 X_POPLIST_VIEWOBJECT => '',
805 X_POPLIST_DISPLAY_ATTRIBUTE => '',
806 X_POPLIST_VALUE_ATTRIBUTE => '',
807 X_IMAGE_FILE_NAME => '',
808 X_NESTED_REGION_CODE => '',
809 X_NESTED_REGION_APPL_ID => null,
810 X_MENU_NAME => null,
811 X_FLEXFIELD_NAME => null,
812 X_FLEXFIELD_APPLICATION_ID => null,
813 X_TABULAR_FUNCTION_CODE  => null,
814 X_TIP_TYPE                 => null,
815 X_TIP_MESSAGE_NAME         => null,
816 X_TIP_MESSAGE_APPLICATION_ID    => null,
817 X_FLEX_SEGMENT_LIST => '',
818 X_ENTITY_ID => '',
819 X_ANCHOR => '',
820 X_POPLIST_VIEW_USAGE_NAME => '',
821 X_USER_CUSTOMIZABLE => '',
822 X_SORTBY_VIEW_ATTRIBUTE_NAME => '',
823 x_creation_date => x_creation_date,
824 x_created_by => x_created_by,
825 x_last_update_date => x_last_update_date,
826 x_last_updated_by => x_last_updated_by,
827 x_last_update_login => x_last_update_login,
828 x_attribute_category => NULL,
829 x_attribute1 => NULL,
830 x_attribute2 => NULL,
831 x_attribute3 => NULL,
832 x_attribute4 => NULL,
833 x_attribute5 => NULL,
834 x_attribute6 => NULL,
835 x_attribute7 => NULL,
836 x_attribute8 => NULL,
837 x_attribute9 => NULL,
838 x_attribute10 => NULL,
839 x_attribute11 => NULL,
840 x_attribute12 => NULL,
841 x_attribute13 => NULL,
842 x_attribute14 => NULL,
843 x_attribute15 => NULL);
844 
845 if (X_COMMIT = 'TRUE') then
846 commit;
847 end if;
848 
849 end ADD_REGION_ITEM;
850 --*****************************************************************************
851 end AK_OBJECT_ATTRIBUTES_PKG;