DBA Data[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;