DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_XLA_CMP_LOAD_PKG

Source


1 PACKAGE BODY fa_xla_cmp_load_pkg AS
2 /* $Header: faxlacob.pls 120.2.12010000.2 2009/07/19 08:36:39 glchen ship $   */
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_load_pkg                                                    |
10 |                                                                            |
11 | DESCRIPTION                                                                |
12 |     This is a FA private package, which contains all the APIs required     |
13 |     for to create header extract for each extract type                     |
14 |                                                                            |
15 |                                                                            |
16 | HISTORY                                                                    |
17 |     25-JUN-2002 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 | Public Function                                                       |
34 |    Lock_Data                                                          |
35 |                                                                       |
36 +======================================================================*/
37 
38   --------------------------------------------------
39   -- Main Load Routine                            --
40   --------------------------------------------------
41    PROCEDURE load_data IS
42 
43       l_log_level_rec   FA_API_TYPES.log_level_rec_type;
44       l_use_fafbgcc     varchar2(25);
45       l_procedure_name  varchar2(80) := ''load_data'';   -- BMR make this dynamic on type
46       error_found       EXCEPTION;
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 C_PRIVATE_API_2   CONSTANT VARCHAR2(32000) := '
59 
60 
61       fnd_profile.get (''FA_WF_GENERATE_CCIDS'', l_use_fafbgcc);
62       if (nvl(l_use_fafbgcc, ''N'') = ''Y'') then
63          if (NOT fa_util_pub.get_log_level_rec (
64                    x_log_level_rec =>  l_log_level_rec)) then raise error_found;
65          end if;
66 
67          Load_Generated_Ccids
68             (p_log_level_rec => l_log_level_rec);
69       end if;
70 
71 
72 ';
73 
74 C_PRIVATE_API_3   CONSTANT VARCHAR2(32000) := '
75 
76 
77       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
78          fnd_log.string(G_LEVEL_PROCEDURE,
79                         G_MODULE_NAME||l_procedure_name||''.end'',
80                         ''End of procedure'');
81       END IF;
82 
83    EXCEPTION
84       WHEN error_found THEN
85            IF (G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
86               FND_LOG.string (G_LEVEL_ERROR,
87                               G_MODULE_NAME||l_procedure_name,
88                               ''ended in error'');
89            END IF;
90            raise;
91 
92       WHEN others THEN
93            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
94               fnd_message.set_name(''OFA'',''FA_SHARED_ORACLE_ERR'');
95               fnd_message.set_token(''ORACLE_ERR'',SQLERRM);
96               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
97            END IF;
98            raise;
99 
100    END load_data;
101 
102 ';
103 
104 
105 
106 
107 --+==========================================================================+
108 --|                                                                          |
109 --| Private global constants                                                 |
110 --|                                                                          |
111 --+==========================================================================+
112 
113 C_CREATED_ERROR      CONSTANT BOOLEAN := FALSE;
114 C_CREATED            CONSTANT BOOLEAN := TRUE;
115 
116 g_Max_line            CONSTANT NUMBER := 225;
117 g_chr_quote           CONSTANT VARCHAR2(10):='''';
118 g_chr_newline         CONSTANT VARCHAR2(10):= fa_cmp_string_pkg.g_chr_newline;
119 
120 g_log_level_rec fa_api_types.log_level_rec_type;
121 
122 G_CURRENT_RUNTIME_LEVEL        NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
123 
124 G_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
125 G_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
126 G_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
127 G_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
128 G_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
129 G_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
130 
131 G_MODULE_NAME         CONSTANT VARCHAR2(50):= 'fa.plsql.fa_xla_cmp_header_pkg.';
132 
133 
134 FUNCTION GenerateLoadExtract
135       (p_extract_type                 IN VARCHAR2,
136        p_package_body                 OUT NOCOPY DBMS_SQL.VARCHAR2S) RETURN BOOLEAN IS
137 
138    l_array_pkg              DBMS_SQL.VARCHAR2S;
139    l_BodyPkg                VARCHAR2(32000);
140    l_array_body             DBMS_SQL.VARCHAR2S;
141    l_procedure_name  varchar2(80) := 'GenerateLoadExtract';
142 
143 BEGIN
144 
145    IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
146       fnd_log.string(G_LEVEL_PROCEDURE,
147                      G_MODULE_NAME||l_procedure_name||'.begin',
148                      'Beginning of procedure');
149    END IF;
150 
151    l_array_body    := fa_cmp_string_pkg.g_null_varchar2s;
152    l_array_pkg     := fa_cmp_string_pkg.g_null_varchar2s;
153 
154    -- deferred does not use locking - exit returning nothing
155    l_bodypkg := C_PRIVATE_API_1;
156 
157    fa_cmp_string_pkg.CreateString
158       (p_package_text  => l_BodyPkg
159       ,p_array_string  => l_array_pkg);
160 
161    if (p_extract_type = 'DEPRN') then
162       l_bodypkg := '
163 
164          if (fa_xla_extract_util_pkg.G_deprn_exists) then
165             Lock_Data;
166             Load_header_data;
167             Load_line_data;
168             Load_mls_data;
169 
170             '  || C_PRIVATE_API_2 || '
171 
172          end if;
173 
174          if (fa_xla_extract_util_pkg.G_rollback_deprn_exists) then
175             Load_header_data_rb;
176          end if;
177 
178 ';
179 
180 
181    elsif (p_extract_type = 'TRX') then
182 
183       l_bodypkg := '
184 
185          Lock_Data;
186          if (fa_xla_extract_util_pkg.G_trx_exists) then
187             load_header_data_stg1;
188             Load_line_data_stg1;
189          end if;
190 
191          if (fa_xla_extract_util_pkg.G_inter_trx_exists) then
192             load_header_data_stg2;
193             Load_line_data_stg2;
194          end if;
195 
196          if (fa_xla_extract_util_pkg.G_fin_trx_exists) then
197             Load_line_data_fin1;
198          end if;
199 
200          if (fa_xla_extract_util_pkg.G_inter_trx_exists) then
201             Load_line_data_fin2;
202          end if;
203 
204          if (fa_xla_extract_util_pkg.G_xfr_trx_exists) then
205             Load_line_data_xfr;
206          end if;
207 
208          if (fa_xla_extract_util_pkg.G_dist_trx_exists) then
209             Load_line_data_dist;
210          end if;
211 
212          if (fa_xla_extract_util_pkg.G_ret_trx_exists) then
213             Load_line_data_ret;
214          end if;
215 
216          if (fa_xla_extract_util_pkg.G_res_trx_exists) then
217             Load_line_data_res;
218          end if;
219 
220          Load_mls_data;
221 
222          '  || C_PRIVATE_API_2;
223 
224    elsif (p_extract_type = 'DEF') then
225 
226       l_bodypkg := '
227 
228          Load_header_data;
229          Load_line_data;
230          Load_mls_data;
231 
232          '  || C_PRIVATE_API_2;
233 
234    else
235       null;  -- unkown type
236    end if;
237 
238    fa_cmp_string_pkg.CreateString
239      (p_package_text  => l_BodyPkg
240      ,p_array_string  => l_array_body);
241 
242    l_array_pkg :=
243       fa_cmp_string_pkg.ConcatTwoStrings
244          (p_array_string_1  =>  l_array_pkg
245          ,p_array_string_2  =>  l_array_body);
246 
247 
248    l_bodypkg := C_PRIVATE_API_3;
249 
250    fa_cmp_string_pkg.CreateString
251      (p_package_text  => l_BodyPkg
252      ,p_array_string  => l_array_body);
253 
254    l_array_pkg :=
255       fa_cmp_string_pkg.ConcatTwoStrings
256          (p_array_string_1  =>  l_array_pkg
257          ,p_array_string_2  =>  l_array_body);
258 
259    p_package_body := l_array_pkg;
260 
261    RETURN TRUE;
262 
263 EXCEPTION
264    WHEN OTHERS THEN
265         IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
266            fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
267            fnd_message.set_token('ORACLE_ERR',SQLERRM);
268            FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
269         END IF;
270         RETURN FALSE;
271 
272 END GenerateLoadExtract;
273 
274 END fa_xla_cmp_Load_pkg;