DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_LIST_SRC_FIELDS_NEW_PKG

Source


1 package body AMS_LIST_SRC_FIELDS_NEW_PKG as
2 /* $Header: amstdsab.pls 120.2 2005/08/31 13:37:18 vbhandar ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in OUT NOCOPY VARCHAR2,
5   X_LIST_SOURCE_FIELD_ID in NUMBER,
6   X_FIELD_LOOKUP_TYPE in VARCHAR2,
7   X_FIELD_LOOKUP_TYPE_VIEW_NAME in VARCHAR2,
8   X_ALLOW_LABEL_OVERRIDE in VARCHAR2,
9   X_FIELD_USAGE_TYPE in VARCHAR2,
10   X_DIALOG_ENABLED in VARCHAR2,
11   X_ANALYTICS_FLAG in VARCHAR2,
12   X_AUTO_BINNING_FLAG in VARCHAR2,
13   X_NO_OF_BUCKETS in NUMBER,
14   X_ATTB_LOV_ID in NUMBER,
15   X_TCA_COLUMN_ID in NUMBER,
16   X_USED_IN_LIST_ENTRIES in VARCHAR2,
17   X_CHART_ENABLED_FLAG in VARCHAR2,
18   X_DEFAULT_CHART_TYPE in VARCHAR2,
19   X_LOV_DEFINED_FLAG in VARCHAR2,
20   X_USE_FOR_SPLITTING_FLAG in VARCHAR2,
21   X_DEFAULT_UI_CONTROL in VARCHAR2,
22   X_OBJECT_VERSION_NUMBER in NUMBER,
23   X_DE_LIST_SOURCE_TYPE_CODE in VARCHAR2,
24   X_LIST_SOURCE_TYPE_ID in NUMBER,
25   X_FIELD_TABLE_NAME in VARCHAR2,
26   X_FIELD_COLUMN_NAME in VARCHAR2,
27   X_SOURCE_COLUMN_NAME in VARCHAR2,
28   X_ENABLED_FLAG in VARCHAR2,
29   X_START_POSITION in NUMBER,
30   X_END_POSITION in NUMBER,
31   X_SECURITY_GROUP_ID in NUMBER,
32   X_FIELD_DATA_TYPE in VARCHAR2,
33   X_FIELD_DATA_SIZE in NUMBER,
34   X_SOURCE_COLUMN_MEANING in VARCHAR2,
35   X_CREATION_DATE in DATE,
36   X_CREATED_BY in NUMBER,
37   X_LAST_UPDATE_DATE in DATE,
38   X_LAST_UPDATED_BY in NUMBER,
39   X_LAST_UPDATE_LOGIN in NUMBER,
40   X_COLUMN_TYPE IN VARCHAR2
41 ) is
42   cursor C is select ROWID from AMS_LIST_SRC_FIELDS
43     where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID
44     ;
45 begin
46   insert into AMS_LIST_SRC_FIELDS (
47     FIELD_LOOKUP_TYPE,
48     FIELD_LOOKUP_TYPE_VIEW_NAME,
49     ALLOW_LABEL_OVERRIDE,
50     FIELD_USAGE_TYPE,
51     DIALOG_ENABLED,
52     ANALYTICS_FLAG,
53     AUTO_BINNING_FLAG,
54     NO_OF_BUCKETS,
55     ATTB_LOV_ID,
56     TCA_COLUMN_ID,
57     USED_IN_LIST_ENTRIES,
58     CHART_ENABLED_FLAG,
59     DEFAULT_CHART_TYPE,
60     LOV_DEFINED_FLAG,
61     USE_FOR_SPLITTING_FLAG,
62     DEFAULT_UI_CONTROL,
63     LIST_SOURCE_FIELD_ID,
64     OBJECT_VERSION_NUMBER,
65     DE_LIST_SOURCE_TYPE_CODE,
66     LIST_SOURCE_TYPE_ID,
67     FIELD_TABLE_NAME,
68     FIELD_COLUMN_NAME,
69     SOURCE_COLUMN_NAME,
70     ENABLED_FLAG,
71     START_POSITION,
72     END_POSITION,
73     SECURITY_GROUP_ID,
74     FIELD_DATA_TYPE,
75     FIELD_DATA_SIZE,
76     CREATION_DATE,
77     CREATED_BY,
78     LAST_UPDATE_DATE,
79     LAST_UPDATED_BY,
80     LAST_UPDATE_LOGIN,
81     COLUMN_TYPE
82   ) values (
83     X_FIELD_LOOKUP_TYPE,
84     X_FIELD_LOOKUP_TYPE_VIEW_NAME,
85     X_ALLOW_LABEL_OVERRIDE,
86     X_FIELD_USAGE_TYPE,
87     X_DIALOG_ENABLED,
88     X_ANALYTICS_FLAG,
89     X_AUTO_BINNING_FLAG,
90     X_NO_OF_BUCKETS,
91     X_ATTB_LOV_ID,
92     X_TCA_COLUMN_ID,
93     X_USED_IN_LIST_ENTRIES,
94     X_CHART_ENABLED_FLAG,
95     X_DEFAULT_CHART_TYPE,
96     X_LOV_DEFINED_FLAG,
97     X_USE_FOR_SPLITTING_FLAG,
98     X_DEFAULT_UI_CONTROL,
99     X_LIST_SOURCE_FIELD_ID,
100     X_OBJECT_VERSION_NUMBER,
101     X_DE_LIST_SOURCE_TYPE_CODE,
102     X_LIST_SOURCE_TYPE_ID,
103     X_FIELD_TABLE_NAME,
104     X_FIELD_COLUMN_NAME,
105     X_SOURCE_COLUMN_NAME,
106     X_ENABLED_FLAG,
107     X_START_POSITION,
108     X_END_POSITION,
109     X_SECURITY_GROUP_ID,
110     X_FIELD_DATA_TYPE,
111     X_FIELD_DATA_SIZE,
112     X_CREATION_DATE,
113     X_CREATED_BY,
114     X_LAST_UPDATE_DATE,
115     X_LAST_UPDATED_BY,
116     X_LAST_UPDATE_LOGIN,
117     X_COLUMN_TYPE
118   );
119 
120   insert into AMS_LIST_SRC_FIELDS_TL (
121     LIST_SOURCE_FIELD_ID,
122     LAST_UPDATE_DATE,
123     LAST_UPDATE_BY,
124     CREATION_DATE,
125     CREATED_BY,
126     LAST_UPDATE_LOGIN,
127     SOURCE_COLUMN_MEANING,
128     SECURITY_GROUP_ID,
129     LANGUAGE,
130     SOURCE_LANG
131   ) select
132     X_LIST_SOURCE_FIELD_ID,
133     X_LAST_UPDATE_DATE,
134     X_LAST_UPDATED_BY,
135     X_CREATION_DATE,
136     X_CREATED_BY,
137     X_LAST_UPDATE_LOGIN,
138     X_SOURCE_COLUMN_MEANING,
139     X_SECURITY_GROUP_ID,
140     L.LANGUAGE_CODE,
141     userenv('LANG')
142   from FND_LANGUAGES L
143   where L.INSTALLED_FLAG in ('I', 'B')
144   and not exists
145     (select NULL
146     from AMS_LIST_SRC_FIELDS_TL T
147     where T.LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID
148     and T.LANGUAGE = L.LANGUAGE_CODE);
149 
150   open c;
151   fetch c into X_ROWID;
152   if (c%notfound) then
153     close c;
154     raise no_data_found;
155   end if;
156   close c;
157 
158 end INSERT_ROW;
159 
160 procedure LOCK_ROW (
161   X_LIST_SOURCE_FIELD_ID in NUMBER,
162   X_FIELD_LOOKUP_TYPE in VARCHAR2,
163   X_FIELD_LOOKUP_TYPE_VIEW_NAME in VARCHAR2,
164   X_ALLOW_LABEL_OVERRIDE in VARCHAR2,
165   X_FIELD_USAGE_TYPE in VARCHAR2,
166   X_DIALOG_ENABLED in VARCHAR2,
167   X_ANALYTICS_FLAG in VARCHAR2,
168   X_AUTO_BINNING_FLAG in VARCHAR2,
169   X_NO_OF_BUCKETS in NUMBER,
170   X_ATTB_LOV_ID in NUMBER,
171   X_TCA_COLUMN_ID in NUMBER,
172   X_USED_IN_LIST_ENTRIES in VARCHAR2,
173   X_CHART_ENABLED_FLAG in VARCHAR2,
174   X_DEFAULT_CHART_TYPE in VARCHAR2,
175   X_LOV_DEFINED_FLAG in VARCHAR2,
176   X_USE_FOR_SPLITTING_FLAG in VARCHAR2,
177   X_DEFAULT_UI_CONTROL in VARCHAR2,
178   X_OBJECT_VERSION_NUMBER in NUMBER,
179   X_DE_LIST_SOURCE_TYPE_CODE in VARCHAR2,
180   X_LIST_SOURCE_TYPE_ID in NUMBER,
181   X_FIELD_TABLE_NAME in VARCHAR2,
182   X_FIELD_COLUMN_NAME in VARCHAR2,
183   X_SOURCE_COLUMN_NAME in VARCHAR2,
184   X_ENABLED_FLAG in VARCHAR2,
185   X_START_POSITION in NUMBER,
186   X_END_POSITION in NUMBER,
187   X_SECURITY_GROUP_ID in NUMBER,
188   X_FIELD_DATA_TYPE in VARCHAR2,
189   X_FIELD_DATA_SIZE in NUMBER,
190   X_SOURCE_COLUMN_MEANING in VARCHAR2,
191   X_COLUMN_TYPE IN VARCHAR2
192 ) is
193   cursor c is select
194       FIELD_LOOKUP_TYPE,
195       FIELD_LOOKUP_TYPE_VIEW_NAME,
196       ALLOW_LABEL_OVERRIDE,
197       FIELD_USAGE_TYPE,
198       DIALOG_ENABLED,
199       ANALYTICS_FLAG,
200       AUTO_BINNING_FLAG,
201       NO_OF_BUCKETS,
202       ATTB_LOV_ID,
203       TCA_COLUMN_ID,
204       USED_IN_LIST_ENTRIES,
205       CHART_ENABLED_FLAG,
206       DEFAULT_CHART_TYPE,
207       LOV_DEFINED_FLAG,
208       USE_FOR_SPLITTING_FLAG,
209       DEFAULT_UI_CONTROL,
210       OBJECT_VERSION_NUMBER,
211       DE_LIST_SOURCE_TYPE_CODE,
212       LIST_SOURCE_TYPE_ID,
213       FIELD_TABLE_NAME,
214       FIELD_COLUMN_NAME,
215       SOURCE_COLUMN_NAME,
216       ENABLED_FLAG,
217       START_POSITION,
218       END_POSITION,
219       SECURITY_GROUP_ID,
220       FIELD_DATA_TYPE,
221       FIELD_DATA_SIZE,
222       COLUMN_TYPE
223     from AMS_LIST_SRC_FIELDS
224     where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID
225     for update of LIST_SOURCE_FIELD_ID nowait;
226   recinfo c%rowtype;
227 
228   cursor c1 is select
229       SOURCE_COLUMN_MEANING,
230       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
231     from AMS_LIST_SRC_FIELDS_TL
232     where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID
233     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
234     for update of LIST_SOURCE_FIELD_ID nowait;
235 begin
236   open c;
237   fetch c into recinfo;
238   if (c%notfound) then
239     close c;
240     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
241     app_exception.raise_exception;
242   end if;
243   close c;
244   if (    ((recinfo.FIELD_LOOKUP_TYPE = X_FIELD_LOOKUP_TYPE)
245            OR ((recinfo.FIELD_LOOKUP_TYPE is null) AND (X_FIELD_LOOKUP_TYPE is null)))
246       AND ((recinfo.FIELD_LOOKUP_TYPE_VIEW_NAME = X_FIELD_LOOKUP_TYPE_VIEW_NAME)
247            OR ((recinfo.FIELD_LOOKUP_TYPE_VIEW_NAME is null) AND (X_FIELD_LOOKUP_TYPE_VIEW_NAME is null)))
248       AND ((recinfo.ALLOW_LABEL_OVERRIDE = X_ALLOW_LABEL_OVERRIDE)
249            OR ((recinfo.ALLOW_LABEL_OVERRIDE is null) AND (X_ALLOW_LABEL_OVERRIDE is null)))
250       AND ((recinfo.FIELD_USAGE_TYPE = X_FIELD_USAGE_TYPE)
251            OR ((recinfo.FIELD_USAGE_TYPE is null) AND (X_FIELD_USAGE_TYPE is null)))
252       AND ((recinfo.DIALOG_ENABLED = X_DIALOG_ENABLED)
253            OR ((recinfo.DIALOG_ENABLED is null) AND (X_DIALOG_ENABLED is null)))
254       AND ((recinfo.ANALYTICS_FLAG = X_ANALYTICS_FLAG)
255            OR ((recinfo.ANALYTICS_FLAG is null) AND (X_ANALYTICS_FLAG is null)))
256       AND ((recinfo.AUTO_BINNING_FLAG = X_AUTO_BINNING_FLAG)
257            OR ((recinfo.AUTO_BINNING_FLAG is null) AND (X_AUTO_BINNING_FLAG is null)))
258       AND ((recinfo.NO_OF_BUCKETS = X_NO_OF_BUCKETS)
259            OR ((recinfo.NO_OF_BUCKETS is null) AND (X_NO_OF_BUCKETS is null)))
260       AND ((recinfo.ATTB_LOV_ID = X_ATTB_LOV_ID)
261            OR ((recinfo.ATTB_LOV_ID is null) AND (X_ATTB_LOV_ID is null)))
262       AND ((recinfo.TCA_COLUMN_ID = X_TCA_COLUMN_ID)
263            OR ((recinfo.TCA_COLUMN_ID is null) AND (X_TCA_COLUMN_ID is null)))
264       AND ((recinfo.USED_IN_LIST_ENTRIES = X_USED_IN_LIST_ENTRIES)
265            OR ((recinfo.USED_IN_LIST_ENTRIES is null) AND (X_USED_IN_LIST_ENTRIES is null)))
266       AND ((recinfo.CHART_ENABLED_FLAG = X_CHART_ENABLED_FLAG)
267            OR ((recinfo.CHART_ENABLED_FLAG is null) AND (X_CHART_ENABLED_FLAG is null)))
268       AND ((recinfo.DEFAULT_CHART_TYPE = X_DEFAULT_CHART_TYPE)
269            OR ((recinfo.DEFAULT_CHART_TYPE is null) AND (X_DEFAULT_CHART_TYPE is null)))
270       AND ((recinfo.LOV_DEFINED_FLAG = X_LOV_DEFINED_FLAG)
271            OR ((recinfo.LOV_DEFINED_FLAG is null) AND (X_LOV_DEFINED_FLAG is null)))
272       AND ((recinfo.USE_FOR_SPLITTING_FLAG = X_USE_FOR_SPLITTING_FLAG)
273            OR ((recinfo.USE_FOR_SPLITTING_FLAG is null) AND (X_USE_FOR_SPLITTING_FLAG is null)))
274       AND ((recinfo.DEFAULT_UI_CONTROL = X_DEFAULT_UI_CONTROL)
275            OR ((recinfo.DEFAULT_UI_CONTROL is null) AND (X_DEFAULT_UI_CONTROL is null)))
276       AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
277            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
278       AND (recinfo.DE_LIST_SOURCE_TYPE_CODE = X_DE_LIST_SOURCE_TYPE_CODE)
279       AND (recinfo.LIST_SOURCE_TYPE_ID = X_LIST_SOURCE_TYPE_ID)
280       AND ((recinfo.FIELD_TABLE_NAME = X_FIELD_TABLE_NAME)
281            OR ((recinfo.FIELD_TABLE_NAME is null) AND (X_FIELD_TABLE_NAME is null)))
282       AND ((recinfo.FIELD_COLUMN_NAME = X_FIELD_COLUMN_NAME)
283            OR ((recinfo.FIELD_COLUMN_NAME is null) AND (X_FIELD_COLUMN_NAME is null)))
284       AND (recinfo.SOURCE_COLUMN_NAME = X_SOURCE_COLUMN_NAME)
285       AND ((recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
286            OR ((recinfo.ENABLED_FLAG is null) AND (X_ENABLED_FLAG is null)))
287       AND ((recinfo.START_POSITION = X_START_POSITION)
288            OR ((recinfo.START_POSITION is null) AND (X_START_POSITION is null)))
289       AND ((recinfo.END_POSITION = X_END_POSITION)
290            OR ((recinfo.END_POSITION is null) AND (X_END_POSITION is null)))
291       AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
292            OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
293       AND ((recinfo.FIELD_DATA_TYPE = X_FIELD_DATA_TYPE)
294            OR ((recinfo.FIELD_DATA_TYPE is null) AND (X_FIELD_DATA_TYPE is null)))
295       AND ((recinfo.FIELD_DATA_SIZE = X_FIELD_DATA_SIZE)
296            OR ((recinfo.FIELD_DATA_SIZE is null) AND (X_FIELD_DATA_SIZE is null)))
297       AND ((recinfo.COLUMN_TYPE = X_COLUMN_TYPE)
298            OR ((recinfo.COLUMN_TYPE is null) AND (X_COLUMN_TYPE is null)))
299 
300   ) then
301     null;
302   else
303     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
304     app_exception.raise_exception;
305   end if;
306 
307   for tlinfo in c1 loop
308     if (tlinfo.BASELANG = 'Y') then
309       if (    ((tlinfo.SOURCE_COLUMN_MEANING = X_SOURCE_COLUMN_MEANING)
310                OR ((tlinfo.SOURCE_COLUMN_MEANING is null) AND (X_SOURCE_COLUMN_MEANING is null)))
311       ) then
312         null;
313       else
314         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
315         app_exception.raise_exception;
316       end if;
317     end if;
318   end loop;
319   return;
320 end LOCK_ROW;
321 
322 procedure UPDATE_ROW (
323   X_LIST_SOURCE_FIELD_ID in NUMBER,
324   X_FIELD_LOOKUP_TYPE in VARCHAR2,
325   X_FIELD_LOOKUP_TYPE_VIEW_NAME in VARCHAR2,
326   X_ALLOW_LABEL_OVERRIDE in VARCHAR2,
327   X_FIELD_USAGE_TYPE in VARCHAR2,
328   X_DIALOG_ENABLED in VARCHAR2,
329   X_ANALYTICS_FLAG in VARCHAR2,
330   X_AUTO_BINNING_FLAG in VARCHAR2,
331   X_NO_OF_BUCKETS in NUMBER,
332   X_ATTB_LOV_ID in NUMBER,
333   X_TCA_COLUMN_ID in NUMBER,
334   X_USED_IN_LIST_ENTRIES in VARCHAR2,
335   X_CHART_ENABLED_FLAG in VARCHAR2,
336   X_DEFAULT_CHART_TYPE in VARCHAR2,
337   X_LOV_DEFINED_FLAG in VARCHAR2,
338   X_USE_FOR_SPLITTING_FLAG in VARCHAR2,
339   X_DEFAULT_UI_CONTROL in VARCHAR2,
340   X_OBJECT_VERSION_NUMBER in NUMBER,
341   X_DE_LIST_SOURCE_TYPE_CODE in VARCHAR2,
342   X_LIST_SOURCE_TYPE_ID in NUMBER,
343   X_FIELD_TABLE_NAME in VARCHAR2,
344   X_FIELD_COLUMN_NAME in VARCHAR2,
345   X_SOURCE_COLUMN_NAME in VARCHAR2,
346   X_ENABLED_FLAG in VARCHAR2,
347   X_START_POSITION in NUMBER,
348   X_END_POSITION in NUMBER,
349   X_SECURITY_GROUP_ID in NUMBER,
350   X_FIELD_DATA_TYPE in VARCHAR2,
351   X_FIELD_DATA_SIZE in NUMBER,
352   X_SOURCE_COLUMN_MEANING in VARCHAR2,
353   X_LAST_UPDATE_DATE in DATE,
354   X_LAST_UPDATED_BY in NUMBER,
355   X_LAST_UPDATE_LOGIN in NUMBER,
356   X_COLUMN_TYPE IN VARCHAR2
357 ) is
358 begin
359   update AMS_LIST_SRC_FIELDS set
360     FIELD_LOOKUP_TYPE = X_FIELD_LOOKUP_TYPE,
361     FIELD_LOOKUP_TYPE_VIEW_NAME = X_FIELD_LOOKUP_TYPE_VIEW_NAME,
362     ALLOW_LABEL_OVERRIDE = X_ALLOW_LABEL_OVERRIDE,
363     FIELD_USAGE_TYPE = X_FIELD_USAGE_TYPE,
364     DIALOG_ENABLED = X_DIALOG_ENABLED,
365     ANALYTICS_FLAG = X_ANALYTICS_FLAG,
366     AUTO_BINNING_FLAG = X_AUTO_BINNING_FLAG,
367     NO_OF_BUCKETS = X_NO_OF_BUCKETS,
368     ATTB_LOV_ID = X_ATTB_LOV_ID,
369     TCA_COLUMN_ID = X_TCA_COLUMN_ID,
370     USED_IN_LIST_ENTRIES = X_USED_IN_LIST_ENTRIES,
371     CHART_ENABLED_FLAG = X_CHART_ENABLED_FLAG,
372     DEFAULT_CHART_TYPE = X_DEFAULT_CHART_TYPE,
373     LOV_DEFINED_FLAG = X_LOV_DEFINED_FLAG,
374     USE_FOR_SPLITTING_FLAG = X_USE_FOR_SPLITTING_FLAG,
375     DEFAULT_UI_CONTROL = X_DEFAULT_UI_CONTROL,
376     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
377     DE_LIST_SOURCE_TYPE_CODE = X_DE_LIST_SOURCE_TYPE_CODE,
378     LIST_SOURCE_TYPE_ID = X_LIST_SOURCE_TYPE_ID,
379     FIELD_TABLE_NAME = X_FIELD_TABLE_NAME,
380     FIELD_COLUMN_NAME = X_FIELD_COLUMN_NAME,
381     SOURCE_COLUMN_NAME = X_SOURCE_COLUMN_NAME,
382     ENABLED_FLAG = X_ENABLED_FLAG,
383     START_POSITION = X_START_POSITION,
384     END_POSITION = X_END_POSITION,
385     SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
386     FIELD_DATA_TYPE = X_FIELD_DATA_TYPE,
387     FIELD_DATA_SIZE = X_FIELD_DATA_SIZE,
388     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
389     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
390     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
391     COLUMN_TYPE =X_COLUMN_TYPE
392   where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID;
393 
394   if (sql%notfound) then
395     raise no_data_found;
396   end if;
397 
398   update AMS_LIST_SRC_FIELDS_TL set
399     SOURCE_COLUMN_MEANING = X_SOURCE_COLUMN_MEANING,
400     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
401     LAST_UPDATE_BY = X_LAST_UPDATED_BY,
402     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
403     SOURCE_LANG = userenv('LANG')
404   where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID
405   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
406 
407   if (sql%notfound) then
408     raise no_data_found;
409   end if;
410 end UPDATE_ROW;
411 
412 procedure DELETE_ROW (
413   X_LIST_SOURCE_FIELD_ID in NUMBER
414 ) is
415 begin
416   delete from AMS_LIST_SRC_FIELDS_TL
417   where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID;
418 
419   if (sql%notfound) then
420     raise no_data_found;
421   end if;
422 
423   delete from AMS_LIST_SRC_FIELDS
424   where LIST_SOURCE_FIELD_ID = X_LIST_SOURCE_FIELD_ID;
425 
426   if (sql%notfound) then
427     raise no_data_found;
428   end if;
429 end DELETE_ROW;
430 
431 procedure ADD_LANGUAGE
432 is
433 begin
434   delete from AMS_LIST_SRC_FIELDS_TL T
435   where not exists
436     (select NULL
437     from AMS_LIST_SRC_FIELDS B
438     where B.LIST_SOURCE_FIELD_ID = T.LIST_SOURCE_FIELD_ID
439     );
440 
441   update AMS_LIST_SRC_FIELDS_TL T set (
442       SOURCE_COLUMN_MEANING
443     ) = (select
444       B.SOURCE_COLUMN_MEANING
445     from AMS_LIST_SRC_FIELDS_TL B
446     where B.LIST_SOURCE_FIELD_ID = T.LIST_SOURCE_FIELD_ID
447     and B.LANGUAGE = T.SOURCE_LANG)
448   where (
449       T.LIST_SOURCE_FIELD_ID,
450       T.LANGUAGE
451   ) in (select
452       SUBT.LIST_SOURCE_FIELD_ID,
453       SUBT.LANGUAGE
454     from AMS_LIST_SRC_FIELDS_TL SUBB, AMS_LIST_SRC_FIELDS_TL SUBT
455     where SUBB.LIST_SOURCE_FIELD_ID = SUBT.LIST_SOURCE_FIELD_ID
456     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
457     and (SUBB.SOURCE_COLUMN_MEANING <> SUBT.SOURCE_COLUMN_MEANING
458       or (SUBB.SOURCE_COLUMN_MEANING is null and SUBT.SOURCE_COLUMN_MEANING is not null)
459       or (SUBB.SOURCE_COLUMN_MEANING is not null and SUBT.SOURCE_COLUMN_MEANING is null)
460   ));
461 
462   insert into AMS_LIST_SRC_FIELDS_TL (
463     LIST_SOURCE_FIELD_ID,
464     LAST_UPDATE_DATE,
465     LAST_UPDATE_BY,
466     CREATION_DATE,
467     CREATED_BY,
468     LAST_UPDATE_LOGIN,
469     SOURCE_COLUMN_MEANING,
470     SECURITY_GROUP_ID,
471     LANGUAGE,
472     SOURCE_LANG
473   ) select /*+ ORDERED */
474     B.LIST_SOURCE_FIELD_ID,
475     B.LAST_UPDATE_DATE,
476     B.LAST_UPDATE_BY,
477     B.CREATION_DATE,
478     B.CREATED_BY,
479     B.LAST_UPDATE_LOGIN,
480     B.SOURCE_COLUMN_MEANING,
481     B.SECURITY_GROUP_ID,
482     L.LANGUAGE_CODE,
483     B.SOURCE_LANG
484   from AMS_LIST_SRC_FIELDS_TL B, FND_LANGUAGES L
485   where L.INSTALLED_FLAG in ('I', 'B')
486   and B.LANGUAGE = userenv('LANG')
487   and not exists
488     (select NULL
489     from AMS_LIST_SRC_FIELDS_TL T
490     where T.LIST_SOURCE_FIELD_ID = B.LIST_SOURCE_FIELD_ID
491     and T.LANGUAGE = L.LANGUAGE_CODE);
492 end ADD_LANGUAGE;
493 
494 end AMS_LIST_SRC_FIELDS_NEW_PKG;