[Home] [Help]
PACKAGE: APPS.BEN_ENROLMENT_REQUIREMENTS
Source
1 package ben_enrolment_requirements as
2 /* $Header: bendenrr.pkh 120.3 2007/01/12 06:09:37 gsehgal ship $ */
3 --------------------------------------------------------------------------------
4 /*
5 +==============================================================================+
6 | Copyright (c) 1998 Oracle Corporation |
7 | Redwood Shores, California, USA |
8 | All rights reserved. |
9 +==============================================================================+
10 --
11 Name
12 Determine Enrolment Requirements
13 Purpose
14 This package is used to create enrolment choice entries for all choices
15 which a person may elect.
16 History
17 Date Who Version What?
18 ---- --- ------- -----
19 18 Mar 98 jcarpent 110.0 Created
20 28 Aug 98 gperry 115.3 Added global to test if
21 an electable choice has
22 been created. Bug 1047.
23 19 Nov 98 jcarpent 115.5 Removed two date fns
24 24 Dec 98 jcarpent 115.6 Changed det_dflt_dt
25 18 Jan 99 G Perry 115.7 LED V ED
26 08 Feb 99 jcarpent 115.8 Changed determine_erlst_deent
27 25 Mar 99 jcarpent 115.9 added assignment_id
28 to arg lists
29 28 Apr 99 shdas 115.10 Changed parameter list of
30 determine_erlst_deenrt,
31 execute_enrt_rule,
32 should_create_dpnt_dummy.
33 04 May 99 shdas 115.11 added jurisdiction code.
34 05 JUL 99 stee 115.12 added dpnt_cvrd_flag
35 to determine_enrolment.
36 22 Sep 99 jcarpent 115.13 Changed rule args for
37 determine_enrolment
38 16-Nov-1999 jcarpent 115.14 Added det_dflt_enrt_cd
39 05-Jan-2000 jcarpent 115.15 added find_rqd_perd_enrt and
40 find_enrt_at_same_level
41 21-Jan-2000 pbodla 115.16 - p_elig-per_id is added to
42 execute_enrt_rule, determine_enrolment
43 23-May-2000 mhoyes 115.17 - Added p_comp_obj_tree_row to
44 enrolment_requirements.
45 31-May-2000 mhoyes 115.18 - Added current comp object row
46 parameters to interfaces.
47 28-Jun-2000 shdas 115.19 Added proc execute_auto_dflt_enrt_rule.
48 29-Jun-2000 mhoyes 115.20 - Added parent comp object context
49 parameters.
50 05-Jul-2000 mhoyes 115.21 - Added context parameters.
51 13-Jul-2000 mhoyes 115.22 - Removed context parameters.
52 19-Jul-2000 jcarpent 115.23 - 5241,1343362. Added update_defaults
53 05-Sep-2000 pbodla 115.24 - Bug 5422 : Allow different enrollment periods
54 for programs for a scheduled enrollment.
55 p_popl_enrt_typ_cycl_id is removed.
56 07-Dec-2001 mhoyes - Added p_per_in_ler_id to enrolment_requirements.
57 11-Dec-2001 mhoyes - Added p_per_in_ler_id to update_defaults.
58 29-Dec-2001 pbodla - Added function get_manager_id
59 02-Jan-2002 pbodla - CWB Changes - Added proc get_manager_id
60 03-Jan-2002 rpillay 115.28 - added Set Verify Off to avoid GSCC warning
61 11-Jan-2002 ikasire CWB Changes - Bug 2172036
62 13-Sep-2003 tjesumic - # 2534744 New Varaible added to get default amount
63 from formula for default enrollemnt used in
64 bendenrr and bencvrge
65 16 Dec 2002 hnarayan 115.31 Added NOCOPY hint
66 30 Sep 2004 abparekh 115.32 Added p_run_mode parameter to
67 determine_dflt_flag and determine_enrolment
68 29 Apr 2005 kmahendr 115.33 Added a parameter - update_def_elct_flag to
69 determine_enrolment - bug#4338685
70 19 Jan 2006 mhoyes 115.34 bug4960381 - hr_utility tuning.
71 26 Jun 2006 swjain 115.35 Bug 5331889 - Added person_id param to execute_auto_dflt_enrt_rule
72 and execute_enrt_rule
73 09-Nov-06 gsehgal 115.36 Bug 5644451 - Added parameter p_default level
74 in proc determine_dflt_flag
75 */
76 ------------------------------------------------------------------------------------------------------------------
77 g_electable_choice_created boolean := false;
78 g_any_choice_created boolean := false;
79 g_auto_choice_created boolean := false;
80 --
81 g_def_curr_pgm_rec ben_pgm_f%rowtype;
82 g_def_curr_ptip_rec ben_ptip_f%rowtype;
83 g_def_curr_plip_rec ben_plip_f%rowtype;
84 g_def_curr_pl_rec ben_pl_f%rowtype;
85 g_def_curr_oipl_rec ben_cobj_cache.g_oipl_inst_row;
86 g_def_curr_opt_rec ben_cobj_cache.g_opt_inst_row;
87 --
88 -- CWB Changes :
89 --
90 g_ple_hrchy_to_use_cd varchar2(30);
91 g_ple_pos_structure_version_id number;
92 --
93 -- This variable store the default benefit amount which is retunr by formual
94 -- and used by BEN_DETERMINE_COVERAGE
95 --
96 g_dflt_elcn_val ben_enrt_bnft.DFLT_VAL%type ;
97 --
98 g_debug boolean := hr_utility.debug_enabled;
99 --
100 /*
101 g_cwb_pl_id number;
102 g_cwb_pgm_id number;
103 */
104 --
105 procedure enrolment_requirements
106 (p_comp_obj_tree_row in ben_manage_life_events.g_cache_proc_objects_rec
107 ,p_run_mode in varchar2
108 ,p_business_group_id in number
109 ,p_effective_date in date
110 ,p_lf_evt_ocrd_dt in date default null
111 ,p_ler_id in number
112 ,p_per_in_ler_id in number
113 ,p_person_id in number
114 ,p_pl_id in number
115 ,p_pgm_id in number default null
116 ,p_oipl_id in number default null
117 ,p_create_anyhow_flag in varchar2 default 'N'
118 -- 5422 : PB ,p_popl_enrt_typ_cycl_id in number default null
119 --
120 ,p_asnd_lf_evt_dt in date default null
121 ,p_electable_flag out nocopy varchar2
122 ,p_elig_per_elctbl_chc_id out nocopy number
123 );
124 -----------------------------------------------------------------------------
125 function execute_enrt_rule
126 (p_opt_id number,
127 p_pl_id number,
128 p_pgm_id number,
129 p_rule_id number,
130 p_ler_id number,
131 p_pl_typ_id number,
132 p_business_group_id number,
133 p_effective_date date,
134 p_lf_evt_ocrd_dt date default null,
135 p_elig_per_id number default null,
136 p_assignment_id number,
137 p_organization_id number,
138 p_jurisdiction_code varchar2,
139 p_person_id number
140 ) return varchar2;
141 -----------------------------------------------------------------------------
142 -- CWB Changes.
143 /**
144 function get_manager_id
145 (p_person_id in number,
146 p_hrchy_to_use_cd in varchar2,
147 p_pos_structure_version_id in number,
148 p_effective_date in date) return number;
149 */
150 procedure get_cwb_manager_and_assignment
151 (p_person_id in number,
152 p_hrchy_to_use_cd in varchar2,
153 p_pos_structure_version_id in number,
154 p_effective_date in date,
155 p_manager_id out nocopy number,
156 p_assignment_id out nocopy number);
157
158 -----------------------------------------------------------------------------
159 procedure execute_auto_dflt_enrt_rule
160 (p_opt_id number,
161 p_pl_id number,
162 p_pgm_id number,
163 p_rule_id number,
164 p_ler_id number,
165 p_pl_typ_id number,
166 p_business_group_id number,
167 p_effective_date date,
168 p_lf_evt_ocrd_dt date default null,
169 p_elig_per_id number default null,
170 p_assignment_id number,
171 p_organization_id number,
172 p_jurisdiction_code varchar2,
173 p_person_id number,
174 p_enrt_mthd out nocopy varchar2,
175 p_reinstt_dpnt out nocopy varchar2
176 );
177 -----------------------------------------------------------------------------
178 procedure determine_enrolment
179 (p_previous_eligibility varchar2,
180 p_crnt_enrt_cvg_strt_dt date,
181 p_dpnt_cvrd_flag varchar2,
182 p_enrt_cd varchar2,
183 p_enrt_rl number,
184 p_enrt_mthd_cd varchar2,
185 p_auto_enrt_mthd_rl number,
186 p_effective_date date,
187 p_lf_evt_ocrd_dt date default null,
188 p_elig_per_id number default null,
189 p_enrt_prclds_chg_flag varchar2 default 'N',
190 p_stl_elig_cant_chg_flag varchar2 default 'N',
191 p_tco_chg_enrt_cd varchar2 default 'CPOO',
192 p_pl_id number,
193 p_pgm_id number,
194 p_oipl_id number,
195 p_opt_id number,
196 p_pl_typ_id number,
197 p_person_id number,
198 p_ler_id number,
199 p_business_group_id number,
200 p_electable_flag out nocopy varchar2,
201 p_assignment_id number,
202 p_run_mode varchar2 default null,
203 p_update_def_elct_flag varchar2 default null);
204 -----------------------------------------------------------------------------
205 procedure determine_dflt_flag
206 (p_dflt_flag varchar2,
207 p_dflt_enrt_cd varchar2,
208 p_crnt_enrt_cvg_strt_dt date,
209 p_previous_eligibility varchar2,
210 p_dflt_enrt_rl number,
211 p_oipl_id number,
212 p_pl_id number,
213 p_pgm_id number,
214 p_effective_date date,
215 p_lf_evt_ocrd_dt date default null,
216 p_ler_id number,
217 p_opt_id number,
218 p_pl_typ_id number,
219 p_ptip_id number,
220 p_person_id number,
221 p_business_group_id number,
222 p_assignment_id number,
223 p_deflt_flag out nocopy varchar2,
224 p_reinstt_flag out nocopy varchar2,
225 -- bug 5644451
226 p_default_level varchar2 default null,
227 p_run_mode varchar2 default null);
228 -----------------------------------------------------------------------------
229 function determine_erlst_deenrt_dt
230 (p_enrt_cvg_strt_dt date,
231 p_rqd_perd_enrt_nenrt_val number,
232 p_rqd_perd_enrt_nenrt_tm_uom varchar2,
233 p_rqd_perd_enrt_nenrt_rl number,
234 p_oipl_id number,
235 p_pl_id number,
236 p_pl_typ_id number,
237 p_opt_id number,
238 p_pgm_id number,
239 p_ler_id number,
240 p_popl_yr_perd_ordr_num number,
241 p_yr_end_dt date,
242 p_effective_date date,
243 p_lf_evt_ocrd_dt date default null,
244 p_person_id number,
245 p_business_group_id number,
246 p_assignment_id number,
247 p_organization_id number,
248 p_jurisdiction_code varchar2
249 ) return date;
250 -----------------------------------------------------------------------------
251 function should_create_dpnt_dummy(
252 p_pl_id number,
253 p_pl_typ_id number,
254 p_opt_id number,
255 p_ler_id number,
256 p_ptip_id number,
257 p_effective_date date,
258 p_lf_evt_ocrd_dt date default null,
259 p_pgm_id number,
260 p_person_id number,
261 p_business_group_id number,
262 p_assignment_id number,
263 p_organization_id number,
264 p_jurisdiction_code varchar2
265 ) return boolean;
266 -----------------------------------------------------------------------------
267 procedure determine_dflt_enrt_cd
268 (p_oipl_id in number
269 ,p_plip_id in number
270 ,p_pl_id in number
271 ,p_ptip_id in number
272 ,p_pgm_id in number
273 ,p_ler_id in number
274 ,p_business_group_id in number
275 ,p_effective_date in date
276 ,p_dflt_enrt_cd out nocopy varchar2
277 ,p_dflt_enrt_rl out nocopy number
278 );
279 -----------------------------------------------------------------------------
280 --
281 -- Find the required period of enrollment. Code/rule/value and level.
282 --
283 procedure find_rqd_perd_enrt
284 (p_oipl_id in number
285 ,p_opt_id in number
286 ,p_pl_id in number
287 ,p_ptip_id in number
288 ,p_effective_date in date
289 ,p_business_group_id in number
290 ,p_rqd_perd_enrt_nenrt_uom out nocopy varchar2
291 ,p_rqd_perd_enrt_nenrt_val out nocopy number
292 ,p_rqd_perd_enrt_nenrt_rl out nocopy number
293 ,p_level out nocopy varchar2
294 );
295 -----------------------------------------------------------------------------
296 --
297 -- find an enrollment at the give level.
298 --
299 procedure find_enrt_at_same_level(
300 p_person_id in number
301 ,p_opt_id in number
302 ,p_oipl_id in number
303 ,p_pl_id in number
304 ,p_ptip_id in number
305 ,p_pl_typ_id in number
306 ,p_pgm_id in number
307 ,p_effective_date in date
308 ,p_business_group_id in number
309 ,p_prtt_enrt_rslt_id in number
310 ,p_level in varchar2
311 ,p_pen_rec out nocopy ben_prtt_enrt_rslt_f%rowtype
312 );
313 -----------------------------------------------------------------------------
314 procedure update_defaults
315 (p_run_mode in varchar2
316 ,p_business_group_id in number
317 ,p_effective_date in date
318 ,p_lf_evt_ocrd_dt in date default null
319 ,p_ler_id in number
320 ,p_person_id in number
321 ,p_per_in_ler_id in number
322 );
323 end ben_enrolment_requirements;