36: beta drop 2.
37: 18 Jan 98 G Perry 110.6 Added in real error messages
38: which are seeded in seed11.
39: 20 Jan 98 G Perry 110.7 Changed 805 application_id to use
40: 'BEN' for fnd_message.set_name.
41: 21 Jan 98 G Perry 110.8 Made caching more efficent such
42: that it doesn't bother recaching
43: when person hasn't changed.
44: 21 Jan 98 G Perry 110.9 Fixed calls to do_rounding so
894: EXCEPTION
895: --
896: WHEN OTHERS THEN
897: --
898: fnd_message.set_name('BEN'
899: ,'BEN_92311_FORMULA_VAL_PARAM');
900: fnd_message.set_token('PROC'
901: ,l_package);
902: fnd_message.set_token('FORMULA'
896: WHEN OTHERS THEN
897: --
898: fnd_message.set_name('BEN'
899: ,'BEN_92311_FORMULA_VAL_PARAM');
900: fnd_message.set_token('PROC'
901: ,l_package);
902: fnd_message.set_token('FORMULA'
903: ,p_formula_id);
904: fnd_message.set_token('PARAMETER'
898: fnd_message.set_name('BEN'
899: ,'BEN_92311_FORMULA_VAL_PARAM');
900: fnd_message.set_token('PROC'
901: ,l_package);
902: fnd_message.set_token('FORMULA'
903: ,p_formula_id);
904: fnd_message.set_token('PARAMETER'
905: ,l_outputs(l_outputs.FIRST).name);
906: fnd_message.raise_error;
900: fnd_message.set_token('PROC'
901: ,l_package);
902: fnd_message.set_token('FORMULA'
903: ,p_formula_id);
904: fnd_message.set_token('PARAMETER'
905: ,l_outputs(l_outputs.FIRST).name);
906: fnd_message.raise_error;
907: --
908: END;
902: fnd_message.set_token('FORMULA'
903: ,p_formula_id);
904: fnd_message.set_token('PARAMETER'
905: ,l_outputs(l_outputs.FIRST).name);
906: fnd_message.raise_error;
907: --
908: END;
909: --
910: ELSIF p_rule_type = 'DATE' THEN
920: EXCEPTION
921: --
922: WHEN OTHERS THEN
923: --
924: fnd_message.set_name('BEN'
925: ,'BEN_92311_FORMULA_VAL_PARAM');
926: fnd_message.set_token('PROC'
927: ,l_package);
928: fnd_message.set_token('FORMULA'
922: WHEN OTHERS THEN
923: --
924: fnd_message.set_name('BEN'
925: ,'BEN_92311_FORMULA_VAL_PARAM');
926: fnd_message.set_token('PROC'
927: ,l_package);
928: fnd_message.set_token('FORMULA'
929: ,p_formula_id);
930: fnd_message.set_token('PARAMETER'
924: fnd_message.set_name('BEN'
925: ,'BEN_92311_FORMULA_VAL_PARAM');
926: fnd_message.set_token('PROC'
927: ,l_package);
928: fnd_message.set_token('FORMULA'
929: ,p_formula_id);
930: fnd_message.set_token('PARAMETER'
931: ,l_outputs(l_outputs.FIRST).name);
932: fnd_message.raise_error;
926: fnd_message.set_token('PROC'
927: ,l_package);
928: fnd_message.set_token('FORMULA'
929: ,p_formula_id);
930: fnd_message.set_token('PARAMETER'
931: ,l_outputs(l_outputs.FIRST).name);
932: fnd_message.raise_error;
933: --
934: END;
928: fnd_message.set_token('FORMULA'
929: ,p_formula_id);
930: fnd_message.set_token('PARAMETER'
931: ,l_outputs(l_outputs.FIRST).name);
932: fnd_message.raise_error;
933: --
934: END;
935: --
936: ELSE
1492: if nvl(l_opt_typ_cd.opt_typ_cd, 'YYY') ='CWB' then
1493: l_value := 0;
1494: l_salary.proposed_salary := 0;
1495: else
1496: fnd_message.set_name('BEN','BEN_91833_CURSOR_RETURN_NO_ROW');
1497: fnd_message.set_token('PACKAGE',l_proc);
1498: fnd_message.set_token('CURSOR','c_stated_salary');
1499: fnd_message.raise_error;
1500: end if;
1493: l_value := 0;
1494: l_salary.proposed_salary := 0;
1495: else
1496: fnd_message.set_name('BEN','BEN_91833_CURSOR_RETURN_NO_ROW');
1497: fnd_message.set_token('PACKAGE',l_proc);
1498: fnd_message.set_token('CURSOR','c_stated_salary');
1499: fnd_message.raise_error;
1500: end if;
1501: */
1494: l_salary.proposed_salary := 0;
1495: else
1496: fnd_message.set_name('BEN','BEN_91833_CURSOR_RETURN_NO_ROW');
1497: fnd_message.set_token('PACKAGE',l_proc);
1498: fnd_message.set_token('CURSOR','c_stated_salary');
1499: fnd_message.raise_error;
1500: end if;
1501: */
1502: return l_salary ;
1495: else
1496: fnd_message.set_name('BEN','BEN_91833_CURSOR_RETURN_NO_ROW');
1497: fnd_message.set_token('PACKAGE',l_proc);
1498: fnd_message.set_token('CURSOR','c_stated_salary');
1499: fnd_message.raise_error;
1500: end if;
1501: */
1502: return l_salary ;
1503: --
1914: --
1915: -- We need to create a life event for the min max breach that
1916: -- has occured.
1917: --
1918: fnd_message.set_name('BEN'
1919: ,'BEN_91340_CREATE_PTNL_LER');
1920: fnd_message.set_token('LF_EVT'
1921: ,l_ler_name);
1922: benutils.write(p_text=> fnd_message.get);
1916: -- has occured.
1917: --
1918: fnd_message.set_name('BEN'
1919: ,'BEN_91340_CREATE_PTNL_LER');
1920: fnd_message.set_token('LF_EVT'
1921: ,l_ler_name);
1922: benutils.write(p_text=> fnd_message.get);
1923: --
1924: if not p_calculate_only_mode then
1918: fnd_message.set_name('BEN'
1919: ,'BEN_91340_CREATE_PTNL_LER');
1920: fnd_message.set_token('LF_EVT'
1921: ,l_ler_name);
1922: benutils.write(p_text=> fnd_message.get);
1923: --
1924: if not p_calculate_only_mode then
1925: --
1926: ben_ptnl_ler_for_per_api.create_ptnl_ler_for_per_perf(p_validate=> FALSE
2524: ,p_ret_val => l_dummy_num);
2525: --
2526: ELSE
2527: --
2528: fnd_message.set_name('BEN'
2529: ,'BEN_91342_UNKNOWN_CODE_1');
2530: fnd_message.set_token('PROC'
2531: ,l_package);
2532: fnd_message.set_token('CODE1'
2526: ELSE
2527: --
2528: fnd_message.set_name('BEN'
2529: ,'BEN_91342_UNKNOWN_CODE_1');
2530: fnd_message.set_token('PROC'
2531: ,l_package);
2532: fnd_message.set_token('CODE1'
2533: ,p_rec.los_dt_to_use_cd);
2534: RAISE ben_manage_life_events.g_record_error;
2528: fnd_message.set_name('BEN'
2529: ,'BEN_91342_UNKNOWN_CODE_1');
2530: fnd_message.set_token('PROC'
2531: ,l_package);
2532: fnd_message.set_token('CODE1'
2533: ,p_rec.los_dt_to_use_cd);
2534: RAISE ben_manage_life_events.g_record_error;
2535: --
2536: END IF;
3174: --
3175: ben_person_object.get_object(p_bnfts_bal_id=> p_rec.bnfts_bal_id
3176: ,p_rec => l_bnb_rec);
3177: --
3178: fnd_message.set_name('BEN'
3179: ,'BEN_92317_PER_BALANCE_NULL');
3180: fnd_message.set_token('NAME'
3181: ,l_bnb_rec.name);
3182: fnd_message.set_token('DATE'
3176: ,p_rec => l_bnb_rec);
3177: --
3178: fnd_message.set_name('BEN'
3179: ,'BEN_92317_PER_BALANCE_NULL');
3180: fnd_message.set_token('NAME'
3181: ,l_bnb_rec.name);
3182: fnd_message.set_token('DATE'
3183: ,l_start_date);
3184: benutils.write(p_text=> fnd_message.get);
3178: fnd_message.set_name('BEN'
3179: ,'BEN_92317_PER_BALANCE_NULL');
3180: fnd_message.set_token('NAME'
3181: ,l_bnb_rec.name);
3182: fnd_message.set_token('DATE'
3183: ,l_start_date);
3184: benutils.write(p_text=> fnd_message.get);
3185: --
3186: ben_person_object.get_object(p_person_id=> p_person_id
3180: fnd_message.set_token('NAME'
3181: ,l_bnb_rec.name);
3182: fnd_message.set_token('DATE'
3183: ,l_start_date);
3184: benutils.write(p_text=> fnd_message.get);
3185: --
3186: ben_person_object.get_object(p_person_id=> p_person_id
3187: ,p_effective_date => nvl(g_fonm_cvg_strt_dt,NVL(p_lf_evt_ocrd_dt
3188: ,p_effective_date))
3195: end if;
3196: --
3197: IF l_result IS NULL THEN
3198: --
3199: fnd_message.set_name('BEN'
3200: ,'BEN_92317_PER_BALANCE_NULL');
3201: fnd_message.set_token('NAME'
3202: ,l_bnb_rec.name);
3203: fnd_message.set_token('DATE'
3197: IF l_result IS NULL THEN
3198: --
3199: fnd_message.set_name('BEN'
3200: ,'BEN_92317_PER_BALANCE_NULL');
3201: fnd_message.set_token('NAME'
3202: ,l_bnb_rec.name);
3203: fnd_message.set_token('DATE'
3204: ,NVL(p_lf_evt_ocrd_dt
3205: ,p_effective_date));
3199: fnd_message.set_name('BEN'
3200: ,'BEN_92317_PER_BALANCE_NULL');
3201: fnd_message.set_token('NAME'
3202: ,l_bnb_rec.name);
3203: fnd_message.set_token('DATE'
3204: ,NVL(p_lf_evt_ocrd_dt
3205: ,p_effective_date));
3206: benutils.write(p_text=> fnd_message.get);
3207: RETURN NULL;
3202: ,l_bnb_rec.name);
3203: fnd_message.set_token('DATE'
3204: ,NVL(p_lf_evt_ocrd_dt
3205: ,p_effective_date));
3206: benutils.write(p_text=> fnd_message.get);
3207: RETURN NULL;
3208: --
3209: END IF;
3210: --
3264: end ;
3265: --
3266: end if;
3267: if l_result is null then
3268: fnd_message.set_name('BEN' ,'BEN_92318_BEN_BALANCE_NULL');
3269: fnd_message.set_token('DATE' ,l_start_date);
3270: benutils.write(p_text=> fnd_message.get);
3271: return null;
3272: end if;
3265: --
3266: end if;
3267: if l_result is null then
3268: fnd_message.set_name('BEN' ,'BEN_92318_BEN_BALANCE_NULL');
3269: fnd_message.set_token('DATE' ,l_start_date);
3270: benutils.write(p_text=> fnd_message.get);
3271: return null;
3272: end if;
3273:
3266: end if;
3267: if l_result is null then
3268: fnd_message.set_name('BEN' ,'BEN_92318_BEN_BALANCE_NULL');
3269: fnd_message.set_token('DATE' ,l_start_date);
3270: benutils.write(p_text=> fnd_message.get);
3271: return null;
3272: end if;
3273:
3274: --
3308: -- Person does not have a balance, recheck if they have a balance
3309: -- as of the life event occurred date or effective date.
3310: -- Fix for bug 216.
3311: --
3312: fnd_message.set_name('BEN'
3313: ,'BEN_92318_BEN_BALANCE_NULL');
3314: fnd_message.set_token('DATE'
3315: ,l_start_date);
3316: benutils.write(p_text=> fnd_message.get);
3310: -- Fix for bug 216.
3311: --
3312: fnd_message.set_name('BEN'
3313: ,'BEN_92318_BEN_BALANCE_NULL');
3314: fnd_message.set_token('DATE'
3315: ,l_start_date);
3316: benutils.write(p_text=> fnd_message.get);
3317: --
3318: l_result :=
3312: fnd_message.set_name('BEN'
3313: ,'BEN_92318_BEN_BALANCE_NULL');
3314: fnd_message.set_token('DATE'
3315: ,l_start_date);
3316: benutils.write(p_text=> fnd_message.get);
3317: --
3318: l_result :=
3319: pay_balance_pkg.get_value(p_rec.defined_balance_id
3320: ,l_ass_rec.assignment_id
3322: ,p_effective_date));
3323: --
3324: IF l_result IS NULL THEN
3325: --
3326: fnd_message.set_name('BEN'
3327: ,'BEN_92318_BEN_BALANCE_NULL');
3328: fnd_message.set_token('DATE'
3329: ,NVL(p_lf_evt_ocrd_dt
3330: ,p_effective_date));
3324: IF l_result IS NULL THEN
3325: --
3326: fnd_message.set_name('BEN'
3327: ,'BEN_92318_BEN_BALANCE_NULL');
3328: fnd_message.set_token('DATE'
3329: ,NVL(p_lf_evt_ocrd_dt
3330: ,p_effective_date));
3331: benutils.write(p_text=> fnd_message.get);
3332: RETURN NULL;
3327: ,'BEN_92318_BEN_BALANCE_NULL');
3328: fnd_message.set_token('DATE'
3329: ,NVL(p_lf_evt_ocrd_dt
3330: ,p_effective_date));
3331: benutils.write(p_text=> fnd_message.get);
3332: RETURN NULL;
3333: --
3334: END IF;
3335: --
3478: -- Person does not have a balance, recheck if they have a balance
3479: -- as of the life event occurred date or effective date.
3480: -- Fix for bug 216.
3481: --
3482: fnd_message.set_name('BEN'
3483: ,'BEN_92319_SAL_BALANCE_NULL');
3484: fnd_message.set_token('DATE'
3485: ,l_start_date);
3486: benutils.write(p_text=> fnd_message.get);
3480: -- Fix for bug 216.
3481: --
3482: fnd_message.set_name('BEN'
3483: ,'BEN_92319_SAL_BALANCE_NULL');
3484: fnd_message.set_token('DATE'
3485: ,l_start_date);
3486: benutils.write(p_text=> fnd_message.get);
3487: ---if date code is
3488: -- first of year,half year,quarter,month,semi month,previos oct 1
3482: fnd_message.set_name('BEN'
3483: ,'BEN_92319_SAL_BALANCE_NULL');
3484: fnd_message.set_token('DATE'
3485: ,l_start_date);
3486: benutils.write(p_text=> fnd_message.get);
3487: ---if date code is
3488: -- first of year,half year,quarter,month,semi month,previos oct 1
3489: -- then take the firstist salary
3490: if p_rec.comp_lvl_det_cd in
3520: ,p_effective_date));
3521: --
3522: IF l_result IS NULL THEN
3523: --
3524: fnd_message.set_name('BEN'
3525: ,'BEN_92319_SAL_BALANCE_NULL');
3526: fnd_message.set_token('DATE'
3527: ,NVL(p_lf_evt_ocrd_dt
3528: ,p_effective_date));
3522: IF l_result IS NULL THEN
3523: --
3524: fnd_message.set_name('BEN'
3525: ,'BEN_92319_SAL_BALANCE_NULL');
3526: fnd_message.set_token('DATE'
3527: ,NVL(p_lf_evt_ocrd_dt
3528: ,p_effective_date));
3529: benutils.write(p_text=> fnd_message.get);
3530: RETURN NULL;
3525: ,'BEN_92319_SAL_BALANCE_NULL');
3526: fnd_message.set_token('DATE'
3527: ,NVL(p_lf_evt_ocrd_dt
3528: ,p_effective_date));
3529: benutils.write(p_text=> fnd_message.get);
3530: RETURN NULL;
3531: --
3532: END IF;
3533: --
3585: --
3586: ben_person_object.get_object(p_bnfts_bal_id=> p_rec.bnfts_bal_id
3587: ,p_rec => l_bnb_rec);
3588: --
3589: fnd_message.set_name('BEN'
3590: ,'BEN_92317_PER_BALANCE_NULL');
3591: fnd_message.set_token('NAME'
3592: ,l_bnb_rec.name);
3593: fnd_message.set_token('DATE'
3587: ,p_rec => l_bnb_rec);
3588: --
3589: fnd_message.set_name('BEN'
3590: ,'BEN_92317_PER_BALANCE_NULL');
3591: fnd_message.set_token('NAME'
3592: ,l_bnb_rec.name);
3593: fnd_message.set_token('DATE'
3594: ,l_start_date);
3595: benutils.write(p_text=> fnd_message.get);
3589: fnd_message.set_name('BEN'
3590: ,'BEN_92317_PER_BALANCE_NULL');
3591: fnd_message.set_token('NAME'
3592: ,l_bnb_rec.name);
3593: fnd_message.set_token('DATE'
3594: ,l_start_date);
3595: benutils.write(p_text=> fnd_message.get);
3596: --
3597: ben_person_object.get_object(p_person_id=> p_person_id
3591: fnd_message.set_token('NAME'
3592: ,l_bnb_rec.name);
3593: fnd_message.set_token('DATE'
3594: ,l_start_date);
3595: benutils.write(p_text=> fnd_message.get);
3596: --
3597: ben_person_object.get_object(p_person_id=> p_person_id
3598: ,p_effective_date => p_effective_date
3599: ,p_bnfts_bal_id => p_rec.bnfts_bal_id
3602: l_result := l_bal_rec.val;
3603: --
3604: IF l_result IS NULL THEN
3605: --
3606: fnd_message.set_name('BEN'
3607: ,'BEN_92317_PER_BALANCE_NULL');
3608: fnd_message.set_token('NAME'
3609: ,l_bnb_rec.name);
3610: fnd_message.set_token('DATE'
3604: IF l_result IS NULL THEN
3605: --
3606: fnd_message.set_name('BEN'
3607: ,'BEN_92317_PER_BALANCE_NULL');
3608: fnd_message.set_token('NAME'
3609: ,l_bnb_rec.name);
3610: fnd_message.set_token('DATE'
3611: ,NVL(p_lf_evt_ocrd_dt
3612: ,p_effective_date));
3606: fnd_message.set_name('BEN'
3607: ,'BEN_92317_PER_BALANCE_NULL');
3608: fnd_message.set_token('NAME'
3609: ,l_bnb_rec.name);
3610: fnd_message.set_token('DATE'
3611: ,NVL(p_lf_evt_ocrd_dt
3612: ,p_effective_date));
3613: benutils.write(p_text=> fnd_message.get);
3614: RETURN NULL;
3609: ,l_bnb_rec.name);
3610: fnd_message.set_token('DATE'
3611: ,NVL(p_lf_evt_ocrd_dt
3612: ,p_effective_date));
3613: benutils.write(p_text=> fnd_message.get);
3614: RETURN NULL;
3615: --
3616: END IF;
3617: --
3673: --
3674: end if ;
3675:
3676: if l_result is null then
3677: fnd_message.set_name('BEN' ,'BEN_92318_BEN_BALANCE_NULL');
3678: fnd_message.set_token('DATE' ,l_start_date);
3679: benutils.write(p_text=> fnd_message.get);
3680: return null;
3681: end if;
3674: end if ;
3675:
3676: if l_result is null then
3677: fnd_message.set_name('BEN' ,'BEN_92318_BEN_BALANCE_NULL');
3678: fnd_message.set_token('DATE' ,l_start_date);
3679: benutils.write(p_text=> fnd_message.get);
3680: return null;
3681: end if;
3682: --
3675:
3676: if l_result is null then
3677: fnd_message.set_name('BEN' ,'BEN_92318_BEN_BALANCE_NULL');
3678: fnd_message.set_token('DATE' ,l_start_date);
3679: benutils.write(p_text=> fnd_message.get);
3680: return null;
3681: end if;
3682: --
3683: --
3715: -- Person does not have a balance, recheck if they have a balance
3716: -- as of the life event occurred date or effective date.
3717: -- Fix for bug 216.
3718: --
3719: fnd_message.set_name('BEN'
3720: ,'BEN_92318_BEN_BALANCE_NULL');
3721: fnd_message.set_token('DATE'
3722: ,l_start_date);
3723: benutils.write(p_text=> fnd_message.get);
3717: -- Fix for bug 216.
3718: --
3719: fnd_message.set_name('BEN'
3720: ,'BEN_92318_BEN_BALANCE_NULL');
3721: fnd_message.set_token('DATE'
3722: ,l_start_date);
3723: benutils.write(p_text=> fnd_message.get);
3724: l_result :=
3725: pay_balance_pkg.get_value(p_rec.defined_balance_id
3719: fnd_message.set_name('BEN'
3720: ,'BEN_92318_BEN_BALANCE_NULL');
3721: fnd_message.set_token('DATE'
3722: ,l_start_date);
3723: benutils.write(p_text=> fnd_message.get);
3724: l_result :=
3725: pay_balance_pkg.get_value(p_rec.defined_balance_id
3726: ,l_ass_rec.assignment_id
3727: ,NVL(p_lf_evt_ocrd_dt
3728: ,p_effective_date));
3729: --
3730: IF l_result IS NULL THEN
3731: --
3732: fnd_message.set_name('BEN'
3733: ,'BEN_92318_BEN_BALANCE_NULL');
3734: fnd_message.set_token('DATE'
3735: ,NVL(p_lf_evt_ocrd_dt
3736: ,p_effective_date));
3730: IF l_result IS NULL THEN
3731: --
3732: fnd_message.set_name('BEN'
3733: ,'BEN_92318_BEN_BALANCE_NULL');
3734: fnd_message.set_token('DATE'
3735: ,NVL(p_lf_evt_ocrd_dt
3736: ,p_effective_date));
3737: benutils.write(p_text=> fnd_message.get);
3738: RETURN NULL;
3733: ,'BEN_92318_BEN_BALANCE_NULL');
3734: fnd_message.set_token('DATE'
3735: ,NVL(p_lf_evt_ocrd_dt
3736: ,p_effective_date));
3737: benutils.write(p_text=> fnd_message.get);
3738: RETURN NULL;
3739: --
3740: END IF;
3741: --