DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTFB_AK_ATTRIBUTES_PKG

Source


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;