[Home] [Help]
PACKAGE BODY: APPS.FA_XLA_EXTRACT_DEF_PKG
Source
1 PACKAGE BODY FA_XLA_EXTRACT_DEF_PKG AS
2
3 /*======================================================================+
4 | Copyright (c) 1997 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | Package Name |
9 | FA_XLA_EXTRACT_DEF_PKG |
10 | |
11 | DESCRIPTION |
12 | Package generated From FA AAD setups |
13 | |
14 | HISTORY |
15 | Generated at 30-03-2009 at 05:03:41 by user ANONYMOUS |
16 +=======================================================================*/
17
18
19 -- TYPES
20 -- globals / constants
21
22 G_CURRENT_RUNTIME_LEVEL NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
23
24 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
25 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
26 G_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
27 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
28 G_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
29 G_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
30
31 G_MODULE_NAME CONSTANT VARCHAR2(50):= 'fa.plsql.fa_xla_extract_trx_pkg.';
32
33
34 --+============================================+
35 --| |
36 --| PRIVATE PROCEDURES/FUNCTIONS |
37 --| |
38 --+============================================+
39
40
41
42 /*======================================================================+
43 | |
44 | Private Function |
45 | load_header_data |
46 | |
47 +======================================================================*/
48
49 PROCEDURE load_header_data IS
50
51 l_procedure_name varchar2(80) := 'load_header_data';
52
53 BEGIN
54
55 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
56 fnd_log.string(G_LEVEL_PROCEDURE,
57 G_MODULE_NAME||l_procedure_name||'.begin',
58 'Beginning of procedure');
59 END IF;
60
61
62 insert into fa_xla_ext_headers_b_gt (
63 event_id ,
64 DEFAULT_CCID ,
65 BOOK_TYPE_CODE ,
66 PERIOD_NAME ,
67 PERIOD_CLOSE_DATE ,
68 PERIOD_COUNTER ,
69 ACCOUNTING_DATE ,
70 TRANSFER_TO_GL_FLAG ,
71 DEFERRED_DEPRN_EXPENSE_ACCT,
72 DEFERRED_DEPRN_RESERVE_ACCT )
73 select ctlgd.event_id,
74 bc.FLEXBUILDER_DEFAULTS_CCID ,
75 bc.book_type_code ,
76 dp.PERIOD_NAME ,
77 dp.CALENDAR_PERIOD_CLOSE_DATE ,
78 dp.PERIOD_COUNTER ,
79 ctlgd.event_date ,
80 'Y' ,
81 bc.DEFERRED_DEPRN_EXPENSE_ACCT,
82 bc.DEFERRED_DEPRN_RESERVE_ACCT
83 FROM xla_events_gt ctlgd,
84 fa_deprn_periods dp,
85 fa_book_controls bc
86 WHERE ctlgd.entity_code = 'DEFERRED_DEPRECIATION'
87 AND ctlgd.event_type_code = 'DEFERRED_DEPRECIATION'
88 AND bc.book_type_code = ctlgd.source_id_char_1
89 AND dp.book_type_code = ctlgd.source_id_char_1
90 AND dp.period_counter = ctlgd.source_id_int_2 ;
91
92
93 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
94 fnd_log.string(G_LEVEL_PROCEDURE,
95 G_MODULE_NAME||l_procedure_name,
96 'Rows inserted into headers: ' || to_char(SQL%ROWCOUNT));
97 END IF;
98
99
100
101 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
102 fnd_log.string(G_LEVEL_PROCEDURE,
103 G_MODULE_NAME||l_procedure_name||'.end',
104 'End of procedure');
105 END IF;
106
107 EXCEPTION
108 WHEN others THEN
109 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
110 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
111 fnd_message.set_token('ORACLE_ERR',SQLERRM);
112 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
113 END IF;
114 raise;
115
116 end load_header_data;
117
118
119
120 /*======================================================================+
121 | |
122 | Private Function |
123 | load_line_data |
124 | |
125 +======================================================================*/
126
127 PROCEDURE load_line_data IS
128
129 l_procedure_name varchar2(80) := 'load_line_data';
130
131 BEGIN
132
133 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
134 fnd_log.string(G_LEVEL_PROCEDURE,
135 G_MODULE_NAME||l_procedure_name||'.begin',
136 'Beginning of procedure');
137 END IF;
138
139
140 insert into fa_xla_ext_lines_b_gt (
141 EVENT_ID ,
142 LINE_NUMBER ,
143 DISTRIBUTION_ID ,
144 DISTRIBUTION_TYPE_CODE ,
145 LEDGER_ID ,
146 CURRENCY_CODE ,
147 ENTERED_AMOUNT ,
148 BOOK_TYPE_CODE ,
149 TAX_BOOK_TYPE_CODE ,
150 GENERATED_CCID ,
151 GENERATED_OFFSET_CCID ,
152 ASSET_ID,
153 EXPENSE_ACCOUNT_CCID )
154 select ctlgd.EVENT_ID ,
155 df.distribution_id as distribution_id,
156 df.distribution_id as dist_id,
157 'DEFERRED' ,
158 bc.set_of_books_id ,
159 le.currency_code ,
160 df.deferred_deprn_expense_amount ,
161 df.corp_book_type_code ,
162 df.tax_book_type_code ,
163 df.deferred_deprn_expense_ccid ,
164 df.deferred_deprn_reserve_ccid ,
165 ad.ASSET_ID,
166 dh.CODE_COMBINATION_ID
167 from fa_additions_b ad,
168 fa_asset_history ah,
169 fa_book_controls bc,
170 fa_category_books cb,
171 fa_distribution_history dh,
172 fa_deferred_deprn df,
173 gl_ledgers le,
174 xla_events_gt ctlgd
175 where ctlgd.entity_code = 'DEFERRED_DEPRECIATION'
176 AND ctlgd.event_type_code = 'DEFERRED_DEPRECIATION'
177 AND df.asset_id = ctlgd.source_id_int_1
178 AND df.corp_book_type_code = ctlgd.source_id_char_1
179 AND df.corp_period_counter = ctlgd.source_id_int_2
180 AND df.tax_book_type_code = ctlgd.source_id_char_2
181 AND df.event_id = ctlgd.event_id
182 AND ad.asset_id = ctlgd.source_id_int_1
183 AND dh.distribution_id = df.distribution_id
184 AND ah.asset_id = ctlgd.source_id_int_1
185 AND AH.Date_Effective < nvl(DH.Date_ineffective, SYSDATE)
186 AND nvl(DH.Date_ineffective, SYSDATE) <=
187 nvl(AH.Date_ineffective, SYSDATE)
188 AND cb.category_id = ah.category_id
189 AND cb.book_type_code = ctlgd.source_id_char_1
190 AND ah.asset_type in ('CAPITALIZED', 'GROUP')
191 AND ad.asset_type in ('CAPITALIZED', 'GROUP')
192 AND bc.book_type_code = ctlgd.source_id_char_1
193 AND le.ledger_id = bc.set_of_books_id ;
194
195 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
196 fnd_log.string(G_LEVEL_PROCEDURE,
197 G_MODULE_NAME||l_procedure_name,
198 'Rows inserted into lines: ' || to_char(SQL%ROWCOUNT));
199 END IF;
200
201
202
203 if (fa_xla_extract_util_pkg.G_alc_enabled) then
204
205
206
207 insert into fa_xla_ext_lines_b_gt (
208 EVENT_ID ,
209 LINE_NUMBER ,
210 DISTRIBUTION_ID ,
211 DISTRIBUTION_TYPE_CODE ,
212 LEDGER_ID ,
213 CURRENCY_CODE ,
214 ENTERED_AMOUNT ,
215 BOOK_TYPE_CODE ,
216 TAX_BOOK_TYPE_CODE ,
217 GENERATED_CCID ,
218 GENERATED_OFFSET_CCID ,
219 ASSET_ID,
220 EXPENSE_ACCOUNT_CCID )
221 select ctlgd.EVENT_ID ,
222 df.distribution_id as distribution_id,
223 df.distribution_id as dist_id,
224 'DEFERRED' ,
225 bc.set_of_books_id ,
226 le.currency_code ,
227 df.deferred_deprn_expense_amount ,
228 df.corp_book_type_code ,
229 df.tax_book_type_code ,
230 df.deferred_deprn_expense_ccid ,
231 df.deferred_deprn_reserve_ccid ,
232 ad.ASSET_ID,
233 dh.CODE_COMBINATION_ID
234 from fa_additions_b ad,
235 fa_asset_history ah,
236 fa_mc_book_controls bc,
237 fa_category_books cb,
238 fa_distribution_history dh,
239 fa_mc_deferred_deprn df,
240 gl_ledgers le,
241 xla_events_gt ctlgd
242 where ctlgd.entity_code = 'DEFERRED_DEPRECIATION'
243 AND ctlgd.event_type_code = 'DEFERRED_DEPRECIATION'
244 AND df.asset_id = ctlgd.source_id_int_1
245 AND df.corp_book_type_code = ctlgd.source_id_char_1
246 AND df.corp_period_counter = ctlgd.source_id_int_2
247 AND df.tax_book_type_code = ctlgd.source_id_char_2
248 AND df.event_id = ctlgd.event_id
249 AND ad.asset_id = ctlgd.source_id_int_1
250 AND dh.distribution_id = df.distribution_id
251 AND ah.asset_id = ctlgd.source_id_int_1
252 AND AH.Date_Effective < nvl(DH.Date_ineffective, SYSDATE)
253 AND nvl(DH.Date_ineffective, SYSDATE) <=
254 nvl(AH.Date_ineffective, SYSDATE)
255 AND cb.category_id = ah.category_id
256 AND cb.book_type_code = ctlgd.source_id_char_1
257 AND ah.asset_type in ('CAPITALIZED', 'GROUP')
258 AND ad.asset_type in ('CAPITALIZED', 'GROUP')
259 AND bc.book_type_code = ctlgd.source_id_char_1
260 AND le.ledger_id = bc.set_of_books_id
261 AND df.set_of_books_id = bc.set_of_books_id;
262
263 end if;
264
265
266 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
267 fnd_log.string(G_LEVEL_PROCEDURE,
268 G_MODULE_NAME||l_procedure_name,
269 'Rows inserted into lines: ' || to_char(SQL%ROWCOUNT));
270 END IF;
271
272
273
274 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
275 fnd_log.string(G_LEVEL_PROCEDURE,
276 G_MODULE_NAME||l_procedure_name||'.end',
277 'End of procedure');
278 END IF;
279
280 EXCEPTION
281 WHEN others THEN
282 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
283 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
284 fnd_message.set_token('ORACLE_ERR',SQLERRM);
285 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
286 END IF;
287 raise;
288
289 end load_line_data;
290
291
292
293 /*======================================================================+
294 | |
295 | Private Function |
296 | load_mls_data |
297 | |
298 +======================================================================*/
299
300 PROCEDURE load_mls_data IS
301
302 l_procedure_name varchar2(80) := 'load_mls_data';
303
304 BEGIN
305
306 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
307 fnd_log.string(G_LEVEL_PROCEDURE,
308 G_MODULE_NAME||l_procedure_name||'.begin',
309 'Beginning of procedure');
310 END IF;
311
312 return;
313
314 IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
315 fnd_log.string(G_LEVEL_PROCEDURE,
316 G_MODULE_NAME||l_procedure_name,
317 'Rows inserted into mls: ' || to_char(SQL%ROWCOUNT));
318 END IF;
319
320
321
322 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
323 fnd_log.string(G_LEVEL_PROCEDURE,
324 G_MODULE_NAME||l_procedure_name||'.end',
325 'End of procedure');
326 END IF;
327
328 EXCEPTION
329 WHEN others THEN
330 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
331 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
332 fnd_message.set_token('ORACLE_ERR',SQLERRM);
333 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
334 END IF;
335 raise;
336
337 end load_mls_data;
338
339
340
341 /*======================================================================+
342 | |
343 | Private Function |
344 | Load_Generated_Ccids |
345 | |
346 +======================================================================*/
347
348 ----------------------------------------------------
349 --
350 -- Account Generator Hook
351 --
352 ----------------------------------------------------
353 PROCEDURE Load_Generated_Ccids
354 (p_log_level_rec IN FA_API_TYPES.log_level_rec_type) IS
355
356 l_mesg_count number := 0;
357 l_mesg_len number;
358 l_mesg varchar2(4000);
359
360 l_procedure_name varchar2(80) := 'fa_xla_extract_def_pkg.load_generated_ccids'; -- BMR make this dynamic on type
361
362 type char_tab_type is table of varchar2(64) index by binary_integer;
363 type num_tab_type is table of number index by binary_integer;
364
365
366
367
368 type def_deprn_rec_type is record
369 (rowid VARCHAR2(64),
370 book_type_code VARCHAR2(15),
371 distribution_id NUMBER(15),
372 distribution_ccid NUMBER(15),
373 def_deprn_entered_amount NUMBER,
374 generated_ccid NUMBER(15),
375 generated_offset_ccid NUMBER(15),
376 DEF_DEPRN_EXPENSE_ACCT VARCHAR2(25),
377 DEF_DEPRN_RESERVE_ACCT VARCHAR2(25)
378 );
379
380 type def_deprn_tbl_type is table of def_deprn_rec_type index by binary_integer;
381
382 l_def_deprn_tbl def_deprn_tbl_type;
383
384 l_generated_ccid num_tab_type;
385 l_generated_offset_ccid num_tab_type;
386 l_rowid char_tab_type;
387
388 l_last_book varchar2(15) := ' ';
389
390 cursor c_def_deprn is
391 select /*+ leading(xg) index(xb, FA_XLA_EXT_HEADERS_B_GT_U1) index(xl, FA_XLA_EXT_LINES_B_GT_U1) */
392 xl.rowid,
393 xb.book_type_code,
394 xl.distribution_id,
395 xl.EXPENSE_ACCOUNT_CCID,
396 xl.entered_amount,
397 nvl(xl.generated_ccid, da.DEFERRED_EXP_ACCOUNT_CCID),
398 nvl(xl.generated_offset_ccid, da.DEFERRED_RSV_ACCOUNT_CCID),
399 xb.DEFERRED_DEPRN_EXPENSE_ACCT,
400 xb.DEFERRED_DEPRN_RESERVE_ACCT
401 from xla_events_gt xg,
402 fa_xla_ext_headers_b_gt xb,
403 fa_xla_ext_lines_b_gt xl,
404 fa_distribution_accounts da
405 where xg.event_class_code = 'DEFERRED DEPRECIATION'
406 and xb.event_id = xg.event_id
407 and xl.event_id = xg.event_id
408 and xl.distribution_id = da.distribution_id(+)
409 and xl.tax_book_type_code = da.book_type_code(+);
410
411
412
413 BEGIN
414
415 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
416 fnd_log.string(G_LEVEL_PROCEDURE,
417 G_MODULE_NAME||l_procedure_name||'.begin',
418 'Beginning of procedure');
419 END IF;
420
421 open c_def_deprn;
422 fetch c_def_deprn bulk collect into l_def_deprn_tbl;
423 close c_def_deprn;
424
425 for i in 1..l_def_deprn_tbl.count loop
426
427 if (l_last_book <> l_def_deprn_tbl(i).book_type_code or
428 i = 1) then
429
430 if not (fa_cache_pkg.fazcbc
431 (X_BOOK => l_def_deprn_tbl(i).book_type_code,
432 P_LOG_LEVEL_REC => p_log_level_rec)) then
433 null;
434
435 end if;
436 l_last_book := l_def_deprn_tbl(i).book_type_code;
437 end if;
438
439
440 -- call FAFBGCC if the ccid doesnt exist in distribution accounts
441
442 if (l_def_deprn_tbl(i).generated_ccid is null and
443 l_def_deprn_tbl(i).def_deprn_entered_amount <> 0) then
444
445 if (not FA_GCCID_PKG.fafbgcc
446 (X_book_type_code => l_def_deprn_tbl(i).book_type_code,
447 X_fn_trx_code => 'DEFERRED_DEPRN_EXPENSE_ACCT',
448 X_dist_ccid => l_def_deprn_tbl(i).distribution_ccid,
449 X_acct_segval => l_def_deprn_tbl(i).def_deprn_expense_acct,
450 X_account_ccid => 0,
451 X_distribution_id => l_def_deprn_tbl(i).distribution_id,
452 X_rtn_ccid => l_def_deprn_tbl(i).generated_ccid,
453 P_LOG_LEVEL_REC => p_log_level_rec)) then
454 FA_SRVR_MSG.ADD_MESSAGE
455 (NAME => 'FA_GET_ACCOUNT_CCID',
456 CALLING_FN => 'fa_xla_extract_def_pkg.Load_Generated_Ccids',
457 P_LOG_LEVEL_REC => p_log_level_rec);
458 l_def_deprn_tbl(i).generated_ccid := -1;
459 end if;
460 end if;
461
462 if (l_def_deprn_tbl(i).generated_offset_ccid is null and
463 l_def_deprn_tbl(i).def_deprn_entered_amount <> 0) then
464
465
466 if (not FA_GCCID_PKG.fafbgcc
467 (X_book_type_code => l_def_deprn_tbl(i).book_type_code,
468 X_fn_trx_code => 'DEFERRED_DEPRN_RESERVE_ACCT',
469 X_dist_ccid => l_def_deprn_tbl(i).distribution_ccid,
470 X_acct_segval => l_def_deprn_tbl(i).def_deprn_reserve_acct,
471 X_account_ccid => 0,
472 X_distribution_id => l_def_deprn_tbl(i).distribution_id,
473 X_rtn_ccid => l_def_deprn_tbl(i).generated_offset_ccid,
474 P_LOG_LEVEL_REC => p_log_level_rec)) then
475
476 FA_SRVR_MSG.ADD_MESSAGE
477 (NAME => 'FA_GET_ACCOUNT_CCID',
478 CALLING_FN => 'fa_xla_extract_def_pkg.Load_Generated_Ccids',
479 P_LOG_LEVEL_REC => p_log_level_rec);
480 l_def_deprn_tbl(i).generated_offset_ccid := -1;
481 end if;
482 end if;
483
484 end loop;
485
486 for i in 1.. l_def_deprn_tbl.count loop
487
488 l_generated_ccid(i) := l_def_deprn_tbl(i).generated_ccid;
489 l_generated_offset_ccid(i) := l_def_deprn_tbl(i).generated_offset_ccid;
490 l_rowid(i) := l_def_deprn_tbl(i).rowid;
491
492 end loop;
493
494 forall i in 1..l_def_deprn_tbl.count
495 update fa_xla_ext_lines_b_gt
496 set generated_ccid = l_generated_ccid(i),
497 generated_offset_ccid = l_generated_offset_ccid(i)
498 where rowid = l_rowid(i);
499
500
501 --
502
503 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
504 fnd_log.string(G_LEVEL_PROCEDURE,
505 G_MODULE_NAME||l_procedure_name||'.end',
506 'End of procedure');
507 END IF;
508
509 EXCEPTION
510 WHEN others THEN
511 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
512 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
513 fnd_message.set_token('ORACLE_ERR',SQLERRM);
514 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
515 END IF;
516 raise;
517
518 END load_generated_ccids;
519
520
521
522 /*======================================================================+
523 | |
524 | Public Function |
525 | Lock_Data |
526 | |
527 +======================================================================*/
528
529 --------------------------------------------------
530 -- Main Load Routine --
531 --------------------------------------------------
532 PROCEDURE load_data IS
533
534 l_log_level_rec FA_API_TYPES.log_level_rec_type;
535 l_use_fafbgcc varchar2(25);
536 l_procedure_name varchar2(80) := 'load_data'; -- BMR make this dynamic on type
537 error_found EXCEPTION;
538
539 BEGIN
540
541 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
542 fnd_log.string(G_LEVEL_PROCEDURE,
543 G_MODULE_NAME||l_procedure_name||'.begin',
544 'Beginning of procedure');
545 END IF;
546
547
548
549 Load_header_data;
550 Load_line_data;
551 Load_mls_data;
552
553
554
555
556 fnd_profile.get ('FA_WF_GENERATE_CCIDS', l_use_fafbgcc);
557 if (nvl(l_use_fafbgcc, 'N') = 'Y') then
558 if (NOT fa_util_pub.get_log_level_rec (
559 x_log_level_rec => l_log_level_rec)) then raise error_found;
560 end if;
561
562 Load_Generated_Ccids
563 (p_log_level_rec => l_log_level_rec);
564 end if;
565
566
567
568
569
570 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
571 fnd_log.string(G_LEVEL_PROCEDURE,
572 G_MODULE_NAME||l_procedure_name||'.end',
573 'End of procedure');
574 END IF;
575
576 EXCEPTION
577 WHEN error_found THEN
578 IF (G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
579 FND_LOG.string (G_LEVEL_ERROR,
580 G_MODULE_NAME||l_procedure_name,
581 'ended in error');
582 END IF;
583 raise;
584
585 WHEN others THEN
586 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
587 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
588 fnd_message.set_token('ORACLE_ERR',SQLERRM);
589 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
590 END IF;
591 raise;
592
593 END load_data;
594
595
596
597 END FA_XLA_EXTRACT_DEF_PKG;
598