DBA Data[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