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