[Home] [Help]
PACKAGE BODY: APPS.FA_XLA_CMP_MLS_PKG
Source
1 PACKAGE BODY fa_xla_cmp_mls_pkg AS
2 /* $Header: faxlacmb.pls 120.0 2006/03/06 22:22:39 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_mls_pkg |
10 | |
11 | DESCRIPTION |
12 | This is a FA private package, which contains all the APIs required |
13 | for to create mls level 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 | Private Function |
34 | $proc_name$ |
35 | |
36 +======================================================================*/
37
38 PROCEDURE $proc_name$ IS
39
40 l_procedure_name varchar2(80) := ''$proc_name$'';
41
42 BEGIN
43
44 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
45 fnd_log.string(G_LEVEL_PROCEDURE,
46 G_MODULE_NAME||l_procedure_name||''.begin'',
47 ''Beginning of procedure'');
48 END IF;
49
50 ';
51
52 C_PRIVATE_API_2 CONSTANT VARCHAR2(32000) := '
53
54 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
55 fnd_log.string(G_LEVEL_PROCEDURE,
56 G_MODULE_NAME||l_procedure_name,
57 ''Rows inserted into mls: '' || to_char(SQL%ROWCOUNT));
58 END IF;
59
60 ';
61
62
63 C_PRIVATE_API_3 CONSTANT VARCHAR2(32000) := '
64
65 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
66 fnd_log.string(G_LEVEL_PROCEDURE,
67 G_MODULE_NAME||l_procedure_name||''.end'',
68 ''End of procedure'');
69 END IF;
70
71 EXCEPTION
72 WHEN others THEN
73 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
74 fnd_message.set_name(''OFA'',''FA_SHARED_ORACLE_ERR'');
75 fnd_message.set_token(''ORACLE_ERR'',SQLERRM);
76 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
77 END IF;
78 raise;
79
80 end $proc_name$;
81
82 ';
83
84
85
86
87 --+==========================================================================+
88 --| |
89 --| Private global constants |
90 --| |
91 --+==========================================================================+
92
93 C_CREATED_ERROR CONSTANT BOOLEAN := FALSE;
94 C_CREATED CONSTANT BOOLEAN := TRUE;
95
96 g_Max_line CONSTANT NUMBER := 225;
97 g_chr_quote CONSTANT VARCHAR2(10):='''';
98 g_chr_newline CONSTANT VARCHAR2(10):= fa_cmp_string_pkg.g_chr_newline;
99
100 g_log_level_rec fa_api_types.log_level_rec_type;
101
102 G_CURRENT_RUNTIME_LEVEL NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
103
104 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
105 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
106 G_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
107 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
108 G_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
109 G_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
110
111 G_MODULE_NAME CONSTANT VARCHAR2(50):= 'fa.plsql.fa_xla_cmp_line_pkg.';
112
113
114 FUNCTION GenerateMlsExtract
115 (p_extract_type IN VARCHAR2,
116 p_package_body OUT NOCOPY DBMS_SQL.VARCHAR2S) RETURN BOOLEAN IS
117
118 l_proc_name varchar2(80);
119
120 l_array_pkg DBMS_SQL.VARCHAR2S;
121 l_BodyPkg VARCHAR2(32000);
122 l_array_body DBMS_SQL.VARCHAR2S;
123 l_procedure_name varchar2(80) := 'GenerateLineExtract';
124
125 invalid_mode EXCEPTION;
126
127 BEGIN
128
129 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
130 fnd_log.string(G_LEVEL_PROCEDURE,
131 G_MODULE_NAME||l_procedure_name||'.begin',
132 'Beginning of procedure');
133 END IF;
134
135 l_array_body := fa_cmp_string_pkg.g_null_varchar2s;
136 l_array_pkg := fa_cmp_string_pkg.g_null_varchar2s;
137
138
139 l_proc_name := 'load_mls_data';
140
141 l_bodypkg := C_PRIVATE_API_1;
142 l_bodypkg := REPLACE(l_bodypkg,'$proc_name$',l_proc_name);
143
144 fa_cmp_string_pkg.CreateString
145 (p_package_text => l_BodyPkg
146 ,p_array_string => l_array_pkg);
147
148
149 -- call main util to dynamically determine statements to handle sources
150 if not fa_xla_cmp_sources_pkg.GenerateSourcesExtract
151 (p_extract_type => p_extract_type,
152 p_level => 'MLS',
153 p_package_body => l_array_body) then
154 raise invalid_mode;
155 end if;
156
157 l_array_pkg :=
158 fa_cmp_string_pkg.ConcatTwoStrings
159 (p_array_string_1 => l_array_pkg
160 ,p_array_string_2 => l_array_body);
161
162 -- add the debug for row counts
163 l_bodypkg := C_PRIVATE_API_2;
164
165 fa_cmp_string_pkg.CreateString
166 (p_package_text => l_BodyPkg
167 ,p_array_string => l_array_body);
168
169 l_array_pkg :=
170 fa_cmp_string_pkg.ConcatTwoStrings
171 (p_array_string_1 => l_array_pkg
172 ,p_array_string_2 => l_array_body);
173
174 -- add the closing
175 l_bodypkg := C_PRIVATE_API_3;
176 l_bodypkg := REPLACE(l_bodypkg,'$proc_name$',l_proc_name);
177
178 fa_cmp_string_pkg.CreateString
179 (p_package_text => l_BodyPkg
180 ,p_array_string => l_array_body);
181
182 l_array_pkg :=
183 fa_cmp_string_pkg.ConcatTwoStrings
184 (p_array_string_1 => l_array_pkg
185 ,p_array_string_2 => l_array_body);
186
187 p_package_body := l_array_pkg;
188
189 RETURN TRUE;
190
191 EXCEPTION
192 WHEN invalid_mode THEN
193 RETURN FALSE;
194
195 WHEN OTHERS THEN
196 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
197 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
198 fnd_message.set_token('ORACLE_ERR',SQLERRM);
199 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
200 END IF;
201 RETURN FALSE;
202
203 END GenerateMlsExtract;
204
205 END fa_xla_cmp_mls_pkg;