DBA Data[Home] [Help]

PACKAGE: APPS.BEN_ENROLMENT_REQUIREMENTS

Source


1 package ben_enrolment_requirements AUTHID CURRENT_USER as
2 /* $Header: bendenrr.pkh 120.3.12020000.2 2012/10/18 04:52:49 pvelvano 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         18-oct-12       velvanop        115.37  Bug 14768372: Added parameter p_elig_per_id
76 						in proc determine_dflt_flag
77 */
78 ------------------------------------------------------------------------------------------------------------------
79 g_electable_choice_created boolean := false;
80 g_any_choice_created boolean := false;
81 g_auto_choice_created boolean := false;
82 --
83 g_def_curr_pgm_rec     ben_pgm_f%rowtype;
84 g_def_curr_ptip_rec    ben_ptip_f%rowtype;
85 g_def_curr_plip_rec    ben_plip_f%rowtype;
86 g_def_curr_pl_rec      ben_pl_f%rowtype;
87 g_def_curr_oipl_rec    ben_cobj_cache.g_oipl_inst_row;
88 g_def_curr_opt_rec     ben_cobj_cache.g_opt_inst_row;
89 --
90 -- CWB Changes :
91 --
92 g_ple_hrchy_to_use_cd       varchar2(30);
93 g_ple_pos_structure_version_id number;
94 --
95 -- This variable store the default benefit amount   which is retunr by formual
96 -- and used by BEN_DETERMINE_COVERAGE
97 --
98 g_dflt_elcn_val       ben_enrt_bnft.DFLT_VAL%type ;
99   --
100   g_debug boolean := hr_utility.debug_enabled;
101   --
102 /*
103 g_cwb_pl_id                 number;
104 g_cwb_pgm_id                number;
105 */
106 --
107 procedure enrolment_requirements
108   (p_comp_obj_tree_row      in     ben_manage_life_events.g_cache_proc_objects_rec
109   ,p_run_mode               in     varchar2
110   ,p_business_group_id      in     number
111   ,p_effective_date         in     date
112   ,p_lf_evt_ocrd_dt         in     date default null
113   ,p_ler_id                 in     number
114   ,p_per_in_ler_id          in     number
115   ,p_person_id              in     number
116   ,p_pl_id                  in     number
117   ,p_pgm_id                 in     number default null
118   ,p_oipl_id                in     number default null
119   ,p_create_anyhow_flag     in     varchar2 default 'N'
120   -- 5422 : PB ,p_popl_enrt_typ_cycl_id  in     number default null
121   --
122   ,p_asnd_lf_evt_dt         in     date default null
123   ,p_electable_flag            out nocopy varchar2
124   ,p_elig_per_elctbl_chc_id    out nocopy number
125   );
126 -----------------------------------------------------------------------------
127 function execute_enrt_rule
128        (p_opt_id		number,
129 	p_pl_id			number,
130 	p_pgm_id		number,
131 	p_rule_id		number,
132 	p_ler_id		number,
133 	p_pl_typ_id		number,
134 	p_business_group_id	number,
135 	p_effective_date	date,
136         p_lf_evt_ocrd_dt        date default null,
137         p_elig_per_id           number default null,
138         p_assignment_id         number,
139         p_organization_id	number,
140         p_jurisdiction_code     varchar2,
141 	p_person_id             number
142         ) return varchar2;
143 -----------------------------------------------------------------------------
144 -- CWB Changes.
145 /**
146 function get_manager_id
147       (p_person_id             in number,
148        p_hrchy_to_use_cd       in varchar2,
149        p_pos_structure_version_id in number,
150        p_effective_date        in date) return number;
151 */
152 procedure get_cwb_manager_and_assignment
153       (p_person_id             in number,
154        p_hrchy_to_use_cd       in varchar2,
155        p_pos_structure_version_id in number,
156        p_effective_date        in date,
157        p_manager_id            out nocopy number,
158        p_assignment_id         out nocopy number);
159 
160 -----------------------------------------------------------------------------
161 procedure execute_auto_dflt_enrt_rule
162        (p_opt_id                number,
163         p_pl_id                 number,
164         p_pgm_id                number,
165         p_rule_id               number,
166         p_ler_id                number,
167         p_pl_typ_id             number,
168         p_business_group_id     number,
169         p_effective_date        date,
170         p_lf_evt_ocrd_dt        date default null,
171         p_elig_per_id           number default null,
172         p_assignment_id         number,
173         p_organization_id       number,
174         p_jurisdiction_code     varchar2,
175 	p_person_id             number,
176         p_enrt_mthd             out nocopy varchar2,
177         p_reinstt_dpnt          out nocopy varchar2
178         );
179 -----------------------------------------------------------------------------
180 procedure determine_enrolment
181   (p_previous_eligibility   varchar2,
182    p_crnt_enrt_cvg_strt_dt  date,
183    p_dpnt_cvrd_flag         varchar2,
184    p_enrt_cd                varchar2,
185    p_enrt_rl                number,
186    p_enrt_mthd_cd           varchar2,
187    p_auto_enrt_mthd_rl      number,
188    p_effective_date         date,
189    p_lf_evt_ocrd_dt         date default null,
190    p_elig_per_id            number default null,
191    p_enrt_prclds_chg_flag   varchar2 default 'N',
192    p_stl_elig_cant_chg_flag varchar2 default 'N',
193    p_tco_chg_enrt_cd        varchar2 default 'CPOO',
194    p_pl_id                  number,
195    p_pgm_id                 number,
196    p_oipl_id                number,
197    p_opt_id                 number,
198    p_pl_typ_id              number,
199    p_person_id              number,
200    p_ler_id                 number,
201    p_business_group_id      number,
202    p_electable_flag         out nocopy varchar2,
203    p_assignment_id          number,
204    p_run_mode               varchar2 default null,
205    p_update_def_elct_flag   varchar2 default null);
206 -----------------------------------------------------------------------------
207 procedure determine_dflt_flag
208        (p_dflt_flag		varchar2,
209 	p_dflt_enrt_cd		varchar2,
210 	p_crnt_enrt_cvg_strt_dt	date,
211 	p_previous_eligibility	varchar2,
212 	p_dflt_enrt_rl		number,
213 	p_oipl_id		number,
214 	p_pl_id			number,
215 	p_pgm_id		number,
216 	p_effective_date	date,
217 	p_lf_evt_ocrd_dt	date default null,
218 	p_ler_id		number,
219 	p_opt_id		number,
220 	p_pl_typ_id		number,
221         p_ptip_id               number,
222         p_person_id             number,
223 	p_business_group_id	number,
224         p_assignment_id         number,
225         p_deflt_flag            out nocopy varchar2,
226         p_reinstt_flag          out nocopy varchar2,
227 	-- bug 5644451
228 	p_default_level         varchar2 default null,
229         p_run_mode              varchar2 default null,
230 	p_elig_per_id           number default null);
231 -----------------------------------------------------------------------------
232 function determine_erlst_deenrt_dt
233        (p_enrt_cvg_strt_dt		date,
234 	p_rqd_perd_enrt_nenrt_val	number,
235 	p_rqd_perd_enrt_nenrt_tm_uom	varchar2,
236         p_rqd_perd_enrt_nenrt_rl        number,
237 	p_oipl_id			number,
238 	p_pl_id				number,
239 	p_pl_typ_id				number,
240 	p_opt_id				number,
241 	p_pgm_id			number,
242 	p_ler_id			number,
243 	p_popl_yr_perd_ordr_num		number,
244 	p_yr_end_dt			date,
245 	p_effective_date		date,
246 	p_lf_evt_ocrd_dt		date default null,
247         p_person_id                     number,
248 	p_business_group_id		number,
249         p_assignment_id                 number,
250         p_organization_id	number,
251         p_jurisdiction_code     varchar2
252         ) return date;
253 -----------------------------------------------------------------------------
254 function should_create_dpnt_dummy(
255       p_pl_id             number,
256       p_pl_typ_id             number,
257       p_opt_id             number,
258       p_ler_id            number,
259       p_ptip_id           number,
260       p_effective_date    date,
261       p_lf_evt_ocrd_dt    date default null,
262       p_pgm_id            number,
263       p_person_id         number,
264       p_business_group_id number,
265       p_assignment_id     number,
266       p_organization_id	  number,
267       p_jurisdiction_code     varchar2
268       ) return boolean;
269 -----------------------------------------------------------------------------
270 procedure determine_dflt_enrt_cd
271   (p_oipl_id           in     number
272   ,p_plip_id           in     number
273   ,p_pl_id             in     number
274   ,p_ptip_id           in     number
275   ,p_pgm_id            in     number
276   ,p_ler_id            in     number
277   ,p_business_group_id in     number
278   ,p_effective_date    in     date
279   ,p_dflt_enrt_cd         out nocopy varchar2
280   ,p_dflt_enrt_rl         out nocopy number
281   );
282 -----------------------------------------------------------------------------
283 --
284 -- Find the required period of enrollment.  Code/rule/value and level.
285 --
286 procedure find_rqd_perd_enrt
287   (p_oipl_id                 in     number
288   ,p_opt_id                  in     number
289   ,p_pl_id                   in     number
290   ,p_ptip_id                 in     number
291   ,p_effective_date          in     date
292   ,p_business_group_id       in     number
293   ,p_rqd_perd_enrt_nenrt_uom    out nocopy varchar2
294   ,p_rqd_perd_enrt_nenrt_val    out nocopy number
295   ,p_rqd_perd_enrt_nenrt_rl     out nocopy number
296   ,p_level                      out nocopy varchar2
297   );
298 -----------------------------------------------------------------------------
299 --
300 -- find an enrollment at the give level.
301 --
302 procedure find_enrt_at_same_level(
303        p_person_id               in number
304       ,p_opt_id                  in number
305       ,p_oipl_id                 in number
306       ,p_pl_id                   in number
307       ,p_ptip_id                 in number
308       ,p_pl_typ_id               in number
309       ,p_pgm_id                  in number
310       ,p_effective_date          in date
311       ,p_business_group_id       in number
312       ,p_prtt_enrt_rslt_id       in number
313       ,p_level                   in varchar2
314       ,p_pen_rec                 out nocopy ben_prtt_enrt_rslt_f%rowtype
315 );
316 -----------------------------------------------------------------------------
317 procedure update_defaults
318   (p_run_mode               in     varchar2
319   ,p_business_group_id      in     number
320   ,p_effective_date         in     date
321   ,p_lf_evt_ocrd_dt         in     date default null
322   ,p_ler_id                 in     number
323   ,p_person_id              in     number
324   ,p_per_in_ler_id          in     number
325   );
326 end ben_enrolment_requirements;