DBA Data[Home] [Help]

PACKAGE: APPS.XLA_CMP_EXTRACT_PKG

Source


1 PACKAGE xla_cmp_extract_pkg AUTHID CURRENT_USER AS
2 /* $Header: xlacpext.pkh 120.19 2006/08/25 20:46:56 weshen ship $   */
3 /*===========================================================================+
4 |             Copyright (c) 2001-2002 Oracle Corporation                     |
5 |                       Redwood Shores, CA, USA                              |
6 |                         All rights reserved.                               |
7 +============================================================================+
8 | PACKAGE NAME                                                               |
9 |     xla_cmp_extract_pkg                                                    |
10 |                                                                            |
11 | DESCRIPTION                                                                |
12 |     This is a XLA private package, which contains all the logic required   |
13 |     to generate extract from AMB specifcations                             |
14 |                                                                            |
15 |                                                                            |
16 | HISTORY                                                                    |
17 |     25-JUN-2002 K.Boussema    Created                                      |
18 |     19-MAR-2003 K.Boussema    Added amb_context_code                       |
19 |     05-MAI-2003 K.Boussema    Modified to retrieve data base on ledger_id  |
20 |     13-MAI-2003 K.Boussema    Modified the Extract according to bug 2857548|
21 |     17-JUL-2003 K.Boussema    Reviewd the code                             |
22 |     26-AUG-2003 K.Boussema    Reviewd the generation of the extract to     |
23 |                               handle the use of line_number as source      |
24 |     09-OCT-2003 K.Boussema    Changed to accept AADs differents Extract    |
25 |                               specifcations                                |
26 |     22-DEC-2003 K.Boussema    Replaced Extract Validations by a call to    |
27 |                               Extract Integrity Checker routine            |
28 |     12-MAR-2004 K.Boussema    Changed to incorporate the select of lookups |
29 |                               from the extract objects                     |
30 |     20-Sep-2004 S.Singhania   Made ffdg changes for the bulk performance:  |
31 |                                 - Added specs for GenerateHdrStructure,    |
32 |                                   GenerateCacheHdrSources                  |
33 |                                 - Modified specs for GenerateHdrVariables, |
34 |                                   GenerateHeaderCursor, GenerateLineCursor |
35 |     06-Oct-2004 K.Boussema    Made changes for the Accounting Event Extract|
36 |                               Diagnostics feature.                         |
37 |     06-Mar-2005 W. Shen       Ledger Currency Project. Remove ALC object   |
38 +===========================================================================*/
39 --
40 --
41 --+==========================================================================+
42 --|                                                                          |
43 --| PUBLIC FUNCTION                                                          |
44 --|                                                                          |
45 --|   Call Extract Integrity Checker to validate the Extract Objects and     |
46 --|   sources specifications                                                 |
47 --|                                                                          |
48 --|                                                                          |
49 --+==========================================================================+
50 --
51 --
52 FUNCTION CallExtractIntegrityChecker  (
53   p_application_id               IN  NUMBER
54 , p_entity_code                  IN  VARCHAR2
55 , p_event_class_code             IN  VARCHAR2
56 , p_amb_context_code             IN  VARCHAR2
57 , p_product_rule_type_code       IN  VARCHAR2
58 , p_product_rule_code            IN  VARCHAR2
59 --
60 , p_array_evt_source_index       IN xla_cmp_source_pkg.t_array_ByInt
61 --
62 , p_array_application_id         IN xla_cmp_source_pkg.t_array_Num
63 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
64 , p_array_source_type_code       IN xla_cmp_source_pkg.t_array_VL1
65 , p_array_datatype_code          IN xla_cmp_source_pkg.t_array_VL1
66 , p_array_translated_flag        IN xla_cmp_source_pkg.t_array_VL1
67 --
68 , p_array_evt_source_Level       OUT NOCOPY xla_cmp_source_pkg.t_array_VL1
69 --
70 , p_array_object_name            OUT NOCOPY xla_cmp_source_pkg.t_array_VL30
71 , p_array_parent_object_index    OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
72 , p_array_object_type            OUT NOCOPY xla_cmp_source_pkg.t_array_VL30
73 , p_array_object_hash_id         OUT NOCOPY xla_cmp_source_pkg.t_array_VL30
74 , p_array_populated_flag         OUT NOCOPY xla_cmp_source_pkg.t_array_VL1
75 --
76 , p_array_ref_obj_flag           OUT NOCOPY xla_cmp_source_pkg.t_array_VL1
77 , p_array_join_condition         OUT NOCOPY xla_cmp_source_pkg.t_array_VL2000
78 --
79 , p_array_h_source_index         OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
80 , p_array_h_table_index          OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
81 , p_array_h_mls_source_index     OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
82 , p_array_h_mls_table_index      OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
83 , p_array_l_source_index         OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
84 , p_array_l_table_index          OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
85 , p_array_l_mls_source_index     OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
86 , p_array_l_mls_table_index      OUT NOCOPY xla_cmp_source_pkg.t_array_ByInt
87 )
88 RETURN BOOLEAN
89 ;
90 --
91 --+==========================================================================+
92 --|                                                                          |
93 --| PRIVATE  function                                                        |
94 --|                                                                          |
95 --|   Generate the declaration of the sturcture for the line variables       |
96 --|                                                                          |
97 --|                                                                          |
98 --+==========================================================================+
99 --
100 FUNCTION GenerateLineStructure  (
101   p_array_table_name             IN xla_cmp_source_pkg.t_array_VL30
102 --
103 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
104 --
105 , p_array_l_source_index         IN xla_cmp_source_pkg.t_array_ByInt
106 , p_array_l_table_index          IN xla_cmp_source_pkg.t_array_ByInt
107 --
108 , p_array_l_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
109 , p_array_l_mls_table_index      IN xla_cmp_source_pkg.t_array_ByInt
110 --
111 --
112 )
113 RETURN VARCHAR2
114 ;
115 --
116 --+==========================================================================+
117 --|                                                                          |
118 --| PRIVATE  function                                                        |
119 --|                                                                          |
120 --|    Generate the Declaration of header variables                          |
121 --|                                                                          |
122 --+==========================================================================+
123 --
124 FUNCTION GenerateHdrVariables
125        (p_array_h_source_index         IN xla_cmp_source_pkg.t_array_ByInt
126        ,p_array_h_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
127        ,p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
128        ,p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
129        ,p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num)
130 RETURN VARCHAR2;
131 
132 --
133 --+==========================================================================+
134 --|                                                                          |
135 --| PRIVATE  function                                                        |
136 --|                                                                          |
137 --|   Generate Fetch on header cursor into header variables                  |
138 --|                                                                          |
139 --+==========================================================================+
140 --
141 FUNCTION GenerateFetchHeaderCursor  (
142   p_array_h_source_index         IN xla_cmp_source_pkg.t_array_ByInt
143 , p_array_h_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
144 --
145 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
146 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
147 )
148 RETURN VARCHAR2
149 ;
150 --
151 --+==========================================================================+
152 --|                                                                          |
153 --| PRIVATE  function                                                        |
154 --|                                                                          |
155 --|    Generate the Declaration of line variables                            |
156 --|                                                                          |
157 --+==========================================================================+
158 --
159 --
160 FUNCTION GenerateLineVariables(
161   p_array_l_source_index         IN xla_cmp_source_pkg.t_array_ByInt
162 , p_array_l_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
163 --
164 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
165 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
166 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
167 )
168 RETURN VARCHAR2
169 ;
170 --
171 --+==========================================================================+
172 --|                                                                          |
173 --| PRIVATE  function                                                        |
174 --|                                                                          |
175 --|   Generate Fetch on Line cursor into header variables                    |
176 --|                                                                          |
177 --+==========================================================================+
178 --
179 FUNCTION GenerateFetchLineCursor(
180   p_array_l_source_index         IN xla_cmp_source_pkg.t_array_ByInt
181 , p_array_l_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
182 --
183 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
184 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
185 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
186 )
187 RETURN VARCHAR2
188 ;
189 
190 --
191 --+==========================================================================+
192 --|                                                                          |
193 --| PRIVATE  function                                                        |
194 --|                                                                          |
195 --|    Generate the declaration of the header Cursor : The Extract of        |
196 --|    standard and MLS header sources from the Header Extract Object        |
197 --|                                                                          |
198 --|                                                                          |
199 --+==========================================================================+
200 --
201 FUNCTION GenerateHeaderCursor  (
202 --
203   p_array_table_name             IN xla_cmp_source_pkg.t_array_VL30
204 , p_array_parent_table_index     IN xla_cmp_source_pkg.t_array_ByInt
205 , p_array_table_hash             IN xla_cmp_source_pkg.t_array_VL30
206 , p_array_populated_flag         IN xla_cmp_source_pkg.t_array_VL1
207 --
208 , p_array_ref_obj_flag           IN xla_cmp_source_pkg.t_array_VL1
209 , p_array_join_condition         IN xla_cmp_source_pkg.t_array_VL2000
210 --
211 , p_array_h_source_index         IN xla_cmp_source_pkg.t_array_ByInt
212 , p_array_h_table_index          IN xla_cmp_source_pkg.t_array_ByInt
213 --
214 , p_array_h_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
215 , p_array_h_mls_table_index      IN xla_cmp_source_pkg.t_array_ByInt
216 --
217 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
218 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
219 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
220 , p_procedure                    IN VARCHAR2)
221 RETURN VARCHAR2
222 ;
223 --
224 --+==========================================================================+
225 --|                                                                          |
229 --|    standard BC and MLS line sources from the Header Extract Object       |
226 --| PRIVATE  function                                                        |
227 --|                                                                          |
228 --|    Generate the declaration of the Line Cursor : The Extract of          |
230 --|                                                                          |
231 --|                                                                          |
232 --+==========================================================================+
233 --
234 FUNCTION GenerateLineCursor  (
235   p_application_id               IN NUMBER
236 --
237 , p_array_table_name             IN xla_cmp_source_pkg.t_array_VL30
238 , p_array_parent_table_index     IN xla_cmp_source_pkg.t_array_ByInt
239 , p_array_table_hash             IN xla_cmp_source_pkg.t_array_VL30
240 , p_array_populated_flag         IN xla_cmp_source_pkg.t_array_VL1
241 --
242 , p_array_ref_obj_flag           IN xla_cmp_source_pkg.t_array_VL1
243 , p_array_join_condition         IN xla_cmp_source_pkg.t_array_VL2000
244 --
245 , p_array_l_source_index         IN xla_cmp_source_pkg.t_array_ByInt
246 , p_array_l_table_index          IN xla_cmp_source_pkg.t_array_ByInt
247 --
248 , p_array_l_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
249 , p_array_l_mls_table_index      IN xla_cmp_source_pkg.t_array_ByInt
250 --
251 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
252 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
253 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
254 , p_procedure                    IN VARCHAR2)
255 RETURN VARCHAR2
256 ;
257 --
258 --+==========================================================================+
259 --|                                                                          |
260 --| PRIVATE  function                                                        |
261 --|                                                                          |
262 --|                                                                          |
263 --|                                                                          |
264 --+==========================================================================+
265 FUNCTION GenerateHdrStructure
266        (p_array_table_name             IN xla_cmp_source_pkg.t_array_VL30
267        ,p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
268        ,p_array_h_source_index         IN xla_cmp_source_pkg.t_array_ByInt
269        ,p_array_h_table_index          IN xla_cmp_source_pkg.t_array_ByInt
270        ,p_array_h_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
271        ,p_array_h_mls_table_index      IN xla_cmp_source_pkg.t_array_ByInt)
272 RETURN VARCHAR2;
273 --
274 --
275 --+==========================================================================+
276 --|                                                                          |
277 --| PRIVATE  function                                                        |
278 --|                                                                          |
279 --|                                                                          |
280 --|                                                                          |
281 --+==========================================================================+
282 FUNCTION GenerateCacheHdrSources
283        (p_array_h_source_index         IN xla_cmp_source_pkg.t_array_ByInt
284        ,p_array_h_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
285        ,p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
286        ,p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
287        ,p_array_datatype_code          IN OUT NOCOPY xla_cmp_source_pkg.t_array_VL1)
288 RETURN VARCHAR2;
289 --
290 
291 --
292 --===========================================================================
293 --
294 --
295 --
296 --
297 --
298 --
299 --
300 --
301 --
302 --
303 --                     Accounting Event Extract Diagnostics
304 --
305 --
306 --
307 --
308 --
309 --
310 --
311 --
312 --
313 --
314 --
315 --============================================================================
316 --
317 --
318 --+==========================================================================+
319 --|                                                                          |
320 --| PUBLIC function                                                          |
321 --|                                                                          |
322 --|    Generate the INSERT SQL statement used by the Extract Source Values   |
323 --|    Dump to insert the header source values into xla_extract_sources      |
324 --|                                                                          |
325 --|                                                                          |
326 --+==========================================================================+
327 --
328 FUNCTION GenerateInsertHdrSources  (
329 --
330   p_array_table_name             IN xla_cmp_source_pkg.t_array_VL30
331 , p_array_parent_table_index     IN xla_cmp_source_pkg.t_array_ByInt
332 , p_array_table_hash             IN xla_cmp_source_pkg.t_array_VL30
333 , p_array_table_type             IN xla_cmp_source_pkg.t_array_VL30
334 , p_array_populated_flag         IN xla_cmp_source_pkg.t_array_VL1
335 --
336 , p_array_ref_obj_flag           IN xla_cmp_source_pkg.t_array_VL1
337 , p_array_join_condition         IN xla_cmp_source_pkg.t_array_VL2000
338 --
342 , p_array_h_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
339 , p_array_h_source_index         IN xla_cmp_source_pkg.t_array_ByInt
340 , p_array_h_table_index          IN xla_cmp_source_pkg.t_array_ByInt
341 --
343 , p_array_h_mls_table_index      IN xla_cmp_source_pkg.t_array_ByInt
344 --
345 , p_array_application_id         IN xla_cmp_source_pkg.t_array_Num
346 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
347 , p_array_source_type_code       IN xla_cmp_source_pkg.t_array_VL1
348 , p_array_flex_value_set_id      IN xla_cmp_source_pkg.t_array_Num
349 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
350 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
351 --
352 , p_procedure                    IN VARCHAR2
353 )
354 RETURN CLOB
355 ;
356 
357 --+==========================================================================+
358 --|                                                                          |
359 --| PUBLIC function                                                          |
360 --|                                                                          |
361 --|    Generate the INSERT SQL statement used by the Extract Source Values   |
362 --|    Dump to insert the line source values into xla_extract_sources        |
363 --|                                                                          |
364 --|                                                                          |
365 --+==========================================================================+
366 --
367 FUNCTION GenerateInsertLineSources  (
368 --
369   p_array_table_name             IN xla_cmp_source_pkg.t_array_VL30
370 , p_array_parent_table_index     IN xla_cmp_source_pkg.t_array_ByInt
371 , p_array_table_hash             IN xla_cmp_source_pkg.t_array_VL30
372 , p_array_table_type             IN xla_cmp_source_pkg.t_array_VL30
373 , p_array_populated_flag         IN xla_cmp_source_pkg.t_array_VL1
374 --
375 , p_array_ref_obj_flag           IN xla_cmp_source_pkg.t_array_VL1
376 , p_array_join_condition         IN xla_cmp_source_pkg.t_array_VL2000
377 --
378 , p_array_l_source_index         IN xla_cmp_source_pkg.t_array_ByInt
379 , p_array_l_table_index          IN xla_cmp_source_pkg.t_array_ByInt
380 --
381 , p_array_l_mls_source_index     IN xla_cmp_source_pkg.t_array_ByInt
382 , p_array_l_mls_table_index      IN xla_cmp_source_pkg.t_array_ByInt
383 --
384 , p_array_application_id         IN xla_cmp_source_pkg.t_array_Num
385 , p_array_source_code            IN xla_cmp_source_pkg.t_array_VL30
386 , p_array_source_type_code       IN xla_cmp_source_pkg.t_array_VL1
387 , p_array_flex_value_set_id      IN xla_cmp_source_pkg.t_array_Num
388 , p_array_lookup_type            IN xla_cmp_source_pkg.t_array_VL30
389 , p_array_view_application_id    IN xla_cmp_source_pkg.t_array_Num
390 --
391 ,p_procedure                     IN VARCHAR2
392 )
393 RETURN CLOB
394 ;
395 
396 
397 END xla_cmp_extract_pkg; -- end of package spec