DBA Data[Home] [Help]

APPS.BEN_PREM_PL_OIPL_MONTHLY dependencies on BEN_EVALUATE_RATE_PROFILES

Line 206: ben_evaluate_rate_profiles.init_globals;

202:
203: p_matched_vrbl_prfl := 'N'; -- used to see if ANYONE matched a profile.
204: p_val := 0;
205:
206: ben_evaluate_rate_profiles.init_globals;
207:
208: open c_alwys_cnt_no;
209: fetch c_alwys_cnt_no into l_alwys_cnt_no;
210: close c_alwys_cnt_no;

Line 218: -- these calls are required so we can call ben_evaluate_rate_profiles.main

214: if l_alwys_cnt_no = 'Y' then
215: -- there are variable rate profiles with one of the ALWAYS flags set to NO.
216: l_use_globals := true; -- for use in SECOND call to main.
217: for l_people in c_people loop
218: -- these calls are required so we can call ben_evaluate_rate_profiles.main
219: ben_env_object.setenv(p_person_id => l_people.person_id);
220: --ben_env_object.setenv(p_business_group_id => p_business_group_id);
221: if l_people.pgm_id is not null then
222: ben_env_object.setenv(p_pgm_id => l_people.pgm_id);

Line 233: ben_evaluate_rate_profiles.main

229: end if;
230: -- Call main with the all_prfls = true. This tells main to find all the profiles
231: -- that a person matches, not just the first one. It loads these into a global
232: -- table structure. It skips the ttl_prtt and ttl_cvg evaulation.
233: ben_evaluate_rate_profiles.main
234: (p_person_id => l_people.person_id,
235: p_elig_per_elctbl_chc_id => null,
236: p_acty_base_rt_id => null,
237: p_actl_prem_id => p_actl_prem_id,

Line 299: -- these calls are required so we can call ben_evaluate_rate_profiles.main

295: end if;
296: hr_utility.set_location ('looping for person '||
297: to_char(l_people.person_id),12);
298:
299: -- these calls are required so we can call ben_evaluate_rate_profiles.main
300: ben_env_object.setenv(p_person_id => l_people.person_id);
301: --ben_env_object.setenv(p_business_group_id => p_business_group_id);
302: if l_people.pgm_id is not null then
303: ben_env_object.setenv(p_pgm_id => l_people.pgm_id);

Line 314: ben_evaluate_rate_profiles.main

310: end if;
311:
312: -- ?? should we pass pl_id of actl_prem (which could be null)
313: -- or of actl_prem's pl or oipl? currently passing pl/oipl's.
314: ben_evaluate_rate_profiles.main
315: (p_person_id => l_people.person_id,
316: p_elig_per_elctbl_chc_id => null,
317: p_acty_base_rt_id => null,
318: p_actl_prem_id => p_actl_prem_id,

Line 348: if ben_evaluate_rate_profiles.g_no_match_cnt > 0 then

344:
345: ----------- compute total premium value -------------------------------
346: -- first use the actual premium value for those persons that didn't match
347: -- any variable profiles:
348: if ben_evaluate_rate_profiles.g_no_match_cnt > 0 then
349: hr_utility.set_location ('g_no_match_cnt:'||
350: to_char(ben_evaluate_rate_profiles.g_no_match_cnt),18);
351: if p_mlt_cd = 'NSVU' then
352: if p_vrbl_rt_add_on_calc_rl is null then

Line 350: to_char(ben_evaluate_rate_profiles.g_no_match_cnt),18);

346: -- first use the actual premium value for those persons that didn't match
347: -- any variable profiles:
348: if ben_evaluate_rate_profiles.g_no_match_cnt > 0 then
349: hr_utility.set_location ('g_no_match_cnt:'||
350: to_char(ben_evaluate_rate_profiles.g_no_match_cnt),18);
351: if p_mlt_cd = 'NSVU' then
352: if p_vrbl_rt_add_on_calc_rl is null then
353: -- there is no standard value and no profiles matched, error.
354: fnd_message.set_name('BEN', 'BEN_92290_NSVU_NO_PROFILES');

Line 377: ,p_val => ben_evaluate_rate_profiles.g_no_match_cnt

373: hr_utility.set_location ('ttlprtt p_actl_prem_id:'||to_char(p_actl_prem_id)||
374: ' p_bnft_rt_typ_cd:'||p_bnft_rt_typ_cd, 22);
375: benutils.rt_typ_calc
376: (p_rt_typ_cd => p_bnft_rt_typ_cd
377: ,p_val => ben_evaluate_rate_profiles.g_no_match_cnt
378: ,p_val_2 => p_actl_prem_val
379: ,p_calculated_val => p_val); -- output p_val
380: else -- p_mlt_cd = 'TTLCVG'
381: hr_utility.set_location ('ttlcvg p_actl_prem_id:'||to_char(p_actl_prem_id)||

Line 385: ,p_val => ben_evaluate_rate_profiles.g_no_match_cvg

381: hr_utility.set_location ('ttlcvg p_actl_prem_id:'||to_char(p_actl_prem_id)||
382: ' p_bnft_rt_typ_cd:'||p_bnft_rt_typ_cd, 24);
383: benutils.rt_typ_calc
384: (p_rt_typ_cd => p_bnft_rt_typ_cd
385: ,p_val => ben_evaluate_rate_profiles.g_no_match_cvg
386: ,p_val_2 => p_actl_prem_val
387: ,p_calculated_val => p_val); -- output p_val
388: end if;
389: end if;

Line 398: if ben_evaluate_rate_profiles.g_num_of_prfls_used > 0 then

394: ,p_value => p_val
395: ,p_effective_date => p_effective_date);
396: -- then loop thru profiles matched and add up rates based on number of people
397: -- that matched that profile or amount of coverage of those people.
398: if ben_evaluate_rate_profiles.g_num_of_prfls_used > 0 then
399: for i in 1..ben_evaluate_rate_profiles.g_num_of_prfls_used loop
400: hr_utility.set_location('vrbl_rt_prfl_id'||
401: to_char(ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id),26);
402: open c_vrbl_val(p_vrbl_rt_prfl_id =>

Line 399: for i in 1..ben_evaluate_rate_profiles.g_num_of_prfls_used loop

395: ,p_effective_date => p_effective_date);
396: -- then loop thru profiles matched and add up rates based on number of people
397: -- that matched that profile or amount of coverage of those people.
398: if ben_evaluate_rate_profiles.g_num_of_prfls_used > 0 then
399: for i in 1..ben_evaluate_rate_profiles.g_num_of_prfls_used loop
400: hr_utility.set_location('vrbl_rt_prfl_id'||
401: to_char(ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id),26);
402: open c_vrbl_val(p_vrbl_rt_prfl_id =>
403: ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id);

Line 401: to_char(ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id),26);

