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 13-08-2013 at 07:08:29 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_def_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       if (not fa_xla_extract_util_pkg.G_secondary_special) then
63 
64 
65 
66     insert into fa_xla_ext_headers_b_gt (
67            event_id                                ,
68            DEFAULT_CCID                            ,
69            BOOK_TYPE_CODE                          ,
70            PERIOD_NAME                             ,
71            PERIOD_CLOSE_DATE                       ,
72            PERIOD_COUNTER                          ,
73            ACCOUNTING_DATE                         ,
74            TRANSFER_TO_GL_FLAG                     ,
75            DEFERRED_DEPRN_EXPENSE_ACCT,
76            DEFERRED_DEPRN_RESERVE_ACCT )
77     select ctlgd.event_id,
78            bc.FLEXBUILDER_DEFAULTS_CCID            ,
79            bc.book_type_code                       ,
80            dp.PERIOD_NAME                          ,
81            dp.CALENDAR_PERIOD_CLOSE_DATE           ,
82            dp.PERIOD_COUNTER                       ,
83            ctlgd.event_date                        ,
84            'Y'                                   ,
85            bc.DEFERRED_DEPRN_EXPENSE_ACCT,
86            bc.DEFERRED_DEPRN_RESERVE_ACCT
87       FROM xla_events_gt                 ctlgd,
88            fa_deprn_periods              dp,
89            fa_book_controls              bc 
90      WHERE ctlgd.entity_code         = 'DEFERRED_DEPRECIATION'
91        AND ctlgd.event_type_code     = 'DEFERRED_DEPRECIATION'
92        AND bc.book_type_code         = ctlgd.source_id_char_1
93        AND dp.book_type_code         = ctlgd.source_id_char_1
94        AND dp.period_counter         = ctlgd.source_id_int_2 
95        AND bc.set_of_books_id  = ctlgd.ledger_id ;
96 
97       IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
98          fnd_log.string(G_LEVEL_PROCEDURE,
99                         G_MODULE_NAME||l_procedure_name,
100                         'Rows inserted into headers: ' || to_char(SQL%ROWCOUNT));
101       END IF;
102 
103 
104 
105       end if; 
106 
107       if (fa_xla_extract_util_pkg.G_secondary_special) then
108 
109 
110 
111     insert into fa_xla_ext_headers_b_gt (
112            event_id                                ,
113            DEFAULT_CCID                            ,
114            BOOK_TYPE_CODE                          ,
115            PERIOD_NAME                             ,
116            PERIOD_CLOSE_DATE                       ,
117            PERIOD_COUNTER                          ,
118            ACCOUNTING_DATE                         ,
119            TRANSFER_TO_GL_FLAG                     ,
120            DEFERRED_DEPRN_EXPENSE_ACCT,
121            DEFERRED_DEPRN_RESERVE_ACCT )
122     select ctlgd.event_id,
123            bc.FLEXBUILDER_DEFAULTS_CCID            ,
124            bc.book_type_code                       ,
125            dp.PERIOD_NAME                          ,
126            dp.CALENDAR_PERIOD_CLOSE_DATE           ,
127            dp.PERIOD_COUNTER                       ,
128            ctlgd.event_date                        ,
129            'Y'                                   ,
130            bc.DEFERRED_DEPRN_EXPENSE_ACCT,
131            bc.DEFERRED_DEPRN_RESERVE_ACCT
132       FROM xla_events_gt                 ctlgd,
133            fa_deprn_periods              dp,
134            fa_book_controls              bc , 
135            fa_mc_book_controls mcbc , 
136            gl_ledgers le 
137      WHERE ctlgd.entity_code         = 'DEFERRED_DEPRECIATION'
138        AND ctlgd.event_type_code     = 'DEFERRED_DEPRECIATION'
139        AND bc.book_type_code         = ctlgd.source_id_char_1
140        AND dp.book_type_code         = ctlgd.source_id_char_1
141        AND dp.period_counter         = ctlgd.source_id_int_2 
142        AND mcbc.book_type_code   = bc.book_type_code 
143        AND mcbc.set_of_books_id  = ctlgd.ledger_id 
144        AND le.ledger_id          = mcbc.set_of_books_id ;
145 
146       IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
147          fnd_log.string(G_LEVEL_PROCEDURE,
148                         G_MODULE_NAME||l_procedure_name,
149                         'Rows inserted into headers: ' || to_char(SQL%ROWCOUNT));
150       END IF;
151 
152 
153 
154       end if; 
155 
156 
157       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
158          fnd_log.string(G_LEVEL_PROCEDURE,
159                         G_MODULE_NAME||l_procedure_name||'.end',
160                         'End of procedure');
161       END IF;
162 
163    EXCEPTION
164       WHEN others THEN
165            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
166               fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
167               fnd_message.set_token('ORACLE_ERR',SQLERRM);
168               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
169            END IF;
170            raise;
171 
172    end load_header_data;
173 
174 
175 
176 /*======================================================================+
177 |                                                                       |
178 | Private Function                                                      |
179 |    load_line_data                                                        |
180 |                                                                       |
181 +======================================================================*/
182 
183   PROCEDURE load_line_data IS
184 
185      l_procedure_name  varchar2(80) := 'load_line_data';
186      l_secondary       number := 0;
187 
188   BEGIN
189 
190      IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
191         fnd_log.string(G_LEVEL_PROCEDURE,
192                        G_MODULE_NAME||l_procedure_name||'.begin',
193                        'Beginning of procedure');
194      END IF;
195 
196      IF (fa_xla_extract_util_pkg.G_secondary_special) THEN
197         l_secondary := 1;
198      END IF;
199 
200 
201       if (not fa_xla_extract_util_pkg.G_secondary_special) then
202 
203 
204 
205     insert into fa_xla_ext_lines_b_gt (
206            EVENT_ID                             ,
207            LINE_NUMBER                          ,
208            DISTRIBUTION_ID                      ,
209            DISTRIBUTION_TYPE_CODE               ,
210            LEDGER_ID                            ,
211            CURRENCY_CODE                        ,
212            CAT_ID                               ,
213            ENTERED_AMOUNT                       ,
214            BOOK_TYPE_CODE                       ,
215            TAX_BOOK_TYPE_CODE                   ,
216            GENERATED_CCID                       ,
217            GENERATED_OFFSET_CCID                ,
218            ASSET_ID,
219            EXPENSE_ACCOUNT_CCID )
220     select ctlgd.EVENT_ID                            ,
221            df.distribution_id                        as distribution_id,
222            df.distribution_id                        as dist_id,
223            'DEFERRED'                              ,
224            bc.set_of_books_id                        ,
225            le.currency_code                          ,
226            ah.category_id                            ,
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_book_controls          bc,
237            fa_category_books         cb,
238            fa_distribution_history   dh,
239            fa_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 
262       IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
263          fnd_log.string(G_LEVEL_PROCEDURE,
264                         G_MODULE_NAME||l_procedure_name,
265                         'Rows inserted into lines: ' || to_char(SQL%ROWCOUNT));
266       END IF;
267 
268 
269 
270       end if; 
271 
272       if (fa_xla_extract_util_pkg.G_alc_enabled or
273           fa_xla_extract_util_pkg.G_secondary_special) then
274 
275 
276 
277     insert into fa_xla_ext_lines_b_gt (
278            EVENT_ID                             ,
279            LINE_NUMBER                          ,
280            DISTRIBUTION_ID                      ,
281            DISTRIBUTION_TYPE_CODE               ,
282            LEDGER_ID                            ,
283            CURRENCY_CODE                        ,
284            CAT_ID                               ,
285            ENTERED_AMOUNT                       ,
286            BOOK_TYPE_CODE                       ,
287            TAX_BOOK_TYPE_CODE                   ,
288            GENERATED_CCID                       ,
289            GENERATED_OFFSET_CCID                ,
290            ASSET_ID,
291            EXPENSE_ACCOUNT_CCID )
292     select ctlgd.EVENT_ID                            ,
293            df.distribution_id                        as distribution_id,
294            df.distribution_id                        as dist_id,
295            'DEFERRED'                              ,
296            bc.set_of_books_id                        ,
297            le.currency_code                          ,
298            ah.category_id                            ,
299            df.deferred_deprn_expense_amount          ,
300            df.corp_book_type_code                    ,
301            df.tax_book_type_code                     ,
302            df.deferred_deprn_expense_ccid            ,
303            df.deferred_deprn_reserve_ccid            ,
304            ad.ASSET_ID,
305            dh.CODE_COMBINATION_ID
306       from fa_additions_b            ad,
307            fa_asset_history          ah,
308            fa_mc_book_controls          bc,
309            fa_category_books         cb,
310            fa_distribution_history   dh,
311            fa_mc_deferred_deprn         df,
312            gl_ledgers                le,
313            xla_events_gt             ctlgd 
314      where ctlgd.entity_code           = 'DEFERRED_DEPRECIATION'
315        AND ctlgd.event_type_code       = 'DEFERRED_DEPRECIATION'
316        AND df.asset_id                 = ctlgd.source_id_int_1
317        AND df.corp_book_type_code      = ctlgd.source_id_char_1
318        AND df.corp_period_counter      = ctlgd.source_id_int_2
319        AND df.tax_book_type_code       = ctlgd.source_id_char_2
320        AND df.event_id                 = ctlgd.event_id
321        AND ad.asset_id                 = ctlgd.source_id_int_1
322        AND dh.distribution_id          = df.distribution_id
323        AND ah.asset_id                 = ctlgd.source_id_int_1
324        AND AH.Date_Effective           < nvl(DH.Date_ineffective, SYSDATE)
325        AND nvl(DH.Date_ineffective, SYSDATE) <=
326            nvl(AH.Date_ineffective, SYSDATE)
327        AND cb.category_id              = ah.category_id
328        AND cb.book_type_code           = ctlgd.source_id_char_1
329        AND ah.asset_type              in ('CAPITALIZED', 'GROUP')
330        AND ad.asset_type              in ('CAPITALIZED', 'GROUP')
331        AND bc.book_type_code           = ctlgd.source_id_char_1
332        AND le.ledger_id                = bc.set_of_books_id 
333        AND df.set_of_books_id = bc.set_of_books_id;
334 
335       IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
336          fnd_log.string(G_LEVEL_PROCEDURE,
337                         G_MODULE_NAME||l_procedure_name,
338                         'Rows inserted into alc lines: ' || to_char(SQL%ROWCOUNT));
339       END IF;
340 
341 
342 
343       end if; 
344 
345 
346       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
347          fnd_log.string(G_LEVEL_PROCEDURE,
348                         G_MODULE_NAME||l_procedure_name||'.end',
349                         'End of procedure');
350       END IF;
351 
352    EXCEPTION
353       WHEN others THEN
354            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
355               fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
356               fnd_message.set_token('ORACLE_ERR',SQLERRM);
357               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
358            END IF;
359            raise;
360 
361    end load_line_data;
362 
363 
364 
365 /*======================================================================+
366 |                                                                       |
367 | Private Function                                                      |
368 |    load_mls_data                                                        |
369 |                                                                       |
370 +======================================================================*/
371 
372   PROCEDURE load_mls_data IS
373 
374      l_procedure_name  varchar2(80) := 'load_mls_data';
375 
376   BEGIN
377 
378      IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
379         fnd_log.string(G_LEVEL_PROCEDURE,
380                        G_MODULE_NAME||l_procedure_name||'.begin',
381                        'Beginning of procedure');
382      END IF;
383 
384      return;   
385 
386      IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL ) THEN
387         fnd_log.string(G_LEVEL_PROCEDURE,
388                        G_MODULE_NAME||l_procedure_name,
389                        'Rows inserted into mls: ' || to_char(SQL%ROWCOUNT));
390      END IF;
391 
392 
393 
394       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
395          fnd_log.string(G_LEVEL_PROCEDURE,
396                         G_MODULE_NAME||l_procedure_name||'.end',
397                         'End of procedure');
398       END IF;
399 
400    EXCEPTION
401       WHEN others THEN
402            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
403               fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
404               fnd_message.set_token('ORACLE_ERR',SQLERRM);
405               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
406            END IF;
407            raise;
408 
409    end load_mls_data;
410 
411 
412 
413 /*======================================================================+
414 |                                                                       |
415 | Private Function                                                      |
416 |    Load_Generated_Ccids                                               |
417 |                                                                       |
418 +======================================================================*/
419 
420  ----------------------------------------------------
421   --
422   --  Account Generator Hook
423   --
424   ----------------------------------------------------
425    PROCEDURE Load_Generated_Ccids
426               (p_log_level_rec IN FA_API_TYPES.log_level_rec_type) IS
427 
428       l_mesg_count               number := 0;
429       l_mesg_len                 number;
430       l_mesg                     varchar2(4000);
431 
432       l_procedure_name  varchar2(80) := 'fa_xla_extract_def_pkg.load_generated_ccids';   -- BMR make this dynamic on type
433 
434       type char_tab_type is table of varchar2(64) index by binary_integer;
435       type num_tab_type  is table of number       index by binary_integer;
436 
437 
438 
439 
440       type def_deprn_rec_type is record
441         (rowid                           VARCHAR2(64),
442          book_type_code                  VARCHAR2(30),
443          distribution_id                 NUMBER(15),
444          distribution_ccid               NUMBER(15),
445          def_deprn_entered_amount        NUMBER,
446          generated_ccid                  NUMBER(15),
447          generated_offset_ccid           NUMBER(15),
448          DEF_DEPRN_EXPENSE_ACCT          VARCHAR2(25),
449          DEF_DEPRN_RESERVE_ACCT          VARCHAR2(25)
450         );
451 
452       type def_deprn_tbl_type is table of def_deprn_rec_type index by binary_integer;
453 
454       l_def_deprn_tbl def_deprn_tbl_type;
455 
456       l_generated_ccid              num_tab_type;
457       l_generated_offset_ccid       num_tab_type;
458       l_rowid                       char_tab_type;
459 
460       l_last_book    varchar2(30) := ' ';
461 
462       cursor c_def_deprn is
463       select /*+ leading(xg) index(xb, FA_XLA_EXT_HEADERS_B_GT_U1) index(xl, FA_XLA_EXT_LINES_B_GT_U1) */
464              xl.rowid,
465              xb.book_type_code,
466              xl.distribution_id,
467              xl.EXPENSE_ACCOUNT_CCID,
468              xl.entered_amount,
469              nvl(xl.generated_ccid,        da.DEFERRED_EXP_ACCOUNT_CCID),
470              nvl(xl.generated_offset_ccid, da.DEFERRED_RSV_ACCOUNT_CCID),
471              xb.DEFERRED_DEPRN_EXPENSE_ACCT,
472              xb.DEFERRED_DEPRN_RESERVE_ACCT
473         from xla_events_gt            xg,
474              fa_xla_ext_headers_b_gt  xb,
475              fa_xla_ext_lines_b_gt    xl,
476              fa_distribution_accounts da
477        where xg.event_class_code = 'DEFERRED DEPRECIATION'
478          and xb.event_id         = xg.event_id
479          and xl.event_id         = xg.event_id
480          and xl.distribution_id  = da.distribution_id(+)
481          and xl.tax_book_type_code   = da.book_type_code(+);
482 
483 
484 
485    BEGIN
486 
487       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
488          fnd_log.string(G_LEVEL_PROCEDURE,
489                         G_MODULE_NAME||l_procedure_name||'.begin',
490                         'Beginning of procedure');
491       END IF;
492 
493       open  c_def_deprn;
494       fetch c_def_deprn bulk collect into l_def_deprn_tbl;
495       close c_def_deprn;
496 
497       for i in 1..l_def_deprn_tbl.count loop
498 
499          if (l_last_book <> l_def_deprn_tbl(i).book_type_code or
500              i = 1) then
501 
502             if not (fa_cache_pkg.fazcbc
503                       (X_BOOK => l_def_deprn_tbl(i).book_type_code,
504                        P_LOG_LEVEL_REC   => p_log_level_rec)) then
505                null;
506 
507             end if;
508             l_last_book := l_def_deprn_tbl(i).book_type_code;
509          end if;
510 
511 
512          -- call FAFBGCC if the ccid doesnt exist in distribution accounts
513 
514          if (l_def_deprn_tbl(i).generated_ccid is null and
515              l_def_deprn_tbl(i).def_deprn_entered_amount   <> 0) then
516 
517             if (not FA_GCCID_PKG.fafbgcc
518                       (X_book_type_code  => l_def_deprn_tbl(i).book_type_code,
519                        X_fn_trx_code     => 'DEFERRED_DEPRN_EXPENSE_ACCT',
520                        X_dist_ccid       => l_def_deprn_tbl(i).distribution_ccid,
521                        X_acct_segval     => l_def_deprn_tbl(i).def_deprn_expense_acct,
522                        X_account_ccid    => 0,
523                        X_distribution_id => l_def_deprn_tbl(i).distribution_id,
524                        X_rtn_ccid        => l_def_deprn_tbl(i).generated_ccid,
525                        P_LOG_LEVEL_REC   => p_log_level_rec)) then
526                FA_SRVR_MSG.ADD_MESSAGE
527                   (NAME       => 'FA_GET_ACCOUNT_CCID',
528                    CALLING_FN => 'fa_xla_extract_def_pkg.Load_Generated_Ccids',
529                    P_LOG_LEVEL_REC => p_log_level_rec);
530                l_def_deprn_tbl(i).generated_ccid := -1;
531             end if;
532          end if;
533 
534          if (l_def_deprn_tbl(i).generated_offset_ccid is null and
535              l_def_deprn_tbl(i).def_deprn_entered_amount <> 0) then
536 
537 
538             if (not FA_GCCID_PKG.fafbgcc
539                       (X_book_type_code  => l_def_deprn_tbl(i).book_type_code,
540                        X_fn_trx_code     => 'DEFERRED_DEPRN_RESERVE_ACCT',
541                        X_dist_ccid       => l_def_deprn_tbl(i).distribution_ccid,
542                        X_acct_segval     => l_def_deprn_tbl(i).def_deprn_reserve_acct,
543                        X_account_ccid    => 0,
544                        X_distribution_id => l_def_deprn_tbl(i).distribution_id,
545                        X_rtn_ccid        => l_def_deprn_tbl(i).generated_offset_ccid,
546                        P_LOG_LEVEL_REC   => p_log_level_rec)) then
547 
548                FA_SRVR_MSG.ADD_MESSAGE
549                   (NAME       => 'FA_GET_ACCOUNT_CCID',
550                    CALLING_FN => 'fa_xla_extract_def_pkg.Load_Generated_Ccids',
551                    P_LOG_LEVEL_REC => p_log_level_rec);
552                l_def_deprn_tbl(i).generated_offset_ccid := -1;
553             end if;
554          end if;
555 
556       end loop;
557 
558       for i in 1.. l_def_deprn_tbl.count loop
559 
560          l_generated_ccid(i)              := l_def_deprn_tbl(i).generated_ccid;
561          l_generated_offset_ccid(i)       := l_def_deprn_tbl(i).generated_offset_ccid;
562          l_rowid(i)                       := l_def_deprn_tbl(i).rowid;
563 
564       end loop;
565 
566       forall i in 1..l_def_deprn_tbl.count
567       update fa_xla_ext_lines_b_gt
568          set generated_ccid              = l_generated_ccid(i),
569              generated_offset_ccid       = l_generated_offset_ccid(i)
570        where rowid                       = l_rowid(i);
571 
572 
573 --
574 
575       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
576          fnd_log.string(G_LEVEL_PROCEDURE,
577                         G_MODULE_NAME||l_procedure_name||'.end',
578                         'End of procedure');
579       END IF;
580 
581    EXCEPTION
582       WHEN others THEN
583            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
584               fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
585               fnd_message.set_token('ORACLE_ERR',SQLERRM);
586               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
587            END IF;
588            raise;
589 
590    END load_generated_ccids;
591 
592 
593 
594 /*======================================================================+
595 |                                                                       |
596 | Public Function                                                       |
597 |    Lock_Data                                                          |
598 |                                                                       |
599 +======================================================================*/
600 
601   --------------------------------------------------
602   -- Main Load Routine                            --
603   --------------------------------------------------
604    PROCEDURE load_data IS
605 
606       l_log_level_rec   FA_API_TYPES.log_level_rec_type;
607       l_use_fafbgcc     varchar2(25);
608       l_procedure_name  varchar2(80) := 'load_data';   -- BMR make this dynamic on type
609       error_found       EXCEPTION;
610 
611    BEGIN
612 
613       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
614          fnd_log.string(G_LEVEL_PROCEDURE,
615                         G_MODULE_NAME||l_procedure_name||'.begin',
616                         'Beginning of procedure');
617       END IF;
618 
619 
620 
621          Load_header_data;
622          Load_line_data;
623          Load_mls_data;
624 
625          
626 
627 
628       fnd_profile.get ('FA_WF_GENERATE_CCIDS', l_use_fafbgcc);
629       if (nvl(l_use_fafbgcc, 'N') = 'Y') then
630          if (NOT fa_util_pub.get_log_level_rec (
631                    x_log_level_rec =>  l_log_level_rec)) then raise error_found;
632          end if;
633 
634          Load_Generated_Ccids
635             (p_log_level_rec => l_log_level_rec);
636       end if;
637 
638 
639 
640 
641 
642       IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
643          fnd_log.string(G_LEVEL_PROCEDURE,
644                         G_MODULE_NAME||l_procedure_name||'.end',
645                         'End of procedure');
646       END IF;
647 
648    EXCEPTION
649       WHEN error_found THEN
650            IF (G_LEVEL_ERROR >= G_CURRENT_RUNTIME_LEVEL) THEN
651               FND_LOG.string (G_LEVEL_ERROR,
652                               G_MODULE_NAME||l_procedure_name,
653                               'ended in error');
654            END IF;
655            raise;
656 
657       WHEN others THEN
658            IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
659               fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
660               fnd_message.set_token('ORACLE_ERR',SQLERRM);
661               FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
662            END IF;
663            raise;
664 
665    END load_data;
666 
667 
668 
669 END FA_XLA_EXTRACT_DEF_PKG;
670