350: t_allowed_deprn_limit_amount tab_num_type;
351: t_depreciate_flag tab_char1_type; --phase5
352: t_period_fully_reserve tab_num_type;--phase5
353: t_reval_loss_balance tab_num_type;
354: l_dpr_row FA_STD_TYPES.FA_DEPRN_ROW_STRUCT;
355: l_status boolean;
356: l_dpr_in fa_std_types.dpr_struct;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
352: t_period_fully_reserve tab_num_type;--phase5
353: t_reval_loss_balance tab_num_type;
354: l_dpr_row FA_STD_TYPES.FA_DEPRN_ROW_STRUCT;
355: l_status boolean;
356: l_dpr_in fa_std_types.dpr_struct;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
359: l_pa_dpr_in fa_std_types.dpr_struct;
360: l_pa_dpr_out fa_std_types.dpr_out_struct;
353: t_reval_loss_balance tab_num_type;
354: l_dpr_row FA_STD_TYPES.FA_DEPRN_ROW_STRUCT;
355: l_status boolean;
356: l_dpr_in fa_std_types.dpr_struct;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
359: l_pa_dpr_in fa_std_types.dpr_struct;
360: l_pa_dpr_out fa_std_types.dpr_out_struct;
361: l_pa_dpr_arr fa_std_types.dpr_arr_type;
354: l_dpr_row FA_STD_TYPES.FA_DEPRN_ROW_STRUCT;
355: l_status boolean;
356: l_dpr_in fa_std_types.dpr_struct;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
359: l_pa_dpr_in fa_std_types.dpr_struct;
360: l_pa_dpr_out fa_std_types.dpr_out_struct;
361: l_pa_dpr_arr fa_std_types.dpr_arr_type;
362:
355: l_status boolean;
356: l_dpr_in fa_std_types.dpr_struct;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
359: l_pa_dpr_in fa_std_types.dpr_struct;
360: l_pa_dpr_out fa_std_types.dpr_out_struct;
361: l_pa_dpr_arr fa_std_types.dpr_arr_type;
362:
363: l_running_mode VARCHAR2(20);
356: l_dpr_in fa_std_types.dpr_struct;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
359: l_pa_dpr_in fa_std_types.dpr_struct;
360: l_pa_dpr_out fa_std_types.dpr_out_struct;
361: l_pa_dpr_arr fa_std_types.dpr_arr_type;
362:
363: l_running_mode VARCHAR2(20);
364: l_asset_hdr_rec fa_api_types.asset_hdr_rec_type;
357: l_dpr_out fa_std_types.dpr_out_struct;
358: l_dpr_arr fa_std_types.dpr_arr_type;
359: l_pa_dpr_in fa_std_types.dpr_struct;
360: l_pa_dpr_out fa_std_types.dpr_out_struct;
361: l_pa_dpr_arr fa_std_types.dpr_arr_type;
362:
363: l_running_mode VARCHAR2(20);
364: l_asset_hdr_rec fa_api_types.asset_hdr_rec_type;
365:
761: l_dpr_in.excess_allocation_option := t_excess_allocation_option(i);
762: l_dpr_in.depreciation_option := t_depreciation_option(i);
763: l_dpr_in.member_rollup_flag := t_member_rollup_flag(i);
764: l_dpr_in.pc_life_end := t_period_counter_life_complete(i);
765: l_dpr_in.deprn_override_flag := fa_std_types.FA_NO_OVERRIDE;
766: l_dpr_in.rsv_known_flag := TRUE;
767: l_dpr_in.deprn_rounding_flag := 'ADJ';
768: l_dpr_in.used_by_adjustment := FALSE;
769: l_dpr_in.capital_adjustment := l_dpr_row.capital_adjustment; -- Bug 6666666
769: l_dpr_in.capital_adjustment := l_dpr_row.capital_adjustment; -- Bug 6666666
770: l_dpr_in.general_fund := l_dpr_row.general_fund; -- Bug 6666666
771: l_dpr_in.set_of_books_id := p_set_of_books_id;
772: l_dpr_in.mrc_sob_type_code := p_mrc_sob_type_code; -- Bug 9700559
773: l_running_mode := fa_std_types.FA_DPR_NORMAL;
774:
775: -- manual override
776: if fa_cache_pkg.fa_deprn_override_enabled then
777: l_dpr_in.update_override_status := TRUE;
999: fa_debug_pkg.add(l_calling_fn, 'deprn_basis_rule', fa_cache_pkg.fazccmt_record.deprn_basis_rule, p_log_level_rec => p_log_level_rec);
1000: fa_debug_pkg.add(l_calling_fn, 'use_rsv_after_imp_flag', fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag, p_log_level_rec => p_log_level_rec);
1001: end if;
1002:
1003: if (fa_cache_pkg.fazccmt_record.rate_source_rule = fa_std_types.FAD_RSR_FLAT) and
1004: (fa_cache_pkg.fazccmt_record.deprn_basis_rule = fa_std_types.FAD_DBR_NBV) and
1005: (fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag = 'Y') then
1006: t_eofy_reserve(i) := nvl(l_dpr_out.new_deprn_rsv, 0);
1007: else
1000: fa_debug_pkg.add(l_calling_fn, 'use_rsv_after_imp_flag', fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag, p_log_level_rec => p_log_level_rec);
1001: end if;
1002:
1003: if (fa_cache_pkg.fazccmt_record.rate_source_rule = fa_std_types.FAD_RSR_FLAT) and
1004: (fa_cache_pkg.fazccmt_record.deprn_basis_rule = fa_std_types.FAD_DBR_NBV) and
1005: (fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag = 'Y') then
1006: t_eofy_reserve(i) := nvl(l_dpr_out.new_deprn_rsv, 0);
1007: else
1008: t_eofy_reserve(i) := nvl(l_dpr_out.new_eofy_reserve, 0);
1863: , p_book_type_code varchar2
1864: , p_period_rec FA_API_TYPES.period_rec_type
1865: , p_imp_period_rec FA_API_TYPES.period_rec_type
1866: , p_date_placed_in_service date
1867: , x_dpr_out OUT NOCOPY fa_std_types.dpr_out_struct
1868: , x_dpr_in OUT NOCOPY fa_std_types.dpr_struct
1869: , p_mrc_sob_type_code varchar2
1870: , p_calling_fn varchar2
1871: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN IS
1864: , p_period_rec FA_API_TYPES.period_rec_type
1865: , p_imp_period_rec FA_API_TYPES.period_rec_type
1866: , p_date_placed_in_service date
1867: , x_dpr_out OUT NOCOPY fa_std_types.dpr_out_struct
1868: , x_dpr_in OUT NOCOPY fa_std_types.dpr_struct
1869: , p_mrc_sob_type_code varchar2
1870: , p_calling_fn varchar2
1871: , p_log_level_rec IN FA_API_TYPES.log_level_rec_type) RETURN BOOLEAN IS
1872:
2141: l_asset_deprn_rec FA_API_TYPES.asset_deprn_rec_type;
2142: l_asset_type_rec FA_API_TYPES.asset_type_rec_type;
2143: l_period_rec FA_API_TYPES.period_rec_type;
2144:
2145: l_dpr_in fa_std_types.dpr_struct;
2146: l_dpr_out fa_std_types.dpr_out_struct;
2147: l_dpr_arr fa_std_types.dpr_arr_type;
2148:
2149: loc binary_integer;
2142: l_asset_type_rec FA_API_TYPES.asset_type_rec_type;
2143: l_period_rec FA_API_TYPES.period_rec_type;
2144:
2145: l_dpr_in fa_std_types.dpr_struct;
2146: l_dpr_out fa_std_types.dpr_out_struct;
2147: l_dpr_arr fa_std_types.dpr_arr_type;
2148:
2149: loc binary_integer;
2150: l_start_pc number(15);
2143: l_period_rec FA_API_TYPES.period_rec_type;
2144:
2145: l_dpr_in fa_std_types.dpr_struct;
2146: l_dpr_out fa_std_types.dpr_out_struct;
2147: l_dpr_arr fa_std_types.dpr_arr_type;
2148:
2149: loc binary_integer;
2150: l_start_pc number(15);
2151:
2148:
2149: loc binary_integer;
2150: l_start_pc number(15);
2151:
2152: l_running_mode number := fa_std_types.FA_DPR_NORMAL;
2153:
2154: l_temp_num number;
2155:
2156: l_eofy_rec_cost number := 0;
2788: fa_debug_pkg.add(l_calling_fn, 'Before Calling', 'faxcde for hype reserve', p_log_level_rec => p_log_level_rec);
2789: end if;
2790:
2791: -- Skip faxcde call to find hyp rsv if method type is not (FLAT or PROD) and basis is COST
2792: if (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
2793: fa_std_types.FAD_RSR_PROD)) and
2794: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST))) then
2795:
2796: -- bug5894464
2789: end if;
2790:
2791: -- Skip faxcde call to find hyp rsv if method type is not (FLAT or PROD) and basis is COST
2792: if (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
2793: fa_std_types.FAD_RSR_PROD)) and
2794: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST))) then
2795:
2796: -- bug5894464
2797: l_dpr_in.p_cl_begin := 1;
2790:
2791: -- Skip faxcde call to find hyp rsv if method type is not (FLAT or PROD) and basis is COST
2792: if (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
2793: fa_std_types.FAD_RSR_PROD)) and
2794: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST))) then
2795:
2796: -- bug5894464
2797: l_dpr_in.p_cl_begin := 1;
2798:
2816: end if;
2817:
2818: raise pro_err;
2819: end if;
2820: end if; -- (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
2821:
2822: l_period_rec.period_counter := fa_amort_pvt.t_period_counter(i);
2823: l_period_rec.period_num := fa_amort_pvt.t_period_num(i);
2824: l_period_rec.fiscal_year := fa_amort_pvt.t_fiscal_year(i);
2841: end if;
2842:
2843: if (i > 1) and (fa_amort_pvt.t_impairment_amount(i-1) <> 0) and
2844: (fa_cache_pkg.fazcdbr_record.rule_name = 'FLAT RATE EXTENSION') and
2845: (fa_cache_pkg.fazccmt_record.deprn_basis_rule = fa_std_types.FAD_DBR_NBV) and
2846: (nvl(fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag, 'N') = 'Y') then
2847:
2848: l_asset_fin_rec_new.eofy_reserve := fa_amort_pvt.t_deprn_reserve(i-1) +
2849: nvl(fa_amort_pvt.t_change_in_eofy_reserve(i), 0);
3398: l_asset_deprn_rec FA_API_TYPES.asset_deprn_rec_type;
3399: l_asset_type_rec FA_API_TYPES.asset_type_rec_type;
3400: l_period_rec FA_API_TYPES.period_rec_type;
3401:
3402: l_dpr_in fa_std_types.dpr_struct;
3403: l_dpr_out fa_std_types.dpr_out_struct;
3404: l_dpr_arr fa_std_types.dpr_arr_type;
3405:
3406: loc binary_integer;
3399: l_asset_type_rec FA_API_TYPES.asset_type_rec_type;
3400: l_period_rec FA_API_TYPES.period_rec_type;
3401:
3402: l_dpr_in fa_std_types.dpr_struct;
3403: l_dpr_out fa_std_types.dpr_out_struct;
3404: l_dpr_arr fa_std_types.dpr_arr_type;
3405:
3406: loc binary_integer;
3407: l_start_pc number(15);
3400: l_period_rec FA_API_TYPES.period_rec_type;
3401:
3402: l_dpr_in fa_std_types.dpr_struct;
3403: l_dpr_out fa_std_types.dpr_out_struct;
3404: l_dpr_arr fa_std_types.dpr_arr_type;
3405:
3406: loc binary_integer;
3407: l_start_pc number(15);
3408:
3405:
3406: loc binary_integer;
3407: l_start_pc number(15);
3408:
3409: l_running_mode number := fa_std_types.FA_DPR_NORMAL;
3410:
3411: l_temp_num number;
3412:
3413: l_eofy_rec_cost number := 0;
3422: l_period_num number;
3423: l_period_counter number;
3424:
3425: -- variables for query balance
3426: l_dpr_row FA_STD_TYPES.FA_DEPRN_ROW_STRUCT;
3427: l_qb_running_mode varchar2(10) := 'STANDARD';
3428: l_status boolean;
3429:
3430: l_dummy_bool boolean;
3728: fa_debug_pkg.add(l_calling_fn, 'Before Calling', 'faxcde for hype reserve', p_log_level_rec => p_log_level_rec);
3729: end if;
3730:
3731: -- Skip faxcde call to find hyp rsv if method type is not (FLAT or PROD) and basis is COST
3732: if (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
3733: fa_std_types.FAD_RSR_PROD)) and
3734: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST))) then
3735:
3736: -- bug5894464
3729: end if;
3730:
3731: -- Skip faxcde call to find hyp rsv if method type is not (FLAT or PROD) and basis is COST
3732: if (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
3733: fa_std_types.FAD_RSR_PROD)) and
3734: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST))) then
3735:
3736: -- bug5894464
3737: l_dpr_in.p_cl_begin := 1;
3730:
3731: -- Skip faxcde call to find hyp rsv if method type is not (FLAT or PROD) and basis is COST
3732: if (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
3733: fa_std_types.FAD_RSR_PROD)) and
3734: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST))) then
3735:
3736: -- bug5894464
3737: l_dpr_in.p_cl_begin := 1;
3738:
3756: end if;
3757:
3758: raise calc_err;
3759: end if;
3760: end if; -- (((nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') not in(fa_std_types.FAD_RSR_FLAT,
3761:
3762: if (p_log_level_rec.statement_level) then
3763: fa_debug_pkg.add(l_calling_fn, 'setting', 'deprn_rec for basis rule', p_log_level_rec => p_log_level_rec);
3764: end if;
3787:
3788: l_asset_deprn_rec.impairment_reserve := fa_amort_pvt.t_impairment_reserve(i);
3789:
3790: if (nvl(fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag, 'Y') = 'Y') and
3791: (nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') = fa_std_types.FAD_RSR_FLAT) and
3792: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST) then
3793: l_asset_deprn_rec.impairment_reserve := fa_amort_pvt.t_impairment_reserve(i) + fa_amort_pvt.t_deprn_reserve(1);
3794: end if;
3795:
3788: l_asset_deprn_rec.impairment_reserve := fa_amort_pvt.t_impairment_reserve(i);
3789:
3790: if (nvl(fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag, 'Y') = 'Y') and
3791: (nvl(fa_cache_pkg.fazccmt_record.rate_source_rule, ' ') = fa_std_types.FAD_RSR_FLAT) and
3792: (nvl(fa_cache_pkg.fazccmt_record.deprn_basis_rule,' ') = fa_std_types.FAD_DBR_COST) then
3793: l_asset_deprn_rec.impairment_reserve := fa_amort_pvt.t_impairment_reserve(i) + fa_amort_pvt.t_deprn_reserve(1);
3794: end if;
3795:
3796:
3811: end if;
3812:
3813: if (i > 1) and (fa_amort_pvt.t_impairment_amount(i-1) <> 0) and
3814: (fa_cache_pkg.fazcdbr_record.rule_name = 'FLAT RATE EXTENSION') and
3815: (fa_cache_pkg.fazccmt_record.deprn_basis_rule = fa_std_types.FAD_DBR_NBV) and
3816: (nvl(fa_cache_pkg.fazcdrd_record.use_rsv_after_imp_flag, 'N') = 'Y') then
3817:
3818: l_asset_fin_rec_new.eofy_reserve := fa_amort_pvt.t_deprn_reserve(i-1) +
3819: nvl(fa_amort_pvt.t_change_in_eofy_reserve(i), 0);