397: -- that matched that profile or amount of coverage of those people.
398: if ben_evaluate_rate_profiles.g_num_of_prfls_used > 0 then
399: for i in 1..ben_evaluate_rate_profiles.g_num_of_prfls_used loop
400: hr_utility.set_location('vrbl_rt_prfl_id'||
401: to_char(ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id),26);
402: open c_vrbl_val(p_vrbl_rt_prfl_id =>
403: ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id);
404: fetch c_vrbl_val into l_vrbl_val;
405: if c_vrbl_val%found then

Line 403: ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id);

399: for i in 1..ben_evaluate_rate_profiles.g_num_of_prfls_used loop
400: hr_utility.set_location('vrbl_rt_prfl_id'||
401: to_char(ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id),26);
402: open c_vrbl_val(p_vrbl_rt_prfl_id =>
403: ben_evaluate_rate_profiles.g_use_prfls(i).vrbl_rt_prfl_id);
404: fetch c_vrbl_val into l_vrbl_val;
405: if c_vrbl_val%found then
406: if l_vrbl_val.mlt_cd = 'TTLPRTT' then
407: benutils.rt_typ_calc

Line 410: ben_evaluate_rate_profiles.g_use_prfls(i).match_cnt

406: if l_vrbl_val.mlt_cd = 'TTLPRTT' then
407: benutils.rt_typ_calc
408: (p_rt_typ_cd => l_vrbl_val.bnft_rt_typ_cd
409: ,p_val =>
410: ben_evaluate_rate_profiles.g_use_prfls(i).match_cnt
411: ,p_val_2 => l_vrbl_val.val
412: ,p_calculated_val => l_val); -- output val
413: else -- l_vrbl_val.mlt_cd = 'TTLCVG'
414: benutils.rt_typ_calc

Line 417: ben_evaluate_rate_profiles.g_use_prfls(i).match_cvg

413: else -- l_vrbl_val.mlt_cd = 'TTLCVG'
414: benutils.rt_typ_calc
415: (p_rt_typ_cd => l_vrbl_val.bnft_rt_typ_cd
416: ,p_val =>
417: ben_evaluate_rate_profiles.g_use_prfls(i).match_cvg
418: ,p_val_2 => l_vrbl_val.val
419: ,p_calculated_val => l_val); -- output val
420: end if;
421: -- round and check limits against variable rate profiles.

Line 671: -- this call is required so we can call ben_evaluate_rate_profiles.main

667: begin
668: hr_utility.set_location ('Entering '||l_package,10);
669: Savepoint process_pl_premium_savepoint;
670:
671: -- this call is required so we can call ben_evaluate_rate_profiles.main
672: ben_env_object.init(p_business_group_id => p_business_group_id,
673: p_effective_date => p_effective_date,
674: p_thread_id => null,
675: p_chunk_size => null,