19: l_path_name VARCHAR2(150) ;
20: BEGIN
21: l_path_name := g_path||'debug_period';
22:
23: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
24: p_full_path => l_path_name,
25: p_string => ' Period counter :'||to_char(p_period.period_counter));
26: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
27: p_full_path => l_path_name,
22:
23: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
24: p_full_path => l_path_name,
25: p_string => ' Period counter :'||to_char(p_period.period_counter));
26: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
27: p_full_path => l_path_name,
28: p_string => ' Period Num :'||to_char(p_period.period_num));
29: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
30: p_full_path => l_path_name,
25: p_string => ' Period counter :'||to_char(p_period.period_counter));
26: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
27: p_full_path => l_path_name,
28: p_string => ' Period Num :'||to_char(p_period.period_num));
29: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
30: p_full_path => l_path_name,
31: p_string => ' Fiscal Year :'||to_char(p_period.fiscal_year));
32: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
33: p_full_path => l_path_name,
28: p_string => ' Period Num :'||to_char(p_period.period_num));
29: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
30: p_full_path => l_path_name,
31: p_string => ' Fiscal Year :'||to_char(p_period.fiscal_year));
32: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
33: p_full_path => l_path_name,
34: p_string => ' Period Name :'||p_period.period_name);
35: END Debug_Period;
36:
46: p_amount := round( l_amount, 2);
47: END IF;
48: exception when others then
49: p_amount := l_amount_old;
50: igi_iac_debug_pkg.debug_unexpected_msg(l_path);
51: Raise;
52: end;
53:
54: PROCEDURE Debug_Asset(p_asset igi_iac_types.iac_reval_input_asset) IS
55: l_path_name VARCHAR2(150);
56: BEGIN
57: l_path_name := g_path||'debug_asset';
58:
59: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
60: p_full_path => l_path_name,
61: p_string => ' Net book value :'||to_char(p_asset.net_book_value));
62: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
63: p_full_path => l_path_name,
58:
59: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
60: p_full_path => l_path_name,
61: p_string => ' Net book value :'||to_char(p_asset.net_book_value));
62: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
63: p_full_path => l_path_name,
64: p_string => ' Adjusted Cost :'||to_char(p_asset.adjusted_cost));
65: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
66: p_full_path => l_path_name,
61: p_string => ' Net book value :'||to_char(p_asset.net_book_value));
62: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
63: p_full_path => l_path_name,
64: p_string => ' Adjusted Cost :'||to_char(p_asset.adjusted_cost));
65: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
66: p_full_path => l_path_name,
67: p_string => ' Operating Account :'||to_char(p_asset.operating_acct));
68: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
69: p_full_path => l_path_name,
64: p_string => ' Adjusted Cost :'||to_char(p_asset.adjusted_cost));
65: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
66: p_full_path => l_path_name,
67: p_string => ' Operating Account :'||to_char(p_asset.operating_acct));
68: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
69: p_full_path => l_path_name,
70: p_string => ' Reval Reserve :'||to_char(p_asset.reval_reserve));
71: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
72: p_full_path => l_path_name,
67: p_string => ' Operating Account :'||to_char(p_asset.operating_acct));
68: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
69: p_full_path => l_path_name,
70: p_string => ' Reval Reserve :'||to_char(p_asset.reval_reserve));
71: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
72: p_full_path => l_path_name,
73: p_string => ' Deprn Amount :'||to_char(p_asset.deprn_amount));
74: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
75: p_full_path => l_path_name,
70: p_string => ' Reval Reserve :'||to_char(p_asset.reval_reserve));
71: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
72: p_full_path => l_path_name,
73: p_string => ' Deprn Amount :'||to_char(p_asset.deprn_amount));
74: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
75: p_full_path => l_path_name,
76: p_string => ' Deprn Reserve :'||to_char(p_asset.deprn_reserve));
77: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
78: p_full_path => l_path_name,
73: p_string => ' Deprn Amount :'||to_char(p_asset.deprn_amount));
74: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
75: p_full_path => l_path_name,
76: p_string => ' Deprn Reserve :'||to_char(p_asset.deprn_reserve));
77: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
78: p_full_path => l_path_name,
79: p_string => ' Backlog Deprn Reserve :'||to_char(p_asset.backlog_deprn_reserve));
80: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
81: p_full_path => l_path_name,
76: p_string => ' Deprn Reserve :'||to_char(p_asset.deprn_reserve));
77: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
78: p_full_path => l_path_name,
79: p_string => ' Backlog Deprn Reserve :'||to_char(p_asset.backlog_deprn_reserve));
80: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
81: p_full_path => l_path_name,
82: p_string => ' General Fund :'||to_char(p_asset.general_fund));
83: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
84: p_full_path => l_path_name,
79: p_string => ' Backlog Deprn Reserve :'||to_char(p_asset.backlog_deprn_reserve));
80: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
81: p_full_path => l_path_name,
82: p_string => ' General Fund :'||to_char(p_asset.general_fund));
83: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
84: p_full_path => l_path_name,
85: p_string => ' Current Reval Factor :'||to_char(p_asset.current_reval_factor));
86: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
87: p_full_path => l_path_name,
82: p_string => ' General Fund :'||to_char(p_asset.general_fund));
83: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
84: p_full_path => l_path_name,
85: p_string => ' Current Reval Factor :'||to_char(p_asset.current_reval_factor));
86: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
87: p_full_path => l_path_name,
88: p_string => ' Cumulative Reval Factor :'||to_char(p_asset.Cumulative_reval_factor));
89: END Debug_Asset;
90:
162: l_booksrow_ytd_deprn NUMBER;
163:
164: BEGIN
165: l_path_name := g_path||'get_fa_deprn_expense';
166: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
167: p_full_path => l_path_name,
168: p_string => ' Start of processing in get_FA_Deprn_Expense function');
169: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
170: p_full_path => l_path_name,
165: l_path_name := g_path||'get_fa_deprn_expense';
166: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
167: p_full_path => l_path_name,
168: p_string => ' Start of processing in get_FA_Deprn_Expense function');
169: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
170: p_full_path => l_path_name,
171: p_string => ' ---------Input Parameter Values---------');
172: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
173: p_full_path => l_path_name,
168: p_string => ' Start of processing in get_FA_Deprn_Expense function');
169: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
170: p_full_path => l_path_name,
171: p_string => ' ---------Input Parameter Values---------');
172: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
173: p_full_path => l_path_name,
174: p_string => ' Asset Id :'||to_char(p_asset_id));
175: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
176: p_full_path => l_path_name,
171: p_string => ' ---------Input Parameter Values---------');
172: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
173: p_full_path => l_path_name,
174: p_string => ' Asset Id :'||to_char(p_asset_id));
175: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
176: p_full_path => l_path_name,
177: p_string => ' Book Type Code :'||p_book_type_code);
178: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
179: p_full_path => l_path_name,
174: p_string => ' Asset Id :'||to_char(p_asset_id));
175: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
176: p_full_path => l_path_name,
177: p_string => ' Book Type Code :'||p_book_type_code);
178: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
179: p_full_path => l_path_name,
180: p_string => ' Period Counter :'||to_char(p_period_counter));
181: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
182: p_full_path => l_path_name,
177: p_string => ' Book Type Code :'||p_book_type_code);
178: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
179: p_full_path => l_path_name,
180: p_string => ' Period Counter :'||to_char(p_period_counter));
181: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
182: p_full_path => l_path_name,
183: p_string => ' Calling function :'||p_calling_function);
184: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
185: p_full_path => l_path_name,
180: p_string => ' Period Counter :'||to_char(p_period_counter));
181: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
182: p_full_path => l_path_name,
183: p_string => ' Calling function :'||p_calling_function);
184: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
185: p_full_path => l_path_name,
186: p_string => ' ----------------------------------');
187:
188: /* Bug 2961656 vgadde 08-jul-03 Start(2) */
194:
195: OPEN c_get_periods_in_year(l_deprn_calendar);
196: FETCH c_get_periods_in_year INTO l_periods_in_year;
197: CLOSE c_get_periods_in_year;
198: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
199: p_full_path => l_path_name,
200: p_string => ' Periods in Year for the calendar :'||to_char(l_periods_in_year));
201:
202: FOR l_asset_info IN c_get_fa_asset_info LOOP
201:
202: FOR l_asset_info IN c_get_fa_asset_info LOOP
203:
204: IF (l_asset_info.depreciate_flag = 'NO') THEN
205: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
206: p_full_path => l_path_name,
207: p_string => ' Depreciate Flag is off. No depreciation required');
208: p_deprn_expense_py := 0;
209: p_deprn_expense_cy := 0;
213:
214: IF NOT igi_iac_common_utils.get_period_info_for_date(p_book_type_code,
215: l_asset_info.date_placed_in_service,
216: l_dpis_period) THEN
217: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
218: p_full_path => l_path_name,
219: p_string => ' Error in fetching dpis period information');
220: return FALSE;
221: END IF;
220: return FALSE;
221: END IF;
222:
223: l_total_periods := ceil((l_asset_info.life_in_months*l_periods_in_year)/12);
224: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'l_total_periods =' || l_total_periods);
225: l_last_period_counter := (l_dpis_period.period_counter + l_total_periods - 1);
226:
227: IF nvl(l_asset_info.period_counter_fully_reserved,l_last_period_counter) < l_last_period_counter THEN
228: l_last_period_counter := l_asset_info.period_counter_fully_reserved;
230:
231: IF l_last_period_counter > p_period_counter THEN
232: l_last_period_counter := NULL;
233: END IF;
234: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'l_last_period_counter =' || l_last_period_counter);
235:
236: IF NOT igi_iac_common_utils.get_period_info_for_counter(p_book_type_code,
237: p_period_counter,
238: l_current_period) THEN
235:
236: IF NOT igi_iac_common_utils.get_period_info_for_counter(p_book_type_code,
237: p_period_counter,
238: l_current_period) THEN
239: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
240: p_full_path => l_path_name,
241: p_string => ' Error in fetching open period information');
242: return FALSE;
243: END IF;
242: return FALSE;
243: END IF;
244:
245: IF (l_last_period_counter IS NULL) THEN
246: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
247: p_full_path => l_path_name,
248: p_string => ' Asset is not fully reserved.');
249: IF p_deprn_ytd IS NULL THEN
250: p_deprn_expense_py := p_deprn_reserve / (p_period_counter - l_dpis_period.period_counter);
257: do_round(p_deprn_expense_py,p_book_type_code);
258: p_deprn_expense_cy := p_deprn_ytd / (l_current_period.period_num - 1);
259: do_round(p_deprn_expense_cy,p_book_type_code);
260: END IF;
261: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
262: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
263: ELSE
264: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
265: p_full_path => l_path_name,
258: p_deprn_expense_cy := p_deprn_ytd / (l_current_period.period_num - 1);
259: do_round(p_deprn_expense_cy,p_book_type_code);
260: END IF;
261: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
262: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
263: ELSE
264: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
265: p_full_path => l_path_name,
266: p_string => ' Asset is fully reserved');
260: END IF;
261: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
262: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
263: ELSE
264: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
265: p_full_path => l_path_name,
266: p_string => ' Asset is fully reserved');
267: IF NOT igi_iac_common_utils.get_period_info_for_counter(p_book_type_code,
268: l_last_period_counter,
291: IF l_last_period.fiscal_year < l_current_period.fiscal_year THEN
292: p_deprn_expense_cy := 0;
293: END IF;
294: END IF;
295: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
296: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
297: END IF;
298: END LOOP;
299: END IF;
292: p_deprn_expense_cy := 0;
293: END IF;
294: END IF;
295: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
296: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
297: END IF;
298: END LOOP;
299: END IF;
300:
310:
311: OPEN c_get_periods_in_year(l_deprn_calendar);
312: FETCH c_get_periods_in_year INTO l_periods_in_year;
313: CLOSE c_get_periods_in_year;
314: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
315: p_full_path => l_path_name,
316: p_string => ' Periods in Year for the calendar :'||to_char(l_periods_in_year));
317:
318: FOR l_asset_info IN c_get_fa_asset_info LOOP
316: p_string => ' Periods in Year for the calendar :'||to_char(l_periods_in_year));
317:
318: FOR l_asset_info IN c_get_fa_asset_info LOOP
319:
320: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
321: p_full_path => l_path_name,
322: p_string => ' cost :'||to_char(l_asset_info.cost));
323: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
324: p_full_path => l_path_name,
319:
320: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
321: p_full_path => l_path_name,
322: p_string => ' cost :'||to_char(l_asset_info.cost));
323: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
324: p_full_path => l_path_name,
325: p_string => ' salvage value :'||to_char(l_asset_info.salvage_value));
326: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
327: p_full_path => l_path_name,
322: p_string => ' cost :'||to_char(l_asset_info.cost));
323: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
324: p_full_path => l_path_name,
325: p_string => ' salvage value :'||to_char(l_asset_info.salvage_value));
326: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
327: p_full_path => l_path_name,
328: p_string => ' date placed in service :'||to_char(l_asset_info.date_placed_in_service));
329: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
330: p_full_path => l_path_name,
325: p_string => ' salvage value :'||to_char(l_asset_info.salvage_value));
326: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
327: p_full_path => l_path_name,
328: p_string => ' date placed in service :'||to_char(l_asset_info.date_placed_in_service));
329: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
330: p_full_path => l_path_name,
331: p_string => ' depreciate flag :'||l_asset_info.depreciate_flag);
332: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
333: p_full_path => l_path_name,
328: p_string => ' date placed in service :'||to_char(l_asset_info.date_placed_in_service));
329: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
330: p_full_path => l_path_name,
331: p_string => ' depreciate flag :'||l_asset_info.depreciate_flag);
332: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
333: p_full_path => l_path_name,
334: p_string => ' period counter fully reserved :'||to_char(l_asset_info.period_counter_fully_reserved));
335: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
336: p_full_path => l_path_name,
331: p_string => ' depreciate flag :'||l_asset_info.depreciate_flag);
332: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
333: p_full_path => l_path_name,
334: p_string => ' period counter fully reserved :'||to_char(l_asset_info.period_counter_fully_reserved));
335: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
336: p_full_path => l_path_name,
337: p_string => ' transaction header id in :'||to_char(l_asset_info.transaction_header_id_in));
338: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
339: p_full_path => l_path_name,
334: p_string => ' period counter fully reserved :'||to_char(l_asset_info.period_counter_fully_reserved));
335: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
336: p_full_path => l_path_name,
337: p_string => ' transaction header id in :'||to_char(l_asset_info.transaction_header_id_in));
338: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
339: p_full_path => l_path_name,
340: p_string => ' life in months :'||to_char(l_asset_info.life_in_months));
341:
342: IF (l_asset_info.depreciate_flag = 'NO') THEN
339: p_full_path => l_path_name,
340: p_string => ' life in months :'||to_char(l_asset_info.life_in_months));
341:
342: IF (l_asset_info.depreciate_flag = 'NO') THEN
343: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
344: p_full_path => l_path_name,
345: p_string => ' Depreciate Flag is off. No depreciation calculation required');
346: p_deprn_expense_py := 0;
347: p_deprn_expense_cy := 0;
349: return TRUE;
350: END IF;
351:
352: l_total_periods := ceil((l_asset_info.life_in_months*l_periods_in_year)/12);
353: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
354: p_full_path => l_path_name,
355: p_string => ' Total Periods in Asset life :'||to_char(l_total_periods));
356:
357: /* Added for bug 2411599 vgadde 12/06/2002 Start(1)*/
362: return FALSE;
363: END IF;
364:
365: l_last_period_counter := (l_dpis_period.period_counter + l_total_periods - 1);
366: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
367: p_full_path => l_path_name,
368: p_string => ' Last Period counter :'||to_char(l_last_period_counter));
369:
370: IF nvl(l_asset_info.period_counter_fully_reserved,l_last_period_counter) < l_last_period_counter THEN
379: /* Added for bug 2411599 vgadde 12/06/2002 End(1) */
380:
381: IF ((p_calling_function = 'ADDITION') AND (nvl(l_booksrow_reserve,0) <> 0) and p_last_asset_period IS NULL) THEN
382:
383: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
384: p_full_path => l_path_name,
385: p_string => ' Depreciation amount entered by user');
386:
387: ------------- supplied YTD -----------------
401: p_deprn_expense_py := l_booksrow_reserve/ (p_period_counter - l_dpis_period.period_counter);
402: do_round(p_deprn_expense_py,p_book_type_code);
403: p_deprn_expense_cy := p_deprn_expense_py;
404: END IF;
405: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
406: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
407:
408: ELSIF (p_calling_function = 'RECLASS') THEN
409: OPEN c_get_deprn_reserve;
402: do_round(p_deprn_expense_py,p_book_type_code);
403: p_deprn_expense_cy := p_deprn_expense_py;
404: END IF;
405: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
406: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
407:
408: ELSIF (p_calling_function = 'RECLASS') THEN
409: OPEN c_get_deprn_reserve;
410: FETCH c_get_deprn_reserve INTO l_reclass_period,l_deprn_reserve;
427: do_round(p_deprn_expense_py,p_book_type_code);
428: p_deprn_expense_cy := p_deprn_expense_py;
429: END IF;
430:
431: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
432: p_full_path => l_path_name,
433: p_string => ' Calculated the deprn expense for '||l_reclass_period);
434: -- End of code added by Venkat Gadde
435: ELSE
432: p_full_path => l_path_name,
433: p_string => ' Calculated the deprn expense for '||l_reclass_period);
434: -- End of code added by Venkat Gadde
435: ELSE
436: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
437: p_full_path => l_path_name,
438: p_string => ' Depreciation amount calculated by FA');
439: p_deprn_expense_py := (l_asset_info.cost-l_asset_info.salvage_value)/l_total_periods;
440: do_round(p_deprn_expense_py,p_book_type_code);
439: p_deprn_expense_py := (l_asset_info.cost-l_asset_info.salvage_value)/l_total_periods;
440: do_round(p_deprn_expense_py,p_book_type_code);
441: p_deprn_expense_cy := p_deprn_expense_py;
442: END IF;
443: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
444: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
445: END LOOP;
446:
447: END IF;
440: do_round(p_deprn_expense_py,p_book_type_code);
441: p_deprn_expense_cy := p_deprn_expense_py;
442: END IF;
443: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_py =' || p_deprn_expense_py);
444: igi_iac_debug_pkg.debug_other_string(g_state_level,l_path_name,'p_deprn_expense_cy =' || p_deprn_expense_cy);
445: END LOOP;
446:
447: END IF;
448: /* Bug 2961656 vgadde 08-jul-03 End(2) */
447: END IF;
448: /* Bug 2961656 vgadde 08-jul-03 End(2) */
449: do_round(p_deprn_expense_py,p_book_type_code);
450: do_round(p_deprn_expense_cy,p_book_type_code);
451: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
452: p_full_path => l_path_name,
453: p_string => '-----Output from get_fa_deprn_expense function');
454: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
455: p_full_path => l_path_name,
450: do_round(p_deprn_expense_cy,p_book_type_code);
451: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
452: p_full_path => l_path_name,
453: p_string => '-----Output from get_fa_deprn_expense function');
454: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
455: p_full_path => l_path_name,
456: p_string => ' FA pys Depreciation Expense per period :'||to_char(p_deprn_expense_py));
457: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
458: p_full_path => l_path_name,
453: p_string => '-----Output from get_fa_deprn_expense function');
454: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
455: p_full_path => l_path_name,
456: p_string => ' FA pys Depreciation Expense per period :'||to_char(p_deprn_expense_py));
457: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
458: p_full_path => l_path_name,
459: p_string => ' FA cys Depreciation Expense per period :'||to_char(p_deprn_expense_cy));
460: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
461: p_full_path => l_path_name,
456: p_string => ' FA pys Depreciation Expense per period :'||to_char(p_deprn_expense_py));
457: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
458: p_full_path => l_path_name,
459: p_string => ' FA cys Depreciation Expense per period :'||to_char(p_deprn_expense_cy));
460: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
461: p_full_path => l_path_name,
462: p_string => ' Last period for the asset :'||to_char(p_last_asset_period));
463: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
464: p_full_path => l_path_name,
459: p_string => ' FA cys Depreciation Expense per period :'||to_char(p_deprn_expense_cy));
460: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
461: p_full_path => l_path_name,
462: p_string => ' Last period for the asset :'||to_char(p_last_asset_period));
463: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
464: p_full_path => l_path_name,
465: p_string => '----------------------------------------------');
466: return TRUE;
467:
466: return TRUE;
467:
468: EXCEPTION
469: WHEN OTHERS THEN
470: igi_iac_debug_pkg.debug_unexpected_msg(p_full_path => l_path_name);
471: return FALSE;
472: END get_FA_Deprn_Expense;
473:
474: FUNCTION Do_Deprn_Catchup(
619: END IF;
620: l_path_name := g_path||'do_deprn_catchup';
621: l_salvage_value_correction :=0;
622:
623: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
624: p_full_path => l_path_name,
625: p_string => '----------Start of processing by function Do_Deprn_Catchup....');
626: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
627: p_full_path => l_path_name,
622:
623: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
624: p_full_path => l_path_name,
625: p_string => '----------Start of processing by function Do_Deprn_Catchup....');
626: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
627: p_full_path => l_path_name,
628: p_string => '---- Input Parameters for the function ---------');
629: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
630: p_full_path => l_path_name,
625: p_string => '----------Start of processing by function Do_Deprn_Catchup....');
626: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
627: p_full_path => l_path_name,
628: p_string => '---- Input Parameters for the function ---------');
629: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
630: p_full_path => l_path_name,
631: p_string => ' Period Counter From :'||to_char(p_period_counter_from));
632: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
633: p_full_path => l_path_name,
628: p_string => '---- Input Parameters for the function ---------');
629: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
630: p_full_path => l_path_name,
631: p_string => ' Period Counter From :'||to_char(p_period_counter_from));
632: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
633: p_full_path => l_path_name,
634: p_string => ' Period Counter To :'||to_char(p_period_counter_to));
635: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
636: p_full_path => l_path_name,
631: p_string => ' Period Counter From :'||to_char(p_period_counter_from));
632: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
633: p_full_path => l_path_name,
634: p_string => ' Period Counter To :'||to_char(p_period_counter_to));
635: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
636: p_full_path => l_path_name,
637: p_string => ' Current Open Period Counter :'||to_char(p_period_counter));
638: If p_crud_iac_tables then
639: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
635: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
636: p_full_path => l_path_name,
637: p_string => ' Current Open Period Counter :'||to_char(p_period_counter));
638: If p_crud_iac_tables then
639: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
640: p_full_path => l_path_name,
641: p_string => ' CRUD IAC tables is TRUE');
642: Else
643: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
639: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
640: p_full_path => l_path_name,
641: p_string => ' CRUD IAC tables is TRUE');
642: Else
643: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
644: p_full_path => l_path_name,
645: p_string => ' CRUD IAC tables is FALSE');
646: End If;
647: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
643: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
644: p_full_path => l_path_name,
645: p_string => ' CRUD IAC tables is FALSE');
646: End If;
647: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
648: p_full_path => l_path_name,
649: p_string => ' Calling Function :'||p_calling_function);
650: Debug_Asset(p_asset_balance);
651: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
647: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
648: p_full_path => l_path_name,
649: p_string => ' Calling Function :'||p_calling_function);
650: Debug_Asset(p_asset_balance);
651: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
652: p_full_path => l_path_name,
653: p_string => '--------------------------------------------------');
654: IF (p_period_counter_from >= p_period_counter_to) THEN
655: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
651: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
652: p_full_path => l_path_name,
653: p_string => '--------------------------------------------------');
654: IF (p_period_counter_from >= p_period_counter_to) THEN
655: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
656: p_full_path => l_path_name,
657: p_string => ' Returning from do_deprn_catchup as no catchup is required');
658: return TRUE;
659: END IF;
671: /* Bug 2961656 vgadde 08-jul-2003 End(4) */
672:
673: /* Bug 2961656 vgadde 08-jul-2003 Start(5) */
674: IF (nvl(p_fa_deprn_expense_py,0) = 0 AND nvl(p_fa_deprn_expense_cy,0) = 0) THEN
675: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
676: p_full_path => l_path_name,
677: p_string => ' Returning from do_deprn_catchup since no depreciation catchup is required');
678: return TRUE;
679: END IF;
682: do_round(l_iac_deprn_amount_py,p_asset_balance.book_type_code);
683: l_iac_deprn_amount_cy := (p_fa_deprn_expense_cy * p_asset_balance.cumulative_reval_factor)-p_fa_deprn_expense_cy;
684: do_round(l_iac_deprn_amount_cy,p_asset_balance.book_type_code);
685:
686: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
687: p_full_path => l_path_name,
688: p_string => ' IAC pys Depreciation amount per period :'||to_char(l_iac_deprn_amount_py));
689: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
690: p_full_path => l_path_name,
685:
686: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
687: p_full_path => l_path_name,
688: p_string => ' IAC pys Depreciation amount per period :'||to_char(l_iac_deprn_amount_py));
689: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
690: p_full_path => l_path_name,
691: p_string => ' IAC cys Depreciation amount per period :'||to_char(l_iac_deprn_amount_cy));
692: Open c_get_deprn_calendar;
693: Fetch c_get_deprn_calendar into l_deprn_calendar;
723: END IF;
724: -- get the deprn amt per period ---
725:
726: IF (l_period_from.fiscal_year < l_period_open.fiscal_year) AND (l_period_to.fiscal_year < l_period_open.fiscal_year) THEN
727: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
728: p_full_path => l_path_name,
729: p_string => 'Depreciation catch up in previous years :');
730: l_deprn_catchup_amount := l_iac_deprn_amount_py * (p_period_counter_to - p_period_counter_from );
731: do_round(l_deprn_catchup_amount,p_asset_balance.book_type_code);
732: l_fa_deprn_catchup_amount := p_fa_deprn_expense_py * (p_period_counter_to - p_period_counter_from);
733: do_round(l_fa_deprn_catchup_amount,p_asset_balance.book_type_code);
734:
735: ELSIF (l_period_from.fiscal_year < l_period_open.fiscal_year) AND (l_period_to.fiscal_year = l_period_open.fiscal_year) THEN
736: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
737: p_full_path => l_path_name,
738: p_string => 'Depreciation catch up in previous year and current year :');
739:
740:
745: (p_fa_deprn_expense_py * (p_period_counter_to - p_period_counter_from - l_period_to.period_num ));
746: do_round(l_fa_deprn_catchup_amount,p_asset_balance.book_type_code);
747:
748: ELSIF (l_period_from.fiscal_year = l_period_open.fiscal_year) AND (l_period_to.fiscal_year = l_period_open.fiscal_year) THEN
749: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
750: p_full_path => l_path_name,
751: p_string => 'Depreciation catch up in current year :');
752:
753: l_deprn_catchup_amount := l_iac_deprn_amount_cy * (p_period_counter_to - p_period_counter_from );
877: return FALSE;
878: END IF;
879: /* Bug 2961656 vgadde 08-jul-2003 End(6) */
880:
881: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
882: p_full_path => l_path_name,
883: p_string => ' Total Depreciation catchup amount :'||to_char(l_deprn_catchup_amount));
884: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
885: p_full_path => l_path_name,
880:
881: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
882: p_full_path => l_path_name,
883: p_string => ' Total Depreciation catchup amount :'||to_char(l_deprn_catchup_amount));
884: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
885: p_full_path => l_path_name,
886: p_string => ' FA Depreciation catchup amount :'||to_char(l_fa_deprn_catchup_amount));
887:
888: p_asset_balance.deprn_amount := l_iac_deprn_amount_cy;
895: p_asset_balance.general_fund := nvl(p_asset_balance.general_fund,0) + l_deprn_catchup_amount;
896: END IF;
897: /* Bug 2423710 vgadde 19/06/2002 End(1) */
898:
899: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
900: p_full_path => l_path_name,
901: p_string => '------ Output Asset Record from do_deprn_catchup-----------');
902: Debug_Asset(p_asset_balance);
903:
923:
924: IF (p_calling_function <> 'UPGRADE') THEN
925:
926: /* Accounting entries to be created */
927: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
928: p_full_path => l_path_name,
929: p_string => ' Inserting records into IAC tables');
930: IF NOT (igi_iac_common_utils.get_book_gl_info(p_asset_balance.book_type_code ,
931: l_set_of_books_id ,
931: l_set_of_books_id ,
932: l_chart_of_accts_id ,
933: l_currency_code ,
934: l_precision )) THEN
935: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
936: p_full_path => l_path_name,
937: p_string => '*** Error in getting book GL info - do_deprn_catchup');
938: RETURN false;
939: END IF;
941: l_rowid := NULL;
942: l_adjustment_id := NULL;
943:
944: FOR l_transaction IN c_get_transaction LOOP
945: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
946: p_full_path => l_path_name,
947: p_string => ' Transaction ID created by revaluation :'||to_char(l_transaction.adjustment_id));
948: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
949: p_full_path => l_path_name,
944: FOR l_transaction IN c_get_transaction LOOP
945: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
946: p_full_path => l_path_name,
947: p_string => ' Transaction ID created by revaluation :'||to_char(l_transaction.adjustment_id));
948: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
949: p_full_path => l_path_name,
950: p_string => ' Inserting record into igi_iac_transaction_headers');
951: igi_iac_trans_headers_pkg.insert_row(
952: X_rowid => l_rowid ,
965: X_adjustment_status => 'COMPLETE' ,
966: X_period_counter => l_transaction.period_counter,
967: X_event_id => p_event_id) ;
968:
969: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
970: p_full_path => l_path_name,
971: p_string => ' New Adjustment Id for deprn catchup :'||to_char(l_adjustment_id));
972:
973: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
969: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
970: p_full_path => l_path_name,
971: p_string => ' New Adjustment Id for deprn catchup :'||to_char(l_adjustment_id));
972:
973: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
974: p_full_path => l_path_name,
975: p_string => ' Processing Inactive distributions');
976:
977: l_iac_inactive_dists_YTD := 0;
981: l_iac_all_dists_YTD := 0;
982: l_fa_all_dists_YTD := 0;
983:
984: FOR l_inactive_dist IN c_get_inactive_dists(l_transaction.adjustment_id) LOOP
985: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
986: p_full_path => l_path_name,
987: p_string => ' Distribution Id :'||to_char(l_inactive_dist.distribution_id));
988:
989: l_rowid := NULL;
1058: IF NOT igi_iac_common_utils.Prorate_Amt_to_Active_Dists( l_transaction.book_type_Code ,
1059: l_transaction.Asset_id ,
1060: l_deprn_catchup_amount ,
1061: l_distributions_tab ) THEN
1062: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1063: p_full_path => l_path_name,
1064: p_string => '*** Error in prorating catchup amount to active distributions');
1065: return FALSE;
1066: END IF;
1068: IF NOT igi_iac_common_utils.Prorate_Amt_to_Active_Dists( l_transaction.book_type_Code ,
1069: l_transaction.Asset_id ,
1070: l_fa_deprn_catchup_amount ,
1071: l_fa_dist_catchup_tab ) THEN
1072: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1073: p_full_path => l_path_name,
1074: p_string => '*** Error in prorating period amount to active distributions');
1075: return FALSE;
1076: END IF;
1074: p_string => '*** Error in prorating period amount to active distributions');
1075: return FALSE;
1076: END IF;
1077:
1078: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1079: p_full_path => l_path_name,
1080: p_string => ' Total Number of Distributions For Asset:'||to_char(l_distributions_tab.LAST));
1081: FOR l_idx IN l_distributions_tab.FIRST..l_distributions_tab.LAST LOOP
1082: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1078: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1079: p_full_path => l_path_name,
1080: p_string => ' Total Number of Distributions For Asset:'||to_char(l_distributions_tab.LAST));
1081: FOR l_idx IN l_distributions_tab.FIRST..l_distributions_tab.LAST LOOP
1082: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1083: p_full_path => l_path_name,
1084: p_string => ' Distribution id :'||to_char(l_distributions_tab(l_idx).distribution_id));
1085: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1086: p_full_path => l_path_name,
1081: FOR l_idx IN l_distributions_tab.FIRST..l_distributions_tab.LAST LOOP
1082: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1083: p_full_path => l_path_name,
1084: p_string => ' Distribution id :'||to_char(l_distributions_tab(l_idx).distribution_id));
1085: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1086: p_full_path => l_path_name,
1087: p_string => ' Prorated Catchup Amount for the distribution :'||to_char(l_distributions_tab(l_idx).amount));
1088: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1089: p_full_path => l_path_name,
1084: p_string => ' Distribution id :'||to_char(l_distributions_tab(l_idx).distribution_id));
1085: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1086: p_full_path => l_path_name,
1087: p_string => ' Prorated Catchup Amount for the distribution :'||to_char(l_distributions_tab(l_idx).amount));
1088: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1089: p_full_path => l_path_name,
1090: p_string => ' Units for the distribution :'||to_char(l_distributions_tab(l_idx).units));
1091: OPEN c_get_detail_balances(l_transaction.adjustment_id,
1092: l_distributions_tab(l_idx).distribution_id);
1112: /* Do not create accounting entries if the amount is zero */
1113:
1114: l_rowid := NULL;
1115: l_account_ccid := NULL ;
1116: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1117: p_full_path => l_path_name,
1118: p_string => ' Inserting records into igi_iac_adjustments');
1119: IF NOT (igi_iac_common_utils.get_account_ccid(l_transaction.book_type_code ,
1120: l_transaction.asset_id ,
1123: l_account_ccid )) THEN
1124:
1125: RETURN false;
1126: END IF;
1127: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1128: p_full_path => l_path_name,
1129: p_string => ' Deprn expense ccid :'||to_char(l_account_ccid));
1130: igi_iac_adjustments_pkg.insert_row(
1131: X_rowid => l_rowid ,
1155: l_account_ccid )) THEN
1156:
1157: RETURN false;
1158: END IF;
1159: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1160: p_full_path => l_path_name,
1161: p_string => ' Deprn reserve ccid :'||to_char(l_account_ccid));
1162: igi_iac_adjustments_pkg.insert_row(
1163: X_rowid => l_rowid ,
1192:
1193: RETURN false;
1194: END IF;
1195: l_reval_rsv_ccid :=l_account_ccid;
1196: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1197: p_full_path => l_path_name,
1198: p_string => ' Reval reserve ccid :'||to_char(l_account_ccid));
1199: igi_iac_adjustments_pkg.insert_row(
1200: X_rowid => l_rowid ,
1224: l_account_ccid )) THEN
1225:
1226: RETURN false;
1227: END IF;
1228: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1229: p_full_path => l_path_name,
1230: p_string => ' General Fund ccid :'||to_char(l_account_ccid));
1231: igi_iac_adjustments_pkg.insert_row(
1232: X_rowid => l_rowid ,
1280: l_transaction.book_type_code) THEN
1281: return FALSE;
1282: END IF;
1283:
1284: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1285: p_full_path => l_path_name,
1286: p_string => ' Inserting into igi_iac_det_balances ');
1287: l_rowid := NULL;
1288: igi_iac_det_balances_pkg.insert_row(
1312: X_current_reval_factor => l_detail_balance.current_reval_factor ,
1313: X_cumulative_reval_factor =>l_detail_balance.cumulative_reval_factor ,
1314: X_active_flag => l_detail_balance.active_flag ) ;
1315:
1316: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1317: p_full_path => l_path_name,
1318: p_string => ' distribution YTD:'||to_char(l_deprn_ytd));
1319:
1320: END LOOP; /* End of Processing each distribution */
1324: ELSE
1325: l_iac_deprn_period_amount := p_asset_balance.deprn_amount;
1326: END IF;
1327:
1328: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1329: p_full_path => l_path_name,
1330: p_string => ' Updating asset balances record for the current period');
1331: igi_iac_asset_balances_pkg.update_row(
1332: X_asset_id => p_asset_balance.asset_id ,
1343: X_last_reval_date => p_asset_balance.last_reval_date ,
1344: X_current_reval_factor => p_asset_balance.current_reval_factor ,
1345: X_cumulative_reval_factor => p_asset_balance.cumulative_reval_factor ) ;
1346:
1347: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1348: p_full_path => l_path_name,
1349: p_string => ' Updating asset balances record for the next period');
1350: igi_iac_asset_balances_pkg.update_row(
1351: X_asset_id => p_asset_balance.asset_id ,
1412: x_deprn_ytd => l_deprn_ytd ,
1413: x_deprn_reserve => l_iac_fa_deprn_rec.deprn_reserve + l_fa_dist_catchup_tab(l_idx).amount,
1414: x_active_flag => l_iac_fa_deprn_rec.active_flag,
1415: x_mode => 'R');
1416: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1417: p_full_path => l_path_name,
1418: p_string => ' distribution FA YTD:'||to_char(l_deprn_ytd));
1419:
1420: END LOOP; /* processing distributions for igi_iac_fa_deprn */
1419:
1420: END LOOP; /* processing distributions for igi_iac_fa_deprn */
1421:
1422:
1423: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1424: p_full_path => l_path_name,
1425: p_string => ' Closing the previous transaction created by IAC revaluation');
1426: igi_iac_trans_headers_pkg.update_row(
1427: X_prev_adjustment_id => l_transaction.adjustment_id ,
1430: END LOOP; /* End of Processing the transaction */
1431: ELSE /* calling function is UPGRADE */
1432:
1433: FOR l_upgrade_rec IN c_get_upgrade_rec LOOP
1434: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1435: p_full_path => l_path_name,
1436: p_string => ' Processing for upgrade. Updating the record');
1437:
1438: /* Bug 2961656 vgadde 08-Jul-2003 Start(7) */
1473:
1474: END LOOP;
1475: END IF; /* End of check for calling function */
1476: END IF; /* End of check for CRUD allowed */
1477: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1478: p_full_path => l_path_name,
1479: p_string => ' End of Processing by Do_Deprn_Catchup');
1480: return TRUE;
1481:
1480: return TRUE;
1481:
1482: EXCEPTION
1483: WHEN OTHERS THEN
1484: igi_iac_debug_pkg.debug_unexpected_msg(p_full_path => l_path_name);
1485: return FALSE;
1486: END Do_Deprn_Catchup;
1487:
1488: FUNCTION do_reval_init_struct(
1574: l_path_name := g_path||'do_reval_init_struct';
1575: l_user_id := fnd_global.user_id;
1576: l_login_id := fnd_global.login_id;
1577:
1578: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1579: p_full_path => l_path_name,
1580: p_string => '-----------Start of processing by do_reval_init_struct');
1581: OPEN c_fa_asset_info;
1582: FETCH c_fa_asset_info INTO l_fa_asset_info;
1587: l_fa_asset_info.date_placed_in_service,
1588: l_dpis_period) THEN
1589: return FALSE;
1590: END IF;
1591: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1592: p_full_path => l_path_name,
1593: p_string => ' DPIS Period Info');
1594: Debug_Period(l_dpis_period);
1595:
1599: l_dpis_period.period_name,
1600: l_dpis_price_index) THEN
1601: return FALSE;
1602: END IF;
1603: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1604: p_full_path => l_path_name,
1605: p_string => ' Price Index for DPIS :'||to_char(l_dpis_price_index));
1606: l_prev_price_index := l_dpis_price_index;
1607:
1650: l_curr_period.period_name,
1651: l_curr_price_index)) THEN
1652: return FALSE;
1653: END IF;
1654: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1655: p_full_path => l_path_name,
1656: p_string => ' Price Index for current revaluation catchup period :'||to_char(l_curr_price_index));
1657:
1658: l_reval_factor := l_curr_price_index / l_prev_price_index ;
1655: p_full_path => l_path_name,
1656: p_string => ' Price Index for current revaluation catchup period :'||to_char(l_curr_price_index));
1657:
1658: l_reval_factor := l_curr_price_index / l_prev_price_index ;
1659: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1660: p_full_path => l_path_name,
1661: p_string => ' Current Reval Factor : '||to_char(l_reval_factor));
1662: IF (idx = p_reval_control.FIRST) THEN
1663: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1659: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1660: p_full_path => l_path_name,
1661: p_string => ' Current Reval Factor : '||to_char(l_reval_factor));
1662: IF (idx = p_reval_control.FIRST) THEN
1663: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1664: p_full_path => l_path_name,
1665: p_string => ' Initialization for First revaluation ');
1666: p_reval_control(idx).first_time_flag := TRUE;
1667:
1664: p_full_path => l_path_name,
1665: p_string => ' Initialization for First revaluation ');
1666: p_reval_control(idx).first_time_flag := TRUE;
1667:
1668: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1669: p_full_path => l_path_name,
1670: p_string => ' Initializing reval input asset');
1671: p_reval_input_asset(idx).asset_id := p_reval_asset_params(idx).asset_id;
1672: p_reval_input_asset(idx).book_type_code := p_reval_asset_params(idx).book_type_code;
1687: p_reval_input_asset(idx).last_update_login := l_login_id;
1688: p_reval_input_asset(idx).last_update_date := sysdate;
1689: p_reval_input_asset(idx).last_updated_by := l_user_id;
1690:
1691: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1692: p_full_path => l_path_name,
1693: p_string => ' Initializing previous rate info');
1694: p_prev_rate_info(idx).asset_id := p_reval_asset_params(idx).asset_id;
1695: p_prev_rate_info(idx).book_type_code := p_reval_asset_params(idx).book_type_code;
1720: p_curr_rate_info(idx).cumulative_reval_factor;
1721: END IF;
1722:
1723: IF (idx = p_reval_control.LAST) THEN
1724: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1725: p_full_path => l_path_name,
1726: p_string => ' Last revaluation - setting CRUD flags to TRUE');
1727: p_reval_control(idx).create_acctg_entries := TRUE;
1728: p_reval_control(idx).crud_allowed := TRUE;
1732: p_reval_control(idx).crud_allowed := FALSE;
1733: p_reval_control(idx).modify_balances := FALSE;
1734: END IF;
1735:
1736: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1737: p_full_path => l_path_name,
1738: p_string => ' Initializing reval control structure');
1739: p_reval_control(idx).transaction_type_code := p_calling_function;
1740: p_reval_control(idx).transaction_sub_type := 'REVALUATION';
1745: p_reval_control(idx).print_report := FALSE;
1746: p_reval_control(idx).mixed_scenario := FALSE;
1747: p_reval_control(idx).show_exceptions := FALSE;
1748:
1749: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1750: p_full_path => l_path_name,
1751: p_string => ' Initializing reval asset params');
1752: p_reval_asset_params(idx).revaluation_rate := l_reval_factor;
1753: p_reval_asset_params(idx).revaluation_date := sysdate;
1753: p_reval_asset_params(idx).revaluation_date := sysdate;
1754: p_reval_asset_params(idx).first_set_adjustment_id := 0;
1755: p_reval_asset_params(idx).second_set_adjustment_id := 0;
1756:
1757: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1758: p_full_path => l_path_name,
1759: p_string => ' Initializing reval out NOCOPY put asset');
1760: p_reval_output_asset(idx) := p_reval_input_asset(idx);
1761:
1758: p_full_path => l_path_name,
1759: p_string => ' Initializing reval out NOCOPY put asset');
1760: p_reval_output_asset(idx) := p_reval_input_asset(idx);
1761:
1762: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1763: p_full_path => l_path_name,
1764: p_string => ' Initializing reval output asset mvmt ');
1765: p_reval_output_asset_mvmt(idx) := p_reval_input_asset(idx);
1766: p_reval_output_asset_mvmt(idx).net_book_value := 0;
1771: p_reval_output_asset_mvmt(idx).deprn_reserve := 0;
1772: p_reval_output_asset_mvmt(idx).backlog_deprn_reserve := 0;
1773: p_reval_output_asset_mvmt(idx).general_fund := 0;
1774:
1775: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1776: p_full_path => l_path_name,
1777: p_string => ' Initializing current rate info');
1778: p_curr_rate_info(idx).asset_id := p_reval_asset_params(idx).asset_id;
1779: p_curr_rate_info(idx).book_type_code := p_reval_asset_params(idx).book_type_code;
1789: p_curr_rate_info(idx).last_update_date := sysdate;
1790: p_curr_rate_info(idx).last_updated_by := l_user_id;
1791: p_curr_rate_info(idx).adjustment_id := 0;
1792:
1793: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1794: p_full_path => l_path_name,
1795: p_string => ' Initializing current rate info first and current rate info next');
1796: p_curr_rate_info_first(idx) := p_curr_rate_info(idx);
1797: p_curr_rate_info_next(idx) := p_curr_rate_info(idx);
1795: p_string => ' Initializing current rate info first and current rate info next');
1796: p_curr_rate_info_first(idx) := p_curr_rate_info(idx);
1797: p_curr_rate_info_next(idx) := p_curr_rate_info(idx);
1798:
1799: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1800: p_full_path => l_path_name,
1801: p_string => ' Initializing reval asset rules');
1802: p_reval_asset_rules(idx).book_type_code := p_reval_asset_params(idx).book_type_code;
1803: p_reval_asset_rules(idx).asset_id := p_reval_asset_params(idx).asset_id;
1804: p_reval_asset_rules(idx).revaluation_factor := l_reval_factor;
1805: p_reval_asset_rules(idx).category_id := p_reval_asset_params(idx).category_id;
1806: p_reval_asset_rules(idx).revaluation_id := 0;
1807:
1808: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
1809: p_full_path => l_path_name,
1810: p_string => ' Initializing fa asset info');
1811: p_fa_asset_info(idx) := l_fa_asset_info;
1812:
1819: IF NOT (igi_iac_common_utils.get_period_info_for_counter(
1820: p_reval_asset_params(idx).book_type_code,
1821: p_period_counter-1,
1822: l_open_period)) THEN
1823: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1824: p_full_path => l_path_name,
1825: p_string => ' Error in getting open period information');
1826: return FALSE;
1827: END IF;
1904: p_fa_asset_info(idx).deprn_reserve :=
1905: p_fa_asset_info(idx).deprn_periods_elapsed * p_fa_deprn_expense_py;
1906: do_round(p_fa_asset_info(idx).deprn_reserve,p_reval_asset_params(1).book_type_code);
1907:
1908: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1909: p_full_path => l_path_name,
1910: p_string => 'p_fa_asset_info(idx).deprn_periods_elapsed = ' || p_fa_asset_info(idx).deprn_periods_elapsed);
1911:
1912: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1908: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1909: p_full_path => l_path_name,
1910: p_string => 'p_fa_asset_info(idx).deprn_periods_elapsed = ' || p_fa_asset_info(idx).deprn_periods_elapsed);
1911:
1912: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1913: p_full_path => l_path_name,
1914: p_string => 'p_fa_asset_info(idx).deprn_reserve = ' || p_fa_asset_info(idx).deprn_reserve);
1915:
1916: IF NOT igi_iac_ytd_engine.Calculate_YTD
1927: IF NOT (igi_iac_common_utils.get_period_info_for_counter(
1928: p_reval_asset_params(idx).book_type_code,
1929: p_period_counter,
1930: l_open_period)) THEN
1931: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1932: p_full_path => l_path_name,
1933: p_string => ' Error in getting open period information');
1934: return FALSE;
1935: END IF;
1938: IF NOT igi_iac_common_utils.get_period_info_for_counter(
1939: p_reval_asset_params(idx).book_type_code,
1940: p_asset_last_period,
1941: l_last_deprn_period) THEN
1942: igi_iac_debug_pkg.debug_other_string(p_level => g_error_level,
1943: p_full_path => l_path_name,
1944: p_string => ' Error in getting last depreciation period information');
1945: return FALSE;
1946: END IF;
2062: END IF;
2063: END IF;
2064: END IF;
2065: /* Bug 2961656 vgadde 08-jul-2003 End(10) */
2066: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2067: p_full_path => l_path_name,
2068: p_string => ' Deprn amount :'||to_char(p_fa_asset_info(idx).deprn_amount));
2069: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2070: p_full_path => l_path_name,
2065: /* Bug 2961656 vgadde 08-jul-2003 End(10) */
2066: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2067: p_full_path => l_path_name,
2068: p_string => ' Deprn amount :'||to_char(p_fa_asset_info(idx).deprn_amount));
2069: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2070: p_full_path => l_path_name,
2071: p_string => ' Deprn periods elapsed :'||to_char(p_fa_asset_info(idx).deprn_periods_elapsed));
2072: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2073: p_full_path => l_path_name,
2068: p_string => ' Deprn amount :'||to_char(p_fa_asset_info(idx).deprn_amount));
2069: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2070: p_full_path => l_path_name,
2071: p_string => ' Deprn periods elapsed :'||to_char(p_fa_asset_info(idx).deprn_periods_elapsed));
2072: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2073: p_full_path => l_path_name,
2074: p_string => ' Deprn periods current year :'||to_char(p_fa_asset_info(idx).deprn_periods_current_year));
2075: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2076: p_full_path => l_path_name,
2071: p_string => ' Deprn periods elapsed :'||to_char(p_fa_asset_info(idx).deprn_periods_elapsed));
2072: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2073: p_full_path => l_path_name,
2074: p_string => ' Deprn periods current year :'||to_char(p_fa_asset_info(idx).deprn_periods_current_year));
2075: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2076: p_full_path => l_path_name,
2077: p_string => ' Deprn periods prior year :'||to_char(p_fa_asset_info(idx).deprn_periods_prior_year));
2078: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2079: p_full_path => l_path_name,
2074: p_string => ' Deprn periods current year :'||to_char(p_fa_asset_info(idx).deprn_periods_current_year));
2075: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2076: p_full_path => l_path_name,
2077: p_string => ' Deprn periods prior year :'||to_char(p_fa_asset_info(idx).deprn_periods_prior_year));
2078: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2079: p_full_path => l_path_name,
2080: p_string => ' Deprn YTD :'||to_char(p_fa_asset_info(idx).ytd_deprn));
2081: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2082: p_full_path => l_path_name,
2077: p_string => ' Deprn periods prior year :'||to_char(p_fa_asset_info(idx).deprn_periods_prior_year));
2078: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2079: p_full_path => l_path_name,
2080: p_string => ' Deprn YTD :'||to_char(p_fa_asset_info(idx).ytd_deprn));
2081: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2082: p_full_path => l_path_name,
2083: p_string => ' Prior years deprn reserve :'||to_char(p_fa_asset_info(idx).pys_deprn_reserve));
2084: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2085: p_full_path => l_path_name,
2080: p_string => ' Deprn YTD :'||to_char(p_fa_asset_info(idx).ytd_deprn));
2081: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2082: p_full_path => l_path_name,
2083: p_string => ' Prior years deprn reserve :'||to_char(p_fa_asset_info(idx).pys_deprn_reserve));
2084: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2085: p_full_path => l_path_name,
2086: p_string => ' Deprn Reserve :'||to_char(p_fa_asset_info(idx).deprn_reserve));
2087: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2088: p_full_path => l_path_name,
2083: p_string => ' Prior years deprn reserve :'||to_char(p_fa_asset_info(idx).pys_deprn_reserve));
2084: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2085: p_full_path => l_path_name,
2086: p_string => ' Deprn Reserve :'||to_char(p_fa_asset_info(idx).deprn_reserve));
2087: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2088: p_full_path => l_path_name,
2089: p_string => ' Initializing reval exceptions');
2090: p_reval_exceptions(idx).asset_id := p_reval_asset_params(idx).asset_id;
2091: p_reval_exceptions(idx).book_type_code := p_reval_asset_params(idx).book_type_code;
2093: l_prev_price_index := l_curr_price_index;
2094:
2095: END LOOP;
2096:
2097: igi_iac_debug_pkg.debug_other_string(p_level => g_state_level,
2098: p_full_path => l_path_name,
2099: p_string => ' End of initialization for revaluation in catchup pkg');
2100: return TRUE;
2101:
2100: return TRUE;
2101:
2102: EXCEPTION
2103: WHEN OTHERS THEN
2104: igi_iac_debug_pkg.debug_unexpected_msg(p_full_path => l_path_name);
2105: return FALSE;
2106: END do_reval_init_struct;
2107:
2108: BEGIN