DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_LOOKUPS_PKG

Source


1 package body FA_LOOKUPS_PKG as
2 /* $Header: faxilob.pls 120.9 2006/06/29 20:49:14 glchen ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_LOOKUP_TYPE in VARCHAR2,
6   X_LOOKUP_CODE in VARCHAR2,
7   X_ENABLED_FLAG in VARCHAR2,
8   X_START_DATE_ACTIVE in DATE,
9   X_END_DATE_ACTIVE in DATE,
10   X_ATTRIBUTE1 in VARCHAR2,
11   X_ATTRIBUTE2 in VARCHAR2,
12   X_ATTRIBUTE3 in VARCHAR2,
13   X_ATTRIBUTE4 in VARCHAR2,
14   X_ATTRIBUTE5 in VARCHAR2,
15   X_ATTRIBUTE6 in VARCHAR2,
16   X_ATTRIBUTE7 in VARCHAR2,
17   X_ATTRIBUTE8 in VARCHAR2,
18   X_ATTRIBUTE9 in VARCHAR2,
19   X_ATTRIBUTE10 in VARCHAR2,
20   X_ATTRIBUTE11 in VARCHAR2,
21   X_ATTRIBUTE12 in VARCHAR2,
22   X_ATTRIBUTE13 in VARCHAR2,
23   X_ATTRIBUTE14 in VARCHAR2,
24   X_ATTRIBUTE15 in VARCHAR2,
25   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2,
26   X_MEANING in VARCHAR2,
27   X_DESCRIPTION in VARCHAR2,
28   X_CREATION_DATE in DATE,
29   X_CREATED_BY in NUMBER,
30   X_LAST_UPDATE_DATE in DATE,
31   X_LAST_UPDATED_BY in NUMBER,
32   X_LAST_UPDATE_LOGIN in NUMBER,
33   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
34   cursor C is select ROWID from FA_LOOKUPS_B
35     where LOOKUP_TYPE = X_LOOKUP_TYPE
36     and LOOKUP_CODE = X_LOOKUP_CODE
37     ;
38 begin
39   insert into FA_LOOKUPS_B (
40     LOOKUP_TYPE,
41     LOOKUP_CODE,
42     ENABLED_FLAG,
43     START_DATE_ACTIVE,
44     END_DATE_ACTIVE,
45     ATTRIBUTE1,
46     ATTRIBUTE2,
47     ATTRIBUTE3,
48     ATTRIBUTE4,
49     ATTRIBUTE5,
50     ATTRIBUTE6,
51     ATTRIBUTE7,
52     ATTRIBUTE8,
53     ATTRIBUTE9,
54     ATTRIBUTE10,
55     ATTRIBUTE11,
56     ATTRIBUTE12,
57     ATTRIBUTE13,
58     ATTRIBUTE14,
59     ATTRIBUTE15,
60     ATTRIBUTE_CATEGORY_CODE,
61     CREATION_DATE,
62     CREATED_BY,
63     LAST_UPDATE_DATE,
64     LAST_UPDATED_BY,
65     LAST_UPDATE_LOGIN
66   ) values (
67     X_LOOKUP_TYPE,
68     X_LOOKUP_CODE,
69     X_ENABLED_FLAG,
70     X_START_DATE_ACTIVE,
71     X_END_DATE_ACTIVE,
72     X_ATTRIBUTE1,
73     X_ATTRIBUTE2,
74     X_ATTRIBUTE3,
75     X_ATTRIBUTE4,
76     X_ATTRIBUTE5,
77     X_ATTRIBUTE6,
78     X_ATTRIBUTE7,
79     X_ATTRIBUTE8,
80     X_ATTRIBUTE9,
81     X_ATTRIBUTE10,
82     X_ATTRIBUTE11,
83     X_ATTRIBUTE12,
84     X_ATTRIBUTE13,
85     X_ATTRIBUTE14,
86     X_ATTRIBUTE15,
87     X_ATTRIBUTE_CATEGORY_CODE,
88     X_CREATION_DATE,
89     X_CREATED_BY,
90     X_LAST_UPDATE_DATE,
91     X_LAST_UPDATED_BY,
92     X_LAST_UPDATE_LOGIN
93   );
94 
95   insert into FA_LOOKUPS_TL (
96     LOOKUP_TYPE,
97     LOOKUP_CODE,
98     MEANING,
99     DESCRIPTION,
100     LAST_UPDATE_DATE,
101     LAST_UPDATED_BY,
102     CREATED_BY,
103     CREATION_DATE,
104     LAST_UPDATE_LOGIN,
105     LANGUAGE,
106     SOURCE_LANG
107   ) select
108     X_LOOKUP_TYPE,
109     X_LOOKUP_CODE,
110     X_MEANING,
111     X_DESCRIPTION,
112     X_LAST_UPDATE_DATE,
113     X_LAST_UPDATED_BY,
114     X_CREATED_BY,
115     X_CREATION_DATE,
116     X_LAST_UPDATE_LOGIN,
117     L.LANGUAGE_CODE,
118     userenv('LANG')
119   from FND_LANGUAGES L
120   where L.INSTALLED_FLAG in ('I', 'B')
121   and not exists
122     (select NULL
123     from FA_LOOKUPS_TL T
124     where T.LOOKUP_TYPE = X_LOOKUP_TYPE
125     and T.LOOKUP_CODE = X_LOOKUP_CODE
126     and T.LANGUAGE = L.LANGUAGE_CODE);
127 
128   open c;
129   fetch c into X_ROWID;
130   if (c%notfound) then
131     close c;
132     raise no_data_found;
133   end if;
134   close c;
135 
136 end INSERT_ROW;
137 
138 procedure LOCK_ROW (
139   X_LOOKUP_TYPE in VARCHAR2,
140   X_LOOKUP_CODE in VARCHAR2,
141   X_ENABLED_FLAG in VARCHAR2,
142   X_START_DATE_ACTIVE in DATE,
143   X_END_DATE_ACTIVE in DATE,
144   X_ATTRIBUTE1 in VARCHAR2,
145   X_ATTRIBUTE2 in VARCHAR2,
146   X_ATTRIBUTE3 in VARCHAR2,
147   X_ATTRIBUTE4 in VARCHAR2,
148   X_ATTRIBUTE5 in VARCHAR2,
149   X_ATTRIBUTE6 in VARCHAR2,
150   X_ATTRIBUTE7 in VARCHAR2,
151   X_ATTRIBUTE8 in VARCHAR2,
152   X_ATTRIBUTE9 in VARCHAR2,
153   X_ATTRIBUTE10 in VARCHAR2,
154   X_ATTRIBUTE11 in VARCHAR2,
155   X_ATTRIBUTE12 in VARCHAR2,
156   X_ATTRIBUTE13 in VARCHAR2,
157   X_ATTRIBUTE14 in VARCHAR2,
158   X_ATTRIBUTE15 in VARCHAR2,
159   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2,
160   X_MEANING in VARCHAR2,
161   X_DESCRIPTION in VARCHAR2,
162   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
163   cursor c is select
164       ENABLED_FLAG,
165       START_DATE_ACTIVE,
166       END_DATE_ACTIVE,
167       ATTRIBUTE1,
168       ATTRIBUTE2,
169       ATTRIBUTE3,
170       ATTRIBUTE4,
171       ATTRIBUTE5,
172       ATTRIBUTE6,
173       ATTRIBUTE7,
174       ATTRIBUTE8,
175       ATTRIBUTE9,
176       ATTRIBUTE10,
177       ATTRIBUTE11,
178       ATTRIBUTE12,
179       ATTRIBUTE13,
180       ATTRIBUTE14,
181       ATTRIBUTE15,
182       ATTRIBUTE_CATEGORY_CODE
183     from FA_LOOKUPS_B
184     where LOOKUP_TYPE = X_LOOKUP_TYPE
185     and LOOKUP_CODE = X_LOOKUP_CODE
186     for update of LOOKUP_TYPE nowait;
187   recinfo c%rowtype;
188 
189   cursor c1 is select
190       MEANING,
191       DESCRIPTION,
192       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
193     from FA_LOOKUPS_TL
194     where LOOKUP_TYPE = X_LOOKUP_TYPE
195     and LOOKUP_CODE = X_LOOKUP_CODE
196     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
197     for update of LOOKUP_TYPE nowait;
198 begin
199   open c;
200   fetch c into recinfo;
201   if (c%notfound) then
202     close c;
203     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
204     app_exception.raise_exception;
205   end if;
206   close c;
207   if (    (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
208       AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
209            OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
210       AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
211            OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
212       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
213            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
214       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
215            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
216       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
217            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
218       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
219            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
220       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
221            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
222       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
223            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
224       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
225            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
226       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
227            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
228       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
229            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
230       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
231            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
232       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
233            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
234       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
235            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
236       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
237            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
238       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
239            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
240       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
241            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
242       AND ((recinfo.ATTRIBUTE_CATEGORY_CODE = X_ATTRIBUTE_CATEGORY_CODE)
243            OR ((recinfo.ATTRIBUTE_CATEGORY_CODE is null) AND (X_ATTRIBUTE_CATEGORY_CODE is null)))) then
244     null;
245   else
246     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
247     app_exception.raise_exception;
248   end if;
249 
250   for tlinfo in c1 loop
251     if (tlinfo.BASELANG = 'Y') then
252       if (    (tlinfo.MEANING = X_MEANING)
253           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
254                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))) then
255         null;
256       else
257         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
258         app_exception.raise_exception;
259       end if;
260     end if;
261   end loop;
262   return;
263 end LOCK_ROW;
264 
265 procedure UPDATE_ROW (
266   X_LOOKUP_TYPE in VARCHAR2,
267   X_LOOKUP_CODE in VARCHAR2,
268   X_ENABLED_FLAG in VARCHAR2,
269   X_START_DATE_ACTIVE in DATE,
270   X_END_DATE_ACTIVE in DATE,
271   X_ATTRIBUTE1 in VARCHAR2,
272   X_ATTRIBUTE2 in VARCHAR2,
273   X_ATTRIBUTE3 in VARCHAR2,
274   X_ATTRIBUTE4 in VARCHAR2,
275   X_ATTRIBUTE5 in VARCHAR2,
276   X_ATTRIBUTE6 in VARCHAR2,
277   X_ATTRIBUTE7 in VARCHAR2,
278   X_ATTRIBUTE8 in VARCHAR2,
279   X_ATTRIBUTE9 in VARCHAR2,
280   X_ATTRIBUTE10 in VARCHAR2,
281   X_ATTRIBUTE11 in VARCHAR2,
282   X_ATTRIBUTE12 in VARCHAR2,
283   X_ATTRIBUTE13 in VARCHAR2,
284   X_ATTRIBUTE14 in VARCHAR2,
285   X_ATTRIBUTE15 in VARCHAR2,
286   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2,
287   X_MEANING in VARCHAR2,
288   X_DESCRIPTION in VARCHAR2,
289   X_LAST_UPDATE_DATE in DATE,
290   X_LAST_UPDATED_BY in NUMBER,
291   X_LAST_UPDATE_LOGIN in NUMBER,
292   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
293 begin
294   update FA_LOOKUPS_B set
295     ENABLED_FLAG = X_ENABLED_FLAG,
296     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
297     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
298     ATTRIBUTE1 = X_ATTRIBUTE1,
299     ATTRIBUTE2 = X_ATTRIBUTE2,
300     ATTRIBUTE3 = X_ATTRIBUTE3,
301     ATTRIBUTE4 = X_ATTRIBUTE4,
302     ATTRIBUTE5 = X_ATTRIBUTE5,
303     ATTRIBUTE6 = X_ATTRIBUTE6,
304     ATTRIBUTE7 = X_ATTRIBUTE7,
305     ATTRIBUTE8 = X_ATTRIBUTE8,
306     ATTRIBUTE9 = X_ATTRIBUTE9,
307     ATTRIBUTE10 = X_ATTRIBUTE10,
308     ATTRIBUTE11 = X_ATTRIBUTE11,
309     ATTRIBUTE12 = X_ATTRIBUTE12,
310     ATTRIBUTE13 = X_ATTRIBUTE13,
311     ATTRIBUTE14 = X_ATTRIBUTE14,
312     ATTRIBUTE15 = X_ATTRIBUTE15,
313     ATTRIBUTE_CATEGORY_CODE = X_ATTRIBUTE_CATEGORY_CODE,
314     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
315     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
316     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
317   where LOOKUP_TYPE = X_LOOKUP_TYPE
318   and LOOKUP_CODE = X_LOOKUP_CODE;
319 
320   if (sql%notfound) then
321     raise no_data_found;
322   end if;
323 
324   update FA_LOOKUPS_TL set
325     MEANING = X_MEANING,
326     DESCRIPTION = X_DESCRIPTION,
327     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
328     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
329     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
330     SOURCE_LANG = userenv('LANG')
331   where LOOKUP_TYPE = X_LOOKUP_TYPE
332   and LOOKUP_CODE = X_LOOKUP_CODE
333   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
334 
335   if (sql%notfound) then
336     raise no_data_found;
337   end if;
338 end UPDATE_ROW;
339 
340 procedure DELETE_ROW (
341   X_LOOKUP_TYPE in VARCHAR2,
342   X_LOOKUP_CODE in VARCHAR2,
343   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
344 begin
345   delete from FA_LOOKUPS_TL
346   where LOOKUP_TYPE = X_LOOKUP_TYPE
347   and LOOKUP_CODE = X_LOOKUP_CODE;
348 
349   if (sql%notfound) then
350     raise no_data_found;
351   end if;
352 
353   delete from FA_LOOKUPS_B
354   where LOOKUP_TYPE = X_LOOKUP_TYPE
355   and LOOKUP_CODE = X_LOOKUP_CODE;
356 
357   if (sql%notfound) then
358     raise no_data_found;
359   end if;
360 end DELETE_ROW;
361 
362 procedure ADD_LANGUAGE(p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null)
363 is
364 begin
365   delete from FA_LOOKUPS_TL T
366   where not exists
367     (select NULL
368     from FA_LOOKUPS_B B
369     where B.LOOKUP_TYPE = T.LOOKUP_TYPE
370     and B.LOOKUP_CODE = T.LOOKUP_CODE
371     );
372 
373   update FA_LOOKUPS_TL T set (
374       MEANING,
375       DESCRIPTION
376     ) = (select
377       B.MEANING,
378       B.DESCRIPTION
379     from FA_LOOKUPS_TL B
380     where B.LOOKUP_TYPE = T.LOOKUP_TYPE
381     and B.LOOKUP_CODE = T.LOOKUP_CODE
382     and B.LANGUAGE = T.SOURCE_LANG)
383   where (
384       T.LOOKUP_TYPE,
385       T.LOOKUP_CODE,
386       T.LANGUAGE
387   ) in (select
388       SUBT.LOOKUP_TYPE,
389       SUBT.LOOKUP_CODE,
390       SUBT.LANGUAGE
391     from FA_LOOKUPS_TL SUBB, FA_LOOKUPS_TL SUBT
392     where SUBB.LOOKUP_TYPE = SUBT.LOOKUP_TYPE
393     and SUBB.LOOKUP_CODE = SUBT.LOOKUP_CODE
394     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
395     and (SUBB.MEANING <> SUBT.MEANING
396       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
397       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
398       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
399   ));
400 
401   insert into FA_LOOKUPS_TL (
402     LOOKUP_TYPE,
403     LOOKUP_CODE,
404     MEANING,
405     DESCRIPTION,
406     LAST_UPDATE_DATE,
407     LAST_UPDATED_BY,
408     CREATED_BY,
409     CREATION_DATE,
410     LAST_UPDATE_LOGIN,
411     LANGUAGE,
412     SOURCE_LANG
413   ) select
414     B.LOOKUP_TYPE,
415     B.LOOKUP_CODE,
416     B.MEANING,
417     B.DESCRIPTION,
418     B.LAST_UPDATE_DATE,
419     B.LAST_UPDATED_BY,
420     B.CREATED_BY,
421     B.CREATION_DATE,
422     B.LAST_UPDATE_LOGIN,
423     L.LANGUAGE_CODE,
424     B.SOURCE_LANG
425   from FA_LOOKUPS_TL B, FND_LANGUAGES L
426   where L.INSTALLED_FLAG in ('I', 'B')
427   and B.LANGUAGE = userenv('LANG')
428   and not exists
429     (select NULL
430     from FA_LOOKUPS_TL T
431     where T.LOOKUP_TYPE = B.LOOKUP_TYPE
432     and T.LOOKUP_CODE = B.LOOKUP_CODE
433     and T.LANGUAGE = L.LANGUAGE_CODE);
434 end ADD_LANGUAGE;
435 
436 procedure LOAD_ROW (
437     X_CUSTOM_MODE in VARCHAR2,
438     X_LOOKUP_TYPE in VARCHAR2,
439     X_LOOKUP_CODE in VARCHAR2,
440     X_OWNER in VARCHAR2,
441     X_LAST_UPDATE_DATE in DATE,
442     X_MEANING in VARCHAR2,
443     X_ENABLED_FLAG in VARCHAR2,
444     X_DESCRIPTION in VARCHAR2,
445     X_START_DATE_ACTIVE in DATE,
446     X_END_DATE_ACTIVE in DATE,
447     X_ATTRIBUTE1 in VARCHAR2,
448     X_ATTRIBUTE2 in VARCHAR2,
449     X_ATTRIBUTE3 in VARCHAR2,
450     X_ATTRIBUTE4 in VARCHAR2,
451     X_ATTRIBUTE5 in VARCHAR2,
452     X_ATTRIBUTE6 in VARCHAR2,
453     X_ATTRIBUTE7 in VARCHAR2,
454     X_ATTRIBUTE8 in VARCHAR2,
455     X_ATTRIBUTE9 in VARCHAR2,
456     X_ATTRIBUTE10 in VARCHAR2,
457     X_ATTRIBUTE11 in VARCHAR2,
458     X_ATTRIBUTE12 in VARCHAR2,
459     X_ATTRIBUTE13 in VARCHAR2,
460     X_ATTRIBUTE14 in VARCHAR2,
461     X_ATTRIBUTE15 in VARCHAR2,
462     X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2,
463     p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) is
464 
465   h_record_exists	number(15);
466 
467   user_id		number;
468   row_id		varchar2(64);
469 
470   db_last_updated_by   number;
471   db_last_update_date  date;
472 
473 begin
474 
475   user_id := fnd_load_util.owner_id (X_Owner);
476 
477   select count(*)
478   into	h_record_exists
479   from	fa_lookups
480   where lookup_type = X_Lookup_Type
481   and	lookup_code = X_Lookup_Code;
482 
483   if (h_record_exists > 0) then
484 
485      select last_updated_by, last_update_date
486      into   db_last_updated_by, db_last_update_date
487      from   fa_lookups
488      where  lookup_type = x_lookup_type
489      and    lookup_code = x_lookup_code;
490 
491      if (fnd_load_util.upload_test(user_id, x_last_update_date,
492                                    db_last_updated_by, db_last_update_date,
493                                    X_CUSTOM_MODE)) then
494 
495         fa_lookups_pkg.update_row (
496            X_Lookup_Type		=> X_Lookup_Type,
497            X_Lookup_Code		=> X_Lookup_Code,
498            X_Enabled_Flag		=> X_Enabled_Flag,
499            X_Start_Date_Active		=> X_Start_Date_Active,
500            X_End_Date_Active		=> X_End_Date_Active,
501            X_Attribute1                 => X_Attribute1,
502            X_Attribute2                 => X_Attribute2,
503            X_Attribute3                 => X_Attribute3,
504            X_Attribute4                 => X_Attribute4,
505            X_Attribute5                 => X_Attribute5,
506            X_Attribute6                 => X_Attribute6,
507            X_Attribute7                 => X_Attribute7,
508            X_Attribute8                 => X_Attribute8,
509            X_Attribute9                 => X_Attribute9,
510            X_Attribute10                => X_Attribute10,
511            X_Attribute11                => X_Attribute11,
512            X_Attribute12                => X_Attribute12,
513            X_Attribute13                => X_Attribute13,
514            X_Attribute14                => X_Attribute14,
515            X_Attribute15                => X_Attribute15,
516            X_Attribute_Category_Code	=> X_Attribute_Category_Code,
517            X_Meaning			=> X_Meaning,
518            X_Description		=> X_Description,
519            X_Last_Update_Date		=> X_Last_Update_Date,
520            X_Last_Updated_By		=> user_id,
521            X_Last_Update_Login		=> 0
522            ,p_log_level_rec => p_log_level_rec);
523    end if;
524 else
525   fa_lookups_pkg.insert_row (
526     X_Rowid			=> row_id,
527     X_Lookup_Type               => X_Lookup_Type,
528     X_Lookup_Code               => X_Lookup_Code,
529     X_Enabled_Flag              => X_Enabled_Flag,
530     X_Start_Date_Active         => X_Start_Date_Active,
531     X_End_Date_Active           => X_End_Date_Active,
532     X_Attribute1                => X_Attribute1,
533     X_Attribute2                => X_Attribute2,
534     X_Attribute3                => X_Attribute3,
535     X_Attribute4                => X_Attribute4,
536     X_Attribute5                => X_Attribute5,
537     X_Attribute6                => X_Attribute6,
538     X_Attribute7                => X_Attribute7,
539     X_Attribute8                => X_Attribute8,
540     X_Attribute9                => X_Attribute9,
541     X_Attribute10               => X_Attribute10,
542     X_Attribute11               => X_Attribute11,
543     X_Attribute12               => X_Attribute12,
544     X_Attribute13               => X_Attribute13,
545     X_Attribute14               => X_Attribute14,
546     X_Attribute15               => X_Attribute15,
547     X_Attribute_Category_Code   => X_Attribute_Category_Code,
548     X_Meaning                   => X_Meaning,
549     X_Description               => X_Description,
550     X_Creation_Date		=> sysdate,
551     X_Created_By		=> user_id,
552     X_Last_Update_Date          => X_Last_Update_Date,
553     X_Last_Updated_By           => user_id,
554     X_Last_Update_Login         => 0
555     ,p_log_level_rec => p_log_level_rec);
556 end if;
557 
558 exception
559    when others then
560        FA_STANDARD_PKG.RAISE_ERROR(
561 			CALLED_FN => 'fa_lookups_pkg.load_row',
562 			CALLING_FN => 'upload fa_lookups'
563 			,p_log_level_rec => p_log_level_rec);
564 
565 end LOAD_ROW;
566 
567 procedure TRANSLATE_ROW (
568     X_CUSTOM_MODE in VARCHAR2,
569     X_LOOKUP_TYPE in VARCHAR2,
570     X_LOOKUP_CODE in VARCHAR2,
571     X_OWNER in VARCHAR2,
572     X_LAST_UPDATE_DATE in DATE,
573     X_MEANING in VARCHAR2,
574     X_DESCRIPTION in VARCHAR2,
575     p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) is
576 
577   user_id              number;
578 
579   db_last_updated_by   number;
580   db_last_update_date  date;
581 
582 begin
583 
584 select last_updated_by, last_update_date
585 into   db_last_updated_by, db_last_update_date
586 from   fa_lookups_tl
587 where  lookup_type = x_lookup_type
588 and    lookup_code = x_lookup_code
589 and    userenv('LANG') in (LANGUAGE, SOURCE_LANG);
590 
591 user_id := fnd_load_util.owner_id (X_Owner);
592 
593 if (fnd_load_util.upload_test(user_id, sysdate,
594                               db_last_updated_by, db_last_update_date,
595                               X_CUSTOM_MODE)) then
596 
597    update FA_LOOKUPS_TL set
598      MEANING = nvl(X_Meaning, MEANING),
599      DESCRIPTION = nvl(X_Description, DESCRIPTION),
600      LAST_UPDATE_DATE = X_Last_Update_Date,
601      LAST_UPDATED_BY = user_id,
602      LAST_UPDATE_LOGIN = 0,
603      SOURCE_LANG = userenv('LANG')
604    where userenv('LANG') in (LANGUAGE, SOURCE_LANG)
605    and LOOKUP_TYPE = X_Lookup_Type
606    and LOOKUP_CODE = X_Lookup_Code;
607 
608 end if;
609 
610 end TRANSLATE_ROW;
611 
612 procedure LOAD_SEED_ROW (
613             x_upload_mode               IN VARCHAR2,
614             x_custom_mode               IN VARCHAR2,
615             x_lookup_type               IN VARCHAR2,
616             x_lookup_code               IN VARCHAR2,
617             x_owner                     IN VARCHAR2,
618             x_last_update_date          IN DATE,
619             x_meaning                   IN VARCHAR2,
620             x_enabled_flag              IN VARCHAR2,
621             x_description               IN VARCHAR2,
622             x_start_date_active         IN DATE,
623             x_end_date_active           IN DATE,
624             x_attribute1                IN VARCHAR2,
625             x_attribute2                IN VARCHAR2,
626             x_attribute3                IN VARCHAR2,
627             x_attribute4                IN VARCHAR2,
628             x_attribute5                IN VARCHAR2,
629             x_attribute6                IN VARCHAR2,
630             x_attribute7                IN VARCHAR2,
631             x_attribute8                IN VARCHAR2,
632             x_attribute9                IN VARCHAR2,
633             x_attribute10               IN VARCHAR2,
634             x_attribute11               IN VARCHAR2,
635             x_attribute12               IN VARCHAR2,
636             x_attribute13               IN VARCHAR2,
637             x_attribute14               IN VARCHAR2,
638             x_attribute15               IN VARCHAR2,
639             x_attribute_category_code   IN VARCHAR2) IS
640 
641 
642 BEGIN
643 
644         if (x_upload_mode = 'NLS') then
645            fa_lookups_pkg.TRANSLATE_ROW (
646              x_custom_mode              => x_custom_mode,
647              x_lookup_type              => x_lookup_type,
648              x_lookup_code              => x_lookup_code,
649              x_owner                    => x_owner,
650              x_last_update_date         => x_last_update_date,
651              x_meaning                  => x_meaning,
652              x_description              => x_description);
653          else
654            fa_lookups_pkg.LOAD_ROW (
655              x_custom_mode              => x_custom_mode,
656              x_lookup_type              => x_lookup_type,
657              x_lookup_code              => x_lookup_code,
658              x_owner                    => x_owner,
659              x_last_update_date         => x_last_update_date,
660              x_meaning                  => x_meaning,
661              x_enabled_flag             => x_enabled_flag,
662              x_description              => x_description,
663              x_start_date_active        => x_start_date_active,
664              x_end_date_active          => x_end_date_active,
665              x_attribute1               => x_attribute1,
666              x_attribute2               => x_attribute2,
667              x_attribute3               => x_attribute3,
668              x_attribute4               => x_attribute4,
669              x_attribute5               => x_attribute5,
670              x_attribute6               => x_attribute6,
671              x_attribute7               => x_attribute7,
672              x_attribute8               => x_attribute8,
673              x_attribute9               => x_attribute9,
674              x_attribute10              => x_attribute10,
675              x_attribute11              => x_attribute11,
676              x_attribute12              => x_attribute12,
677              x_attribute13              => x_attribute13,
678              x_attribute14              => x_attribute14,
679              x_attribute15              => x_attribute15,
680              x_attribute_category_code  => x_attribute_category_code);
681 
682          end if;
683 
684 END LOAD_SEED_ROW;
685 
686 end FA_LOOKUPS_PKG;