DBA Data[Home] [Help]

PACKAGE BODY: APPS.AK_ATTRIBUTES_PKG

Source


1 package body AK_ATTRIBUTES_PKG AS
2 /* $Header: AKDATTRB.pls 120.3 2006/01/25 15:31:00 tshort ship $ */
3 --*****************************************************************************
4 procedure INSERT_ROW (
5 X_ROWID in out NOCOPY VARCHAR2,
6 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
7 X_ATTRIBUTE_CODE in VARCHAR2,
8 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
9 X_ATTRIBUTE_VALUE_LENGTH in NUMBER,
10 X_BOLD in VARCHAR2,
11 X_ITALIC in VARCHAR2,
12 X_UPPER_CASE_FLAG in VARCHAR2,
13 X_VERTICAL_ALIGNMENT in VARCHAR2,
14 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
15 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
16 X_DEFAULT_VALUE_NUMBER in NUMBER,
17 X_DEFAULT_VALUE_DATE in DATE,
18 X_LOV_REGION_CODE in VARCHAR2,
19 X_LOV_REGION_APPLICATION_ID in NUMBER,
20 X_DATA_TYPE in VARCHAR2,
21 X_DISPLAY_HEIGHT IN NUMBER,
22 X_ITEM_STYLE in VARCHAR2,
23 X_CSS_CLASS_NAME IN VARCHAR2,
24 X_CSS_LABEL_CLASS_NAME IN VARCHAR2,
25 X_PRECISION IN NUMBER := NULL,
26 X_EXPANSION IN NUMBER := NULL,
27 X_ALS_MAX_LENGTH IN NUMBER := NULL,
28 X_POPLIST_VIEWOBJECT IN VARCHAR2,
29 X_POPLIST_DISPLAY_ATTRIBUTE IN VARCHAR2,
30 X_POPLIST_VALUE_ATTRIBUTE IN VARCHAR2,
31 X_ATTRIBUTE_CATEGORY in VARCHAR2,
32 X_ATTRIBUTE1 in VARCHAR2,
33 X_ATTRIBUTE2 in VARCHAR2,
34 X_ATTRIBUTE3 in VARCHAR2,
35 X_ATTRIBUTE4 in VARCHAR2,
36 X_ATTRIBUTE5 in VARCHAR2,
37 X_ATTRIBUTE6 in VARCHAR2,
38 X_ATTRIBUTE7 in VARCHAR2,
39 X_ATTRIBUTE8 in VARCHAR2,
40 X_ATTRIBUTE9 in VARCHAR2,
41 X_ATTRIBUTE10 in VARCHAR2,
42 X_ATTRIBUTE11 in VARCHAR2,
43 X_ATTRIBUTE12 in VARCHAR2,
44 X_ATTRIBUTE13 in VARCHAR2,
45 X_ATTRIBUTE14 in VARCHAR2,
46 X_ATTRIBUTE15 in VARCHAR2,
47 X_NAME in VARCHAR2,
48 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
49 X_ATTRIBUTE_LABEL_SHORT in VARCHAR2 := NULL,
50 X_DESCRIPTION in VARCHAR2,
51 X_CREATION_DATE in DATE,
52 X_CREATED_BY in NUMBER,
53 X_LAST_UPDATE_DATE in DATE,
54 X_LAST_UPDATED_BY in NUMBER,
55 X_LAST_UPDATE_LOGIN in NUMBER
56 ) is
57 cursor C is select ROWID from AK_ATTRIBUTES
58 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
59 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
60 
61 begin
62 insert into AK_ATTRIBUTES (
63 ATTRIBUTE_APPLICATION_ID,
64 ATTRIBUTE_CODE,
65 ATTRIBUTE_LABEL_LENGTH,
66 ATTRIBUTE_VALUE_LENGTH,
67 BOLD,
68 ITALIC,
69 UPPER_CASE_FLAG,
70 VERTICAL_ALIGNMENT,
71 HORIZONTAL_ALIGNMENT,
72 DEFAULT_VALUE_VARCHAR2,
73 DEFAULT_VALUE_NUMBER,
74 DEFAULT_VALUE_DATE,
75 LOV_REGION_CODE,
76 LOV_REGION_APPLICATION_ID,
77 DATA_TYPE,
78 DISPLAY_HEIGHT,
79 ITEM_STYLE,
80 CSS_CLASS_NAME,
81 CSS_LABEL_CLASS_NAME,
82 PRECISION,
83 EXPANSION,
84 ALS_MAX_LENGTH,
85 POPLIST_VIEWOBJECT,
86 POPLIST_DISPLAY_ATTRIBUTE,
87 POPLIST_VALUE_ATTRIBUTE,
88 ATTRIBUTE_CATEGORY,
89 ATTRIBUTE1,
90 ATTRIBUTE2,
91 ATTRIBUTE3,
92 ATTRIBUTE4,
93 ATTRIBUTE5,
94 ATTRIBUTE6,
95 ATTRIBUTE7,
96 ATTRIBUTE8,
97 ATTRIBUTE9,
98 ATTRIBUTE10,
99 ATTRIBUTE11,
100 ATTRIBUTE12,
101 ATTRIBUTE13,
102 ATTRIBUTE14,
103 ATTRIBUTE15,
104 CREATION_DATE,
105 CREATED_BY,
106 LAST_UPDATE_DATE,
107 LAST_UPDATED_BY,
108 LAST_UPDATE_LOGIN
109 ) values (
110 X_ATTRIBUTE_APPLICATION_ID,
111 X_ATTRIBUTE_CODE,
112 X_ATTRIBUTE_LABEL_LENGTH,
113 X_ATTRIBUTE_VALUE_LENGTH,
114 X_BOLD,
115 X_ITALIC,
116 X_UPPER_CASE_FLAG,
117 X_VERTICAL_ALIGNMENT,
118 X_HORIZONTAL_ALIGNMENT,
119 X_DEFAULT_VALUE_VARCHAR2,
120 X_DEFAULT_VALUE_NUMBER,
121 X_DEFAULT_VALUE_DATE,
122 X_LOV_REGION_CODE,
123 X_LOV_REGION_APPLICATION_ID,
124 X_DATA_TYPE,
125 X_DISPLAY_HEIGHT,
126 X_ITEM_STYLE,
127 X_CSS_CLASS_NAME,
128 X_CSS_LABEL_CLASS_NAME,
129 X_PRECISION,
130 X_EXPANSION,
131 X_ALS_MAX_LENGTH,
132 X_POPLIST_VIEWOBJECT,
133 X_POPLIST_DISPLAY_ATTRIBUTE,
134 X_POPLIST_VALUE_ATTRIBUTE,
135 X_ATTRIBUTE_CATEGORY,
136 X_ATTRIBUTE1,
137 X_ATTRIBUTE2,
138 X_ATTRIBUTE3,
139 X_ATTRIBUTE4,
140 X_ATTRIBUTE5,
141 X_ATTRIBUTE6,
142 X_ATTRIBUTE7,
143 X_ATTRIBUTE8,
144 X_ATTRIBUTE9,
145 X_ATTRIBUTE10,
146 X_ATTRIBUTE11,
147 X_ATTRIBUTE12,
148 X_ATTRIBUTE13,
149 X_ATTRIBUTE14,
150 X_ATTRIBUTE15,
151 X_CREATION_DATE,
152 X_CREATED_BY,
153 X_LAST_UPDATE_DATE,
154 X_LAST_UPDATED_BY,
155 X_LAST_UPDATE_LOGIN
156 );
157 
158 open c;
159 fetch c into X_ROWID;
160 if (c%notfound) then
161 close c;
162 raise no_data_found;
163 end if;
164 close c;
165 
166 insert into AK_ATTRIBUTES_TL (
167 ATTRIBUTE_APPLICATION_ID,
168 ATTRIBUTE_CODE,
169 LANGUAGE,
170 NAME,
171 ATTRIBUTE_LABEL_LONG,
172 ATTRIBUTE_LABEL_SHORT,
173 DESCRIPTION,
174 SOURCE_LANG,
175 CREATED_BY,
176 CREATION_DATE,
177 LAST_UPDATED_BY,
178 LAST_UPDATE_DATE,
179 LAST_UPDATE_LOGIN
180 ) select
181 X_ATTRIBUTE_APPLICATION_ID,
182 X_ATTRIBUTE_CODE,
183 L.LANGUAGE_CODE,
184 X_NAME,
185 X_ATTRIBUTE_LABEL_LONG,
186 X_ATTRIBUTE_LABEL_SHORT,
187 X_DESCRIPTION,
188 userenv('LANG'),
189 X_CREATED_BY,
190 X_CREATION_DATE,
191 X_LAST_UPDATED_BY,
192 X_LAST_UPDATE_DATE,
193 X_LAST_UPDATE_LOGIN
194 from FND_LANGUAGES L
195 where L.INSTALLED_FLAG in ('I', 'B')
196 and not exists
197 (select NULL
198 from AK_ATTRIBUTES_TL T
199 where T.ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
200 and T.ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
201 and T.LANGUAGE = L.LANGUAGE_CODE);
202 end INSERT_ROW;
203 --*****************************************************************************
204 procedure LOCK_ROW (
205 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
206 X_ATTRIBUTE_CODE in VARCHAR2,
207 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
208 X_ATTRIBUTE_VALUE_LENGTH in NUMBER,
209 X_BOLD in VARCHAR2,
210 X_ITALIC in VARCHAR2,
211 X_UPPER_CASE_FLAG in VARCHAR2,
212 X_VERTICAL_ALIGNMENT in VARCHAR2,
213 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
214 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
215 X_DEFAULT_VALUE_NUMBER in NUMBER,
216 X_DEFAULT_VALUE_DATE in DATE,
217 X_LOV_REGION_CODE in VARCHAR2,
218 X_LOV_REGION_APPLICATION_ID in NUMBER,
219 X_DATA_TYPE in VARCHAR2,
220 X_DISPLAY_HEIGHT IN NUMBER,
221 X_ITEM_STYLE in VARCHAR2,
222 X_CSS_CLASS_NAME IN VARCHAR2,
223 X_CSS_LABEL_CLASS_NAME IN VARCHAR2,
224 X_PRECISION IN NUMBER := NULL,
225 X_EXPANSION IN NUMBER := NULL,
226 X_ALS_MAX_LENGTH IN NUMBER := NULL,
227 X_POPLIST_VIEWOBJECT IN VARCHAR2,
228 X_POPLIST_DISPLAY_ATTRIBUTE IN VARCHAR2,
229 X_POPLIST_VALUE_ATTRIBUTE IN VARCHAR2,
230 X_ATTRIBUTE_CATEGORY in VARCHAR2,
231 X_ATTRIBUTE1 in VARCHAR2,
232 X_ATTRIBUTE2 in VARCHAR2,
233 X_ATTRIBUTE3 in VARCHAR2,
234 X_ATTRIBUTE4 in VARCHAR2,
235 X_ATTRIBUTE5 in VARCHAR2,
236 X_ATTRIBUTE6 in VARCHAR2,
237 X_ATTRIBUTE7 in VARCHAR2,
238 X_ATTRIBUTE8 in VARCHAR2,
239 X_ATTRIBUTE9 in VARCHAR2,
240 X_ATTRIBUTE10 in VARCHAR2,
241 X_ATTRIBUTE11 in VARCHAR2,
242 X_ATTRIBUTE12 in VARCHAR2,
243 X_ATTRIBUTE13 in VARCHAR2,
244 X_ATTRIBUTE14 in VARCHAR2,
245 X_ATTRIBUTE15 in VARCHAR2,
246 X_NAME in VARCHAR2,
247 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
248 X_ATTRIBUTE_LABEL_SHORT in VARCHAR2 := NULL,
249 X_DESCRIPTION in VARCHAR2
250 ) is
251 cursor c is select
252 ATTRIBUTE_LABEL_LENGTH,
253 ATTRIBUTE_VALUE_LENGTH,
254 BOLD,
255 ITALIC,
256 UPPER_CASE_FLAG,
257 VERTICAL_ALIGNMENT,
258 HORIZONTAL_ALIGNMENT,
259 DEFAULT_VALUE_VARCHAR2,
260 DEFAULT_VALUE_NUMBER,
261 DEFAULT_VALUE_DATE,
262 LOV_REGION_CODE,
263 LOV_REGION_APPLICATION_ID,
264 DATA_TYPE,
265 DISPLAY_HEIGHT,
266 ITEM_STYLE,
267 CSS_CLASS_NAME,
268 CSS_LABEL_CLASS_NAME,
269 PRECISION,
270 EXPANSION,
271 ALS_MAX_LENGTH,
272 POPLIST_VIEWOBJECT,
273 POPLIST_DISPLAY_ATTRIBUTE,
274 POPLIST_VALUE_ATTRIBUTE,
275 ATTRIBUTE_CATEGORY,
276 ATTRIBUTE1,
277 ATTRIBUTE2,
278 ATTRIBUTE3,
279 ATTRIBUTE4,
280 ATTRIBUTE5,
281 ATTRIBUTE6,
282 ATTRIBUTE7,
283 ATTRIBUTE8,
284 ATTRIBUTE9,
285 ATTRIBUTE10,
286 ATTRIBUTE11,
287 ATTRIBUTE12,
288 ATTRIBUTE13,
289 ATTRIBUTE14,
290 ATTRIBUTE15
291 from AK_ATTRIBUTES
292 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
293 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
294 for update of ATTRIBUTE_APPLICATION_ID nowait;
295 recinfo c%rowtype;
296 
297 cursor c1 is select
298 NAME,
299 ATTRIBUTE_LABEL_LONG,
300 ATTRIBUTE_LABEL_SHORT,
301 DESCRIPTION
302 from AK_ATTRIBUTES_TL
303 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
304 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
305 and LANGUAGE = userenv('LANG')
306 for update of ATTRIBUTE_CODE nowait;
307 tlinfo c1%rowtype;
308 
309 begin
310 open c;
311 fetch c into recinfo;
312 if (c%notfound) then
313 close c;
314 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
315 app_exception.raise_exception;
316 end if;
317 close c;
318 if ( ((recinfo.ATTRIBUTE_LABEL_LENGTH = X_ATTRIBUTE_LABEL_LENGTH)
319 OR ((recinfo.ATTRIBUTE_LABEL_LENGTH is null)
320 AND (X_ATTRIBUTE_LABEL_LENGTH is null)))
321 AND ((recinfo.ATTRIBUTE_VALUE_LENGTH = X_ATTRIBUTE_VALUE_LENGTH)
322 OR ((recinfo.ATTRIBUTE_VALUE_LENGTH is null)
323 AND (X_ATTRIBUTE_VALUE_LENGTH is null)))
324 AND (recinfo.BOLD = X_BOLD)
325 AND (recinfo.ITALIC = X_ITALIC)
326 AND ((recinfo.UPPER_CASE_FLAG = X_UPPER_CASE_FLAG)
327 OR ((recinfo.UPPER_CASE_FLAG is null)
328 AND (X_UPPER_CASE_FLAG is null)))
329 AND (recinfo.VERTICAL_ALIGNMENT = X_VERTICAL_ALIGNMENT)
330 AND (recinfo.HORIZONTAL_ALIGNMENT = X_HORIZONTAL_ALIGNMENT)
331 AND ((recinfo.DEFAULT_VALUE_VARCHAR2 = X_DEFAULT_VALUE_VARCHAR2)
332 OR ((recinfo.DEFAULT_VALUE_VARCHAR2 is null)
333 AND (X_DEFAULT_VALUE_VARCHAR2 is null)))
334 AND ((recinfo.DEFAULT_VALUE_NUMBER = X_DEFAULT_VALUE_NUMBER)
335 OR ((recinfo.DEFAULT_VALUE_NUMBER is null)
336 AND (X_DEFAULT_VALUE_NUMBER is null)))
337 AND ((recinfo.DEFAULT_VALUE_DATE = X_DEFAULT_VALUE_DATE)
338 OR ((recinfo.DEFAULT_VALUE_DATE is null)
339 AND (X_DEFAULT_VALUE_DATE is null)))
340 AND ((recinfo.LOV_REGION_CODE = X_LOV_REGION_CODE)
341 OR ((recinfo.LOV_REGION_CODE is null)
342 AND (X_LOV_REGION_CODE is null)))
343 AND ((recinfo.LOV_REGION_APPLICATION_ID = X_LOV_REGION_APPLICATION_ID)
344 OR ((recinfo.LOV_REGION_APPLICATION_ID is null)
345 AND (X_LOV_REGION_APPLICATION_ID is null)))
346 AND (recinfo.DATA_TYPE = X_DATA_TYPE)
347 AND ((recinfo.DISPLAY_HEIGHT = X_DISPLAY_HEIGHT)
351 OR ((recinfo.ITEM_STYLE is null)
348 OR ((recinfo.DISPLAY_HEIGHT is null)
349 AND (X_DISPLAY_HEIGHT is null)))
350 AND ((recinfo.ITEM_STYLE = X_ITEM_STYLE)
352 AND (X_ITEM_STYLE is null)))
353 AND ((recinfo.CSS_CLASS_NAME = X_CSS_CLASS_NAME)
354 OR ((recinfo.CSS_CLASS_NAME is null)
355 AND (X_CSS_CLASS_NAME is null)))
356 AND ((recinfo.CSS_LABEL_CLASS_NAME = X_CSS_LABEL_CLASS_NAME)
357 OR ((recinfo.CSS_LABEL_CLASS_NAME is null)
358 AND (X_CSS_LABEL_CLASS_NAME is null)))
359 AND ((recinfo.PRECISION = X_PRECISION)
360 OR ((recinfo.PRECISION is null)
361 AND (X_PRECISION is null)))
362 AND ((recinfo.EXPANSION = X_EXPANSION)
363 OR ((recinfo.EXPANSION is null)
364 AND (X_EXPANSION is null)))
365 AND ((recinfo.ALS_MAX_LENGTH = X_ALS_MAX_LENGTH)
366 OR ((recinfo.ALS_MAX_LENGTH is null)
367 AND (X_ALS_MAX_LENGTH is null)))
368 AND ((recinfo.POPLIST_VIEWOBJECT = X_POPLIST_VIEWOBJECT)
369 OR ((recinfo.POPLIST_VIEWOBJECT is null)
370 AND (X_POPLIST_VIEWOBJECT is null)))
371 AND ((recinfo.POPLIST_DISPLAY_ATTRIBUTE = X_POPLIST_DISPLAY_ATTRIBUTE)
372 OR ((recinfo.POPLIST_DISPLAY_ATTRIBUTE is null)
373 AND (X_POPLIST_DISPLAY_ATTRIBUTE is null)))
374 AND ((recinfo.POPLIST_VALUE_ATTRIBUTE = X_POPLIST_VALUE_ATTRIBUTE)
375 OR ((recinfo.POPLIST_VALUE_ATTRIBUTE is null)
376 AND (X_POPLIST_VALUE_ATTRIBUTE is null)))
377 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
378 OR ((recinfo.ATTRIBUTE_CATEGORY is null)
379 AND (X_ATTRIBUTE_CATEGORY is null)))
380 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
381 OR ((recinfo.ATTRIBUTE1 is null)
382 AND (X_ATTRIBUTE1 is null)))
383 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
384 OR ((recinfo.ATTRIBUTE2 is null)
385 AND (X_ATTRIBUTE2 is null)))
386 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
387 OR ((recinfo.ATTRIBUTE3 is null)
388 AND (X_ATTRIBUTE3 is null)))
389 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
390 OR ((recinfo.ATTRIBUTE4 is null)
391 AND (X_ATTRIBUTE4 is null)))
392 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
393 OR ((recinfo.ATTRIBUTE5 is null)
394 AND (X_ATTRIBUTE5 is null)))
395 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
396 OR ((recinfo.ATTRIBUTE6 is null)
397 AND (X_ATTRIBUTE6 is null)))
398 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
399 OR ((recinfo.ATTRIBUTE7 is null)
400 AND (X_ATTRIBUTE7 is null)))
401 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
402 OR ((recinfo.ATTRIBUTE8 is null)
403 AND (X_ATTRIBUTE8 is null)))
404 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
405 OR ((recinfo.ATTRIBUTE9 is null)
406 AND (X_ATTRIBUTE9 is null)))
407 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
408 OR ((recinfo.ATTRIBUTE10 is null)
409 AND (X_ATTRIBUTE10 is null)))
410 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
411 OR ((recinfo.ATTRIBUTE11 is null)
412 AND (X_ATTRIBUTE11 is null)))
413 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
414 OR ((recinfo.ATTRIBUTE12 is null)
415 AND (X_ATTRIBUTE12 is null)))
416 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
417 OR ((recinfo.ATTRIBUTE13 is null)
418 AND (X_ATTRIBUTE13 is null)))
419 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
420 OR ((recinfo.ATTRIBUTE14 is null)
421 AND (X_ATTRIBUTE14 is null)))
422 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
423 OR ((recinfo.ATTRIBUTE15 is null)
424 AND (X_ATTRIBUTE15 is null)))
425 ) then
426 null;
427 else
428 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
429 app_exception.raise_exception;
430 end if;
431 
432 open c1;
433 fetch c1 into tlinfo;
434 if (c1%notfound) then
435 close c1;
436 return;
437 end if;
438 close c1;
439 
440 if ( (tlinfo.NAME = X_NAME)
441 AND ((tlinfo.attribute_label_long = X_attribute_label_long)
442 OR ((tlinfo.attribute_label_long is null)
443 AND (X_attribute_label_long is null)))
444 AND ((tlinfo.attribute_label_short = X_attribute_label_short)
445 OR ((tlinfo.attribute_label_short is null)
446 AND (X_attribute_label_short is null)))
447 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
448 OR ((tlinfo.DESCRIPTION is null)
449 AND (X_DESCRIPTION is null)))
450 ) then
451 null;
452 else
453 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
454 app_exception.raise_exception;
455 end if;
456 return;
457 end LOCK_ROW;
458 --*****************************************************************************
459 procedure UPDATE_ROW (
460 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
461 X_ATTRIBUTE_CODE in VARCHAR2,
462 X_ATTRIBUTE_LABEL_LENGTH in NUMBER,
463 X_ATTRIBUTE_VALUE_LENGTH in NUMBER,
464 X_BOLD in VARCHAR2,
465 X_ITALIC in VARCHAR2,
466 X_UPPER_CASE_FLAG in VARCHAR2,
467 X_VERTICAL_ALIGNMENT in VARCHAR2,
468 X_HORIZONTAL_ALIGNMENT in VARCHAR2,
469 X_DEFAULT_VALUE_VARCHAR2 in VARCHAR2,
470 X_DEFAULT_VALUE_NUMBER in NUMBER,
471 X_DEFAULT_VALUE_DATE in DATE,
472 X_LOV_REGION_CODE in VARCHAR2,
473 X_LOV_REGION_APPLICATION_ID in NUMBER,
474 X_DATA_TYPE in VARCHAR2,
475 X_DISPLAY_HEIGHT IN NUMBER,
476 X_ITEM_STYLE in VARCHAR2,
477 X_CSS_CLASS_NAME IN VARCHAR2,
478 X_CSS_LABEL_CLASS_NAME IN VARCHAR2,
479 X_PRECISION IN NUMBER := NULL,
480 X_EXPANSION IN NUMBER := NULL,
481 X_ALS_MAX_LENGTH IN NUMBER := NULL,
482 X_POPLIST_VIEWOBJECT IN VARCHAR2,
483 X_POPLIST_DISPLAY_ATTRIBUTE IN VARCHAR2,
484 X_POPLIST_VALUE_ATTRIBUTE IN VARCHAR2,
485 X_ATTRIBUTE_CATEGORY in VARCHAR2,
486 X_ATTRIBUTE1 in VARCHAR2,
487 X_ATTRIBUTE2 in VARCHAR2,
488 X_ATTRIBUTE3 in VARCHAR2,
489 X_ATTRIBUTE4 in VARCHAR2,
490 X_ATTRIBUTE5 in VARCHAR2,
491 X_ATTRIBUTE6 in VARCHAR2,
492 X_ATTRIBUTE7 in VARCHAR2,
493 X_ATTRIBUTE8 in VARCHAR2,
494 X_ATTRIBUTE9 in VARCHAR2,
495 X_ATTRIBUTE10 in VARCHAR2,
499 X_ATTRIBUTE14 in VARCHAR2,
496 X_ATTRIBUTE11 in VARCHAR2,
497 X_ATTRIBUTE12 in VARCHAR2,
498 X_ATTRIBUTE13 in VARCHAR2,
500 X_ATTRIBUTE15 in VARCHAR2,
501 X_NAME in VARCHAR2,
502 X_ATTRIBUTE_LABEL_LONG in VARCHAR2,
503 X_ATTRIBUTE_LABEL_SHORT in VARCHAR2 := NULL,
504 X_DESCRIPTION in VARCHAR2,
505 X_LAST_UPDATE_DATE in DATE,
506 X_LAST_UPDATED_BY in NUMBER,
507 X_LAST_UPDATE_LOGIN in NUMBER
508 ) is
509 begin
510 update AK_ATTRIBUTES set
511 ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID,
512 ATTRIBUTE_CODE = X_ATTRIBUTE_CODE,
513 ATTRIBUTE_LABEL_LENGTH = X_ATTRIBUTE_LABEL_LENGTH,
514 ATTRIBUTE_VALUE_LENGTH = X_ATTRIBUTE_VALUE_LENGTH,
515 BOLD = X_BOLD,
516 ITALIC = X_ITALIC,
517 UPPER_CASE_FLAG = X_UPPER_CASE_FLAG,
518 VERTICAL_ALIGNMENT = X_VERTICAL_ALIGNMENT,
519 HORIZONTAL_ALIGNMENT = X_HORIZONTAL_ALIGNMENT,
520 DEFAULT_VALUE_VARCHAR2 = X_DEFAULT_VALUE_VARCHAR2,
521 DEFAULT_VALUE_NUMBER = X_DEFAULT_VALUE_NUMBER,
522 DEFAULT_VALUE_DATE = X_DEFAULT_VALUE_DATE,
523 LOV_REGION_CODE = X_LOV_REGION_CODE,
524 LOV_REGION_APPLICATION_ID = X_LOV_REGION_APPLICATION_ID,
525 DATA_TYPE = X_DATA_TYPE,
526 DISPLAY_HEIGHT = X_DISPLAY_HEIGHT,
527 ITEM_STYLE = X_ITEM_STYLE,
528 CSS_CLASS_NAME = X_CSS_CLASS_NAME,
529 CSS_LABEL_CLASS_NAME = X_CSS_LABEL_CLASS_NAME,
530 PRECISION = X_PRECISION,
531 EXPANSION = X_EXPANSION,
532 ALS_MAX_LENGTH = X_ALS_MAX_LENGTH,
533 POPLIST_VIEWOBJECT = X_POPLIST_VIEWOBJECT,
534 POPLIST_DISPLAY_ATTRIBUTE = X_POPLIST_DISPLAY_ATTRIBUTE,
535 POPLIST_VALUE_ATTRIBUTE = X_POPLIST_VALUE_ATTRIBUTE,
536 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
537 ATTRIBUTE1 = X_ATTRIBUTE1,
538 ATTRIBUTE2 = X_ATTRIBUTE2,
539 ATTRIBUTE3 = X_ATTRIBUTE3,
540 ATTRIBUTE4 = X_ATTRIBUTE4,
541 ATTRIBUTE5 = X_ATTRIBUTE5,
542 ATTRIBUTE6 = X_ATTRIBUTE6,
543 ATTRIBUTE7 = X_ATTRIBUTE7,
544 ATTRIBUTE8 = X_ATTRIBUTE8,
545 ATTRIBUTE9 = X_ATTRIBUTE9,
546 ATTRIBUTE10 = X_ATTRIBUTE10,
547 ATTRIBUTE11 = X_ATTRIBUTE11,
548 ATTRIBUTE12 = X_ATTRIBUTE12,
549 ATTRIBUTE13 = X_ATTRIBUTE13,
550 ATTRIBUTE14 = X_ATTRIBUTE14,
551 ATTRIBUTE15 = X_ATTRIBUTE15,
552 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
553 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
554 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
555 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
556 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
557 if (sql%notfound) then
558 raise no_data_found;
559 end if;
560 
561 update AK_ATTRIBUTES_TL set
562 NAME = X_NAME,
563 ATTRIBUTE_LABEL_LONG = X_ATTRIBUTE_LABEL_LONG,
564 ATTRIBUTE_LABEL_SHORT = X_ATTRIBUTE_LABEL_SHORT,
565 DESCRIPTION = X_DESCRIPTION,
566 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
567 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
568 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
569 SOURCE_LANG = userenv('LANG')
570 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
571 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
572 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
573 
574 if (sql%notfound) then
575 raise no_data_found;
576 end if;
577 end UPDATE_ROW;
578 --*****************************************************************************
579 procedure DELETE_ROW (
580 X_ATTRIBUTE_APPLICATION_ID in NUMBER,
581 X_ATTRIBUTE_CODE in VARCHAR2
582 ) is
583 begin
584 delete from AK_ATTRIBUTES
585 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
586 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
587 if (sql%notfound) then
588 raise no_data_found;
589 end if;
590 
591 -- Only in CONFIGURATOR mode should a row exist in AK_OBJECT_ATTRIBUTES.
592 delete from AK_OBJECT_ATTRIBUTES
593 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
594 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
595 if (sql%notfound) then
596 null;
597 end if;
598 
599 delete from AK_ATTRIBUTES_TL
600 where ATTRIBUTE_APPLICATION_ID = X_ATTRIBUTE_APPLICATION_ID
601 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
602 if (sql%notfound) then
603 raise no_data_found;
604 end if;
605 end DELETE_ROW;
606 --*****************************************************************************
607 procedure ADD_LANGUAGE
608 is
609 begin
610 
611 /* Mar/19/03 requested by Ric Ginsberg */
612 /* The following delete and update statements are commented out */
613 /* as a quick workaround to fix the time-consuming table handler issue */
614 /* Eventually we'll need to turn them into a separate fix_language procedure */
615 /*
616 
617 delete from AK_ATTRIBUTES_TL T
618 where not exists
619 (select NULL
620 from AK_ATTRIBUTES B
621 where B.ATTRIBUTE_CODE = T.ATTRIBUTE_CODE
622 and B.ATTRIBUTE_APPLICATION_ID = T.ATTRIBUTE_APPLICATION_ID
623 );
624 
625 update AK_ATTRIBUTES_TL T set (
626 NAME,
627 ATTRIBUTE_LABEL_LONG,
628 ATTRIBUTE_LABEL_SHORT,
629 DESCRIPTION
630 ) = (select
631 B.NAME,
632 B.ATTRIBUTE_LABEL_LONG,
633 B.ATTRIBUTE_LABEL_SHORT,
634 B.DESCRIPTION
635 from AK_ATTRIBUTES_TL B
636 where B.ATTRIBUTE_CODE = T.ATTRIBUTE_CODE
637 and B.ATTRIBUTE_APPLICATION_ID = T.ATTRIBUTE_APPLICATION_ID
638 and B.LANGUAGE = T.SOURCE_LANG)
639 where (
640 T.ATTRIBUTE_CODE,
641 T.ATTRIBUTE_APPLICATION_ID,
642 T.LANGUAGE
643 ) in (select
644 SUBT.ATTRIBUTE_CODE,
645 SUBT.ATTRIBUTE_APPLICATION_ID,
646 SUBT.LANGUAGE
647 from AK_ATTRIBUTES_TL SUBB, AK_ATTRIBUTES_TL SUBT
648 where SUBB.ATTRIBUTE_CODE = SUBT.ATTRIBUTE_CODE
649 and SUBB.ATTRIBUTE_APPLICATION_ID = SUBT.ATTRIBUTE_APPLICATION_ID
650 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
651 and (SUBB.NAME <> SUBT.NAME
652 or SUBB.ATTRIBUTE_LABEL_LONG <> SUBT.ATTRIBUTE_LABEL_LONG
656 or (SUBB.ATTRIBUTE_LABEL_SHORT is null and SUBT.ATTRIBUTE_LABEL_SHORT is not null)
653 or (SUBB.ATTRIBUTE_LABEL_LONG is null and SUBT.ATTRIBUTE_LABEL_LONG is not null)
654 or (SUBB.ATTRIBUTE_LABEL_LONG is not null and SUBT.ATTRIBUTE_LABEL_LONG is null)
655 or SUBB.ATTRIBUTE_LABEL_SHORT <> SUBT.ATTRIBUTE_LABEL_SHORT
657 or (SUBB.ATTRIBUTE_LABEL_SHORT is not null and SUBT.ATTRIBUTE_LABEL_SHORT is null)
658 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
659 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
660 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
661 ));
662 */
663 
664 insert /*+ append parallel(tt) */ into AK_ATTRIBUTES_TL tt (
665 ATTRIBUTE_APPLICATION_ID,
666 ATTRIBUTE_CODE,
667 NAME,
668 ATTRIBUTE_LABEL_LONG,
669 ATTRIBUTE_LABEL_SHORT,
670 DESCRIPTION,
671 CREATED_BY,
672 CREATION_DATE,
673 LAST_UPDATED_BY,
674 LAST_UPDATE_DATE,
675 LAST_UPDATE_LOGIN,
676 LANGUAGE,
677 SOURCE_LANG
678 ) select /*+ parallel(v) parallel(t) use_nl(t)  */ v.* from
679 (select /*+ no_merge ordered parallel(b) */
680 B.ATTRIBUTE_APPLICATION_ID,
681 B.ATTRIBUTE_CODE,
682 B.NAME,
683 B.ATTRIBUTE_LABEL_LONG,
684 B.ATTRIBUTE_LABEL_SHORT,
685 B.DESCRIPTION,
686 B.CREATED_BY,
687 B.CREATION_DATE,
688 B.LAST_UPDATED_BY,
689 B.LAST_UPDATE_DATE,
690 B.LAST_UPDATE_LOGIN,
691 L.LANGUAGE_CODE,
692 B.SOURCE_LANG
693 from AK_ATTRIBUTES_TL B, FND_LANGUAGES L
694 where L.INSTALLED_FLAG in ('I', 'B')
695 and B.LANGUAGE = userenv('LANG')
696 ) v, AK_ATTRIBUTES_TL t
697 where T.ATTRIBUTE_CODE(+) = v.ATTRIBUTE_CODE
698 and T.ATTRIBUTE_APPLICATION_ID(+) = v.ATTRIBUTE_APPLICATION_ID
699 and T.LANGUAGE(+) = v.LANGUAGE_CODE
700 and T.ATTRIBUTE_CODE is NULL
701 and T.ATTRIBUTE_APPLICATION_ID is NULL;
702 
703 end ADD_LANGUAGE;
704 
705 end AK_ATTRIBUTES_PKG;