1 PACKAGE BODY per_abt_migration AS
2 /* $Header: peabtmig.pkb 120.0 2005/05/31 04:47:40 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |--------------------------< migrateABTData >------------------------------|
6 -- ----------------------------------------------------------------------------
7 --
8 procedure migrateABTData
9 ( p_process_number IN varchar2
10 , p_max_number_proc IN varchar2
11 , p_param1 IN varchar2
12 , p_param2 IN varchar2
13 , p_param3 IN varchar2
14 , p_param4 IN varchar2
15 , p_param5 IN varchar2
16 , p_param6 IN varchar2
17 , p_param7 IN varchar2
18 , p_param8 IN varchar2
19 , p_param9 IN varchar2
20 , p_param10 IN varchar2
21 )
22 is
23
24 cursor csr_installed_languages is
25 select language_code,
26 nls_Language
27 from fnd_languages
28 where installed_flag in ('I', 'B');
29
30 l_userenv_language_code VARCHAR2(4);
31 l_current_nls_language VARCHAR2(30);
32 l_current_language VARCHAR2(4);
33
34 begin
35 l_userenv_language_code := userenv('LANG');
36
37 /*
38 ** Clear out any existing data for this range of records
39 **
40 */
41 delete from per_abs_attendance_types_tl t
42 where not exists
43 (select null
44 from per_absence_attendance_types b
45 where b.absence_attendance_type_id = t.absence_attendance_type_id
46 );
47
48 /*
49 **
50 ** For each installed language insert a new record into the TL table for
51 ** each record in the range provided that is present in the base table.
52 */
53 for c_language in csr_installed_languages loop
54
55 /*
56 ** Set language for iteration....
57 */
58 hr_kflex_utility.set_session_nls_language(c_language.nls_language);
59 l_current_language := c_language.language_code;
60
61 /*
62 ** Insert the TL rows.
63 */
64 insert into per_abs_attendance_types_tl(
65 absence_attendance_type_id,
66 language,
67 source_lang,
68 name,
69 created_by,
70 creation_date,
71 last_updated_by,
72 last_update_date,
73 last_update_login)
74 select b.absence_attendance_type_id,
75 l_current_language,
76 l_userenv_language_code,
77 b.name,
78 b.created_by,
79 b.creation_date,
80 b.last_updated_by,
81 b.last_update_date,
82 b.last_update_login
83 from per_absence_attendance_types b
84 where not exists (select '1'
85 from per_abs_attendance_types_tl tl
86 where tl.absence_attendance_type_id = b.absence_attendance_type_id
87 and tl.language = l_current_language);
88
89
90 end loop;
91
92 hr_kflex_utility.set_session_language_code( l_userenv_language_code );
93
94 Exception
95 --
96 When Others Then
97 --
98 hr_kflex_utility.set_session_language_code( l_userenv_language_code );
99 --
100 raise;
101
102 end migrateABTData;
103
104 end per_abt_migration;