DBA Data[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;