DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_VRBL_RT_ELIG_PRFL_API

Source


1 Package Body ben_vrbl_rt_elig_prfl_api as
2 /* $Header: bevepapi.pkb 115.1 2004/05/11 05:28:52 abparekh noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  ben_vrbl_rt_elig_prfl_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_vrbl_rt_elig_prfl >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_vrbl_rt_elig_prfl
13   (p_validate                       in  boolean   default false
14   ,p_vrbl_rt_elig_prfl_id                       out nocopy number
15   ,p_effective_start_date           out nocopy date
16   ,p_effective_end_date             out nocopy date
17   ,p_business_group_id              in  number    default null
18   ,p_vrbl_rt_prfl_id                      in  number    default null
19   ,p_eligy_prfl_id                         in  number    default null
20   ,p_mndtry_flag                    in  varchar2  default null
21   ,p_vep_attribute_category         in  varchar2  default null
22   ,p_vep_attribute1                 in  varchar2  default null
23   ,p_vep_attribute2                 in  varchar2  default null
24   ,p_vep_attribute3                 in  varchar2  default null
25   ,p_vep_attribute4                 in  varchar2  default null
26   ,p_vep_attribute5                 in  varchar2  default null
27   ,p_vep_attribute6                 in  varchar2  default null
28   ,p_vep_attribute7                 in  varchar2  default null
29   ,p_vep_attribute8                 in  varchar2  default null
30   ,p_vep_attribute9                 in  varchar2  default null
31   ,p_vep_attribute10                in  varchar2  default null
32   ,p_vep_attribute11                in  varchar2  default null
33   ,p_vep_attribute12                in  varchar2  default null
34   ,p_vep_attribute13                in  varchar2  default null
35   ,p_vep_attribute14                in  varchar2  default null
36   ,p_vep_attribute15                in  varchar2  default null
37   ,p_vep_attribute16                in  varchar2  default null
38   ,p_vep_attribute17                in  varchar2  default null
39   ,p_vep_attribute18                in  varchar2  default null
40   ,p_vep_attribute19                in  varchar2  default null
41   ,p_vep_attribute20                in  varchar2  default null
42   ,p_vep_attribute21                in  varchar2  default null
43   ,p_vep_attribute22                in  varchar2  default null
44   ,p_vep_attribute23                in  varchar2  default null
45   ,p_vep_attribute24                in  varchar2  default null
46   ,p_vep_attribute25                in  varchar2  default null
47   ,p_vep_attribute26                in  varchar2  default null
48   ,p_vep_attribute27                in  varchar2  default null
49   ,p_vep_attribute28                in  varchar2  default null
50   ,p_vep_attribute29                in  varchar2  default null
51   ,p_vep_attribute30                in  varchar2  default null
52   ,p_object_version_number          out nocopy number
53   ,p_effective_date                 in  date
54   ) is
55   --
56   -- Cursor to find the uniqueness of the vrbl_rt_elig_prfl
57   --
58   cursor c_uniq_vrbl_rt_elig_prfl is
59     select null from
60          ben_vrbl_rt_elig_prfl_f vep
61     where
62           vep.vrbl_rt_prfl_id = p_vrbl_rt_prfl_id
63      and  vep.eligy_prfl_id    = p_eligy_prfl_id
64      and  p_effective_date between vep.effective_start_date and
65                                    vep.effective_end_date ;
66   --
67   cursor c_future_vrbl_rt_elig_prfl is
68     select vrbl_rt_elig_prfl_id, vep.effective_end_date from
69          ben_vrbl_rt_elig_prfl_f vep
70     where
71       vep.vrbl_rt_prfl_id = p_vrbl_rt_prfl_id
72      and  vep.eligy_prfl_id    = p_eligy_prfl_id
73      and  vep.effective_start_date  > p_effective_date ;
74 
75   -- Declare cursors and local variables
76   --
77   l_vrbl_rt_elig_prfl_id ben_vrbl_rt_elig_prfl_f.vrbl_rt_elig_prfl_id%TYPE;
78   l_effective_start_date ben_vrbl_rt_elig_prfl_f.effective_start_date%TYPE;
79   l_effective_end_date ben_vrbl_rt_elig_prfl_f.effective_end_date%TYPE;
80   l_proc varchar2(72) := g_package||'create_vrbl_rt_elig_prfl';
81   l_object_version_number ben_vrbl_rt_elig_prfl_f.object_version_number%TYPE;
82   l_dummy      varchar2(1) := null ;
83   l_future_vrbl_rt_elig_prfl_id ben_vrbl_rt_elig_prfl_f.vrbl_rt_elig_prfl_id%TYPE;
84   l_future_record_end_date date;
85   --
86 begin
87   --
88   hr_utility.set_location('Entering:'|| l_proc, 10);
89   --
90   -- Issue a savepoint if operating in validation only mode
91   --
92   savepoint create_vrbl_rt_elig_prfl;
93   --
94   hr_utility.set_location(l_proc, 20);
95   --
96   -- Process Logic
97   --
98     --
99     open c_uniq_vrbl_rt_elig_prfl ;
100     --
101     fetch c_uniq_vrbl_rt_elig_prfl into l_dummy;
102     --
103     if c_uniq_vrbl_rt_elig_prfl%found then
104     --
105       close c_uniq_vrbl_rt_elig_prfl ;
106       hr_utility.set_location('Record already exists. no need to insert another record', 20 ) ;
107       hr_utility.set_location('exiting from '||l_proc,25);
108       -- Bug : 3621420
109       -- Raise an error as the ELPRO being inserted is already associated with the VAPRO
110       fnd_message.set_name('BEN','BEN_93966_ELPRO_FOR_VAPRO_EXST');
111       fnd_message.raise_error;
112       --return ;
113       -- Bug : 3621420
114     --
115     end if;
116     close c_uniq_vrbl_rt_elig_prfl ;
117     --
118     open c_future_vrbl_rt_elig_prfl ;
119     fetch c_future_vrbl_rt_elig_prfl into l_future_vrbl_rt_elig_prfl_id, l_future_record_end_date ;
120     --
121     if c_future_vrbl_rt_elig_prfl%found then
122     --
123       hr_utility.set_location('Future record exists. we need to extend the record ', 20 ) ;
124       update ben_vrbl_rt_elig_prfl_f
125       set effective_start_date = p_effective_date
126       where vrbl_rt_elig_prfl_id = l_future_vrbl_rt_elig_prfl_id ;
127       hr_utility.set_location('exiting from '||l_proc,25);
128       close c_future_vrbl_rt_elig_prfl ;
129       -- Bug : 3621420
130       -- Set the new effective start and end date for the record
131       p_effective_start_date := p_effective_date;
132       p_effective_end_date := l_future_record_end_date;
133       -- Bug : 3621420
134       return ;
135     --
136     end if;
137     close c_future_vrbl_rt_elig_prfl ;
138 
139     begin
140     -- Start of API User Hook for the before hook of create_vrbl_rt_elig_prfl
141     --
142     ben_vrbl_rt_elig_prfl_bk1.create_vrbl_rt_elig_prfl_b
143       (
144        p_business_group_id              =>  p_business_group_id
145       ,p_vrbl_rt_prfl_id                      =>  p_vrbl_rt_prfl_id
146       ,p_eligy_prfl_id                         =>  p_eligy_prfl_id
147       ,p_mndtry_flag                    => p_mndtry_flag
148       ,p_vep_attribute_category         =>  p_vep_attribute_category
149       ,p_vep_attribute1                 =>  p_vep_attribute1
150       ,p_vep_attribute2                 =>  p_vep_attribute2
151       ,p_vep_attribute3                 =>  p_vep_attribute3
152       ,p_vep_attribute4                 =>  p_vep_attribute4
153       ,p_vep_attribute5                 =>  p_vep_attribute5
154       ,p_vep_attribute6                 =>  p_vep_attribute6
155       ,p_vep_attribute7                 =>  p_vep_attribute7
156       ,p_vep_attribute8                 =>  p_vep_attribute8
157       ,p_vep_attribute9                 =>  p_vep_attribute9
158       ,p_vep_attribute10                =>  p_vep_attribute10
159       ,p_vep_attribute11                =>  p_vep_attribute11
160       ,p_vep_attribute12                =>  p_vep_attribute12
161       ,p_vep_attribute13                =>  p_vep_attribute13
162       ,p_vep_attribute14                =>  p_vep_attribute14
163       ,p_vep_attribute15                =>  p_vep_attribute15
164       ,p_vep_attribute16                =>  p_vep_attribute16
165       ,p_vep_attribute17                =>  p_vep_attribute17
166       ,p_vep_attribute18                =>  p_vep_attribute18
167       ,p_vep_attribute19                =>  p_vep_attribute19
168       ,p_vep_attribute20                =>  p_vep_attribute20
169       ,p_vep_attribute21                =>  p_vep_attribute21
170       ,p_vep_attribute22                =>  p_vep_attribute22
171       ,p_vep_attribute23                =>  p_vep_attribute23
172       ,p_vep_attribute24                =>  p_vep_attribute24
173       ,p_vep_attribute25                =>  p_vep_attribute25
174       ,p_vep_attribute26                =>  p_vep_attribute26
175       ,p_vep_attribute27                =>  p_vep_attribute27
176       ,p_vep_attribute28                =>  p_vep_attribute28
177       ,p_vep_attribute29                =>  p_vep_attribute29
178       ,p_vep_attribute30                =>  p_vep_attribute30
179       ,p_effective_date                 => trunc(p_effective_date)
180       );
181   exception
182     when hr_api.cannot_find_prog_unit then
183       hr_api.cannot_find_prog_unit_error
184         (
185          p_module_name => 'CREATE_vrbl_rt_elig_prfl'
186         ,p_hook_type   => 'BP'
187         );
188     --
189     -- End of API User Hook for the before hook of create_vrbl_rt_elig_prfl
190     --
191   end;
192   --
193   ben_vep_ins.ins
194     (
195      p_vrbl_rt_elig_prfl_id                      => l_vrbl_rt_elig_prfl_id
196     ,p_effective_start_date          => l_effective_start_date
197     ,p_effective_end_date            => l_effective_end_date
198     ,p_business_group_id             => p_business_group_id
199     ,p_vrbl_rt_prfl_id                     => p_vrbl_rt_prfl_id
200     ,p_eligy_prfl_id                        => p_eligy_prfl_id
201     ,p_mndtry_flag                   => p_mndtry_flag
202     ,p_vep_attribute_category        => p_vep_attribute_category
203     ,p_vep_attribute1                => p_vep_attribute1
204     ,p_vep_attribute2                => p_vep_attribute2
205     ,p_vep_attribute3                => p_vep_attribute3
206     ,p_vep_attribute4                => p_vep_attribute4
207     ,p_vep_attribute5                => p_vep_attribute5
208     ,p_vep_attribute6                => p_vep_attribute6
209     ,p_vep_attribute7                => p_vep_attribute7
210     ,p_vep_attribute8                => p_vep_attribute8
211     ,p_vep_attribute9                => p_vep_attribute9
212     ,p_vep_attribute10               => p_vep_attribute10
213     ,p_vep_attribute11               => p_vep_attribute11
214     ,p_vep_attribute12               => p_vep_attribute12
215     ,p_vep_attribute13               => p_vep_attribute13
216     ,p_vep_attribute14               => p_vep_attribute14
217     ,p_vep_attribute15               => p_vep_attribute15
218     ,p_vep_attribute16               => p_vep_attribute16
219     ,p_vep_attribute17               => p_vep_attribute17
220     ,p_vep_attribute18               => p_vep_attribute18
221     ,p_vep_attribute19               => p_vep_attribute19
222     ,p_vep_attribute20               => p_vep_attribute20
223     ,p_vep_attribute21               => p_vep_attribute21
224     ,p_vep_attribute22               => p_vep_attribute22
225     ,p_vep_attribute23               => p_vep_attribute23
226     ,p_vep_attribute24               => p_vep_attribute24
227     ,p_vep_attribute25               => p_vep_attribute25
228     ,p_vep_attribute26               => p_vep_attribute26
229     ,p_vep_attribute27               => p_vep_attribute27
230     ,p_vep_attribute28               => p_vep_attribute28
231     ,p_vep_attribute29               => p_vep_attribute29
232     ,p_vep_attribute30               => p_vep_attribute30
233     ,p_object_version_number         => l_object_version_number
234     ,p_effective_date                => trunc(p_effective_date)
235     );
236   --
237   begin
238     --
239     -- Start of API User Hook for the after hook of create_vrbl_rt_elig_prfl
240     --
241     ben_vrbl_rt_elig_prfl_bk1.create_vrbl_rt_elig_prfl_a
242       (
243        p_vrbl_rt_elig_prfl_id                       =>  l_vrbl_rt_elig_prfl_id
244       ,p_effective_start_date           =>  l_effective_start_date
245       ,p_effective_end_date             =>  l_effective_end_date
246       ,p_business_group_id              =>  p_business_group_id
247       ,p_vrbl_rt_prfl_id                      =>  p_vrbl_rt_prfl_id
248       ,p_eligy_prfl_id                         =>  p_eligy_prfl_id
249       ,p_mndtry_flag                    => p_mndtry_flag
250       ,p_vep_attribute_category         =>  p_vep_attribute_category
251       ,p_vep_attribute1                 =>  p_vep_attribute1
252       ,p_vep_attribute2                 =>  p_vep_attribute2
253       ,p_vep_attribute3                 =>  p_vep_attribute3
254       ,p_vep_attribute4                 =>  p_vep_attribute4
255       ,p_vep_attribute5                 =>  p_vep_attribute5
256       ,p_vep_attribute6                 =>  p_vep_attribute6
257       ,p_vep_attribute7                 =>  p_vep_attribute7
258       ,p_vep_attribute8                 =>  p_vep_attribute8
259       ,p_vep_attribute9                 =>  p_vep_attribute9
260       ,p_vep_attribute10                =>  p_vep_attribute10
261       ,p_vep_attribute11                =>  p_vep_attribute11
262       ,p_vep_attribute12                =>  p_vep_attribute12
263       ,p_vep_attribute13                =>  p_vep_attribute13
264       ,p_vep_attribute14                =>  p_vep_attribute14
265       ,p_vep_attribute15                =>  p_vep_attribute15
266       ,p_vep_attribute16                =>  p_vep_attribute16
267       ,p_vep_attribute17                =>  p_vep_attribute17
268       ,p_vep_attribute18                =>  p_vep_attribute18
269       ,p_vep_attribute19                =>  p_vep_attribute19
270       ,p_vep_attribute20                =>  p_vep_attribute20
271       ,p_vep_attribute21                =>  p_vep_attribute21
272       ,p_vep_attribute22                =>  p_vep_attribute22
273       ,p_vep_attribute23                =>  p_vep_attribute23
274       ,p_vep_attribute24                =>  p_vep_attribute24
275       ,p_vep_attribute25                =>  p_vep_attribute25
276       ,p_vep_attribute26                =>  p_vep_attribute26
277       ,p_vep_attribute27                =>  p_vep_attribute27
278       ,p_vep_attribute28                =>  p_vep_attribute28
279       ,p_vep_attribute29                =>  p_vep_attribute29
280       ,p_vep_attribute30                =>  p_vep_attribute30
281       ,p_object_version_number          =>  l_object_version_number
282       ,p_effective_date                      => trunc(p_effective_date)
283       );
284   exception
285     when hr_api.cannot_find_prog_unit then
286       hr_api.cannot_find_prog_unit_error
287         (p_module_name => 'CREATE_vrbl_rt_elig_prfl'
288         ,p_hook_type   => 'AP'
289         );
290     --
291     -- End of API User Hook for the after hook of create_vrbl_rt_elig_prfl
292     --
293   end;
294   --
295   hr_utility.set_location(l_proc, 60);
296   --
297    hr_utility.set_location(l_proc, 60);
298    ben_profile_handler.event_handler
299     (p_event                       => 'CREATE',
300      p_base_table                  => 'BEN_VRBL_RT_PRFL_F',
301      p_base_table_column           => 'VRBL_RT_PRFL_ID',
302      p_base_table_column_value     => p_vrbl_rt_prfl_id,
303      p_base_table_reference_column => 'RT_ELIG_PRFL_FLAG',
304      p_reference_table             => 'BEN_VRBL_RT_ELIG_PRFL_F',
305      p_reference_table_column      => 'VRBL_RT_PRFL_ID');
306 
307   -- When in validation only mode raise the Validate_Enabled exception
308   --
309   if p_validate then
310     raise hr_api.validate_enabled;
311   end if;
312   --
313   -- Set all output arguments
314   --
315   p_vrbl_rt_elig_prfl_id := l_vrbl_rt_elig_prfl_id;
316   p_effective_start_date := l_effective_start_date;
317   p_effective_end_date := l_effective_end_date;
318   p_object_version_number := l_object_version_number;
319   --
320   hr_utility.set_location(' Leaving:'||l_proc, 70);
321   --
322 exception
323   --
324   when hr_api.validate_enabled then
325     --
326     -- As the Validate_Enabled exception has been raised
327     -- we must rollback to the savepoint
328     --
329     ROLLBACK TO create_vrbl_rt_elig_prfl;
330     --
331     -- Only set output warning arguments
332     -- (Any key or derived arguments must be set to null
333     -- when validation only mode is being used.)
334     --
335     p_vrbl_rt_elig_prfl_id := null;
336     p_effective_start_date := null;
337     p_effective_end_date := null;
338     p_object_version_number  := null;
339     hr_utility.set_location(' Leaving:'||l_proc, 80);
340     --
341   when others then
342     --
343     -- A validation or unexpected error has occured
344     --
345     ROLLBACK TO create_vrbl_rt_elig_prfl;
346 
347     -- NOCOPY, Reset out parameters
348     p_vrbl_rt_elig_prfl_id := null;
349     p_effective_start_date := null;
350     p_effective_end_date := null;
351     p_object_version_number  := null;
352 
353     raise;
354     --
355 end create_vrbl_rt_elig_prfl;
356 -- ----------------------------------------------------------------------------
357 -- |------------------------< update_vrbl_rt_elig_prfl >--- ------------------|
358 -- ----------------------------------------------------------------------------
359 --
360 procedure update_vrbl_rt_elig_prfl
361   (p_validate                       in  boolean   default false
362   ,p_vrbl_rt_elig_prfl_id                       in  number
363   ,p_effective_start_date           out nocopy date
364   ,p_effective_end_date             out nocopy date
365   ,p_business_group_id              in  number    default hr_api.g_number
366   ,p_vrbl_rt_prfl_id                      in  number    default hr_api.g_number
367   ,p_eligy_prfl_id                         in  number    default hr_api.g_number
368   ,p_mndtry_flag                     in  varchar2  default hr_api.g_varchar2
369   ,p_vep_attribute_category         in  varchar2  default hr_api.g_varchar2
370   ,p_vep_attribute1                 in  varchar2  default hr_api.g_varchar2
371   ,p_vep_attribute2                 in  varchar2  default hr_api.g_varchar2
372   ,p_vep_attribute3                 in  varchar2  default hr_api.g_varchar2
373   ,p_vep_attribute4                 in  varchar2  default hr_api.g_varchar2
374   ,p_vep_attribute5                 in  varchar2  default hr_api.g_varchar2
375   ,p_vep_attribute6                 in  varchar2  default hr_api.g_varchar2
376   ,p_vep_attribute7                 in  varchar2  default hr_api.g_varchar2
377   ,p_vep_attribute8                 in  varchar2  default hr_api.g_varchar2
378   ,p_vep_attribute9                 in  varchar2  default hr_api.g_varchar2
379   ,p_vep_attribute10                in  varchar2  default hr_api.g_varchar2
380   ,p_vep_attribute11                in  varchar2  default hr_api.g_varchar2
381   ,p_vep_attribute12                in  varchar2  default hr_api.g_varchar2
382   ,p_vep_attribute13                in  varchar2  default hr_api.g_varchar2
383   ,p_vep_attribute14                in  varchar2  default hr_api.g_varchar2
384   ,p_vep_attribute15                in  varchar2  default hr_api.g_varchar2
385   ,p_vep_attribute16                in  varchar2  default hr_api.g_varchar2
386   ,p_vep_attribute17                in  varchar2  default hr_api.g_varchar2
387   ,p_vep_attribute18                in  varchar2  default hr_api.g_varchar2
388   ,p_vep_attribute19                in  varchar2  default hr_api.g_varchar2
389   ,p_vep_attribute20                in  varchar2  default hr_api.g_varchar2
390   ,p_vep_attribute21                in  varchar2  default hr_api.g_varchar2
391   ,p_vep_attribute22                in  varchar2  default hr_api.g_varchar2
392   ,p_vep_attribute23                in  varchar2  default hr_api.g_varchar2
393   ,p_vep_attribute24                in  varchar2  default hr_api.g_varchar2
394   ,p_vep_attribute25                in  varchar2  default hr_api.g_varchar2
395   ,p_vep_attribute26                in  varchar2  default hr_api.g_varchar2
396   ,p_vep_attribute27                in  varchar2  default hr_api.g_varchar2
397   ,p_vep_attribute28                in  varchar2  default hr_api.g_varchar2
398   ,p_vep_attribute29                in  varchar2  default hr_api.g_varchar2
399   ,p_vep_attribute30                in  varchar2  default hr_api.g_varchar2
400   ,p_object_version_number          in out nocopy number
401   ,p_effective_date                 in  date
402   ,p_datetrack_mode                 in  varchar2
403   ) is
404   --
405   -- Declare cursors and local variables
406   --
407   l_proc varchar2(72) := g_package||'update_vrbl_rt_elig_prfl';
408   l_object_version_number ben_vrbl_rt_elig_prfl_f.object_version_number%TYPE;
409   l_effective_start_date ben_vrbl_rt_elig_prfl_f.effective_start_date%TYPE;
410   l_effective_end_date ben_vrbl_rt_elig_prfl_f.effective_end_date%TYPE;
411   --
412 begin
413   --
414   hr_utility.set_location('Entering:'|| l_proc, 10);
415   --
416   -- Issue a savepoint if operating in validation only mode
417   --
418   savepoint update_vrbl_rt_elig_prfl;
419   --
420   hr_utility.set_location(l_proc, 20);
421   --
422   -- Process Logic
423   --
424   l_object_version_number := p_object_version_number;
425   --
426   begin
427     --
428     -- Start of API User Hook for the before hook of update_vrbl_rt_elig_prfl
429     --
430     ben_vrbl_rt_elig_prfl_bk2.update_vrbl_rt_elig_prfl_b
431       (
432        p_vrbl_rt_elig_prfl_id                       =>  p_vrbl_rt_elig_prfl_id
433       ,p_business_group_id              =>  p_business_group_id
434       ,p_vrbl_rt_prfl_id                      =>  p_vrbl_rt_prfl_id
435       ,p_eligy_prfl_id                         =>  p_eligy_prfl_id
436       ,p_mndtry_flag                    =>  p_mndtry_flag
437       ,p_vep_attribute_category         =>  p_vep_attribute_category
438       ,p_vep_attribute1                 =>  p_vep_attribute1
439       ,p_vep_attribute2                 =>  p_vep_attribute2
440       ,p_vep_attribute3                 =>  p_vep_attribute3
441       ,p_vep_attribute4                 =>  p_vep_attribute4
442       ,p_vep_attribute5                 =>  p_vep_attribute5
443       ,p_vep_attribute6                 =>  p_vep_attribute6
444       ,p_vep_attribute7                 =>  p_vep_attribute7
445       ,p_vep_attribute8                 =>  p_vep_attribute8
446       ,p_vep_attribute9                 =>  p_vep_attribute9
447       ,p_vep_attribute10                =>  p_vep_attribute10
448       ,p_vep_attribute11                =>  p_vep_attribute11
449       ,p_vep_attribute12                =>  p_vep_attribute12
450       ,p_vep_attribute13                =>  p_vep_attribute13
451       ,p_vep_attribute14                =>  p_vep_attribute14
452       ,p_vep_attribute15                =>  p_vep_attribute15
453       ,p_vep_attribute16                =>  p_vep_attribute16
454       ,p_vep_attribute17                =>  p_vep_attribute17
455       ,p_vep_attribute18                =>  p_vep_attribute18
456       ,p_vep_attribute19                =>  p_vep_attribute19
457       ,p_vep_attribute20                =>  p_vep_attribute20
458       ,p_vep_attribute21                =>  p_vep_attribute21
459       ,p_vep_attribute22                =>  p_vep_attribute22
460       ,p_vep_attribute23                =>  p_vep_attribute23
461       ,p_vep_attribute24                =>  p_vep_attribute24
462       ,p_vep_attribute25                =>  p_vep_attribute25
463       ,p_vep_attribute26                =>  p_vep_attribute26
464       ,p_vep_attribute27                =>  p_vep_attribute27
465       ,p_vep_attribute28                =>  p_vep_attribute28
466       ,p_vep_attribute29                =>  p_vep_attribute29
467       ,p_vep_attribute30                =>  p_vep_attribute30
468       ,p_object_version_number          =>  p_object_version_number
469     ,p_effective_date                      => trunc(p_effective_date)
470     ,p_datetrack_mode                      => p_datetrack_mode
471       );
472   exception
473     when hr_api.cannot_find_prog_unit then
474       hr_api.cannot_find_prog_unit_error
475         (p_module_name => 'UPDATE_vrbl_rt_elig_prfl'
476         ,p_hook_type   => 'BP'
477         );
478     --
479     -- End of API User Hook for the before hook of update_vrbl_rt_elig_prfl
480     --
481   end;
482   --
483   ben_vep_upd.upd
484     (
485      p_vrbl_rt_elig_prfl_id                      => p_vrbl_rt_elig_prfl_id
486     ,p_effective_start_date          => l_effective_start_date
487     ,p_effective_end_date            => l_effective_end_date
488     ,p_business_group_id             => p_business_group_id
489     ,p_vrbl_rt_prfl_id                     => p_vrbl_rt_prfl_id
490     ,p_eligy_prfl_id                        => p_eligy_prfl_id
491     ,p_mndtry_flag                    => p_mndtry_flag
492     ,p_vep_attribute_category        => p_vep_attribute_category
493     ,p_vep_attribute1                => p_vep_attribute1
494     ,p_vep_attribute2                => p_vep_attribute2
495     ,p_vep_attribute3                => p_vep_attribute3
496     ,p_vep_attribute4                => p_vep_attribute4
497     ,p_vep_attribute5                => p_vep_attribute5
498     ,p_vep_attribute6                => p_vep_attribute6
499     ,p_vep_attribute7                => p_vep_attribute7
500     ,p_vep_attribute8                => p_vep_attribute8
501     ,p_vep_attribute9                => p_vep_attribute9
502     ,p_vep_attribute10               => p_vep_attribute10
503     ,p_vep_attribute11               => p_vep_attribute11
504     ,p_vep_attribute12               => p_vep_attribute12
505     ,p_vep_attribute13               => p_vep_attribute13
506     ,p_vep_attribute14               => p_vep_attribute14
507     ,p_vep_attribute15               => p_vep_attribute15
508     ,p_vep_attribute16               => p_vep_attribute16
509     ,p_vep_attribute17               => p_vep_attribute17
510     ,p_vep_attribute18               => p_vep_attribute18
511     ,p_vep_attribute19               => p_vep_attribute19
512     ,p_vep_attribute20               => p_vep_attribute20
513     ,p_vep_attribute21               => p_vep_attribute21
514     ,p_vep_attribute22               => p_vep_attribute22
515     ,p_vep_attribute23               => p_vep_attribute23
516     ,p_vep_attribute24               => p_vep_attribute24
517     ,p_vep_attribute25               => p_vep_attribute25
518     ,p_vep_attribute26               => p_vep_attribute26
519     ,p_vep_attribute27               => p_vep_attribute27
520     ,p_vep_attribute28               => p_vep_attribute28
521     ,p_vep_attribute29               => p_vep_attribute29
522     ,p_vep_attribute30               => p_vep_attribute30
523     ,p_object_version_number         => l_object_version_number
524     ,p_effective_date                => trunc(p_effective_date)
525     ,p_datetrack_mode                => p_datetrack_mode
526     );
527   --
528   begin
529     --
530     -- Start of API User Hook for the after hook of update_vrbl_rt_elig_prfl
531     --
532     ben_vrbl_rt_elig_prfl_bk2.update_vrbl_rt_elig_prfl_a
533       (
534        p_vrbl_rt_elig_prfl_id                       =>  p_vrbl_rt_elig_prfl_id
535       ,p_effective_start_date           =>  l_effective_start_date
536       ,p_effective_end_date             =>  l_effective_end_date
537       ,p_business_group_id              =>  p_business_group_id
538       ,p_vrbl_rt_prfl_id                      =>  p_vrbl_rt_prfl_id
539       ,p_eligy_prfl_id                         =>  p_eligy_prfl_id
540       ,p_mndtry_flag                    => p_mndtry_flag
541       ,p_vep_attribute_category         =>  p_vep_attribute_category
542       ,p_vep_attribute1                 =>  p_vep_attribute1
543       ,p_vep_attribute2                 =>  p_vep_attribute2
544       ,p_vep_attribute3                 =>  p_vep_attribute3
545       ,p_vep_attribute4                 =>  p_vep_attribute4
546       ,p_vep_attribute5                 =>  p_vep_attribute5
547       ,p_vep_attribute6                 =>  p_vep_attribute6
548       ,p_vep_attribute7                 =>  p_vep_attribute7
549       ,p_vep_attribute8                 =>  p_vep_attribute8
550       ,p_vep_attribute9                 =>  p_vep_attribute9
551       ,p_vep_attribute10                =>  p_vep_attribute10
552       ,p_vep_attribute11                =>  p_vep_attribute11
553       ,p_vep_attribute12                =>  p_vep_attribute12
554       ,p_vep_attribute13                =>  p_vep_attribute13
555       ,p_vep_attribute14                =>  p_vep_attribute14
556       ,p_vep_attribute15                =>  p_vep_attribute15
557       ,p_vep_attribute16                =>  p_vep_attribute16
558       ,p_vep_attribute17                =>  p_vep_attribute17
559       ,p_vep_attribute18                =>  p_vep_attribute18
560       ,p_vep_attribute19                =>  p_vep_attribute19
561       ,p_vep_attribute20                =>  p_vep_attribute20
562       ,p_vep_attribute21                =>  p_vep_attribute21
563       ,p_vep_attribute22                =>  p_vep_attribute22
564       ,p_vep_attribute23                =>  p_vep_attribute23
565       ,p_vep_attribute24                =>  p_vep_attribute24
566       ,p_vep_attribute25                =>  p_vep_attribute25
567       ,p_vep_attribute26                =>  p_vep_attribute26
568       ,p_vep_attribute27                =>  p_vep_attribute27
569       ,p_vep_attribute28                =>  p_vep_attribute28
570       ,p_vep_attribute29                =>  p_vep_attribute29
571       ,p_vep_attribute30                =>  p_vep_attribute30
572       ,p_object_version_number          =>  l_object_version_number
573       ,p_effective_date                     => trunc(p_effective_date)
574       ,p_datetrack_mode                     => p_datetrack_mode
575       );
576   exception
577     when hr_api.cannot_find_prog_unit then
578       hr_api.cannot_find_prog_unit_error
579         (p_module_name => 'UPDATE_vrbl_rt_elig_prfl'
580         ,p_hook_type   => 'AP'
581         );
582     --
583     -- End of API User Hook for the after hook of update_vrbl_rt_elig_prfl
584     --
585   end;
586   --
587   hr_utility.set_location(l_proc, 60);
588   --
589   -- When in validation only mode raise the Validate_Enabled exception
590   --
591   if p_validate then
592     raise hr_api.validate_enabled;
593   end if;
594   --
595   -- Set all output arguments
596   --
597   p_object_version_number := l_object_version_number;
598   p_effective_start_date := l_effective_start_date;
599   p_effective_end_date := l_effective_end_date;
600   --
601   hr_utility.set_location(' Leaving:'||l_proc, 70);
602   --
603 exception
604   --
605   when hr_api.validate_enabled then
606     --
607     -- As the Validate_Enabled exception has been raised
608     -- we must rollback to the savepoint
609     --
610     ROLLBACK TO update_vrbl_rt_elig_prfl;
611     --
612     -- Only set output warning arguments
613     -- (Any key or derived arguments must be set to null
614     -- when validation only mode is being used.)
615     --
616     p_effective_start_date := null;
617     p_effective_end_date   := null;
618 
619     hr_utility.set_location(' Leaving:'||l_proc, 80);
620     --
621   when others then
622     --
623     -- A validation or unexpected error has occured
624     --
625     ROLLBACK TO update_vrbl_rt_elig_prfl;
626 
627     -- NOCOPY, Reset out parameters
628     p_effective_start_date := null;
629     p_effective_end_date   := null;
630 
631     raise;
632     --
633 end update_vrbl_rt_elig_prfl;
634 -- ----------------------------------------------------------------------------
635 -- |------------------------< delete_vrbl_rt_elig_prfl >----------------------|
636 -- ----------------------------------------------------------------------------
637 --
638 procedure delete_vrbl_rt_elig_prfl
639   (p_validate                       in  boolean  default false
640   ,p_vrbl_rt_elig_prfl_id           in  number
641   ,p_vrbl_rt_prfl_id                in  number
642   ,p_effective_start_date           out nocopy date
643   ,p_effective_end_date             out nocopy date
644   ,p_object_version_number          in out nocopy number
645   ,p_effective_date                 in  date
646   ,p_datetrack_mode                 in  varchar2
647   ) is
648   --
649   -- Declare cursors and local variables
650   --
651   l_proc varchar2(72) := g_package||'update_vrbl_rt_elig_prfl';
652   l_object_version_number ben_vrbl_rt_elig_prfl_f.object_version_number%TYPE;
653   l_effective_start_date ben_vrbl_rt_elig_prfl_f.effective_start_date%TYPE;
654   l_effective_end_date ben_vrbl_rt_elig_prfl_f.effective_end_date%TYPE;
655   --
656 begin
657   --
658   hr_utility.set_location('Entering:'|| l_proc, 10);
659   --
660   -- Issue a savepoint if operating in validation only mode
661   --
662   savepoint delete_vrbl_rt_elig_prfl;
663   --
664   hr_utility.set_location(l_proc, 20);
665   --
666   -- Process Logic
667   --
668   l_object_version_number := p_object_version_number;
669   --
670   --
671   begin
672     --
673     -- Start of API User Hook for the before hook of delete_vrbl_rt_elig_prfl
674     --
675     ben_vrbl_rt_elig_prfl_bk3.delete_vrbl_rt_elig_prfl_b
676       (
677        p_vrbl_rt_elig_prfl_id                       =>  p_vrbl_rt_elig_prfl_id
678       ,p_object_version_number          =>  p_object_version_number
679     ,p_effective_date                      => trunc(p_effective_date)
680     ,p_datetrack_mode                      => p_datetrack_mode
681       );
682   exception
683     when hr_api.cannot_find_prog_unit then
684       hr_api.cannot_find_prog_unit_error
685         (p_module_name => 'DELETE_vrbl_rt_elig_prfl'
686         ,p_hook_type   => 'BP'
687         );
688     --
689     -- End of API User Hook for the before hook of delete_vrbl_rt_elig_prfl
690     --
691   end;
692   --
693   ben_vep_del.del
694     (
695      p_vrbl_rt_elig_prfl_id                      => p_vrbl_rt_elig_prfl_id
696     ,p_effective_start_date          => l_effective_start_date
697     ,p_effective_end_date            => l_effective_end_date
698     ,p_object_version_number         => l_object_version_number
699     ,p_effective_date                => p_effective_date
700     ,p_datetrack_mode                => p_datetrack_mode
701     );
702   --
703   begin
704     --
705     -- Start of API User Hook for the after hook of delete_vrbl_rt_elig_prfl
706     --
707     ben_vrbl_rt_elig_prfl_bk3.delete_vrbl_rt_elig_prfl_a
708       (
709        p_vrbl_rt_elig_prfl_id                       =>  p_vrbl_rt_elig_prfl_id
710       ,p_effective_start_date           =>  l_effective_start_date
711       ,p_effective_end_date             =>  l_effective_end_date
712       ,p_object_version_number          =>  l_object_version_number
713     ,p_effective_date                      => trunc(p_effective_date)
714     ,p_datetrack_mode                      => p_datetrack_mode
715       );
716   exception
717     when hr_api.cannot_find_prog_unit then
718       hr_api.cannot_find_prog_unit_error
719         (p_module_name => 'DELETE_vrbl_rt_elig_prfl'
720         ,p_hook_type   => 'AP'
721         );
722     --
723     -- End of API User Hook for the after hook of delete_vrbl_rt_elig_prfl
724     --
725   end;
726   --
727   hr_utility.set_location(l_proc, 60);
728   --
729   ben_profile_handler.event_handler
730     (p_event                       => 'DELETE',
731      p_base_table                  => 'BEN_VRBL_RT_PRFL_F',
732      p_base_table_column           => 'VRBL_RT_PRFL_ID',
733      p_base_table_column_value     => p_vrbl_rt_prfl_id,
734      p_base_table_reference_column => 'RT_ELIG_PRFL_FLAG',
735      p_reference_table             => 'BEN_VRBL_RT_ELIG_PRFL_F',
736      p_reference_table_column      => 'VRBL_RT_PRFL_ID');
737 
738   -- When in validation only mode raise the Validate_Enabled exception
739   --
740   if p_validate then
741     raise hr_api.validate_enabled;
742   end if;
743   --
744   hr_utility.set_location(' Leaving:'||l_proc, 70);
745   --
746 exception
747   --
748   when hr_api.validate_enabled then
749     --
750     -- As the Validate_Enabled exception has been raised
751     -- we must rollback to the savepoint
752     --
753     ROLLBACK TO delete_vrbl_rt_elig_prfl;
754     --
755     -- Only set output warning arguments
756     -- (Any key or derived arguments must be set to null
757     -- when validation only mode is being used.)
758     --
759     p_effective_start_date := null;
760     p_effective_end_date := null;
761     --
762   when others then
763     --
764     -- A validation or unexpected error has occured
765     --
766     ROLLBACK TO delete_vrbl_rt_elig_prfl;
767 
768     -- NOCOPY, Reset out parameters
769     p_effective_start_date := null;
770     p_effective_end_date   := null;
771 
772     raise;
773     --
774 end delete_vrbl_rt_elig_prfl;
775 --
776 -- ----------------------------------------------------------------------------
777 -- |-------------------------------< lck >------------------------------------|
778 -- ----------------------------------------------------------------------------
779 --
780 procedure lck
781   (
782    p_vrbl_rt_elig_prfl_id                   in     number
783   ,p_object_version_number          in     number
784   ,p_effective_date                 in     date
785   ,p_datetrack_mode                 in     varchar2
786   ,p_validation_start_date          out nocopy    date
787   ,p_validation_end_date            out nocopy    date
788   ) is
789   --
790   --
791   -- Declare cursors and local variables
792   --
793   l_proc varchar2(72) := g_package||'lck';
794   l_validation_start_date date;
795   l_validation_end_date date;
796   --
797 begin
798   --
799   hr_utility.set_location('Entering:'|| l_proc, 10);
800   --
801   ben_vep_shd.lck
802     (
803       p_vrbl_rt_elig_prfl_id                 => p_vrbl_rt_elig_prfl_id
804      ,p_validation_start_date      => l_validation_start_date
805      ,p_validation_end_date        => l_validation_end_date
806      ,p_object_version_number      => p_object_version_number
807      ,p_effective_date             => p_effective_date
808      ,p_datetrack_mode             => p_datetrack_mode
809     );
810   --
811   hr_utility.set_location(' Leaving:'||l_proc, 70);
812   --
813 end lck;
814 --
815 end ben_vrbl_rt_elig_prfl_api;