[Home] [Help]
PACKAGE BODY: APPS.FA_XLA_CMP_CCID_PKG
Source
1 PACKAGE BODY fa_xla_cmp_ccid_pkg AS
2 /* $Header: faxlacib.pls 120.11 2011/02/04 13:39:29 gigupta ship $ */
3 /*===========================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +============================================================================+
8 | PACKAGE NAME |
9 | fa_xla_cmp_ccid_pkg |
10 | |
11 | DESCRIPTION |
12 | This is a FA private package, which contains all the APIs required |
13 | for to create ccid extract for each extract type |
14 | |
15 | |
16 | HISTORY |
17 | 25-FEB-2006 BRIDGWAY Created |
18 | |
19 +===========================================================================*/
20
21
22 --+============================================+
23 --| |
24 --| PRIVATE PROCEDURES/FUNCTIONS |
25 --| |
26 --+============================================+
27
28
29 C_PRIVATE_API_1 CONSTANT VARCHAR2(32000) := '
30
31 /*======================================================================+
32 | |
33 | Private Function |
34 | Load_Generated_Ccids |
35 | |
36 +======================================================================*/
37
38 ----------------------------------------------------
39 --
40 -- Account Generator Hook
41 --
42 ----------------------------------------------------
43 PROCEDURE Load_Generated_Ccids
44 (p_log_level_rec IN FA_API_TYPES.log_level_rec_type) IS
45
46 l_mesg_count number := 0;
47 l_mesg_len number;
48 l_mesg varchar2(4000);
49
50 l_procedure_name varchar2(80) := ''fa_xla_extract_def_pkg.load_generated_ccids''; -- BMR make this dynamic on type
51
52 type char_tab_type is table of varchar2(64) index by binary_integer;
53 type num_tab_type is table of number index by binary_integer;
54
55
56 ';
57
58 C_PRIVATE_API_DEPRN CONSTANT VARCHAR2(32000) := '
59
60 type deprn_rec_type is record
61 (rowid VARCHAR2(64),
62 book_type_code VARCHAR2(30),
63 distribution_id NUMBER(15),
64 distribution_ccid NUMBER(15),
65 deprn_entered_amount NUMBER,
66 bonus_entered_amount NUMBER,
67 reval_entered_amount NUMBER,
68 generated_ccid NUMBER(15),
69 generated_offset_ccid NUMBER(15),
70 bonus_generated_ccid NUMBER(15),
71 bonus_generated_offset_ccid NUMBER(15),
72 reval_generated_ccid NUMBER(15),
73 reval_generated_offset_ccid NUMBER(15),
74 capital_adj_generated_ccid NUMBER(15),
75 general_fund_generated_ccid NUMBER(15),
76 -- DEPRN_EXPENSE_ACCOUNT_CCID NUMBER(15),
77 DEPRN_RESERVE_ACCOUNT_CCID NUMBER(15),
78 --BONUS_EXP_ACCOUNT_CCID NUMBER(15),
79 BONUS_RSV_ACCOUNT_CCID NUMBER(15),
80 REVAL_AMORT_ACCOUNT_CCID NUMBER(15),
81 REVAL_RSV_ACCOUNT_CCID NUMBER(15),
82 CAPITAL_ADJ_ACCOUNT_CCID NUMBER(15),
83 GENERAL_FUND_ACCOUNT_CCID NUMBER(15),
84 DEPRN_EXPENSE_ACCT VARCHAR2(25),
85 DEPRN_RESERVE_ACCT VARCHAR2(25),
86 BONUS_DEPRN_EXPENSE_ACCT VARCHAR2(25),
87 BONUS_RESERVE_ACCT VARCHAR2(25),
88 REVAL_AMORT_ACCT VARCHAR2(25),
89 REVAL_RESERVE_ACCT VARCHAR2(25),
90 CAPITAL_ADJ_ACCT VARCHAR2(25),
91 GENERAL_FUND_ACCT VARCHAR2(25)
92 );
93
94 type deprn_tbl_type is table of deprn_rec_type index by binary_integer;
95
96 l_deprn_tbl deprn_tbl_type;
97
98 l_generated_ccid num_tab_type;
99 l_generated_offset_ccid num_tab_type;
100 l_bonus_generated_ccid num_tab_type;
101 l_bonus_generated_offset_ccid num_tab_type;
102 l_reval_generated_ccid num_tab_type;
103 l_reval_generated_offset_ccid num_tab_type;
104 l_capital_adj_generated_ccid num_tab_type;
105 l_general_fund_generated_ccid num_tab_type;
106 l_rowid char_tab_type;
107
108 l_last_book varchar2(30) := '' '';
109
110 cursor c_deprn is
111 select /*+ leading(xg) index(xb, FA_XLA_EXT_HEADERS_B_GT_U1) index(xl, FA_XLA_EXT_LINES_B_GT_U1) */
112 xl.rowid,
113 xb.book_type_code,
114 xl.distribution_id,
115 xl.EXPENSE_ACCOUNT_CCID,
116 xl.entered_amount,
117 xl.bonus_entered_amount,
118 xl.reval_entered_amount,
119 nvl(xl.GENERATED_CCID, da.DEPRN_EXPENSE_ACCOUNT_CCID),
120 nvl(xl.GENERATED_OFFSET_CCID, da.DEPRN_RESERVE_ACCOUNT_CCID),
121 nvl(xl.BONUS_GENERATED_CCID, da.BONUS_EXP_ACCOUNT_CCID),
122 nvl(xl.BONUS_GENERATED_OFFSET_CCID, da.BONUS_RSV_ACCOUNT_CCID),
123 nvl(xl.REVAL_GENERATED_CCID, da.REVAL_AMORT_ACCOUNT_CCID),
124 nvl(xl.REVAL_GENERATED_OFFSET_CCID, da.REVAL_RSV_ACCOUNT_CCID),
125 da.CAPITAL_ADJ_ACCOUNT_CCID,
126 da.GENERAL_FUND_ACCOUNT_CCID,
127 -- xl.DEPRN_EXPENSE_ACCOUNT_CCID,
128 xl.RESERVE_ACCOUNT_CCID,
129 -- xl.BONUS_EXP_ACCOUNT_CCID,
130 xl.BONUS_RESERVE_ACCT_CCID,
131 xl.REVAL_AMORT_ACCOUNT_CCID,
132 xl.REVAL_RESERVE_ACCOUNT_CCID,
133 xl.CAPITAL_ADJ_ACCOUNT_CCID,
134 xl.GENERAL_FUND_ACCOUNT_CCID,
135 xl.deprn_expense_acct,
136 xl.DEPRN_RESERVE_ACCT,
137 xl.bonus_deprn_expense_acct,
138 xl.BONUS_RESERVE_ACCT,
139 xl.REVAL_AMORT_ACCT,
140 xl.REVAL_RESERVE_ACCT,
141 xl.CAPITAL_ADJ_ACCT,
142 xl.GENERAL_FUND_ACCT
143 from xla_events_gt xg,
144 fa_xla_ext_headers_b_gt xb,
145 fa_xla_ext_lines_b_gt xl,
146 fa_distribution_accounts da
147 where xg.event_class_code = ''DEPRECIATION''
148 and xb.event_id = xg.event_id
149 and xl.event_id = xg.event_id
150 and xl.distribution_id = da.distribution_id(+)
151 and xl.book_type_code = da.book_type_code(+);
152
153
154 BEGIN
155
156 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
157 fnd_log.string(G_LEVEL_PROCEDURE,
158 G_MODULE_NAME||l_procedure_name||''.begin'',
159 ''Beginning of procedure'');
160 END IF;
161
162 open c_deprn;
163 fetch c_deprn bulk collect into l_deprn_tbl;
164 close c_deprn;
165
166 for i in 1..l_deprn_tbl.count loop
167
168 if (l_last_book <> l_deprn_tbl(i).book_type_code or
169 i = 1) then
170
171 if not (fa_cache_pkg.fazcbc
172 (X_BOOK => l_deprn_tbl(i).book_type_code,
173 P_LOG_LEVEL_REC => p_log_level_rec)) then
174 null;
175
176 end if;
177 l_last_book := l_deprn_tbl(i).book_type_code;
178 end if;
179
180
181 -- call FAFBGCC if the ccid doesnt exist in distribution accounts
182
183 if (l_deprn_tbl(i).generated_ccid is null and
184 l_deprn_tbl(i).deprn_entered_amount <> 0) then
185
186 if (not FA_GCCID_PKG.fafbgcc
187 (X_book_type_code => l_deprn_tbl(i).book_type_code,
188 X_fn_trx_code => ''DEPRN_EXPENSE_ACCT'',
189 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
190 X_acct_segval => l_deprn_tbl(i).deprn_expense_acct,
191 X_account_ccid => 0,
192 X_distribution_id => l_deprn_tbl(i).distribution_id,
193 X_rtn_ccid => l_deprn_tbl(i).generated_ccid,
194 P_LOG_LEVEL_REC => p_log_level_rec)) then
195 FA_SRVR_MSG.ADD_MESSAGE
196 (NAME => ''FA_GET_ACCOUNT_CCID'',
197 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
198 P_LOG_LEVEL_REC => p_log_level_rec);
199 l_deprn_tbl(i).generated_ccid := -1;
200 end if;
201 end if;
202
203 if (l_deprn_tbl(i).generated_offset_ccid is null and
204 l_deprn_tbl(i).deprn_entered_amount <> 0) then
205
206
207 if (not FA_GCCID_PKG.fafbgcc
208 (X_book_type_code => l_deprn_tbl(i).book_type_code,
209 X_fn_trx_code => ''DEPRN_RESERVE_ACCT'',
210 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
211 X_acct_segval => l_deprn_tbl(i).deprn_reserve_acct,
212 X_account_ccid => l_deprn_tbl(i).deprn_reserve_account_ccid,
213 X_distribution_id => l_deprn_tbl(i).distribution_id,
214 X_rtn_ccid => l_deprn_tbl(i).generated_offset_ccid,
215 P_LOG_LEVEL_REC => p_log_level_rec)) then
216
217 FA_SRVR_MSG.ADD_MESSAGE
218 (NAME => ''FA_GET_ACCOUNT_CCID'',
219 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
220 P_LOG_LEVEL_REC => p_log_level_rec);
221 l_deprn_tbl(i).generated_offset_ccid := -1;
222 end if;
223 end if;
224
225 if (l_deprn_tbl(i).bonus_generated_ccid is null and
226 l_deprn_tbl(i).bonus_entered_amount <> 0) then
227
228 if (not FA_GCCID_PKG.fafbgcc
229 (X_book_type_code => l_deprn_tbl(i).book_type_code,
230 X_fn_trx_code => ''BONUS_DEPRN_EXPENSE_ACCT'',
231 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
232 X_acct_segval => l_deprn_tbl(i).bonus_deprn_expense_acct,
233 X_account_ccid => 0,
234 X_distribution_id => l_deprn_tbl(i).distribution_id,
235 X_rtn_ccid => l_deprn_tbl(i).bonus_generated_ccid,
236 P_LOG_LEVEL_REC => p_log_level_rec)) then
237 FA_SRVR_MSG.ADD_MESSAGE
238 (NAME => ''FA_GET_ACCOUNT_CCID'',
239 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
240 P_LOG_LEVEL_REC => p_log_level_rec);
241 l_deprn_tbl(i).bonus_generated_ccid := -1;
242
243 end if;
244 end if;
245
246 if (l_deprn_tbl(i).bonus_generated_offset_ccid is null and
247 l_deprn_tbl(i).bonus_entered_amount <> 0) then
248
249 if (not FA_GCCID_PKG.fafbgcc
250 (X_book_type_code => l_deprn_tbl(i).book_type_code,
251 X_fn_trx_code => ''BONUS_DEPRN_RESERVE_ACCT'',
252 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
253 X_acct_segval => l_deprn_tbl(i).bonus_reserve_acct,
254 X_account_ccid => l_deprn_tbl(i).bonus_rsv_account_ccid,
255 X_distribution_id => l_deprn_tbl(i).distribution_id,
256 X_rtn_ccid => l_deprn_tbl(i).bonus_generated_offset_ccid,
257 P_LOG_LEVEL_REC => p_log_level_rec)) then
258 FA_SRVR_MSG.ADD_MESSAGE
259 (NAME => ''FA_GET_ACCOUNT_CCID'',
260 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
261 P_LOG_LEVEL_REC => p_log_level_rec);
262 l_deprn_tbl(i).bonus_generated_offset_ccid := -1;
263
264 end if;
265 end if;
266
267
268 if (l_deprn_tbl(i).reval_generated_ccid is null and
269 l_deprn_tbl(i).reval_entered_amount <> 0) then
270
271 if (not FA_GCCID_PKG.fafbgcc
272 (X_book_type_code => l_deprn_tbl(i).book_type_code,
273 X_fn_trx_code => ''REVAL_AMORTIZATION_ACCT'',
274 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
275 X_acct_segval => l_deprn_tbl(i).reval_amort_acct,
276 X_account_ccid => l_deprn_tbl(i).reval_amort_account_ccid,
277 X_distribution_id => l_deprn_tbl(i).distribution_id,
278 X_rtn_ccid => l_deprn_tbl(i).reval_generated_ccid,
279 P_LOG_LEVEL_REC => p_log_level_rec)) then
280 FA_SRVR_MSG.ADD_MESSAGE
281 (NAME => ''FA_GET_ACCOUNT_CCID'',
282 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
283 P_LOG_LEVEL_REC => p_log_level_rec);
284 l_deprn_tbl(i).reval_generated_ccid := -1;
285 end if;
286 end if;
287
288 if (l_deprn_tbl(i).reval_generated_offset_ccid is null and
289 l_deprn_tbl(i).reval_entered_amount <> 0) then
290
291 if (not FA_GCCID_PKG.fafbgcc
292 (X_book_type_code => l_deprn_tbl(i).book_type_code,
293 X_fn_trx_code => ''REVAL_RESERVE_ACCT'',
294 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
295 X_acct_segval => l_deprn_tbl(i).reval_reserve_acct,
296 X_account_ccid => l_deprn_tbl(i).reval_rsv_account_ccid,
297 X_distribution_id => l_deprn_tbl(i).distribution_id,
298 X_rtn_ccid => l_deprn_tbl(i).reval_generated_offset_ccid,
299 P_LOG_LEVEL_REC => p_log_level_rec)) then
300 FA_SRVR_MSG.ADD_MESSAGE
301 (NAME => ''FA_GET_ACCOUNT_CCID'',
302 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
303 P_LOG_LEVEL_REC => p_log_level_rec);
304 l_deprn_tbl(i).reval_generated_offset_ccid := -1;
305
306 end if;
307 end if;
308
309 if (l_deprn_tbl(i).capital_adj_generated_ccid is null and
310 l_deprn_tbl(i).deprn_entered_amount <> 0 and
311 fa_xla_extract_util_pkg.G_sorp_enabled) then
312
313 if (not FA_GCCID_PKG.fafbgcc
314 (X_book_type_code => l_deprn_tbl(i).book_type_code,
315 X_fn_trx_code => ''CAPITAL_ADJ_ACCT'',
316 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
317 X_acct_segval => l_deprn_tbl(i).capital_adj_acct,
318 X_account_ccid => l_deprn_tbl(i).capital_adj_account_ccid,
319 X_distribution_id => l_deprn_tbl(i).distribution_id,
320 X_rtn_ccid => l_deprn_tbl(i).capital_adj_generated_ccid,
321 P_LOG_LEVEL_REC => p_log_level_rec)) then
322
323 FA_SRVR_MSG.ADD_MESSAGE
324 (NAME => ''FA_GET_ACCOUNT_CCID'',
325 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
326 P_LOG_LEVEL_REC => p_log_level_rec);
327 l_deprn_tbl(i).capital_adj_generated_ccid := -1;
328 end if;
329 end if;
330
331 if (l_deprn_tbl(i).general_fund_generated_ccid is null and
332 l_deprn_tbl(i).deprn_entered_amount <> 0 and
333 fa_xla_extract_util_pkg.G_sorp_enabled) then
334
335 if (not FA_GCCID_PKG.fafbgcc
336 (X_book_type_code => l_deprn_tbl(i).book_type_code,
337 X_fn_trx_code => ''GENERAL_FUND_ACCT'',
338 X_dist_ccid => l_deprn_tbl(i).distribution_ccid,
339 X_acct_segval => l_deprn_tbl(i).general_fund_acct,
340 X_account_ccid => l_deprn_tbl(i).general_fund_account_ccid,
341 X_distribution_id => l_deprn_tbl(i).distribution_id,
342 X_rtn_ccid => l_deprn_tbl(i).general_fund_generated_ccid,
343 P_LOG_LEVEL_REC => p_log_level_rec)) then
344
345 FA_SRVR_MSG.ADD_MESSAGE
346 (NAME => ''FA_GET_ACCOUNT_CCID'',
347 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
348 P_LOG_LEVEL_REC => p_log_level_rec);
349 l_deprn_tbl(i).general_fund_generated_ccid := -1;
350 end if;
351 end if;
352
353 end loop;
354
355 for i in 1.. l_deprn_tbl.count loop
356
357 l_generated_ccid(i) := l_deprn_tbl(i).generated_ccid;
358 l_generated_offset_ccid(i) := l_deprn_tbl(i).generated_offset_ccid;
359 l_bonus_generated_ccid(i) := l_deprn_tbl(i).bonus_generated_ccid;
360 l_bonus_generated_offset_ccid(i) := l_deprn_tbl(i).bonus_generated_offset_ccid;
361 l_reval_generated_ccid(i) := l_deprn_tbl(i).reval_generated_ccid;
362 l_reval_generated_offset_ccid(i) := l_deprn_tbl(i).reval_generated_offset_ccid;
363 l_capital_adj_generated_ccid(i) := l_deprn_tbl(i).capital_adj_generated_ccid;
364 l_general_fund_generated_ccid(i) := l_deprn_tbl(i).general_fund_generated_ccid;
365 l_rowid(i) := l_deprn_tbl(i).rowid;
366
367 end loop;
368
369 forall i in 1..l_deprn_tbl.count
370 update fa_xla_ext_lines_b_gt
371 set generated_ccid = l_generated_ccid(i),
372 generated_offset_ccid = l_generated_offset_ccid(i),
373 bonus_generated_ccid = l_bonus_generated_ccid(i),
374 bonus_generated_offset_ccid = l_bonus_generated_offset_ccid(i),
375 reval_generated_ccid = l_reval_generated_ccid(i),
376 reval_generated_offset_ccid = l_reval_generated_offset_ccid(i),
377 capital_adj_generated_ccid = l_capital_adj_generated_ccid(i),
378 general_fund_generated_ccid = l_general_fund_generated_ccid(i)
379 where rowid = l_rowid(i);
380
381 ';
382
383 C_PRIVATE_API_TRX CONSTANT VARCHAR2(32000) := '
384
385
386 -- bug 5563601: Increased length of variable account_type to 50
387 type adj_rec_type is record
388 (rowid VARCHAR2(64),
389 book_type_code VARCHAR2(30),
390 distribution_id NUMBER(15),
391 distribution_ccid NUMBER(15),
392 entered_amount NUMBER,
393 account_type VARCHAR2(50),
394 generated_ccid NUMBER(15),
395 account_ccid NUMBER(15),
396 account_segment VARCHAR2(25),
397 offset_account_type VARCHAR2(25),
398 generated_offset_ccid NUMBER(15),
399 offset_account_ccid NUMBER(15),
400 offset_account_segment VARCHAR2(25),
401 counter_account_type VARCHAR2(50), -- Bug 6962827:
402 counter_generated_ccid NUMBER(15), -- Bug 6962827:
403 counter_account_ccid NUMBER(15), -- Bug 6962827:
404 counter_account_segment VARCHAR2(25), -- Bug 6962827:
405 counter_generated_offset_ccid NUMBER(15), -- Bug 6962827:
406 counter_offset_account_ccid NUMBER(15), -- Bug 6962827:
407 counter_offset_account_segment VARCHAR2(25) -- Bug 6962827:
408 );
409
410 type adj_tbl_type is table of adj_rec_type index by binary_integer;
411
412 l_adj_tbl adj_tbl_type;
413
414 l_generated_ccid num_tab_type;
415 l_generated_offset_ccid num_tab_type;
416 l_rowid char_tab_type;
417 l_counter_generated_ccid num_tab_type; -- Bug 6962827:
418 l_ctr_generated_off_ccid num_tab_type; -- Bug 6962827:
419
420 error_found exception;
421
422 l_last_book varchar2(30) := '' '';
423
424 cursor c_trx is
425 select /*+ leading(xg) index(xb, FA_XLA_EXT_HEADERS_B_GT_U1) index(xl, FA_XLA_EXT_LINES_B_GT_U1) */
426 xl.rowid,
427 xb.book_type_code,
428 xl.distribution_id,
429 xl.expense_account_ccid,
430 xl.entered_amount,
431 decode
432 (adjustment_type,
433 ''COST'', ''ASSET_COST_ACCT'',
434 ''CIP COST'', ''CIP_COST_ACCT'',
435 ''COST CLEARING'', decode(xl.asset_type,
436 ''CIP'', ''CIP_CLEARING_ACCT'',
437 ''ASSET_CLEARING_ACCT''),
438 ''EXPENSE'', ''DEPRN_EXPENSE_ACCT'',
439 ''RESERVE'', ''DEPRN_RESERVE_ACCT'',
440 ''BONUS EXPENSE'', ''BONUS_DEPRN_EXPENSE_ACCT'',
441 ''BONUS RESERVE'', ''BONUS_DEPRN_RESERVE_ACCT'',
442 ''REVAL RESERVE'', ''REVAL_RESERVE_ACCT'',
443 ''CAPITAL ADJ'', ''CAPITAL_ADJ_ACCT'',
444 ''GENERAL FUND'', ''GENERAL_FUND_ACCT'',
445 ''IMPAIR EXPENSE'', ''IMPAIR_EXPENSE_ACCT'',
446 ''IMPAIR RESERVE'', ''IMPAIR_RESERVE_ACCT'',
447 ''LINK IMPAIR EXP'', ''IMPAIR_EXPENSE_ACCT'',
448 ''IMPAIR OFF EXP'', ''DEPRN_EXPENSE_ACCT'',
449 ''DEPRN ADJUST'', ''DEPRN_ADJUSTMENT_ACCT'',
450 ''REVAL LOSS'', ''REVAL_LOSS_ACCT'',
451 ''REVAL OFF EXP'', ''DEPRN_EXPENSE_ACCT'',
452 ''PROCEEDS CLR'', ''PROCEEDS_OF_SALE_CLEARING_ACCT'',
453 ''REMOVALCOST CLR'', ''COST_OF_REMOVAL_CLEARING_ACCT'',
454 ''REMOVALCOST'', decode(sign(gain_loss_amount),
455 -1, ''COST_OF_REMOVAL_LOSS_ACCT'',
456 ''COST_OF_REMOVAL_GAIN_ACCT''),
457 ''PROCEEDS'', decode(sign(gain_loss_amount),
458 -1, ''PROCEEDS_OF_SALE_LOSS_ACCT'',
459 ''PROCEEDS_OF_SALE_GAIN_ACCT''),
460 ''REVAL RSV RET'', decode(sign(gain_loss_amount),
461 -1, ''REVAL_RSV_RETIRED_LOSS_ACCT'',
462 ''REVAL_RSV_RETIRED_GAIN_ACCT''),
463 ''NBV RETIRED'', decode(asset_type,
464 ''GROUP'', decode(sign(gain_loss_amount),
465 -1, ''NBV_RETIRED_LOSS_ACCT'',
466 ''NBV_RETIRED_GAIN_ACCT''),
467 decode(sign(gain_loss_amount),
468 -1, ''NBV_RETIRED_LOSS_ACCT'',
469 ''NBV_RETIRED_GAIN_ACCT'')),
470 NULL),
471 decode(xl.adjustment_type,
472 ''COST'', nvl(xl.generated_ccid, da.ASSET_COST_ACCOUNT_CCID),
473 ''CIP COST'', nvl(xl.generated_ccid, da.CIP_COST_ACCOUNT_CCID),
474 ''COST CLEARING'', decode(xl.asset_type,
475 ''CIP'', nvl(xl.generated_ccid, da.CIP_CLEARING_ACCOUNT_CCID),
476 nvl(xl.generated_ccid, da.ASSET_CLEARING_ACCOUNT_CCID)),
477 ''EXPENSE'', nvl(xl.generated_ccid, da.DEPRN_EXPENSE_ACCOUNT_CCID),
478 ''RESERVE'', nvl(xl.generated_ccid, da.DEPRN_RESERVE_ACCOUNT_CCID),
479 ''BONUS EXPENSE'', nvl(xl.generated_ccid, da.BONUS_EXP_ACCOUNT_CCID),
480 ''BONUS RESERVE'', nvl(xl.generated_ccid, da.BONUS_RSV_ACCOUNT_CCID),
481 ''REVAL RESERVE'', nvl(xl.generated_ccid, da.REVAL_RSV_ACCOUNT_CCID),
482 ''CAPITAL ADJ'', nvl(xl.generated_ccid, da.CAPITAL_ADJ_ACCOUNT_CCID),
483 ''GENERAL FUND'', nvl(xl.generated_ccid, da.GENERAL_FUND_ACCOUNT_CCID),
484 ''IMPAIR EXPENSE'', nvl(xl.generated_ccid, da.IMPAIR_EXPENSE_ACCOUNT_CCID),
485 ''IMPAIR RESERVE'', nvl(xl.generated_ccid, da.IMPAIR_RESERVE_ACCOUNT_CCID),
486 ''LINK IMPAIR EXP'', nvl(xl.generated_ccid, da.IMPAIR_EXPENSE_ACCOUNT_CCID),
487 ''IMPAIR OFF EXP'', nvl(xl.generated_ccid, da.DEPRN_EXPENSE_ACCOUNT_CCID),
488 ''REVAL LOSS'', nvl(xl.generated_ccid, da.REVAL_LOSS_ACCOUNT_CCID),
489 ''REVAL OFF EXP'', nvl(xl.generated_ccid, da.DEPRN_EXPENSE_ACCOUNT_CCID),
490 ''DEPRN ADJUST'', nvl(xl.generated_ccid, da.DEPRN_ADJ_ACCOUNT_CCID),
491 ''PROCEEDS CLR'', nvl(xl.generated_ccid, da.PROCEEDS_SALE_CLEARING_CCID),
492 ''REMOVALCOST CLR'', nvl(xl.generated_ccid, da.COST_REMOVAL_CLEARING_CCID),
493 ''PROCEEDS'', decode(sign(xl.gain_loss_amount),
494 -1, nvl(xl.generated_ccid, da.PROCEEDS_SALE_LOSS_CCID),
495 nvl(xl.generated_ccid, da.PROCEEDS_SALE_GAIN_CCID)),
496 ''REMOVALCOST'', decode(sign(xl.gain_loss_amount),
497 -1, nvl(xl.generated_ccid, da.COST_REMOVAL_LOSS_CCID),
498 nvl(xl.generated_ccid, da.COST_REMOVAL_GAIN_CCID)),
499 ''REVAL RSV RET'', decode(sign(xl.gain_loss_amount),
500 -1, nvl(xl.generated_ccid, da.REVAL_RSV_LOSS_ACCOUNT_CCID),
501 nvl(xl.generated_ccid, da.REVAL_RSV_GAIN_ACCOUNT_CCID)),
502 ''NBV RETIRED'', decode(sign(xl.gain_loss_amount),
503 -1, nvl(xl.generated_ccid, da.NBV_RETIRED_LOSS_CCID),
504 nvl(xl.generated_ccid, da.NBV_RETIRED_GAIN_CCID)),
505 NULL),
506 decode(xl.adjustment_type,
507 ''COST'', xl.ASSET_COST_ACCOUNT_CCID,
508 ''CIP COST'', xl.CIP_COST_ACCOUNT_CCID,
509 ''COST CLEARING'', decode(xl.asset_type,
510 ''CIP'', xl.CIP_CLEARING_ACCOUNT_CCID,
511 xl.ASSET_CLEARING_ACCOUNT_CCID),
512 ''RESERVE'', xl.RESERVE_ACCOUNT_CCID,
513 ''BONUS RESERVE'', xl.BONUS_RESERVE_ACCT_CCID,
514 ''REVAL RESERVE'', xl.REVAL_RESERVE_ACCOUNT_CCID,
515 ''CAPITAL ADJ'', xl.CAPITAL_ADJ_ACCOUNT_CCID,
516 ''GENERAL FUND'', xl.GENERAL_FUND_ACCOUNT_CCID,
517 ''IMPAIR EXPENSE'', xl.IMPAIR_EXPENSE_ACCOUNT_CCID,
518 ''IMPAIR RESERVE'', xl.IMPAIR_RESERVE_ACCOUNT_CCID,
519 ''LINK IMPAIR EXP'', xl.IMPAIR_EXPENSE_ACCOUNT_CCID,
520 ''IMPAIR OFF EXP'', xl.DEPRN_EXPENSE_ACCOUNT_CCID,
521 ''REVAL LOSS'', xl.REVAL_LOSS_ACCOUNT_CCID,
522 ''REVAL OFF EXP'', xl.DEPRN_EXPENSE_ACCOUNT_CCID,
523 0),
524 decode(xl.adjustment_type,
525 ''COST'', xl.ASSET_COST_ACCT,
526 ''CIP COST'', xl.CIP_COST_ACCT,
527 ''COST CLEARING'', decode(xl.asset_type,
528 ''CIP'', xl.CIP_CLEARING_ACCT,
529 xl.ASSET_CLEARING_ACCT),
530 ''EXPENSE'', xl.DEPRN_EXPENSE_ACCT,
531 ''RESERVE'', xl.DEPRN_RESERVE_ACCT,
532 ''BONUS EXPENSE'', xl.BONUS_DEPRN_EXPENSE_ACCT,
533 ''BONUS RESERVE'', xl.BONUS_RESERVE_ACCT,
534 ''REVAL RESERVE'', xl.REVAL_RESERVE_ACCT,
535 ''CAPITAL ADJ'', xl.CAPITAL_ADJ_ACCT,
536 ''GENERAL FUND'', xl.GENERAL_FUND_ACCT,
537 ''IMPAIR EXPENSE'', xl.IMPAIR_EXPENSE_ACCT,
538 ''IMPAIR RESERVE'', xl.IMPAIR_RESERVE_ACCT,
539 ''LINK IMPAIR EXP'', xl.IMPAIR_EXPENSE_ACCT,
540 ''IMPAIR OFF EXP'', xl.DEPRN_EXPENSE_ACCT,
541 ''REVAL LOSS'', xl.REVAL_LOSS_ACCT,
542 ''REVAL OFF EXP'', xl.DEPRN_EXPENSE_ACCT,
543 ''PROCEEDS CLR'', xb.PROCEEDS_OF_SALE_CLEARING_ACCT,
544 ''REMOVALCOST CLR'', xb.COST_OF_REMOVAL_CLEARING_ACCT,
545 ''NBV RETIRED'', decode(sign(xl.gain_loss_amount),
546 -1, xb.NBV_RETIRED_LOSS_ACCT,
547 xb.NBV_RETIRED_GAIN_ACCT),
548 ''PROCEEDS'', decode(sign(xl.gain_loss_amount),
549 -1, xb.PROCEEDS_OF_SALE_LOSS_ACCT,
550 xb.PROCEEDS_OF_SALE_GAIN_ACCT),
551 ''REMOVALCOST'', decode(sign(xl.gain_loss_amount),
552 -1, xb.COST_OF_REMOVAL_LOSS_ACCT,
553 xb.COST_OF_REMOVAL_GAIN_ACCT),
554 ''REVAL RSV RET'', decode(sign(xl.gain_loss_amount),
555 -1, xb.REVAL_RSV_RETIRED_LOSS_ACCT,
556 xb.REVAL_RSV_RETIRED_GAIN_ACCT),
557 NULL),
558 decode(xl.adjustment_type,
559 ''EXPENSE'', ''DEPRN_RESERVE_ACCT'',
560 ''BONUS EXPENSE'', ''BONUS_DEPRN_RESERVE_ACCT'',
561 NULL),
562 decode(xl.adjustment_type,
563 ''EXPENSE'', da.DEPRN_RESERVE_ACCOUNT_CCID,
564 ''BONUS EXPENSE'', da.BONUS_RSV_ACCOUNT_CCID,
565 NULL),
566 decode(xl.adjustment_type,
567 ''EXPENSE'', xl.RESERVE_ACCOUNT_CCID,
568 ''BONUS EXPENSE'', xl.BONUS_RESERVE_ACCT_CCID,
569 NULL),
570 decode(xl.adjustment_type,
571 ''EXPENSE'', xl.DEPRN_RESERVE_ACCT,
572 ''BONUS EXPENSE'', xl.BONUS_RESERVE_ACCT,
573 NULL),
574 -- Bug 6962827: counter_account_type
575 decode(adjustment_type,
576 ''BONUS EXPENSE'', ''DEPRN_EXPENSE_ACCT'',
577 ''BONUS RESERVE'', ''DEPRN_RESERVE_ACCT'',
578 NULL),
579 -- Bug 6962827: counter_generated_ccid
580 decode(xl.adjustment_type,
581 ''BONUS EXPENSE'', da.DEPRN_EXPENSE_ACCOUNT_CCID,
582 ''BONUS RESERVE'', da.DEPRN_RESERVE_ACCOUNT_CCID,
583 NULL),
584 -- Bug 6962827 : counter_account_ccid
585 decode(xl.adjustment_type,
586 ''BONUS RESERVE'', xl.RESERVE_ACCOUNT_CCID,
587 0),
588 -- Bug 6962827 : counter_account_segment
589 decode(xl.adjustment_type,
590 ''BONUS EXPENSE'', xl.DEPRN_EXPENSE_ACCT,
591 ''BONUS RESERVE'', xl.DEPRN_RESERVE_ACCT,
592 NULL),
593 -- Bug 6962827 : counter_generated_offset_ccid
594 decode(xl.adjustment_type,
595 ''BONUS EXPENSE'', da.DEPRN_RESERVE_ACCOUNT_CCID,
596 NULL),
597 -- Bug 6962827 : counter_offset_account_ccid
598 decode(xl.adjustment_type,
599 ''BONUS EXPENSE'', xl.RESERVE_ACCOUNT_CCID,
600 NULL),
601 -- Bug 6962827 : counter_offset_account_segment
602 decode(xl.adjustment_type,
603 ''BONUS EXPENSE'', xl.DEPRN_RESERVE_ACCT,
604 NULL)
605 from xla_events_gt xg,
606 fa_xla_ext_headers_b_gt xb,
607 fa_xla_ext_lines_b_gt xl,
608 fa_distribution_accounts da
609 where xg.event_class_code not in (''DEPRECIATION'', ''DEFERRED'')
610 and xb.event_id = xg.event_id
611 and xl.event_id = xg.event_id
612 and xl.distribution_id = da.distribution_id(+)
613 and xl.book_type_code = da.book_type_code(+);
614
615
616 BEGIN
617
618 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
619 fnd_log.string(G_LEVEL_PROCEDURE,
620 G_MODULE_NAME||l_procedure_name||''.begin'',
621 ''Beginning of procedure'');
622 END IF;
623
624
625 open c_trx;
626 fetch c_trx
627 bulk collect into l_adj_tbl;
628 close c_trx;
629
630 for i in 1..l_adj_tbl.count loop
631
632 if (l_last_book <> l_adj_tbl(i).book_type_code or
633 i = 1) then
634 if not (fa_cache_pkg.fazcbc
635 (X_BOOK => l_adj_tbl(1).book_type_code,
636 P_LOG_LEVEL_REC => p_log_level_rec)) then
637 null;
638 end if;
639 l_last_book := l_adj_tbl(i).book_type_code;
640 end if;
641
642 -- call FAFBGCC if the ccid doesnt exist in distribution accounts
643
644 if (l_adj_tbl(i).generated_ccid is null and
645 l_adj_tbl(i).entered_amount <> 0) then
646
647 if (not FA_GCCID_PKG.fafbgcc
648 (X_book_type_code => l_adj_tbl(i).book_type_code,
649 X_fn_trx_code => l_adj_tbl(i).account_type,
650 X_dist_ccid => l_adj_tbl(i).distribution_ccid,
651 X_acct_segval => l_adj_tbl(i).account_segment,
652 X_account_ccid => l_adj_tbl(i).account_ccid,
653 X_distribution_id => l_adj_tbl(i).distribution_id,
654 X_rtn_ccid => l_adj_tbl(i).generated_ccid,
655 P_LOG_LEVEL_REC => p_log_level_rec)) then
656 FA_SRVR_MSG.ADD_MESSAGE
657 (NAME => ''FA_GET_ACCOUNT_CCID'',
658 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
659 P_LOG_LEVEL_REC => p_log_level_rec);
660 l_adj_tbl(i).generated_ccid := -1;
661 end if;
662 end if;
663
664 if (l_adj_tbl(i).account_type in
665 (''DEPRN_EXPENSE_ACCT'', ''BONUS_DEPRN_EXPENSE_ACCT'') and
666 l_adj_tbl(i).generated_offset_ccid is null and
667 l_adj_tbl(i).entered_amount <> 0) then
668
669 if (not FA_GCCID_PKG.fafbgcc
670 (X_book_type_code => l_adj_tbl(i).book_type_code,
671 X_fn_trx_code => l_adj_tbl(i).offset_account_type,
672 X_dist_ccid => l_adj_tbl(i).distribution_ccid,
673 X_acct_segval => l_adj_tbl(i).offset_account_segment,
674 X_account_ccid => l_adj_tbl(i).offset_account_ccid,
675 X_distribution_id => l_adj_tbl(i).distribution_id,
676 X_rtn_ccid => l_adj_tbl(i).generated_offset_ccid,
677 P_LOG_LEVEL_REC => p_log_level_rec)) then
678 FA_SRVR_MSG.ADD_MESSAGE
679 (NAME => ''FA_GET_ACCOUNT_CCID'',
680 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
681 P_LOG_LEVEL_REC => p_log_level_rec);
682 l_adj_tbl(i).generated_offset_ccid := -1;
683 end if;
684 end if;
685
686 -- Bug 6962827 start
687 -- Populate counter_generated_ccid with the Expense acct for
688 -- Bonus expense and with Reserve acct for Bonus Reserve lines.
689 if (l_adj_tbl(i).account_type in (''BONUS_DEPRN_EXPENSE_ACCT'',''BONUS_DEPRN_RESERVE_ACCT'') and
690 l_adj_tbl(i).counter_generated_ccid is null and
691 l_adj_tbl(i).entered_amount <> 0) then
692
693 if (not FA_GCCID_PKG.fafbgcc
694 (X_book_type_code => l_adj_tbl(i).book_type_code,
695 X_fn_trx_code => l_adj_tbl(i).counter_account_type,
696 X_dist_ccid => l_adj_tbl(i).distribution_ccid,
697 X_acct_segval => l_adj_tbl(i).counter_account_segment,
698 X_account_ccid => l_adj_tbl(i).counter_account_ccid,
699 X_distribution_id => l_adj_tbl(i).distribution_id,
700 X_rtn_ccid => l_adj_tbl(i).counter_generated_ccid,
701 P_LOG_LEVEL_REC => p_log_level_rec)) then
702 FA_SRVR_MSG.ADD_MESSAGE
703 (NAME => ''FA_GET_ACCOUNT_CCID'',
704 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
705 P_LOG_LEVEL_REC => p_log_level_rec);
706 l_adj_tbl(i).counter_generated_ccid := -1;
707 end if;
708
709 end if;
710
711 -- Populate counter_generated_offset_ccid with the Reserve acct
712 -- for Bonus expense lines.
713 if (l_adj_tbl(i).account_type = ''BONUS_DEPRN_EXPENSE_ACCT'' and
714 l_adj_tbl(i).counter_generated_offset_ccid is null and
715 l_adj_tbl(i).entered_amount <> 0) then
716
717 if (not FA_GCCID_PKG.fafbgcc
718 (X_book_type_code => l_adj_tbl(i).book_type_code,
719 X_fn_trx_code => ''DEPRN_RESERVE_ACCT'',
720 X_dist_ccid => l_adj_tbl(i).distribution_ccid,
721 X_acct_segval => l_adj_tbl(i).counter_offset_account_segment,
722 X_account_ccid => l_adj_tbl(i).counter_offset_account_ccid,
723 X_distribution_id => l_adj_tbl(i).distribution_id,
724 X_rtn_ccid => l_adj_tbl(i).counter_generated_offset_ccid,
725 P_LOG_LEVEL_REC => p_log_level_rec)) then
726 FA_SRVR_MSG.ADD_MESSAGE
727 (NAME => ''FA_GET_ACCOUNT_CCID'',
728 CALLING_FN => ''FA_INS_ADJUST_PKG.fadoflx'',
729 P_LOG_LEVEL_REC => p_log_level_rec);
730 l_adj_tbl(i).counter_generated_offset_ccid := -1;
731 end if;
732
733 end if;
734 -- Bug 6962827 end
735
736 end loop;
737
738 for i in 1.. l_adj_tbl.count loop
739
740 l_generated_ccid(i) := l_adj_tbl(i).generated_ccid;
741 l_generated_offset_ccid(i) := l_adj_tbl(i).generated_offset_ccid;
742 l_rowid(i) := l_adj_tbl(i).rowid;
743 -- Bug 6962827
744 l_counter_generated_ccid(i) := l_adj_tbl(i).counter_generated_ccid;
745 l_ctr_generated_off_ccid(i) := l_adj_tbl(i).counter_generated_offset_ccid;
746 end loop;
747
748 forall i in 1..l_adj_tbl.count
749 update fa_xla_ext_lines_b_gt
750 set generated_ccid = l_generated_ccid(i),
751 generated_offset_ccid = l_generated_offset_ccid(i),
752 counter_generated_ccid = l_counter_generated_ccid(i), -- Bug 6962827
753 counter_generated_offset_ccid = l_ctr_generated_off_ccid(i) -- Bug 6962827
754 where rowid = l_rowid(i);
755
756 ';
757
758 C_PRIVATE_API_DEF CONSTANT VARCHAR2(32000) := '
759
760 type def_deprn_rec_type is record
761 (rowid VARCHAR2(64),
762 book_type_code VARCHAR2(30),
763 distribution_id NUMBER(15),
764 distribution_ccid NUMBER(15),
765 def_deprn_entered_amount NUMBER,
766 generated_ccid NUMBER(15),
767 generated_offset_ccid NUMBER(15),
768 DEF_DEPRN_EXPENSE_ACCT VARCHAR2(25),
769 DEF_DEPRN_RESERVE_ACCT VARCHAR2(25)
770 );
771
772 type def_deprn_tbl_type is table of def_deprn_rec_type index by binary_integer;
773
774 l_def_deprn_tbl def_deprn_tbl_type;
775
776 l_generated_ccid num_tab_type;
777 l_generated_offset_ccid num_tab_type;
778 l_rowid char_tab_type;
779
780 l_last_book varchar2(30) := '' '';
781
782 cursor c_def_deprn is
783 select /*+ leading(xg) index(xb, FA_XLA_EXT_HEADERS_B_GT_U1) index(xl, FA_XLA_EXT_LINES_B_GT_U1) */
784 xl.rowid,
785 xb.book_type_code,
786 xl.distribution_id,
787 xl.EXPENSE_ACCOUNT_CCID,
788 xl.entered_amount,
789 nvl(xl.generated_ccid, da.DEFERRED_EXP_ACCOUNT_CCID),
790 nvl(xl.generated_offset_ccid, da.DEFERRED_RSV_ACCOUNT_CCID),
791 xb.DEFERRED_DEPRN_EXPENSE_ACCT,
792 xb.DEFERRED_DEPRN_RESERVE_ACCT
793 from xla_events_gt xg,
794 fa_xla_ext_headers_b_gt xb,
795 fa_xla_ext_lines_b_gt xl,
796 fa_distribution_accounts da
797 where xg.event_class_code = ''DEFERRED DEPRECIATION''
798 and xb.event_id = xg.event_id
799 and xl.event_id = xg.event_id
800 and xl.distribution_id = da.distribution_id(+)
801 and xl.tax_book_type_code = da.book_type_code(+);
802
803
804
805 BEGIN
806
807 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
808 fnd_log.string(G_LEVEL_PROCEDURE,
809 G_MODULE_NAME||l_procedure_name||''.begin'',
810 ''Beginning of procedure'');
811 END IF;
812
813 open c_def_deprn;
814 fetch c_def_deprn bulk collect into l_def_deprn_tbl;
815 close c_def_deprn;
816
817 for i in 1..l_def_deprn_tbl.count loop
818
819 if (l_last_book <> l_def_deprn_tbl(i).book_type_code or
820 i = 1) then
821
822 if not (fa_cache_pkg.fazcbc
823 (X_BOOK => l_def_deprn_tbl(i).book_type_code,
824 P_LOG_LEVEL_REC => p_log_level_rec)) then
825 null;
826
827 end if;
828 l_last_book := l_def_deprn_tbl(i).book_type_code;
829 end if;
830
831
832 -- call FAFBGCC if the ccid doesnt exist in distribution accounts
833
834 if (l_def_deprn_tbl(i).generated_ccid is null and
835 l_def_deprn_tbl(i).def_deprn_entered_amount <> 0) then
836
837 if (not FA_GCCID_PKG.fafbgcc
838 (X_book_type_code => l_def_deprn_tbl(i).book_type_code,
839 X_fn_trx_code => ''DEFERRED_DEPRN_EXPENSE_ACCT'',
840 X_dist_ccid => l_def_deprn_tbl(i).distribution_ccid,
841 X_acct_segval => l_def_deprn_tbl(i).def_deprn_expense_acct,
842 X_account_ccid => 0,
843 X_distribution_id => l_def_deprn_tbl(i).distribution_id,
844 X_rtn_ccid => l_def_deprn_tbl(i).generated_ccid,
845 P_LOG_LEVEL_REC => p_log_level_rec)) then
846 FA_SRVR_MSG.ADD_MESSAGE
847 (NAME => ''FA_GET_ACCOUNT_CCID'',
848 CALLING_FN => ''fa_xla_extract_def_pkg.Load_Generated_Ccids'',
849 P_LOG_LEVEL_REC => p_log_level_rec);
850 l_def_deprn_tbl(i).generated_ccid := -1;
851 end if;
852 end if;
853
854 if (l_def_deprn_tbl(i).generated_offset_ccid is null and
855 l_def_deprn_tbl(i).def_deprn_entered_amount <> 0) then
856
857
858 if (not FA_GCCID_PKG.fafbgcc
859 (X_book_type_code => l_def_deprn_tbl(i).book_type_code,
860 X_fn_trx_code => ''DEFERRED_DEPRN_RESERVE_ACCT'',
861 X_dist_ccid => l_def_deprn_tbl(i).distribution_ccid,
862 X_acct_segval => l_def_deprn_tbl(i).def_deprn_reserve_acct,
863 X_account_ccid => 0,
864 X_distribution_id => l_def_deprn_tbl(i).distribution_id,
865 X_rtn_ccid => l_def_deprn_tbl(i).generated_offset_ccid,
866 P_LOG_LEVEL_REC => p_log_level_rec)) then
867
868 FA_SRVR_MSG.ADD_MESSAGE
869 (NAME => ''FA_GET_ACCOUNT_CCID'',
870 CALLING_FN => ''fa_xla_extract_def_pkg.Load_Generated_Ccids'',
871 P_LOG_LEVEL_REC => p_log_level_rec);
872 l_def_deprn_tbl(i).generated_offset_ccid := -1;
873 end if;
874 end if;
875
876 end loop;
877
878 for i in 1.. l_def_deprn_tbl.count loop
879
880 l_generated_ccid(i) := l_def_deprn_tbl(i).generated_ccid;
881 l_generated_offset_ccid(i) := l_def_deprn_tbl(i).generated_offset_ccid;
882 l_rowid(i) := l_def_deprn_tbl(i).rowid;
883
884 end loop;
885
886 forall i in 1..l_def_deprn_tbl.count
887 update fa_xla_ext_lines_b_gt
888 set generated_ccid = l_generated_ccid(i),
889 generated_offset_ccid = l_generated_offset_ccid(i)
890 where rowid = l_rowid(i);
891
892 ';
893
894
895 C_PRIVATE_API_3 CONSTANT VARCHAR2(32000) := '
896 --
897
898 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
899 fnd_log.string(G_LEVEL_PROCEDURE,
900 G_MODULE_NAME||l_procedure_name||''.end'',
901 ''End of procedure'');
902 END IF;
903
904 EXCEPTION
905 WHEN others THEN
906 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL) THEN
907 fnd_message.set_name(''OFA'',''FA_SHARED_ORACLE_ERR'');
908 fnd_message.set_token(''ORACLE_ERR'',SQLERRM);
909 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
910 END IF;
911 raise;
912
913 END load_generated_ccids;
914
915 ';
916
917
918
919 --
920 --+==========================================================================+
921 --| |
922 --| Private global constants |
923 --| |
924 --+==========================================================================+
925 --
926 C_CREATED_ERROR CONSTANT BOOLEAN := FALSE;
927 C_CREATED CONSTANT BOOLEAN := TRUE;
928 --
929 g_Max_line CONSTANT NUMBER := 225;
930 g_chr_quote CONSTANT VARCHAR2(10):='''';
931 g_chr_newline CONSTANT VARCHAR2(10):= fa_cmp_string_pkg.g_chr_newline;
932
933 g_log_level_rec fa_api_types.log_level_rec_type;
934
935 G_CURRENT_RUNTIME_LEVEL NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
936
937 G_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
938 G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
939 G_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
940 G_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
941 G_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
942 G_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
943
944 G_MODULE_NAME CONSTANT VARCHAR2(50):= 'fa.plsql.fa_xla_cmp_header_pkg.';
945
946 FUNCTION GenerateCcidExtract
947 (p_extract_type IN VARCHAR2,
948 p_package_body OUT NOCOPY DBMS_SQL.VARCHAR2S) RETURN BOOLEAN IS
949
950 l_array_pkg DBMS_SQL.VARCHAR2S;
951 l_BodyPkg VARCHAR2(32000);
952 l_array_body DBMS_SQL.VARCHAR2S;
953 l_procedure_name varchar2(80) := 'GenerateLoadExtract';
954
955 BEGIN
956
957 IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL ) THEN
958 fnd_log.string(G_LEVEL_PROCEDURE,
959 G_MODULE_NAME||l_procedure_name||'.begin',
960 'Beginning of procedure');
961 END IF;
962
963 l_array_body := fa_cmp_string_pkg.g_null_varchar2s;
964 l_array_pkg := fa_cmp_string_pkg.g_null_varchar2s;
965
966 -- deferred does not use locking - exit returning nothing
967 l_bodypkg := C_PRIVATE_API_1;
968
969 fa_cmp_string_pkg.CreateString
970 (p_package_text => l_BodyPkg
971 ,p_array_string => l_array_pkg);
972
973 if (p_extract_type = 'DEPRN') then
974
975 l_bodypkg := C_PRIVATE_API_DEPRN;
976
977 elsif (p_extract_type = 'TRX') then
978
979 l_bodypkg := C_PRIVATE_API_TRX;
980
981 elsif (p_extract_type = 'DEF') then
982
983 l_bodypkg := C_PRIVATE_API_DEF;
984
985 else
986 null; -- unkown type
987 end if;
988
989 fa_cmp_string_pkg.CreateString
990 (p_package_text => l_BodyPkg
991 ,p_array_string => l_array_body);
992
993 l_array_pkg :=
994 fa_cmp_string_pkg.ConcatTwoStrings
995 (p_array_string_1 => l_array_pkg
996 ,p_array_string_2 => l_array_body);
997
998
999 l_bodypkg := C_PRIVATE_API_3;
1000
1001 fa_cmp_string_pkg.CreateString
1002 (p_package_text => l_BodyPkg
1003 ,p_array_string => l_array_body);
1004
1005 l_array_pkg :=
1006 fa_cmp_string_pkg.ConcatTwoStrings
1007 (p_array_string_1 => l_array_pkg
1008 ,p_array_string_2 => l_array_body);
1009
1010 p_package_body := l_array_pkg;
1011
1012 RETURN TRUE;
1013
1014 EXCEPTION
1015 WHEN OTHERS THEN
1016 IF (G_LEVEL_UNEXPECTED >= G_CURRENT_RUNTIME_LEVEL ) THEN
1017 fnd_message.set_name('OFA','FA_SHARED_ORACLE_ERR');
1018 fnd_message.set_token('ORACLE_ERR',SQLERRM);
1019 FND_LOG.MESSAGE (G_LEVEL_UNEXPECTED,G_MODULE_NAME||l_procedure_name,TRUE);
1020 END IF;
1021 RETURN FALSE;
1022
1023 END GenerateCcidExtract;
1024
1025 END fa_xla_cmp_ccid_pkg;