DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_XLA_CMP_LOCK_PKG

Source


1 PACKAGE BODY fa_xla_cmp_lock_pkg AS
2 /* $Header: faxlackb.pls 120.1 2006/08/24 14:23:53 bridgway noship $   */
3 /*===========================================================================+
4 |             Copyright (c) 2001-2002 Oracle Corporation                     |
5 |                       Redwood Shores, CA, USA                              |
6 |                         All rights reserved.                               |
7 +============================================================================+
8 | PACKAGE NAME                                                               |
9 |     fa_xla_cmp_lock_pkg                                                    |
10 |                                                                            |
11 | DESCRIPTION                                                                |
12 |     This is a FA private package, which contains all the APIs required     |
13 |     for to create locing for each extract type                             |
14 |                                                                            |
15 |                                                                            |
16 | HISTORY                                                                    |
17 |     25-FEB-2006 BRIDGWAY      Created                                      |
18 |                                                                            |
19 +===========================================================================*/
20 
21 
22 --+============================================+
23 --|                                            |
24 --|  PRIVATE  PROCEDURES/FUNCTIONS             |
25 --|                                            |
26 --+============================================+
27 
28 
29 C_PRIVATE_API_1   CONSTANT VARCHAR2(32000) := '
30 
31 /*======================================================================+
32 |                                                                       |
33 | Private Function                                                      |
34 |    Lock_Data                                                          |
35 |                                                                       |
36 +======================================================================*/
37 
38   --------------------------------------------------
39   -- Locking Routine                              --
40   --------------------------------------------------
41 
42   PROCEDURE Lock_Data IS
43 
44      TYPE number_tbl_type IS TABLE OF number INDEX BY BINARY_INTEGER;
45      l_lock               number_tbl_type;
46      l_procedure_name     varchar2(80) := ''lock_data'';
47 
48   BEGIN
49 
50      IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
51         fnd_log.string(G_LEVEL_PROCEDURE,
52                        G_MODULE_NAME||l_procedure_name||''.begin'',
53                        ''Beginning of procedure'');
54      END IF;
55 
56 ';
57 
58 
59 C_PRIVATE_API_2   CONSTANT VARCHAR2(32000) := '
60 --
61      IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
62         fnd_log.string(G_LEVEL_PROCEDURE,
63                        G_MODULE_NAME||l_procedure_name||''.end'',
64                        ''End of procedure'');
65      END IF;
66 
67    EXCEPTION
68       WHEN others THEN
69            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
70               fnd_message.set_name(''OFA'',''FA_SHARED_ORACLE_ERR'');
71               fnd_message.set_token(''ORACLE_ERR'',SQLERRM);
72               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
73            END IF;
74            raise;
75 
76 
77   END Lock_Data;
78 
79 ';
80 
81 
82 
83 
84 --+==========================================================================+
85 --|                                                                          |
86 --| Private global constants                                                 |
87 --|                                                                          |
88 --+==========================================================================+
89 
90 C_CREATED_ERROR      CONSTANT BOOLEAN := FALSE;
91 C_CREATED            CONSTANT BOOLEAN := TRUE;
92 
93 g_Max_line            CONSTANT NUMBER := 225;
94 g_chr_quote           CONSTANT VARCHAR2(10):='''';
95 g_chr_newline         CONSTANT VARCHAR2(10):= fa_cmp_string_pkg.g_chr_newline;
96 
97 g_log_level_rec fa_api_types.log_level_rec_type;
98 
99 G_CURRENT_RUNTIME_LEVEL        NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
100 
101 G_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
102 G_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
103 G_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
104 G_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
105 G_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
106 G_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
107 
108 G_MODULE_NAME         CONSTANT VARCHAR2(50):= 'fa.plsql.fa_xla_cmp_lock_pkg.';
109 
110 
111 FUNCTION GenerateLockingExtract
112       (p_extract_type                 IN VARCHAR2,
113        p_package_body                 OUT NOCOPY DBMS_SQL.VARCHAR2S) RETURN BOOLEAN IS
114 
115    l_array_pkg              DBMS_SQL.VARCHAR2S;
116    l_BodyPkg                VARCHAR2(32000);
117    l_array_body             DBMS_SQL.VARCHAR2S;
118    l_procedure_name  varchar2(80) := 'GenerateLockingExtract';
119 
120 BEGIN
121 
122    IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
123       fnd_log.string(G_LEVEL_PROCEDURE,
124                      G_MODULE_NAME||l_procedure_name||'.begin',
125                      'Beginning of procedure');
126    END IF;
127 
128    l_array_body    := fa_cmp_string_pkg.g_null_varchar2s;
129    l_array_pkg     := fa_cmp_string_pkg.g_null_varchar2s;
130 
131    -- deferred does not use locking - exit returning nothing
132    if (p_extract_type = 'DEF') then
133       l_bodypkg := '';
134 
135       fa_cmp_string_pkg.CreateString
136         (p_package_text  => l_BodyPkg
137         ,p_array_string  => l_array_pkg);
138 
139       p_package_body := l_array_pkg;
140 
141       RETURN TRUE;
142    else
143       l_bodypkg := C_PRIVATE_API_1;
144    end if;
145 
146    fa_cmp_string_pkg.CreateString
147       (p_package_text  => l_BodyPkg
148       ,p_array_string  => l_array_pkg);
149 
150    -- BUG# 5444002
151    -- removing locking at child level
152    if (p_extract_type = 'DEPRN') then
153       l_BodyPkg := ' ';
154    elsif (p_extract_type = 'TRX') then
155       l_BodyPkg := ' ';
156    else
157       null;  -- unkown type
158    end if;
159 
160    fa_cmp_string_pkg.CreateString
161      (p_package_text  => l_BodyPkg
162      ,p_array_string  => l_array_body);
163 
164    l_array_pkg :=
165       fa_cmp_string_pkg.ConcatTwoStrings
166          (p_array_string_1  =>  l_array_pkg
167          ,p_array_string_2  =>  l_array_body);
168 
169 
170    l_bodypkg := C_PRIVATE_API_2;
171 
172    fa_cmp_string_pkg.CreateString
173      (p_package_text  => l_BodyPkg
174      ,p_array_string  => l_array_body);
175 
176    l_array_pkg :=
177       fa_cmp_string_pkg.ConcatTwoStrings
178          (p_array_string_1  =>  l_array_pkg
179          ,p_array_string_2  =>  l_array_body);
180 
181    p_package_body := l_array_pkg;
182 
183    RETURN TRUE;
184 
185 EXCEPTION
186    WHEN OTHERS THEN
187         IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
188            fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
189            fnd_message.set_token('ORACLE_ERR',SQLERRM);
190            FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
191         END IF;
192         RETURN FALSE;
193 
194 END GenerateLockingExtract;
195 
196 END fa_xla_cmp_lock_pkg;