DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_SEEDDATA_OBJECT

Source


1 package body ben_seeddata_object as
2 /* $Header: benseedc.pkb 115.5 2002/12/19 09:53:14 hmani ship $ */
3 --
4 /*
5 +==============================================================================+
6 |                        Copyright (c) 1997 Oracle Corporation                 |
7 |                           Redwood Shores, California, USA                    |
8 |                               All rights reserved.                           |
9 +==============================================================================+
10 --
11 Name
12 	Lookup Object Caching Routine
13 Purpose
14 	This package is used to return lookup object information.
15 History
16   Version    Date       Who        What?
17   ---------  ---------  ---------- --------------------------------------------
18   115.0      11-JUN-99  gperry     Created.
19   115.1      23-AUG-99  gperry     Added nocopy compiler directive.
20                                    Removed trace messages.
21   115.2      04-OCT-99  stee       Added DRVDNLP,DRVDPOEELG, DRVDPOERT,
22                                    DRVDLSELG.
23   115.3      07-OCT-99  stee       Uncomment out nocopy cache check for ler_id.
24   115.4      09-NOV-99  stee       Add DRVDVEC.
25   115.5    11-dec-2002  hmani 	   NoCopy changes
26   -----------------------------------------------------------------------------
27 */
28 --
29 g_package varchar2(30) := 'ben_seeddata_object.';
30 --
31 -- Set object routines
32 --
33 procedure set_object(p_rec in g_derived_factor_info_rec) is
34   --
35   l_proc           varchar2(80) := g_package||'set_object';
36   --
37 begin
38   --
39   -- hr_utility.set_location('Entering '||l_proc,10);
40   --
41   g_cache_derived_factor_rec := p_rec;
42   --
43   -- hr_utility.set_location('Leaving '||l_proc,10);
44   --
45 end set_object;
46 --
47 -- Set object alternate route routines
48 --
49 procedure set_object
50   (p_effective_date    in date,
51    p_business_group_id in number,
52    p_rec               out nocopy g_derived_factor_info_rec) is
53   --
54   l_proc           varchar2(80) := g_package||'set_object';
55   --
56   cursor c1 is
57     select ler.ler_id,
58            ler.typ_cd
59     from   ben_ler_f ler
60     where  ler.business_group_id+0 = p_business_group_id
61     and    ler.typ_cd in ('DRVDAGE','DRVDLOS','DRVDCAL',
62                           'DRVDHRW','DRVDTPF','DRVDCMP',
63                           'DRVDLSELG','DRVDNLP','DRVDPOEELG',
64                           'DRVDPOERT','DRVDVEC')
65     and    p_effective_date
66            between ler.effective_start_date
67            and     ler.effective_end_date;
68   --
69   l_rec c1%rowtype;
70   --
71 begin
72   --
73   -- hr_utility.set_location('Entering '||l_proc,10);
74   --
75   -- 1) Get record from database.
76   -- 2) If record not found then raise error.
77   -- 3) Pass record to set_object routine.
78   --
79   open c1;
80     --
81     loop
82       --
83       fetch c1 into l_rec;
84       exit when c1%notfound;
85       --
86       if l_rec.typ_cd = 'DRVDHRW' then
87         --
88         g_cache_derived_factor_rec.drvdhrw_id := l_rec.ler_id;
89         --
90       elsif l_rec.typ_cd = 'DRVDAGE' then
91         --
92         g_cache_derived_factor_rec.drvdage_id := l_rec.ler_id;
93         --
94       elsif l_rec.typ_cd = 'DRVDLOS' then
95         --
96         g_cache_derived_factor_rec.drvdlos_id := l_rec.ler_id;
97         --
98       elsif l_rec.typ_cd = 'DRVDCAL' then
99         --
100         g_cache_derived_factor_rec.drvdcal_id := l_rec.ler_id;
101         --
102       elsif l_rec.typ_cd = 'DRVDTPF' then
103         --
104         g_cache_derived_factor_rec.drvdtpf_id := l_rec.ler_id;
105         --
106       elsif l_rec.typ_cd = 'DRVDCMP' then
107         --
108         g_cache_derived_factor_rec.drvdcmp_id := l_rec.ler_id;
109         --
110       elsif l_rec.typ_cd = 'DRVDLSELG' then
111         --
112         g_cache_derived_factor_rec.drvdlselg_id := l_rec.ler_id;
113         --
114       elsif l_rec.typ_cd = 'DRVDNLP' then
115         --
116         g_cache_derived_factor_rec.drvdnlp_id := l_rec.ler_id;
117         --
118       elsif l_rec.typ_cd = 'DRVDPOEELG' then
119         --
120         g_cache_derived_factor_rec.drvdpoeelg_id := l_rec.ler_id;
121         --
122       elsif l_rec.typ_cd = 'DRVDPOERT' then
123         --
124         g_cache_derived_factor_rec.drvdpoert_id := l_rec.ler_id;
125         --
126       elsif l_rec.typ_cd = 'DRVDVEC' then
127         --
128         g_cache_derived_factor_rec.drvdvec_id := l_rec.ler_id;
129         --
130       end if;
131       --
132     end loop;
133     --
134   close c1;
135   --
136   -- Sanity check that are the derived factor life events are there
137   --
138   if g_cache_derived_factor_rec.drvdhrw_id is null or
139      g_cache_derived_factor_rec.drvdtpf_id is null or
140      g_cache_derived_factor_rec.drvdcal_id is null or
141      g_cache_derived_factor_rec.drvdcmp_id is null or
142      g_cache_derived_factor_rec.drvdlos_id is null or
143      g_cache_derived_factor_rec.drvdage_id is null or
144      g_cache_derived_factor_rec.drvdlselg_id is null or
145      g_cache_derived_factor_rec.drvdnlp_id is null or
146      g_cache_derived_factor_rec.drvdpoeelg_id is null or
147      g_cache_derived_factor_rec.drvdpoert_id is null  then
148     --
149     fnd_message.set_name('BEN','BEN_91411_SEEDED_LERS_NO_EXIST');
150     fnd_message.raise_error;
151     --
152   end if;
153   --
154   p_rec := g_cache_derived_factor_rec;
155   --
156   -- hr_utility.set_location('Leaving '||l_proc,10);
157   --
158 end set_object;
159 --
160 -- Get object routines
161 --
162 procedure get_object(p_rec out nocopy g_derived_factor_info_rec) is
163   --
164   l_proc           varchar2(80) := g_package||'get_object';
165   l_env_rec        ben_env_object.g_global_env_rec_type;
166   --
167 begin
168   --
169   -- hr_utility.set_location('Entering '||l_proc,10);
170   --
171   if g_cache_derived_factor_rec.drvdage_id is null then
172     --
173     -- We need to setup the derived factor life events
174     --
175     ben_env_object.get(p_rec => l_env_rec);
176     --
177     set_object(p_effective_date    => nvl(l_env_rec.lf_evt_ocrd_dt,
178                                           l_env_rec.effective_date),
179                p_business_group_id => l_env_rec.business_group_id,
180                p_rec               => p_rec);
181     --
182   else
183     --
184     p_rec := g_cache_derived_factor_rec;
185     --
186   end if;
187   --
188   -- hr_utility.set_location('Leaving '||l_proc,10);
189   --
190 end get_object;
191 --
192 procedure clear_down_cache is
193   --
194   l_derived_rec g_derived_factor_info_rec;
195   --
196 begin
197   --
198   g_cache_derived_factor_rec := l_derived_rec;
199   --
200 end clear_down_cache;
201 --
202 end ben_seeddata_object;