DBA Data[Home] [Help]

PACKAGE: APPS.BEN_DERIVE_PART_AND_RATE_FACTS

Source


1 package ben_derive_part_and_rate_facts AUTHID CURRENT_USER as
2 /* $Header: bendrpar.pkh 120.0.12000000.1 2007/01/19 15:55:20 appldev noship $ */
3 --------------------------------------------------------------------------------
4 /*
5 +==============================================================================+
6 |			Copyright (c) 1997 Oracle Corporation		       |
7 |			   Redwood Shores, California, USA		       |
8 |			        All rights reserved.			       |
9 +==============================================================================+
10 
11 Name
12 	Derive Participation and Rate Factors
13 Purpose
14 	This package is used to derive the participation and rate factor
15         information for a particular person for a particular program, plan
16         or option.
17 History
18         Date             Who        Version    What?
19         ----             ---        -------    -----
20         14 Dec 97        G Perry    110.0      Created.
21         15 Dec 97        G Perry    110.1      Changed type of g_min_max_breach
22                                                to a boolean so that we handle
23                                                the breach logic differently.
24                                                Made all functions public and
25                                                made caching utility public.
26         04 Jan 98        G Perry    110.2      Added exception g_record_error.
27                                                Changed public interfaces to
28                                                remove ler_id and oipl_id as
29                                                these are not needed.
30         05 Jan 98        G Perry    110.3      removed g_record_error
31                                                exception as we now use the
32                                                generic exception raised by
33                                                the benmngle process.
34         13 Jan 98        G Perry    110.4      Added extra parameter to
35                                                cache function.
36         24 Jan 98        G Perry    110.5      Now caching next years popl
37                                                start date.
38         06 Mar 98        G Perry    110.6      Added caching structures to
39                                                store los and age details. This
40                                                makes the run more performant.
41         08 Apr 98        G Perry    110.7      Added get_calculated_age, added
42                                                all FF stuff. Made code more
43                                                reusable.
44         20 Apr 98        G Perry    110.8      Now caching comb_age and
45                                                comb_los.
46         11 Apr 98        G Perry    110.9      Added cache structures so we
47                                                only create temporal life
48                                                events once.
49         13 Jun 98        G Perry    110.10     Made clear_down_cache public.
50         26 Aug 98        G Perry    115.4      Added cmbn_age_n_los_val into
51                                                g_cache_details structure.
52         28 Aug 98        G Perry    115.5      Removed cache where we store
53                                                latest temporal life event date
54                                                information.
55         23 Nov 98        G Perry    115.6      Added rate information into
56                                                cache. Added support for rates
57                                                as well as factors.
58         18 Jan 99        G Perry    115.8      LED V ED
59         08 Feb 99        G Perry    115.9      Added in ptnl_ler_trtmt_cd in
60                                                all procedures.
61         17 Feb 99        G Perry    115.10     Added in once_r_cntug_cd and
62                                                elig_flag into cache structure.
63         21 Apr 99        G Perry    115.11     Added new procedure and function
64                                                set_potential_ler_id
65                                                get_potential_ler_id
66         05 May 99        G Perry    115.12     Added support for PTIP, PLIP.
67         15 Nov 99        S Tee      115.13     Added determine_cobra_eligibility.
68         05-Feb-00        maagrawa   115.14     Data type of prtn_ovrid_thru_dt
69                                                changed to date (Bug 1169243)
70         26-Feb-00        mhoyes     115.15   - Added p_comp_obj_tree_row parameter
71                                                to all routines which use
72                                                ben_env_object comp object values.
73         28-Feb-00        stee       115.16   - Added p_cbr_tmprl_evt_flag
74                                                parameter.
75         05-Mar-00        stee       115.17   - Added ptip_id to
76                                                determine_cobra_eligibility.
77         05-Mar-00        tmathers   115.18   - readded missing comment end
78         24-Mar-00        gperry     115.19     Changed g_cache_structure for
79                                                factor values to number else
80                                                it truncs values implicitly due
81                                                to number(15) type.
82         31-Mar-00        gperry     115.20     Added oiplip support.
83         26-Jun-00        stee       115.21     Added p_derivable_factors to
84                                                derive_rate_and_factors
85                                                procedure.  Removed
86                                                p_cbr_tmprl_evt_flag.
87         27-Jun-00        stee       115.21     Added p_derivable_factors to
88                                                derive_rate_and_factors
89                                                procedure.  Removed
90                                                p_cbr_tmprl_evt_flag.
91         27-Jun-00        mhoyes     115.22   - Added p_business_group_id to
92                                                cache_data_structures.
93                                              - Extended g_cache_structure for
94                                                the elig per caches.
95         30-Jun-00        mhoyes     115.23   - Added context parameters.
96         13-Jul-00        mhoyes     115.24   - Added NOCOPYs.
97         03-Aug-00        mhoyes     115.25   - Removed get_temporal_ler_id.
98                                              - Commented out hr_utility statements
99                                                were causing 1000000 executions in
100                                                temporal mode for 25 people.
101         07-Jan-01        mhoyes     115.26   - Made comp_calculation public.
102         06-Apr-01        mhoyes     115.27   - Added p_calculate_only_mode for EFC.
103         30-jan-02        tjesumic   115.28   - set_taxunit_context procedure added
104                                                to set the tax_unit_context before calling
105                                                per_balance_pkg.set_value, bug: 2180602
106        01-feb-02         tjesumic   115.29     dbdrv fixed
107        01-feb-02         tjesumic   115.30     dbdrv fixed
108        01-jul-03         pabodla    115.31     Grade/Step Added global variables
109                                                to support grade/step life event
110                                                triggering.
111        19-Aug-03         mmudigon   115.32     gscc fix
112        11-Nov-03         ikasire    115.33     Added g_no_ptnl_ler_id for getting
113                                                not to trigger potentials as part of
114                                                U,W,M,P,I,A Modes BUG 3243960
115 --------------------------------------------------------------------------------
116 */
117 --
118 type g_cache_structure is record
119   (los_val                      number
120   ,age_val                      number
121   ,comp_ref_amt                 number
122   ,hrs_wkd_val                  number
123   ,pct_fl_tm_val                number
124   ,cmbn_age_n_los_val           number
125   ,age_uom                      varchar2(30)
126   ,los_uom                      varchar2(30)
127   ,comp_ref_uom                 varchar2(30)
128   ,hrs_wkd_bndry_perd_cd        varchar2(30)
129   ,frz_los_flag                 varchar2(30)
130   ,frz_age_flag                 varchar2(30)
131   ,frz_hrs_wkd_flag             varchar2(30)
132   ,frz_cmp_lvl_flag             varchar2(30)
133   ,frz_pct_fl_tm_flag           varchar2(30)
134   ,frz_comb_age_and_los_flag    varchar2(30)
135   ,rt_los_val                   number
136   ,rt_age_val                   number
137   ,rt_comp_ref_amt              number
138   ,rt_hrs_wkd_val               number
139   ,rt_pct_fl_tm_val             number
140   ,rt_cmbn_age_n_los_val        number
141   ,rt_age_uom                   varchar2(30)
142   ,rt_los_uom                   varchar2(30)
143   ,rt_comp_ref_uom              varchar2(30)
144   ,rt_hrs_wkd_bndry_perd_cd     varchar2(30)
145   ,rt_frz_los_flag              varchar2(30)
146   ,rt_frz_age_flag              varchar2(30)
147   ,rt_frz_hrs_wkd_flag          varchar2(30)
148   ,rt_frz_cmp_lvl_flag          varchar2(30)
149   ,rt_frz_pct_fl_tm_flag        varchar2(30)
150   ,rt_frz_comb_age_and_los_flag varchar2(30)
151   ,ovrid_svc_dt                 date
152   ,prtn_ovridn_flag             varchar2(30)
153   ,prtn_ovridn_thru_dt          date
154   ,comb_age                     number
155   ,comb_los                     number
156   ,comb_rt_age                  number
157   ,comb_rt_los                  number
158   ,once_r_cntug_cd              varchar2(30)
159   ,elig_flag                    varchar2(30)
160   ,pgm_id                       number
161   ,ptip_id                      number
162   ,pl_id                        number
163   ,plip_id                      number
164   ,opt_id                       number
165   ,prtn_strt_dt                 date
166   ,prtn_end_dt                  date
167   ,elig_per_opt_id              number
168   ,object_version_number        number
169   ,elig_per_id                  number
170   ,per_in_ler_id                number
171   ,pep_prtn_strt_dt             date
172   ,pep_prtn_end_dt              date
173   );
174 --
175 -- Variable which represents the cache data structure
176 --
177 g_cache_details  g_cache_structure;
178 --
179 -- GRADE/STEP :variables added for Grade/step.
180 g_prev_pgm_id      NUMBER;
181 g_pgm_typ_cd  varchar2(30);
182 g_gsp_ler_id       NUMBER;
183 g_gsp_ler_name     varchar2(600);
184 g_temp_ler_id NUMBER;
185 --Added to restrict triggering of potentials for Unrestricted LER
186 g_no_ptnl_ler_id      NUMBER;
187 --
188 FUNCTION comp_calculation
189  (p_comp_obj_tree_row IN ben_manage_life_events.g_cache_proc_objects_rec
190  ,p_empasg_row        IN per_all_assignments_f%ROWTYPE
191  ,p_benasg_row        IN per_all_assignments_f%ROWTYPE
192  ,p_curroiplip_row    IN ben_cobj_cache.g_oiplip_inst_row
193  ,p_rec               IN ben_derive_part_and_rate_cache.g_cache_clf_rec_obj
194  ,p_person_id         IN NUMBER
195  ,p_business_group_id IN NUMBER
196  ,p_pgm_id            IN NUMBER
197  ,p_pl_id             IN NUMBER
198  ,p_oipl_id           IN NUMBER
199  ,p_oiplip_id         IN NUMBER
200  ,p_plip_id           IN NUMBER
201  ,p_ptip_id           IN NUMBER
202  ,p_effective_date    IN DATE
203  ,p_lf_evt_ocrd_dt    IN DATE
204  ) RETURN NUMBER;
205 --
206 PROCEDURE derive_rates_and_factors
207   (p_calculate_only_mode in     boolean default false
208   ,p_comp_obj_tree_row   IN OUT NOCOPY ben_manage_life_events.g_cache_proc_objects_rec
209   --
210   -- Context info
211   --
212   ,p_per_row           IN OUT NOCOPY per_all_people_f%ROWTYPE
213   ,p_empasg_row        IN OUT NOCOPY per_all_assignments_f%ROWTYPE
214   ,p_benasg_row        IN OUT NOCOPY per_all_assignments_f%ROWTYPE
215   ,p_pil_row           IN OUT NOCOPY ben_per_in_ler%ROWTYPE
216   --
217   ,p_mode              IN            VARCHAR2 DEFAULT NULL
218   --
219   ,p_effective_date    IN            DATE
220   ,p_lf_evt_ocrd_dt    IN            DATE
221   ,p_person_id         IN            NUMBER
222   ,p_business_group_id IN            NUMBER
223   ,p_pgm_id            IN            NUMBER DEFAULT NULL
224   ,p_pl_id             IN            NUMBER DEFAULT NULL
225   ,p_oipl_id           IN            NUMBER DEFAULT NULL
226   ,p_plip_id           IN            NUMBER DEFAULT NULL
227   ,p_ptip_id           IN            NUMBER DEFAULT NULL
228   ,p_ptnl_ler_trtmt_cd IN            VARCHAR2 DEFAULT NULL
229   ,p_derivable_factors IN            VARCHAR2 DEFAULT 'ASC'
230   ,p_comp_rec          IN OUT NOCOPY g_cache_structure
231   ,p_oiplip_rec        IN OUT NOCOPY g_cache_structure
232   );
233 -----------------------------------------------------------------------
234 procedure cache_data_structures
235   (p_comp_obj_tree_row     in out NOCOPY ben_manage_life_events.g_cache_proc_objects_rec
236   ,p_empasg_row            in out NOCOPY per_all_assignments_f%rowtype
237   ,p_benasg_row            in out NOCOPY per_all_assignments_f%rowtype
238   ,p_pil_row               in out NOCOPY ben_per_in_ler%rowtype
239   ,p_business_group_id     in     number
240   ,p_effective_date        in     date
241   ,p_person_id             in     number
242   ,p_pgm_id                in     number
243   ,p_pl_id                 in     number
244   ,p_oipl_id               in     number
245   ,p_plip_id               in     number
246   ,p_ptip_id               in     number
247   ,p_comp_rec              in out NOCOPY g_cache_structure
248   ,p_oiplip_rec            in out NOCOPY g_cache_structure
249   );
250 -----------------------------------------------------------------------
251 procedure determine_cobra_eligibility
252   (p_calculate_only_mode in     boolean default false
253   ,p_person_id           in     number
254   ,p_business_group_id   in     number
255   ,p_pgm_id              in     number
256   ,p_ptip_id             in     number default null
257   ,p_ptnl_ler_trtmt_cd   in     varchar2
258   ,p_effective_date      in     date
259   ,p_lf_evt_ocrd_dt      in     date
260   ,p_derivable_factors   in     varchar2
261   );
262 -----------------------------------------------------------------------
263 procedure clear_down_cache;
264 -----------------------------------------------------------------------
265 procedure set_taxunit_context
266   (p_person_id           in     number
267   ,p_business_group_id   in     number
268   ,p_effective_date      in     date
269   );
270 -----------------------------------------------------------------------
271 function get_latest_paa_id
272   (p_person_id           in     number
273   ,p_business_group_id   in     number
274   ,p_effective_date      in     date
275   ) return number;
276 -----------------------------------------------------------------------
277 end ben_derive_part_and_rate_facts;