181: -- -------------------------------------------------------------------
182: -- PROCEDURE Roll_YTD_Forward: Procedure that will roll forward any
183: -- YTD rows from the previous adjustment_id
184: -- -------------------------------------------------------------------
185: PROCEDURE Roll_YTD_Forward(p_asset_id igi_iac_det_balances.asset_id%TYPE,
186: p_book_type_code igi_iac_det_balances.book_type_code%TYPE,
187: p_prev_adj_id igi_iac_det_balances.adjustment_id%TYPE,
188: p_new_adj_id igi_iac_det_balances.adjustment_id%TYPE,
189: p_prd_counter igi_iac_det_balances.period_counter%TYPE)
182: -- PROCEDURE Roll_YTD_Forward: Procedure that will roll forward any
183: -- YTD rows from the previous adjustment_id
184: -- -------------------------------------------------------------------
185: PROCEDURE Roll_YTD_Forward(p_asset_id igi_iac_det_balances.asset_id%TYPE,
186: p_book_type_code igi_iac_det_balances.book_type_code%TYPE,
187: p_prev_adj_id igi_iac_det_balances.adjustment_id%TYPE,
188: p_new_adj_id igi_iac_det_balances.adjustment_id%TYPE,
189: p_prd_counter igi_iac_det_balances.period_counter%TYPE)
190: IS
183: -- YTD rows from the previous adjustment_id
184: -- -------------------------------------------------------------------
185: PROCEDURE Roll_YTD_Forward(p_asset_id igi_iac_det_balances.asset_id%TYPE,
186: p_book_type_code igi_iac_det_balances.book_type_code%TYPE,
187: p_prev_adj_id igi_iac_det_balances.adjustment_id%TYPE,
188: p_new_adj_id igi_iac_det_balances.adjustment_id%TYPE,
189: p_prd_counter igi_iac_det_balances.period_counter%TYPE)
190: IS
191:
184: -- -------------------------------------------------------------------
185: PROCEDURE Roll_YTD_Forward(p_asset_id igi_iac_det_balances.asset_id%TYPE,
186: p_book_type_code igi_iac_det_balances.book_type_code%TYPE,
187: p_prev_adj_id igi_iac_det_balances.adjustment_id%TYPE,
188: p_new_adj_id igi_iac_det_balances.adjustment_id%TYPE,
189: p_prd_counter igi_iac_det_balances.period_counter%TYPE)
190: IS
191:
192: -- cursor to retrieve the YTD row that will be rolled forward
185: PROCEDURE Roll_YTD_Forward(p_asset_id igi_iac_det_balances.asset_id%TYPE,
186: p_book_type_code igi_iac_det_balances.book_type_code%TYPE,
187: p_prev_adj_id igi_iac_det_balances.adjustment_id%TYPE,
188: p_new_adj_id igi_iac_det_balances.adjustment_id%TYPE,
189: p_prd_counter igi_iac_det_balances.period_counter%TYPE)
190: IS
191:
192: -- cursor to retrieve the YTD row that will be rolled forward
193: CURSOR c_get_ytd(cp_adjustment_id igi_iac_det_balances.adjustment_id%TYPE,
189: p_prd_counter igi_iac_det_balances.period_counter%TYPE)
190: IS
191:
192: -- cursor to retrieve the YTD row that will be rolled forward
193: CURSOR c_get_ytd(cp_adjustment_id igi_iac_det_balances.adjustment_id%TYPE,
194: cp_asset_id igi_iac_det_balances.asset_id%TYPE,
195: cp_book_type_code igi_iac_det_balances.book_type_code%TYPE)
196: IS
197: SELECT iidb.adjustment_id,
190: IS
191:
192: -- cursor to retrieve the YTD row that will be rolled forward
193: CURSOR c_get_ytd(cp_adjustment_id igi_iac_det_balances.adjustment_id%TYPE,
194: cp_asset_id igi_iac_det_balances.asset_id%TYPE,
195: cp_book_type_code igi_iac_det_balances.book_type_code%TYPE)
196: IS
197: SELECT iidb.adjustment_id,
198: iidb.distribution_id,
191:
192: -- cursor to retrieve the YTD row that will be rolled forward
193: CURSOR c_get_ytd(cp_adjustment_id igi_iac_det_balances.adjustment_id%TYPE,
194: cp_asset_id igi_iac_det_balances.asset_id%TYPE,
195: cp_book_type_code igi_iac_det_balances.book_type_code%TYPE)
196: IS
197: SELECT iidb.adjustment_id,
198: iidb.distribution_id,
199: iidb.adjustment_cost,
215: iidb.active_flag,
216: iidb.last_reval_date,
217: iidb.current_reval_factor,
218: iidb.cumulative_reval_factor
219: FROM igi_iac_det_balances iidb
220: WHERE iidb.adjustment_id = cp_adjustment_id
221: AND iidb.asset_id = cp_asset_id
222: AND iidb.book_type_code = cp_book_type_code
223: AND iidb.active_flag = 'N';
258: l_fa_deprn_ytd igi_iac_fa_deprn.deprn_ytd%TYPE;
259:
260: BEGIN
261: FOR l_get_ytd IN c_get_ytd(p_prev_adj_id,p_asset_id, p_book_type_code) LOOP
262: -- insert into igi_iac_det_balances with reinstatement adjustment_id
263:
264: IGI_IAC_DET_BALANCES_PKG.Insert_Row(
265: x_rowid => l_rowid,
266: x_adjustment_id => p_new_adj_id,
260: BEGIN
261: FOR l_get_ytd IN c_get_ytd(p_prev_adj_id,p_asset_id, p_book_type_code) LOOP
262: -- insert into igi_iac_det_balances with reinstatement adjustment_id
263:
264: IGI_IAC_DET_BALANCES_PKG.Insert_Row(
265: x_rowid => l_rowid,
266: x_adjustment_id => p_new_adj_id,
267: x_asset_id => p_asset_id,
268: x_book_type_code => p_book_type_code,
364: AND book_type_code = cp_book_type_code
365: AND period_counter = cp_period_counter;
366:
367: -- cursor to get the detail balances for a distribution
368: CURSOR c_det_bal(cp_adjust_id igi_iac_det_balances.adjustment_id%TYPE,
369: cp_asset_id fa_books.asset_id%TYPE,
370: cp_book_type_code fa_books.book_type_code%TYPE,
371: cp_dist_id igi_iac_det_balances.distribution_id%TYPE)
372: IS
367: -- cursor to get the detail balances for a distribution
368: CURSOR c_det_bal(cp_adjust_id igi_iac_det_balances.adjustment_id%TYPE,
369: cp_asset_id fa_books.asset_id%TYPE,
370: cp_book_type_code fa_books.book_type_code%TYPE,
371: cp_dist_id igi_iac_det_balances.distribution_id%TYPE)
372: IS
373: SELECT iidb.adjustment_id,
374: iidb.distribution_id,
375: iidb.period_counter,
392: iidb.last_reval_date,
393: iidb.current_reval_factor,
394: iidb.cumulative_reval_factor,
395: iidb.active_flag
396: FROM igi_iac_det_balances iidb
397: WHERE iidb.adjustment_id = cp_adjust_id
398: AND iidb.book_type_code = cp_book_type_code
399: AND iidb.asset_id = cp_asset_id
400: AND iidb.distribution_id = cp_dist_id
450: l_det_table IGI_IAC_TYPES.dist_amt_tab;
451: l_det_bal c_det_bal%ROWTYPE;
452:
453: l_dist_idx NUMBER;
454: l_add_cost igi_iac_det_balances.adjustment_cost%TYPE;
455: l_dist_id igi_iac_det_balances.distribution_id%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
451: l_det_bal c_det_bal%ROWTYPE;
452:
453: l_dist_idx NUMBER;
454: l_add_cost igi_iac_det_balances.adjustment_cost%TYPE;
455: l_dist_id igi_iac_det_balances.distribution_id%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
452:
453: l_dist_idx NUMBER;
454: l_add_cost igi_iac_det_balances.adjustment_cost%TYPE;
455: l_dist_id igi_iac_det_balances.distribution_id%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
460: l_new_dist_op_cost igi_iac_det_balances.operating_acct_cost%TYPE;
453: l_dist_idx NUMBER;
454: l_add_cost igi_iac_det_balances.adjustment_cost%TYPE;
455: l_dist_id igi_iac_det_balances.distribution_id%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
460: l_new_dist_op_cost igi_iac_det_balances.operating_acct_cost%TYPE;
461: l_new_dist_op_net igi_iac_det_balances.operating_acct_net%TYPE;
454: l_add_cost igi_iac_det_balances.adjustment_cost%TYPE;
455: l_dist_id igi_iac_det_balances.distribution_id%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
460: l_new_dist_op_cost igi_iac_det_balances.operating_acct_cost%TYPE;
461: l_new_dist_op_net igi_iac_det_balances.operating_acct_net%TYPE;
462:
455: l_dist_id igi_iac_det_balances.distribution_id%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
460: l_new_dist_op_cost igi_iac_det_balances.operating_acct_cost%TYPE;
461: l_new_dist_op_net igi_iac_det_balances.operating_acct_net%TYPE;
462:
463: l_fa_deprn_period igi_iac_fa_deprn.deprn_period%TYPE;
456: l_new_dist_cost igi_iac_det_balances.adjustment_cost%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
460: l_new_dist_op_cost igi_iac_det_balances.operating_acct_cost%TYPE;
461: l_new_dist_op_net igi_iac_det_balances.operating_acct_net%TYPE;
462:
463: l_fa_deprn_period igi_iac_fa_deprn.deprn_period%TYPE;
464: l_fa_deprn_reserve igi_iac_fa_deprn.deprn_reserve%TYPE;
457: l_new_dist_nbv igi_iac_det_balances.net_book_value%TYPE;
458: l_new_dist_rr_cost igi_iac_det_balances.reval_reserve_cost%TYPE;
459: l_new_dist_rr_net igi_iac_det_balances.reval_reserve_net%TYPE;
460: l_new_dist_op_cost igi_iac_det_balances.operating_acct_cost%TYPE;
461: l_new_dist_op_net igi_iac_det_balances.operating_acct_net%TYPE;
462:
463: l_fa_deprn_period igi_iac_fa_deprn.deprn_period%TYPE;
464: l_fa_deprn_reserve igi_iac_fa_deprn.deprn_reserve%TYPE;
465: l_fa_deprn_ytd igi_iac_fa_deprn.deprn_ytd%TYPE;
695: THEN
696: RAISE e_no_proration;
697: END IF;
698:
699: -- create a new row in igi_iac_det_balances for each active distribution where only the cost
700: -- will change and the other amounts will be same as those for the previous active adjustment
701: FOR l_dist_idx IN l_det_table.FIRST..l_det_table.LAST LOOP
702:
703: l_dist_id := l_det_table(l_dist_idx).distribution_id;
769:
770: l_new_dist_nbv := l_new_dist_nbv + (l_iac_new_nbv - l_round_diff_nbv);
771: END IF;
772:
773: -- insert the row into igi_iac_det_balances
774: IGI_IAC_DET_BALANCES_PKG.Insert_Row(
775: x_rowid => l_rowid,
776: x_adjustment_id => l_new_adj_id,
777: x_asset_id => l_asset_id,
770: l_new_dist_nbv := l_new_dist_nbv + (l_iac_new_nbv - l_round_diff_nbv);
771: END IF;
772:
773: -- insert the row into igi_iac_det_balances
774: IGI_IAC_DET_BALANCES_PKG.Insert_Row(
775: x_rowid => l_rowid,
776: x_adjustment_id => l_new_adj_id,
777: x_asset_id => l_asset_id,
778: x_book_type_code => l_book_type_code,