1 Package Body ota_mls_utility as
2 /* $Header: otmlsutl.pkb 115.1 2003/05/19 07:55:44 jbharath noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'ota_mls_utility';
7 g_debug boolean := hr_utility.debug_enabled;
8 --
9 -- ----------------------------------------------------------------------------
10 -- |---------------------------< get_nls_language >---------------------------|
11 -- ----------------------------------------------------------------------------
12 function get_nls_language
13 ( p_language_code in fnd_languages.language_code%TYPE
14 ) return varchar2 IS
15 --
16 cursor c_nls_language IS
17 select l.nls_language
18 from fnd_languages l
19 where l.language_code = p_language_code;
20 --
21 l_nls_language fnd_languages.nls_language%TYPE;
22 --
23 nls_language_not_found exception;
24 --
25 begin
26 open c_nls_language;
27 fetch c_nls_language into l_nls_language;
28 close c_nls_language;
29 if ( l_nls_language IS NOT NULL ) then
30 return l_nls_language;
31 else
32 raise nls_language_not_found;
33 end if;
34 exception
35 when nls_language_not_found then
36 hr_utility.set_location(' Cannot find nls_language, ota_mls_utility.get_nls_language', 99);
37 raise;
38 when others then
39 raise;
40 end get_nls_language ;
41 -- ----------------------------------------------------------------------------
42 -- |---------------------------< set_session_language_code >------------------|
43 -- ----------------------------------------------------------------------------
44 --
45 -- {Start Of Comments}
46 --
47 -- Description:
48 -- Set the session language from the language code and clears the
49 -- key flex cache
50 --
51 -- Prerequisites:
52 --
53 -- In Parameters:
54 -- Name Reqd Type Description
55 -- ==== ==== ==== ===========
56 -- p_language_code Yes varchar2 the Two digit language code
57 --
58 -- Post Success:
59 -- userenv('LANG') is set to language code
60 --
61 -- Post Failure:
62 -- user session language is not changed
63 --
64 --
65 -- Access Status:
66 -- Public - For Internal Development Use Only
67 --
68 -- {End Of Comments}
69 --
70 procedure set_session_language_code
71 ( p_language_code in fnd_languages.language_code%TYPE
72 ) IS
73 l_proc varchar2(72) := g_package||' set_session_language_code';
74 begin
75 set_session_nls_language( get_nls_language( p_language_code ) );
76 end set_session_language_code ;
77 --
78 -- ----------------------------------------------------------------------------
79 -- |---------------------------< set_session_nls_language >-------------------|
80 -- ----------------------------------------------------------------------------
81 --
82 -- {Start Of Comments}
83 --
84 -- Description:
85 -- Set the session language from the nls language and clears the
86 -- key flex cache
87 --
88 -- Prerequisites:
89 --
90 -- In Parameters:
91 -- Name Reqd Type Description
92 -- ==== ==== ==== ===========
93 -- p_nls_language Yes varchar2 The nls language (NOT the 2 letter language code)
94 --
95 -- Post Success:
96 -- userev('LANG') is set to language code derived from nls language
97 --
98 -- Post Failure:
99 -- user session language is not changed
100 --
101 --
102 -- Access Status:
103 -- Public - For Internal Development Use Only
104 --
105 -- {End Of Comments}
106 --
107 procedure set_session_nls_language
108 ( p_nls_language in fnd_languages.nls_language%TYPE
109 ) IS
110 l_proc varchar2(72) := g_package||' set_session_nls_language';
111 begin
112 -- dbms_session will raise an error if nls_language is invalid
113 -- dbms_session.set_nls('NLS_LANGUAGE', p_nls_language); -- Wrapped Nls_language parameter for 2958520
114 dbms_session.set_nls('NLS_LANGUAGE',''''||p_nls_language||'''') ;
115 fnd_flex_ext.clear_ccid_cache;
116 exception
117 when others then
118 hr_utility.set_location('Error in '||l_proc, 99);
119 raise;
120 end set_session_nls_language ;
121 --
122
123 --
124 --
125 end ota_mls_utility;