[Home] [Help]
PACKAGE BODY: APPS.XLA_CMP_LOCK_PKG
Source
1 PACKAGE BODY xla_cmp_lock_pkg AS
2 /* $Header: xlacplck.pkb 120.2 2005/04/28 18:43:49 masada ship $ */
3 /*======================================================================+
4 | Copyright (c) 1995-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | PACKAGE NAME |
9 | xla_cmp_lock_pkg |
10 | |
11 | DESCRIPTION |
12 | Transaction Account Builder API Compiler |
13 | |
14 | HISTORY |
15 | 26-JAN-04 A.Quaglia Created |
16 +======================================================================*/
17
18
19 --
20 -- Private exceptions
21 --
22 le_resource_busy EXCEPTION;
23 PRAGMA exception_init(le_resource_busy, -00054);
24
25 --
26 -- Private types
27 --
28
29 --
30 -- Private constants
31 --
32
33 --
34 -- Global variables
35 --
36 g_user_id INTEGER := xla_environment_pkg.g_usr_id;
37 g_login_id INTEGER := xla_environment_pkg.g_login_id;
38 g_date DATE := SYSDATE;
39 g_prog_appl_id INTEGER := xla_environment_pkg.g_prog_appl_id;
40 g_prog_id INTEGER := xla_environment_pkg.g_prog_id;
41 g_req_id INTEGER := NVL(xla_environment_pkg.g_req_id, -1);
42
43 --
44
45 -- Cursor declarations
46 --
47
48
49
50 --=============================================================================
51 -- *********** Local Trace Routine **********
52 --=============================================================================
53 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
54 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
55 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
56 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
57 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
58 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
59
60 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
61 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_cmp_lock_pkg';
62
63 g_log_level NUMBER;
64 g_log_enabled BOOLEAN;
65
66 --1-STATEMENT, 2-PROCEDURE, 3-EVENT, 4-EXCEPTION, 5-ERROR, 6-UNEXPECTED
67
68 PROCEDURE trace
69 ( p_module IN VARCHAR2 DEFAULT C_DEFAULT_MODULE
70 ,p_msg IN VARCHAR2
71 ,p_level IN NUMBER
72 ) IS
73 BEGIN
74 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
75 fnd_log.message(p_level, p_module);
76 ELSIF p_level >= g_log_level THEN
77 fnd_log.string(p_level, p_module, p_msg);
78 END IF;
79
80 EXCEPTION
81 WHEN xla_exceptions_pkg.application_exception THEN
82 RAISE;
83 WHEN OTHERS THEN
84 xla_exceptions_pkg.raise_message
85 (p_location => 'xla_cmp_lock_pkg.trace');
86 END trace;
87
88
89 --Forward declarations of private functions
90
91 FUNCTION lock_tad_details
92 (
93 p_application_id IN NUMBER
94 ,p_account_definition_code IN VARCHAR2
95 ,p_account_definition_type_code IN VARCHAR2
96 ,p_amb_context_code IN VARCHAR2
97 )
98
99 RETURN BOOLEAN;
100
101
102
103
104 FUNCTION lock_tats_and_sources
105 ( p_application_id IN NUMBER
106 )
107 RETURN BOOLEAN
108 IS
109 --Declare appropriate cursor
110 CURSOR lc_lck IS
111 SELECT xtatb.account_type_code
112 FROM xla_tab_acct_types_b xtatb
113 ,xla_tab_acct_type_srcs xtsrc
114 ,xla_sources_b xsb
115 WHERE xtatb.application_id = p_application_id
116 AND xtatb.enabled_flag = 'Y'
117 AND xtsrc.account_type_code = xtatb.account_type_code
118 AND xsb.application_id = xtsrc.source_application_id
119 AND xsb.source_code = xtsrc.source_code
120 AND xsb.source_type_code = xtsrc.source_type_code
121 FOR UPDATE NOWAIT;
122
123 l_log_module VARCHAR2 (2000);
124
125 BEGIN
126 IF g_log_enabled THEN
127 l_log_module := C_DEFAULT_MODULE||'.lock_tats_and_sources';
128 END IF;
129
130 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131 trace
132 (p_module => l_log_module
133 ,p_msg => 'BEGIN ' || C_DEFAULT_MODULE ||'.lock_tats_and_sources'
134 ,p_level => C_LEVEL_PROCEDURE);
135 END IF;
136
137 --Open cursor
138 OPEN lc_lck;
139 --Close cursor
140 CLOSE lc_lck;
141
142 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143 trace
144 (p_module => l_log_module
145 ,p_msg => 'END ' || C_DEFAULT_MODULE ||'.lock_tats_and_sources'
146 ,p_level => C_LEVEL_PROCEDURE);
147 END IF;
148
149 RETURN TRUE;
150
151 EXCEPTION
152 WHEN le_resource_busy
153 THEN
154 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
155 trace
156 ( p_module => l_log_module
157 ,p_msg => 'Unable to lock the records'
158 ,p_level => C_LEVEL_EXCEPTION);
159 END IF;
160 RETURN FALSE;
161 WHEN xla_exceptions_pkg.application_exception THEN
162 RAISE;
163 WHEN OTHERS THEN
164 xla_exceptions_pkg.raise_message
165 (p_location => 'xla_cmp_lock_pkg.lock_tats_and_sources');
166
167 END lock_tats_and_sources;
168
169
170 FUNCTION lock_tad
171 (
172 p_application_id IN NUMBER
173 ,p_account_definition_code IN VARCHAR2
174 ,p_account_definition_type_code IN VARCHAR2
175 ,p_amb_context_code IN VARCHAR2
176 )
177
178 RETURN BOOLEAN
179 IS
180 l_log_module VARCHAR2 (2000);
181 BEGIN
182 IF g_log_enabled THEN
183 l_log_module := C_DEFAULT_MODULE||'.lock_tad';
184 END IF;
185
186 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
187 trace
188 (p_module => l_log_module
189 ,p_msg => 'BEGIN ' || l_log_module
190 ,p_level => C_LEVEL_PROCEDURE);
191 END IF;
192
193 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
194 trace
195 (p_module => l_log_module
196 ,p_msg => '****NOT COMPLETE!!!***** ' || l_log_module
197 ,p_level => C_LEVEL_EXCEPTION);
198 END IF;
199
200 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
201 trace
202 (p_module => l_log_module
203 ,p_msg => 'END ' || l_log_module
204 ,p_level => C_LEVEL_PROCEDURE);
205 END IF;
206
207 RETURN TRUE;
208
209 EXCEPTION
210 WHEN le_resource_busy
211 THEN
212 RETURN FALSE;
213 WHEN xla_exceptions_pkg.application_exception THEN
214 RAISE;
215 WHEN OTHERS THEN
216 xla_exceptions_pkg.raise_message
217 (p_location => 'xla_cmp_lock_pkg.lock_tad');
218
219
220 END lock_tad;
221
222
223 FUNCTION lock_tad_details
224 (
225 p_application_id IN NUMBER
226 ,p_account_definition_code IN VARCHAR2
227 ,p_account_definition_type_code IN VARCHAR2
228 ,p_amb_context_code IN VARCHAR2
229 )
230
231 RETURN BOOLEAN
232 IS
233 l_log_module VARCHAR2 (2000);
234 BEGIN
235 IF g_log_enabled THEN
236 l_log_module := C_DEFAULT_MODULE||'.lock_tad_details';
237 END IF;
238
239 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
240 trace
241 (p_module => l_log_module
242 ,p_msg => 'BEGIN ' || C_DEFAULT_MODULE ||'.lock_tad_details'
243 ,p_level => C_LEVEL_PROCEDURE);
244 END IF;
245
246
247 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
248 trace
249 (p_module => l_log_module
250 ,p_msg => 'END ' || C_DEFAULT_MODULE ||'.lock_tad_details'
251 ,p_level => C_LEVEL_PROCEDURE);
252 END IF;
253
254 RETURN FALSE;
255
256 EXCEPTION
257 WHEN le_resource_busy
258 THEN
259 RETURN FALSE;
260 WHEN xla_exceptions_pkg.application_exception THEN
261 RAISE;
262 WHEN OTHERS THEN
263 xla_exceptions_pkg.raise_message
264 (p_location => 'xla_cmp_lock_pkg.lock_tad_details');
265
266 END lock_tad_details;
267
268
269 FUNCTION lock_adr
270 (
271 p_application_id IN NUMBER
272 ,p_segment_rule_code IN VARCHAR2
273 ,p_segment_rule_type_code IN VARCHAR2
274 ,p_amb_context_code IN VARCHAR2
275 )
276
277 RETURN BOOLEAN
278 IS
279 l_log_module VARCHAR2 (2000);
280 BEGIN
281 IF g_log_enabled THEN
282 l_log_module := C_DEFAULT_MODULE||'.lock_adr';
283 END IF;
284
285 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
286 trace
287 (p_module => l_log_module
288 ,p_msg => 'BEGIN ' || C_DEFAULT_MODULE ||'.lock_adr'
289 ,p_level => C_LEVEL_PROCEDURE);
290 END IF;
291
292
293 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
294 trace
295 (p_module => l_log_module
296 ,p_msg => 'END ' || C_DEFAULT_MODULE ||'.lock_adr'
297 ,p_level => C_LEVEL_PROCEDURE);
298 END IF;
299
300 RETURN FALSE;
301
302 EXCEPTION
303 WHEN le_resource_busy
304 THEN
305 RETURN FALSE;
306 WHEN xla_exceptions_pkg.application_exception THEN
307 RAISE;
308 WHEN OTHERS THEN
309 xla_exceptions_pkg.raise_message
310 (p_location => 'xla_cmp_lock_pkg.lock_adr');
311
312 END lock_adr;
313
314
315 FUNCTION lock_source
316 (
317 p_application_id IN NUMBER
318 ,p_source_code IN VARCHAR2
319 ,p_source_type_code IN VARCHAR2
320 )
321
322 RETURN BOOLEAN
323 IS
324 l_log_module VARCHAR2 (2000);
325 BEGIN
326 IF g_log_enabled THEN
327 l_log_module := C_DEFAULT_MODULE||'.lock_source';
328 END IF;
329
330 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
331 trace
332 (p_module => l_log_module
333 ,p_msg => 'BEGIN ' || C_DEFAULT_MODULE ||'.lock_source'
334 ,p_level => C_LEVEL_PROCEDURE);
335 END IF;
336
337
338 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
339 trace
340 (p_module => l_log_module
341 ,p_msg => 'END ' || C_DEFAULT_MODULE ||'.lock_source'
342 ,p_level => C_LEVEL_PROCEDURE);
343 END IF;
344
345 RETURN FALSE;
346
347 EXCEPTION
348 WHEN le_resource_busy
349 THEN
350 RETURN FALSE;
351 WHEN xla_exceptions_pkg.application_exception THEN
352 RAISE;
353 WHEN OTHERS THEN
354 xla_exceptions_pkg.raise_message
355 (p_location => 'xla_cmp_lock_pkg.lock_source');
356
357 END lock_source;
358
359
360 FUNCTION lock_adr_detail_conditions
361 (
362 p_application_id IN NUMBER
363 ,p_segment_rule_detail_id IN NUMBER
364 ,p_amb_context_code IN VARCHAR2
365 )
366
367 RETURN BOOLEAN
368 IS
369 l_log_module VARCHAR2 (2000);
370 BEGIN
371 IF g_log_enabled THEN
372 l_log_module := C_DEFAULT_MODULE||'.lock_adr_detail_conditions';
373 END IF;
374
375 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
376 trace
377 (p_module => l_log_module
378 ,p_msg => 'BEGIN ' || C_DEFAULT_MODULE ||'.lock_adr_detail_conditions'
379 ,p_level => C_LEVEL_PROCEDURE);
380 END IF;
381
382
383 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
384 trace
385 (p_module => l_log_module
386 ,p_msg => 'END ' || C_DEFAULT_MODULE ||'.lock_adr_detail_conditions'
387 ,p_level => C_LEVEL_PROCEDURE);
388 END IF;
389
390 RETURN FALSE;
391
392 EXCEPTION
393 WHEN le_resource_busy
394 THEN
395 RETURN FALSE;
396 WHEN xla_exceptions_pkg.application_exception THEN
397 RAISE;
398 WHEN OTHERS THEN
399 xla_exceptions_pkg.raise_message
400 (p_location => 'xla_cmp_lock_pkg.lock_adr_detail_conditions');
401
402 END lock_adr_detail_conditions;
403
404
405
406 FUNCTION lock_mapping_set
407 (
408 p_mapping_set_code IN VARCHAR2
409 ,p_amb_context_code IN VARCHAR2
410 )
411
412 RETURN BOOLEAN
413 IS
414 l_log_module VARCHAR2 (2000);
415 BEGIN
416 IF g_log_enabled THEN
417 l_log_module := C_DEFAULT_MODULE||'.lock_mapping_set';
418 END IF;
419
420 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
421 trace
422 (p_module => l_log_module
423 ,p_msg => 'BEGIN ' || C_DEFAULT_MODULE ||'.lock_mapping_set'
424 ,p_level => C_LEVEL_PROCEDURE);
425 END IF;
426
427
428 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
429 trace
430 (p_module => l_log_module
431 ,p_msg => 'END ' || C_DEFAULT_MODULE ||'.lock_mapping_set'
432 ,p_level => C_LEVEL_PROCEDURE);
433 END IF;
434
435 RETURN FALSE;
436
437 EXCEPTION
438 WHEN le_resource_busy
439 THEN
440 RETURN FALSE;
441 WHEN xla_exceptions_pkg.application_exception THEN
442 RAISE;
443 WHEN OTHERS THEN
444 xla_exceptions_pkg.raise_message
445 (p_location => 'xla_cmp_lock_pkg.lock_mapping_set');
446
447 END lock_mapping_set;
448
449
450 --Trace initialization
451 BEGIN
452 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
453 g_log_enabled := fnd_log.test
454 (log_level => g_log_level
455 ,module => C_DEFAULT_MODULE);
456
457 IF NOT g_log_enabled THEN
458 g_log_level := C_LEVEL_LOG_DISABLED;
459 END IF;
460
461 END xla_cmp_lock_pkg;