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