[Home] [Help]
PACKAGE BODY: APPS.XLA_ENVIRONMENT_PKG
Source
1 PACKAGE BODY xla_environment_pkg AS
2 /* $Header: xlacmenv.pkb 120.5 2005/05/27 07:02:57 ksvenkat ship $ */
3 /*======================================================================+
4 | Copyright (c) 2000-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | PACKAGE NAME |
9 | xla_environment_pkg |
10 | |
11 | DESCRIPTION |
12 | XLA Environment Package |
13 | |
14 | HISTORY |
15 | 10-Feb-01 P. Labrevois Created |
16 +======================================================================*/
17
18 g_init_flag BOOLEAN := FALSE;
19
20
21 /*======================================================================+
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | Misc privates procedure or functions |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 +======================================================================*/
44
45 /*======================================================================+
46 | |
47 | Private Procedure |
48 | |
49 | set_login_info |
50 | |
51 | Set login global variables |
52 | |
53 +======================================================================*/
54 PROCEDURE set_login_info
55
56 IS
57
58 BEGIN
59 xla_utility_pkg.trace('> Package xla_environment_pkg .get_login_info' , 20);
60
61 g_Login_Id := fnd_global.login_id;
62 g_Prog_Appl_Id := fnd_global.prog_appl_id;
63 g_Prog_Id := fnd_global.conc_program_id;
64 g_Req_Id := fnd_global.conc_request_id;
65 g_Usr_Id := fnd_global.user_id;
66
67 xla_utility_pkg.trace('Login id = '||TO_CHAR(g_Login_Id) , 30);
68 xla_utility_pkg.trace('Prog Appl id = '||TO_CHAR(g_Prog_Appl_Id), 30);
69 xla_utility_pkg.trace('Prog id = '||TO_CHAR(g_Prog_Id) , 30);
70 xla_utility_pkg.trace('Request id = '||TO_CHAR(g_Req_Id) , 30);
71 xla_utility_pkg.trace('User id = '||TO_CHAR(g_Usr_Id) , 30);
72
73 xla_utility_pkg.trace('< Package xla_environment_pkg .login_info' , 20);
74
75 EXCEPTION
76 WHEN xla_exceptions_pkg.application_exception THEN
77 RAISE;
78 WHEN OTHERS THEN
79 xla_exceptions_pkg.raise_message
80 (p_location => 'xla_environment_pkg .get_login_info');
81 END set_login_info;
82
83
84 /*======================================================================+
85 | |
86 | Private Procedure |
87 | |
88 | set_release_info |
89 | |
90 | Populate the global variable g_release_name with the current release. |
91 | |
92 +======================================================================*/
93 PROCEDURE set_release_info
94
95 IS
96
97 BEGIN
98 xla_utility_pkg.trace('> Package xla_environment_pkg .set_release_info' , 20);
99
100 SELECT SUBSTR(release_name,1,4)
101 INTO g_release_name
102 FROM fnd_product_groups
103 ;
104
105 xla_utility_pkg.trace('Release = '||g_release_name , 30);
106
107 xla_utility_pkg.trace('> Package xla_environment_pkg .set_release_info' , 20);
108
109 EXCEPTION
110 WHEN xla_exceptions_pkg.application_exception THEN
111 RAISE;
112 WHEN OTHERS THEN
113 xla_exceptions_pkg.raise_message
114 (p_location => 'xla_environment_pkg .set_release_info');
115 END set_release_info;
116
117
118 /*======================================================================+
119 | |
120 | Private Procedure |
121 | |
122 | set_mapps_info |
123 | |
124 | Populate the global variable g_mapps_info. |
125 | |
126 +======================================================================*/
127 PROCEDURE set_mapps_info
128
129 IS
130
131 l_count INTEGER;
132
133 BEGIN
134 xla_utility_pkg.trace('> Package xla_environment_pkg .get_mapps_info' , 10);
135
136 SELECT COUNT(*)
137 INTO l_count
138 FROM fnd_data_groups
139 WHERE data_group_name NOT LIKE 'Multiple Reporting Currencies%'
140 ;
141
142 xla_utility_pkg.trace('Data groups = '||TO_CHAR(l_count) , 20);
143
144 IF l_count >1 THEN
145 g_mapps_flag := TRUE;
146 ELSE
147 g_mapps_flag := FALSE;
148 END IF;
149
150 xla_utility_pkg.trace('< Package xla_environment_pkg .get_mapps_info' , 10);
151
152 EXCEPTION
153 WHEN xla_exceptions_pkg.application_exception THEN
154 RAISE;
155 WHEN OTHERS THEN
156 xla_exceptions_pkg.raise_message
157 (p_location => 'xla_environment_pkg .get_login_info');
158 END set_mapps_info;
159
160
161 /*======================================================================+
162 | |
163 | Private Function |
164 | |
165 | set_unique_session_info |
166 | |
167 | Set the pipe name. |
168 | |
169 +======================================================================*/
170 PROCEDURE set_session_info
171
172 IS
173
174 BEGIN
175 xla_utility_pkg.trace('> Package xla_environment_pkg .set_session_info' , 10);
176
177 SELECT pr.spid
178 ,se.sid
179 ,se.program
180 ,se.module
181 INTO g_process_id
182 ,g_session_id
183 ,g_program
184 ,g_module
185 FROM v$session se
186 ,v$process pr
187 WHERE se.sid = (select sid from v$mystat where rownum = 1)
188 AND se.paddr = pr.addr;
189
190 g_session_name := dbms_pipe.unique_session_name;
191
192 xla_utility_pkg.trace('< Package xla_environment_pkg .set_session_info' , 10);
193
194 EXCEPTION
195
196 WHEN xla_exceptions_pkg.application_exception THEN
197 RAISE;
198 WHEN OTHERS THEN
199 xla_exceptions_pkg.raise_message
200 (p_location => 'xla_environment_pkg .set_session_info');
201 END set_session_info;
202
203
204
205 /*======================================================================+
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |
214 | |
215 | |
216 | Refresh |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 | |
226 | |
227 +======================================================================*/
228
229
230 /*======================================================================+
231 | |
232 | Public Procedure |
233 | |
234 | refresh |
235 | |
236 | Refresh the environment. It must be called once at the beginning of |
237 | EVERY concurrent program to refresh the cache variables. |
238 | |
239 +======================================================================*/
240 PROCEDURE Refresh
241
242 IS
243
244 BEGIN
245 xla_utility_pkg.trace('> Package xla_environment_pkg .Refresh' , 20);
246
247 IF NOT g_Init_flag THEN
248 set_login_info;
249 set_release_info;
250 set_mapps_info;
251 set_session_info;
252 ELSE
253 set_login_info;
254 END IF;
255
256 g_Init_flag := TRUE;
257
258 xla_utility_pkg.trace('< Package xla_environment_pkg .Refresh' , 20);
259
260 EXCEPTION
261 WHEN xla_exceptions_pkg.application_exception THEN
262 RAISE;
263 WHEN OTHERS THEN
264 xla_exceptions_pkg.raise_message
265 (p_location => 'xla_environment_pkg .get_login_info');
266 END Refresh;
267
268
269 /*======================================================================+
270 | |
271 | |
272 | |
273 | |
274 | |
275 | |
276 | |
277 | |
278 | |
279 | |
280 | Initialization |
281 | |
282 | |
283 | |
284 | |
285 | |
286 | |
287 | |
288 | |
289 | |
290 | |
291 +======================================================================*/
292
293 BEGIN
294 refresh;
295
296 END xla_environment_pkg;