2552: and pl_id = p_pl_id);
2553:
2554: l_prev_opt_elig_check c_prev_opt_elig_check%rowtype;
2555: l_prev_elig_check c_prev_elig_check%rowtype;
2556: l_oipl_rec ben_cobj_cache.g_oipl_inst_row;
2557: l_epo_row ben_derive_part_and_rate_facts.g_cache_structure;
2558: l_pep_row ben_derive_part_and_rate_facts.g_cache_structure;
2559: l_proc VARCHAR2(72);
2560: l_par_elig_state ben_comp_obj_filter.g_par_elig_state_rec := p_par_elig_state;
2589: --
2590: open c_epo(l_envpgm_id);
2591: fetch c_epo into l_dummy;
2592: if c_epo%found then
2593: l_oipl_rec := ben_cobj_cache.g_oipl_currow;
2594: --
2595: update ben_elig_per_opt_f epo
2596: set per_in_ler_id = p_per_in_ler_id
2597: where epo.per_in_ler_id is null
2631: open c_epo2(l_envpl_id);
2632: fetch c_epo2 into l_dummy;
2633: if c_epo2%found then
2634:
2635: l_oipl_rec := ben_cobj_cache.g_oipl_currow;
2636: --
2637: update ben_elig_per_opt_f epo
2638: set per_in_ler_id = p_per_in_ler_id
2639: where epo.per_in_ler_id is null
2657: --
2658: if l_oipl_id is not null then
2659: --
2660: hr_utility.set_location('OIPL ID-update'||l_oipl_id,111);
2661: l_oipl_rec := ben_cobj_cache.g_oipl_currow;
2662: if l_envpgm_id is not null then
2663: --
2664: ben_pep_cache.get_pilepo_dets
2665: (p_person_id => p_person_id
3182: -- Clear down comp object cache
3183: --
3184: ben_pln_cache.clear_down_cache;
3185: ben_cop_cache.clear_down_cache;
3186: ben_cobj_cache.clear_down_cache;
3187: ben_element_entry.clear_down_cache;
3188: --
3189: -- Clear down person object caches
3190: --
5696: if g_debug then
5697: hr_utility.set_location('Setting up eligibility at the PGM level',10);
5698: end if;
5699: --
5700: ben_cobj_cache.get_pgm_dets
5701: (p_business_group_id => p_business_group_id
5702: ,p_effective_date => p_effective_date
5703: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5704: ,p_inst_row => ben_cobj_cache.g_pgm_currow
5700: ben_cobj_cache.get_pgm_dets
5701: (p_business_group_id => p_business_group_id
5702: ,p_effective_date => p_effective_date
5703: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5704: ,p_inst_row => ben_cobj_cache.g_pgm_currow
5705: );
5706: --
5707: ben_cobj_cache.get_etpr_dets
5708: (p_business_group_id => p_business_group_id
5703: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5704: ,p_inst_row => ben_cobj_cache.g_pgm_currow
5705: );
5706: --
5707: ben_cobj_cache.get_etpr_dets
5708: (p_business_group_id => p_business_group_id
5709: ,p_effective_date => p_effective_date
5710: ,p_ler_id => p_ler_id
5711: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5708: (p_business_group_id => p_business_group_id
5709: ,p_effective_date => p_effective_date
5710: ,p_ler_id => p_ler_id
5711: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5712: ,p_inst_row => ben_cobj_cache.g_pgmetpr_currow
5713: );
5714: --
5715: ben_cobj_cache.get_prel_dets
5716: (p_business_group_id => p_business_group_id
5711: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5712: ,p_inst_row => ben_cobj_cache.g_pgmetpr_currow
5713: );
5714: --
5715: ben_cobj_cache.get_prel_dets
5716: (p_business_group_id => p_business_group_id
5717: ,p_effective_date => p_effective_date
5718: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5719: ,p_inst_row => ben_cobj_cache.g_pgmprel_currow
5715: ben_cobj_cache.get_prel_dets
5716: (p_business_group_id => p_business_group_id
5717: ,p_effective_date => p_effective_date
5718: ,p_pgm_id => p_comp_obj_tree_row.pgm_id
5719: ,p_inst_row => ben_cobj_cache.g_pgmprel_currow
5720: );
5721: --
5722: if g_debug then
5723: hr_utility.set_location('Done pgm setobjs '||l_proc,20);
5728: if g_debug then
5729: hr_utility.set_location('Setting up eligibility at the PTIP level',10);
5730: end if;
5731: --
5732: ben_cobj_cache.get_ptip_dets
5733: (p_business_group_id => p_business_group_id
5734: ,p_effective_date => p_effective_date
5735: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5736: ,p_inst_row => ben_cobj_cache.g_ptip_currow
5732: ben_cobj_cache.get_ptip_dets
5733: (p_business_group_id => p_business_group_id
5734: ,p_effective_date => p_effective_date
5735: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5736: ,p_inst_row => ben_cobj_cache.g_ptip_currow
5737: );
5738: --
5739: ben_cobj_cache.get_etpr_dets
5740: (p_business_group_id => p_business_group_id
5735: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5736: ,p_inst_row => ben_cobj_cache.g_ptip_currow
5737: );
5738: --
5739: ben_cobj_cache.get_etpr_dets
5740: (p_business_group_id => p_business_group_id
5741: ,p_effective_date => p_effective_date
5742: ,p_ler_id => p_ler_id
5743: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5740: (p_business_group_id => p_business_group_id
5741: ,p_effective_date => p_effective_date
5742: ,p_ler_id => p_ler_id
5743: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5744: ,p_inst_row => ben_cobj_cache.g_ptipetpr_currow
5745: );
5746: --
5747: ben_cobj_cache.get_prel_dets
5748: (p_business_group_id => p_business_group_id
5743: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5744: ,p_inst_row => ben_cobj_cache.g_ptipetpr_currow
5745: );
5746: --
5747: ben_cobj_cache.get_prel_dets
5748: (p_business_group_id => p_business_group_id
5749: ,p_effective_date => p_effective_date
5750: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5751: ,p_inst_row => ben_cobj_cache.g_ptipprel_currow
5747: ben_cobj_cache.get_prel_dets
5748: (p_business_group_id => p_business_group_id
5749: ,p_effective_date => p_effective_date
5750: ,p_ptip_id => p_comp_obj_tree_row.ptip_id
5751: ,p_inst_row => ben_cobj_cache.g_ptipprel_currow
5752: );
5753: --
5754: elsif p_comp_obj_tree_row.plip_id is not null then
5755: --
5756: if g_debug then
5757: hr_utility.set_location('Setting up eligibility at the PLIP level',10);
5758: end if;
5759: --
5760: ben_cobj_cache.get_plip_dets
5761: (p_business_group_id => p_business_group_id
5762: ,p_effective_date => p_effective_date
5763: ,p_plip_id => p_comp_obj_tree_row.plip_id
5764: ,p_inst_row => ben_cobj_cache.g_plip_currow
5760: ben_cobj_cache.get_plip_dets
5761: (p_business_group_id => p_business_group_id
5762: ,p_effective_date => p_effective_date
5763: ,p_plip_id => p_comp_obj_tree_row.plip_id
5764: ,p_inst_row => ben_cobj_cache.g_plip_currow
5765: );
5766: --
5767: ben_cobj_cache.get_etpr_dets
5768: (p_business_group_id => p_business_group_id
5763: ,p_plip_id => p_comp_obj_tree_row.plip_id
5764: ,p_inst_row => ben_cobj_cache.g_plip_currow
5765: );
5766: --
5767: ben_cobj_cache.get_etpr_dets
5768: (p_business_group_id => p_business_group_id
5769: ,p_effective_date => p_effective_date
5770: ,p_ler_id => p_ler_id
5771: ,p_plip_id => p_comp_obj_tree_row.plip_id
5768: (p_business_group_id => p_business_group_id
5769: ,p_effective_date => p_effective_date
5770: ,p_ler_id => p_ler_id
5771: ,p_plip_id => p_comp_obj_tree_row.plip_id
5772: ,p_inst_row => ben_cobj_cache.g_plipetpr_currow
5773: );
5774: --
5775: ben_cobj_cache.get_prel_dets
5776: (p_business_group_id => p_business_group_id
5771: ,p_plip_id => p_comp_obj_tree_row.plip_id
5772: ,p_inst_row => ben_cobj_cache.g_plipetpr_currow
5773: );
5774: --
5775: ben_cobj_cache.get_prel_dets
5776: (p_business_group_id => p_business_group_id
5777: ,p_effective_date => p_effective_date
5778: ,p_plip_id => p_comp_obj_tree_row.plip_id
5779: ,p_inst_row => ben_cobj_cache.g_plipprel_currow
5775: ben_cobj_cache.get_prel_dets
5776: (p_business_group_id => p_business_group_id
5777: ,p_effective_date => p_effective_date
5778: ,p_plip_id => p_comp_obj_tree_row.plip_id
5779: ,p_inst_row => ben_cobj_cache.g_plipprel_currow
5780: );
5781: --
5782: if g_debug then
5783: hr_utility.set_location(' current ptip ' || p_comp_obj_tree_row.par_ptip_id, 99 );
5780: );
5781: --
5782: if g_debug then
5783: hr_utility.set_location(' current ptip ' || p_comp_obj_tree_row.par_ptip_id, 99 );
5784: hr_utility.set_location(' current hash ' || ben_cobj_cache.g_ptip_currow.ptip_id, 99 ) ;
5785: end if;
5786: ---- bug : 2228464 tilak
5787: ---- Compensation object tree was populated in PGM,PL name order
5788: ---- there cane a possibility of ptip falls in different levl
5794: --- so if the ptip_id of current row is not matching with cached then PTIP level
5795: --- is refreshed , discussed with martin and he agreed that
5796:
5797:
5798: if p_comp_obj_tree_row.par_ptip_id <> ben_cobj_cache.g_ptip_currow.ptip_id then
5799: ben_cobj_cache.get_ptip_dets
5800: (p_business_group_id => p_business_group_id
5801: ,p_effective_date => p_effective_date
5802: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5795: --- is refreshed , discussed with martin and he agreed that
5796:
5797:
5798: if p_comp_obj_tree_row.par_ptip_id <> ben_cobj_cache.g_ptip_currow.ptip_id then
5799: ben_cobj_cache.get_ptip_dets
5800: (p_business_group_id => p_business_group_id
5801: ,p_effective_date => p_effective_date
5802: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5803: ,p_inst_row => ben_cobj_cache.g_ptip_currow
5799: ben_cobj_cache.get_ptip_dets
5800: (p_business_group_id => p_business_group_id
5801: ,p_effective_date => p_effective_date
5802: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5803: ,p_inst_row => ben_cobj_cache.g_ptip_currow
5804: );
5805: --
5806: ben_cobj_cache.get_etpr_dets
5807: (p_business_group_id => p_business_group_id
5802: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5803: ,p_inst_row => ben_cobj_cache.g_ptip_currow
5804: );
5805: --
5806: ben_cobj_cache.get_etpr_dets
5807: (p_business_group_id => p_business_group_id
5808: ,p_effective_date => p_effective_date
5809: ,p_ler_id => p_ler_id
5810: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5807: (p_business_group_id => p_business_group_id
5808: ,p_effective_date => p_effective_date
5809: ,p_ler_id => p_ler_id
5810: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5811: ,p_inst_row => ben_cobj_cache.g_ptipetpr_currow
5812: );
5813: --
5814: ben_cobj_cache.get_prel_dets
5815: (p_business_group_id => p_business_group_id
5810: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5811: ,p_inst_row => ben_cobj_cache.g_ptipetpr_currow
5812: );
5813: --
5814: ben_cobj_cache.get_prel_dets
5815: (p_business_group_id => p_business_group_id
5816: ,p_effective_date => p_effective_date
5817: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5818: ,p_inst_row => ben_cobj_cache.g_ptipprel_currow
5814: ben_cobj_cache.get_prel_dets
5815: (p_business_group_id => p_business_group_id
5816: ,p_effective_date => p_effective_date
5817: ,p_ptip_id => p_comp_obj_tree_row.par_ptip_id
5818: ,p_inst_row => ben_cobj_cache.g_ptipprel_currow
5819: );
5820: end if ;
5821:
5822: if g_debug then
5828: if g_debug then
5829: hr_utility.set_location('Setting up eligibility at the PLN level',10);
5830: end if;
5831: --
5832: ben_cobj_cache.get_pl_dets
5833: (p_business_group_id => p_business_group_id
5834: ,p_effective_date => p_effective_date
5835: ,p_pl_id => p_comp_obj_tree_row.pl_id
5836: ,p_inst_row => ben_cobj_cache.g_pl_currow
5832: ben_cobj_cache.get_pl_dets
5833: (p_business_group_id => p_business_group_id
5834: ,p_effective_date => p_effective_date
5835: ,p_pl_id => p_comp_obj_tree_row.pl_id
5836: ,p_inst_row => ben_cobj_cache.g_pl_currow
5837: );
5838: --
5839: ben_cobj_cache.get_etpr_dets
5840: (p_business_group_id => p_business_group_id
5835: ,p_pl_id => p_comp_obj_tree_row.pl_id
5836: ,p_inst_row => ben_cobj_cache.g_pl_currow
5837: );
5838: --
5839: ben_cobj_cache.get_etpr_dets
5840: (p_business_group_id => p_business_group_id
5841: ,p_effective_date => p_effective_date
5842: ,p_ler_id => p_ler_id
5843: ,p_pl_id => p_comp_obj_tree_row.pl_id
5840: (p_business_group_id => p_business_group_id
5841: ,p_effective_date => p_effective_date
5842: ,p_ler_id => p_ler_id
5843: ,p_pl_id => p_comp_obj_tree_row.pl_id
5844: ,p_inst_row => ben_cobj_cache.g_pletpr_currow
5845: );
5846: --
5847: ben_cobj_cache.get_prel_dets
5848: (p_business_group_id => p_business_group_id
5843: ,p_pl_id => p_comp_obj_tree_row.pl_id
5844: ,p_inst_row => ben_cobj_cache.g_pletpr_currow
5845: );
5846: --
5847: ben_cobj_cache.get_prel_dets
5848: (p_business_group_id => p_business_group_id
5849: ,p_effective_date => p_effective_date
5850: ,p_pl_id => p_comp_obj_tree_row.pl_id
5851: ,p_inst_row => ben_cobj_cache.g_plprel_currow
5847: ben_cobj_cache.get_prel_dets
5848: (p_business_group_id => p_business_group_id
5849: ,p_effective_date => p_effective_date
5850: ,p_pl_id => p_comp_obj_tree_row.pl_id
5851: ,p_inst_row => ben_cobj_cache.g_plprel_currow
5852: );
5853: --
5854: if g_debug then
5855: hr_utility.set_location('Done pln setobjs '||l_proc,20);
5860: if g_debug then
5861: hr_utility.set_location(l_proc||' OIPL NN ',20);
5862: end if;
5863: --
5864: ben_cobj_cache.get_oipl_dets
5865: (p_business_group_id => p_business_group_id
5866: ,p_effective_date => p_effective_date
5867: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5868: ,p_inst_row => ben_cobj_cache.g_oipl_currow
5864: ben_cobj_cache.get_oipl_dets
5865: (p_business_group_id => p_business_group_id
5866: ,p_effective_date => p_effective_date
5867: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5868: ,p_inst_row => ben_cobj_cache.g_oipl_currow
5869: );
5870: --
5871: ben_cobj_cache.get_opt_dets
5872: (p_business_group_id => p_business_group_id
5867: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5868: ,p_inst_row => ben_cobj_cache.g_oipl_currow
5869: );
5870: --
5871: ben_cobj_cache.get_opt_dets
5872: (p_business_group_id => p_business_group_id
5873: ,p_effective_date => p_effective_date
5874: ,p_opt_id => ben_cobj_cache.g_oipl_currow.opt_id
5875: ,p_inst_row => ben_cobj_cache.g_opt_currow
5870: --
5871: ben_cobj_cache.get_opt_dets
5872: (p_business_group_id => p_business_group_id
5873: ,p_effective_date => p_effective_date
5874: ,p_opt_id => ben_cobj_cache.g_oipl_currow.opt_id
5875: ,p_inst_row => ben_cobj_cache.g_opt_currow
5876: );
5877: --
5878: ben_cobj_cache.get_etpr_dets
5871: ben_cobj_cache.get_opt_dets
5872: (p_business_group_id => p_business_group_id
5873: ,p_effective_date => p_effective_date
5874: ,p_opt_id => ben_cobj_cache.g_oipl_currow.opt_id
5875: ,p_inst_row => ben_cobj_cache.g_opt_currow
5876: );
5877: --
5878: ben_cobj_cache.get_etpr_dets
5879: (p_business_group_id => p_business_group_id
5874: ,p_opt_id => ben_cobj_cache.g_oipl_currow.opt_id
5875: ,p_inst_row => ben_cobj_cache.g_opt_currow
5876: );
5877: --
5878: ben_cobj_cache.get_etpr_dets
5879: (p_business_group_id => p_business_group_id
5880: ,p_effective_date => p_effective_date
5881: ,p_ler_id => p_ler_id
5882: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5879: (p_business_group_id => p_business_group_id
5880: ,p_effective_date => p_effective_date
5881: ,p_ler_id => p_ler_id
5882: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5883: ,p_inst_row => ben_cobj_cache.g_oipletpr_currow
5884: );
5885: --
5886: ben_cobj_cache.get_prel_dets
5887: (p_business_group_id => p_business_group_id
5882: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5883: ,p_inst_row => ben_cobj_cache.g_oipletpr_currow
5884: );
5885: --
5886: ben_cobj_cache.get_prel_dets
5887: (p_business_group_id => p_business_group_id
5888: ,p_effective_date => p_effective_date
5889: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5890: ,p_inst_row => ben_cobj_cache.g_oiplprel_currow
5886: ben_cobj_cache.get_prel_dets
5887: (p_business_group_id => p_business_group_id
5888: ,p_effective_date => p_effective_date
5889: ,p_oipl_id => p_comp_obj_tree_row.oipl_id
5890: ,p_inst_row => ben_cobj_cache.g_oiplprel_currow
5891: );
5892: --
5893: -- Check oiplip stuff
5894: --
5893: -- Check oiplip stuff
5894: --
5895: if p_comp_obj_tree_row.oiplip_id is not null then
5896: --
5897: ben_cobj_cache.get_oiplip_dets
5898: (p_business_group_id => p_business_group_id
5899: ,p_effective_date => p_effective_date
5900: ,p_oiplip_id => p_comp_obj_tree_row.oiplip_id
5901: ,p_inst_row => ben_cobj_cache.g_oiplip_currow
5897: ben_cobj_cache.get_oiplip_dets
5898: (p_business_group_id => p_business_group_id
5899: ,p_effective_date => p_effective_date
5900: ,p_oiplip_id => p_comp_obj_tree_row.oiplip_id
5901: ,p_inst_row => ben_cobj_cache.g_oiplip_currow
5902: );
5903: --
5904: end if;
5905: --
10341: l_currpgm_row ben_pgm_f%rowtype;
10342: l_currptip_row ben_ptip_f%rowtype;
10343: l_currplip_row ben_plip_f%rowtype;
10344: l_currpl_row ben_pl_f%rowtype;
10345: l_curroipl_row ben_cobj_cache.g_oipl_inst_row;
10346: l_curroiplip_row ben_cobj_cache.g_oiplip_inst_row;
10347: l_parpgm_row ben_pgm_f%rowtype;
10348: l_parptip_row ben_ptip_f%rowtype;
10349: l_parplip_row ben_plip_f%rowtype;
10342: l_currptip_row ben_ptip_f%rowtype;
10343: l_currplip_row ben_plip_f%rowtype;
10344: l_currpl_row ben_pl_f%rowtype;
10345: l_curroipl_row ben_cobj_cache.g_oipl_inst_row;
10346: l_curroiplip_row ben_cobj_cache.g_oiplip_inst_row;
10347: l_parpgm_row ben_pgm_f%rowtype;
10348: l_parptip_row ben_ptip_f%rowtype;
10349: l_parplip_row ben_plip_f%rowtype;
10350: l_parpl_row ben_pl_f%rowtype;
10347: l_parpgm_row ben_pgm_f%rowtype;
10348: l_parptip_row ben_ptip_f%rowtype;
10349: l_parplip_row ben_plip_f%rowtype;
10350: l_parpl_row ben_pl_f%rowtype;
10351: l_paropt_row ben_cobj_cache.g_opt_inst_row;
10352: l_paroipl_row ben_cobj_cache.g_oipl_inst_row;
10353: l_per_row per_all_people_F%rowtype;
10354: l_pil_row ben_per_in_ler%rowtype;
10355: l_empasg_row per_all_assignments_f%rowtype;
10348: l_parptip_row ben_ptip_f%rowtype;
10349: l_parplip_row ben_plip_f%rowtype;
10350: l_parpl_row ben_pl_f%rowtype;
10351: l_paropt_row ben_cobj_cache.g_opt_inst_row;
10352: l_paroipl_row ben_cobj_cache.g_oipl_inst_row;
10353: l_per_row per_all_people_F%rowtype;
10354: l_pil_row ben_per_in_ler%rowtype;
10355: l_empasg_row per_all_assignments_f%rowtype;
10356: l_benasg_row per_all_assignments_f%rowtype;