DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ABT_MIGRATION

Source


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;