[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;