DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_ACTUAL_PREMIUM_RATE_API

Source


4 -- Package Variables
1 Package Body ben_actual_premium_rate_api as
2 /* $Header: beapvapi.pkb 120.0 2005/05/28 00:27:33 appldev noship $ */
3 --
5 --
6 g_package  varchar2(33) := '  ben_actual_premium_rate_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< create_actual_premium_rate >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_actual_premium_rate
13   (p_validate                       in  boolean   default false
14   ,p_actl_prem_vrbl_rt_id           out nocopy number
15   ,p_effective_start_date           out nocopy date
16   ,p_effective_end_date             out nocopy date
17   ,p_actl_prem_id                   in  number    default null
18   ,p_vrbl_rt_prfl_id                in  number    default null
19   ,p_ordr_num                       in  number    default null
20   ,p_business_group_id              in  number    default null
21   ,p_apv_attribute_category         in  varchar2  default null
25   ,p_apv_attribute4                 in  varchar2  default null
22   ,p_apv_attribute1                 in  varchar2  default null
23   ,p_apv_attribute2                 in  varchar2  default null
24   ,p_apv_attribute3                 in  varchar2  default null
26   ,p_apv_attribute5                 in  varchar2  default null
27   ,p_apv_attribute6                 in  varchar2  default null
28   ,p_apv_attribute7                 in  varchar2  default null
29   ,p_apv_attribute8                 in  varchar2  default null
30   ,p_apv_attribute9                 in  varchar2  default null
31   ,p_apv_attribute10                in  varchar2  default null
32   ,p_apv_attribute11                in  varchar2  default null
33   ,p_apv_attribute12                in  varchar2  default null
34   ,p_apv_attribute13                in  varchar2  default null
35   ,p_apv_attribute14                in  varchar2  default null
36   ,p_apv_attribute15                in  varchar2  default null
37   ,p_apv_attribute16                in  varchar2  default null
38   ,p_apv_attribute17                in  varchar2  default null
39   ,p_apv_attribute18                in  varchar2  default null
40   ,p_apv_attribute19                in  varchar2  default null
41   ,p_apv_attribute20                in  varchar2  default null
42   ,p_apv_attribute21                in  varchar2  default null
43   ,p_apv_attribute22                in  varchar2  default null
44   ,p_apv_attribute23                in  varchar2  default null
45   ,p_apv_attribute24                in  varchar2  default null
46   ,p_apv_attribute25                in  varchar2  default null
47   ,p_apv_attribute26                in  varchar2  default null
48   ,p_apv_attribute27                in  varchar2  default null
49   ,p_apv_attribute28                in  varchar2  default null
50   ,p_apv_attribute29                in  varchar2  default null
51   ,p_apv_attribute30                in  varchar2  default null
52   ,p_object_version_number          out nocopy number
53   ,p_effective_date                 in  date
54   ) is
55   --
56   -- Declare cursors and local variables
57   --
58   l_actl_prem_vrbl_rt_id ben_actl_prem_vrbl_rt_f.actl_prem_vrbl_rt_id%TYPE;
59   l_effective_start_date ben_actl_prem_vrbl_rt_f.effective_start_date%TYPE;
60   l_effective_end_date ben_actl_prem_vrbl_rt_f.effective_end_date%TYPE;
61   l_proc varchar2(72) := g_package||'create_actual_premium_rate';
62   l_object_version_number ben_actl_prem_vrbl_rt_f.object_version_number%TYPE;
63   --
64   cursor c1 is
65     select pl_id,
66            oipl_id
67     from   ben_actl_prem_f
68     where  actl_prem_id = p_actl_prem_id;
69   --
70   l_c1  c1%rowtype;
71   --
72 begin
73   --
74   hr_utility.set_location('Entering:'|| l_proc, 10);
75   --
76   -- Issue a savepoint if operating in validation only mode
77   --
78   savepoint create_actual_premium_rate;
79   --
80   hr_utility.set_location(l_proc, 20);
81   --
82   -- Process Logic
83   --
84   begin
85     --
86     -- Start of API User Hook for the before hook of create_actual_premium_rate
87     --
88     ben_actual_premium_rate_bk1.create_actual_premium_rate_b
89       (
90        p_actl_prem_id                   =>  p_actl_prem_id
91       ,p_vrbl_rt_prfl_id                =>  p_vrbl_rt_prfl_id
92       ,p_ordr_num                       =>  p_ordr_num
93       ,p_business_group_id              =>  p_business_group_id
94       ,p_apv_attribute_category         =>  p_apv_attribute_category
95       ,p_apv_attribute1                 =>  p_apv_attribute1
96       ,p_apv_attribute2                 =>  p_apv_attribute2
97       ,p_apv_attribute3                 =>  p_apv_attribute3
98       ,p_apv_attribute4                 =>  p_apv_attribute4
99       ,p_apv_attribute5                 =>  p_apv_attribute5
100       ,p_apv_attribute6                 =>  p_apv_attribute6
101       ,p_apv_attribute7                 =>  p_apv_attribute7
102       ,p_apv_attribute8                 =>  p_apv_attribute8
103       ,p_apv_attribute9                 =>  p_apv_attribute9
104       ,p_apv_attribute10                =>  p_apv_attribute10
105       ,p_apv_attribute11                =>  p_apv_attribute11
106       ,p_apv_attribute12                =>  p_apv_attribute12
107       ,p_apv_attribute13                =>  p_apv_attribute13
108       ,p_apv_attribute14                =>  p_apv_attribute14
109       ,p_apv_attribute15                =>  p_apv_attribute15
110       ,p_apv_attribute16                =>  p_apv_attribute16
111       ,p_apv_attribute17                =>  p_apv_attribute17
112       ,p_apv_attribute18                =>  p_apv_attribute18
113       ,p_apv_attribute19                =>  p_apv_attribute19
114       ,p_apv_attribute20                =>  p_apv_attribute20
115       ,p_apv_attribute21                =>  p_apv_attribute21
116       ,p_apv_attribute22                =>  p_apv_attribute22
117       ,p_apv_attribute23                =>  p_apv_attribute23
118       ,p_apv_attribute24                =>  p_apv_attribute24
119       ,p_apv_attribute25                =>  p_apv_attribute25
120       ,p_apv_attribute26                =>  p_apv_attribute26
121       ,p_apv_attribute27                =>  p_apv_attribute27
122       ,p_apv_attribute28                =>  p_apv_attribute28
123       ,p_apv_attribute29                =>  p_apv_attribute29
124       ,p_apv_attribute30                =>  p_apv_attribute30
125       ,p_effective_date                 => trunc(p_effective_date)
126       );
127   exception
128     when hr_api.cannot_find_prog_unit then
129       hr_api.cannot_find_prog_unit_error
130         (
131          p_module_name => 'CREATE_actual_premium_rate'
132         ,p_hook_type   => 'BP'
133         );
134     --
135     -- End of API User Hook for the before hook of create_actual_premium_rate
139   ben_apv_ins.ins
136     --
137   end;
138   --
140     (
141      p_actl_prem_vrbl_rt_id          => l_actl_prem_vrbl_rt_id
142     ,p_effective_start_date          => l_effective_start_date
143     ,p_effective_end_date            => l_effective_end_date
144     ,p_actl_prem_id                  => p_actl_prem_id
145     ,p_vrbl_rt_prfl_id               => p_vrbl_rt_prfl_id
146     ,p_ordr_num                      => p_ordr_num
147     ,p_business_group_id             => p_business_group_id
148     ,p_apv_attribute_category        => p_apv_attribute_category
149     ,p_apv_attribute1                => p_apv_attribute1
150     ,p_apv_attribute2                => p_apv_attribute2
151     ,p_apv_attribute3                => p_apv_attribute3
152     ,p_apv_attribute4                => p_apv_attribute4
153     ,p_apv_attribute5                => p_apv_attribute5
154     ,p_apv_attribute6                => p_apv_attribute6
155     ,p_apv_attribute7                => p_apv_attribute7
156     ,p_apv_attribute8                => p_apv_attribute8
157     ,p_apv_attribute9                => p_apv_attribute9
158     ,p_apv_attribute10               => p_apv_attribute10
159     ,p_apv_attribute11               => p_apv_attribute11
160     ,p_apv_attribute12               => p_apv_attribute12
161     ,p_apv_attribute13               => p_apv_attribute13
162     ,p_apv_attribute14               => p_apv_attribute14
163     ,p_apv_attribute15               => p_apv_attribute15
164     ,p_apv_attribute16               => p_apv_attribute16
165     ,p_apv_attribute17               => p_apv_attribute17
166     ,p_apv_attribute18               => p_apv_attribute18
167     ,p_apv_attribute19               => p_apv_attribute19
168     ,p_apv_attribute20               => p_apv_attribute20
169     ,p_apv_attribute21               => p_apv_attribute21
170     ,p_apv_attribute22               => p_apv_attribute22
171     ,p_apv_attribute23               => p_apv_attribute23
172     ,p_apv_attribute24               => p_apv_attribute24
173     ,p_apv_attribute25               => p_apv_attribute25
174     ,p_apv_attribute26               => p_apv_attribute26
175     ,p_apv_attribute27               => p_apv_attribute27
176     ,p_apv_attribute28               => p_apv_attribute28
177     ,p_apv_attribute29               => p_apv_attribute29
178     ,p_apv_attribute30               => p_apv_attribute30
179     ,p_object_version_number         => l_object_version_number
180     ,p_effective_date                => trunc(p_effective_date)
181     );
182   --
183   begin
184     --
185     -- Start of API User Hook for the after hook of create_actual_premium_rate
186     --
187     ben_actual_premium_rate_bk1.create_actual_premium_rate_a
188       (
189        p_actl_prem_vrbl_rt_id           =>  l_actl_prem_vrbl_rt_id
190       ,p_effective_start_date           =>  l_effective_start_date
191       ,p_effective_end_date             =>  l_effective_end_date
192       ,p_actl_prem_id                   =>  p_actl_prem_id
193       ,p_vrbl_rt_prfl_id                =>  p_vrbl_rt_prfl_id
194       ,p_ordr_num                       =>  p_ordr_num
195       ,p_business_group_id              =>  p_business_group_id
196       ,p_apv_attribute_category         =>  p_apv_attribute_category
197       ,p_apv_attribute1                 =>  p_apv_attribute1
198       ,p_apv_attribute2                 =>  p_apv_attribute2
199       ,p_apv_attribute3                 =>  p_apv_attribute3
200       ,p_apv_attribute4                 =>  p_apv_attribute4
201       ,p_apv_attribute5                 =>  p_apv_attribute5
202       ,p_apv_attribute6                 =>  p_apv_attribute6
203       ,p_apv_attribute7                 =>  p_apv_attribute7
204       ,p_apv_attribute8                 =>  p_apv_attribute8
205       ,p_apv_attribute9                 =>  p_apv_attribute9
206       ,p_apv_attribute10                =>  p_apv_attribute10
207       ,p_apv_attribute11                =>  p_apv_attribute11
208       ,p_apv_attribute12                =>  p_apv_attribute12
209       ,p_apv_attribute13                =>  p_apv_attribute13
210       ,p_apv_attribute14                =>  p_apv_attribute14
211       ,p_apv_attribute15                =>  p_apv_attribute15
212       ,p_apv_attribute16                =>  p_apv_attribute16
213       ,p_apv_attribute17                =>  p_apv_attribute17
214       ,p_apv_attribute18                =>  p_apv_attribute18
215       ,p_apv_attribute19                =>  p_apv_attribute19
216       ,p_apv_attribute20                =>  p_apv_attribute20
217       ,p_apv_attribute21                =>  p_apv_attribute21
218       ,p_apv_attribute22                =>  p_apv_attribute22
219       ,p_apv_attribute23                =>  p_apv_attribute23
220       ,p_apv_attribute24                =>  p_apv_attribute24
221       ,p_apv_attribute25                =>  p_apv_attribute25
222       ,p_apv_attribute26                =>  p_apv_attribute26
223       ,p_apv_attribute27                =>  p_apv_attribute27
224       ,p_apv_attribute28                =>  p_apv_attribute28
225       ,p_apv_attribute29                =>  p_apv_attribute29
226       ,p_apv_attribute30                =>  p_apv_attribute30
227       ,p_object_version_number          =>  l_object_version_number
228       ,p_effective_date                      => trunc(p_effective_date)
229       );
230   exception
231     when hr_api.cannot_find_prog_unit then
232       hr_api.cannot_find_prog_unit_error
233         (p_module_name => 'CREATE_actual_premium_rate'
234         ,p_hook_type   => 'AP'
235         );
236     --
237     -- End of API User Hook for the after hook of create_actual_premium_rate
238     --
239   end;
240   --
241   open c1;
242     --
243     fetch c1 into l_c1;
244     --
245   close c1;
246   --
247   if l_c1.pl_id is not null then
251   elsif l_c1.oipl_id is not null then
248     --
249     ben_derivable_rate.rate_prfl_handler('CREATE','ben_pl_f','pl_id',l_c1.pl_id);
250     --
252     --
253      ben_derivable_rate.rate_prfl_handler('CREATE','ben_oipl_f','oipl_id',l_c1.oipl_id);
254     --
255   end if;
256   --
257   hr_utility.set_location(l_proc, 60);
258   --
259   -- When in validation only mode raise the Validate_Enabled exception
260   --
261   if p_validate then
262     raise hr_api.validate_enabled;
263   end if;
264   --
265   -- Set all output arguments
266   --
267   p_actl_prem_vrbl_rt_id := l_actl_prem_vrbl_rt_id;
268   p_effective_start_date := l_effective_start_date;
269   p_effective_end_date := l_effective_end_date;
270   p_object_version_number := l_object_version_number;
271   --
272   hr_utility.set_location(' Leaving:'||l_proc, 70);
273   --
274 exception
275   --
276   when hr_api.validate_enabled then
277     --
278     -- As the Validate_Enabled exception has been raised
279     -- we must rollback to the savepoint
280     --
281     ROLLBACK TO create_actual_premium_rate;
282     --
283     -- Only set output warning arguments
284     -- (Any key or derived arguments must be set to null
285     -- when validation only mode is being used.)
286     --
287     p_actl_prem_vrbl_rt_id := null;
288     p_effective_start_date := null;
289     p_effective_end_date := null;
290     p_object_version_number  := null;
291     hr_utility.set_location(' Leaving:'||l_proc, 80);
292     --
293   when others then
294     --
295     -- A validation or unexpected error has occured
296     --
297     ROLLBACK TO create_actual_premium_rate;
298       /* Inserted for nocopy changes */
299     p_object_version_number := l_object_version_number;
300     p_effective_start_date := null;
301     p_effective_end_date := null;
302     raise;
303     --
304 end create_actual_premium_rate;
305 -- ----------------------------------------------------------------------------
306 -- |------------------------< update_actual_premium_rate >--- ------------------|
307 -- ----------------------------------------------------------------------------
308 --
309 procedure update_actual_premium_rate
310   (p_validate                       in  boolean   default false
311   ,p_actl_prem_vrbl_rt_id           in  number
312   ,p_effective_start_date           out nocopy date
313   ,p_effective_end_date             out nocopy date
314   ,p_actl_prem_id                   in  number    default hr_api.g_number
315   ,p_vrbl_rt_prfl_id                in  number    default hr_api.g_number
316   ,p_ordr_num                       in  number    default hr_api.g_number
317   ,p_business_group_id              in  number    default hr_api.g_number
318   ,p_apv_attribute_category         in  varchar2  default hr_api.g_varchar2
319   ,p_apv_attribute1                 in  varchar2  default hr_api.g_varchar2
320   ,p_apv_attribute2                 in  varchar2  default hr_api.g_varchar2
321   ,p_apv_attribute3                 in  varchar2  default hr_api.g_varchar2
322   ,p_apv_attribute4                 in  varchar2  default hr_api.g_varchar2
323   ,p_apv_attribute5                 in  varchar2  default hr_api.g_varchar2
324   ,p_apv_attribute6                 in  varchar2  default hr_api.g_varchar2
325   ,p_apv_attribute7                 in  varchar2  default hr_api.g_varchar2
326   ,p_apv_attribute8                 in  varchar2  default hr_api.g_varchar2
327   ,p_apv_attribute9                 in  varchar2  default hr_api.g_varchar2
328   ,p_apv_attribute10                in  varchar2  default hr_api.g_varchar2
329   ,p_apv_attribute11                in  varchar2  default hr_api.g_varchar2
330   ,p_apv_attribute12                in  varchar2  default hr_api.g_varchar2
331   ,p_apv_attribute13                in  varchar2  default hr_api.g_varchar2
332   ,p_apv_attribute14                in  varchar2  default hr_api.g_varchar2
333   ,p_apv_attribute15                in  varchar2  default hr_api.g_varchar2
334   ,p_apv_attribute16                in  varchar2  default hr_api.g_varchar2
335   ,p_apv_attribute17                in  varchar2  default hr_api.g_varchar2
336   ,p_apv_attribute18                in  varchar2  default hr_api.g_varchar2
337   ,p_apv_attribute19                in  varchar2  default hr_api.g_varchar2
338   ,p_apv_attribute20                in  varchar2  default hr_api.g_varchar2
339   ,p_apv_attribute21                in  varchar2  default hr_api.g_varchar2
340   ,p_apv_attribute22                in  varchar2  default hr_api.g_varchar2
341   ,p_apv_attribute23                in  varchar2  default hr_api.g_varchar2
342   ,p_apv_attribute24                in  varchar2  default hr_api.g_varchar2
343   ,p_apv_attribute25                in  varchar2  default hr_api.g_varchar2
344   ,p_apv_attribute26                in  varchar2  default hr_api.g_varchar2
345   ,p_apv_attribute27                in  varchar2  default hr_api.g_varchar2
346   ,p_apv_attribute28                in  varchar2  default hr_api.g_varchar2
347   ,p_apv_attribute29                in  varchar2  default hr_api.g_varchar2
348   ,p_apv_attribute30                in  varchar2  default hr_api.g_varchar2
349   ,p_object_version_number          in out nocopy number
350   ,p_effective_date                 in  date
351   ,p_datetrack_mode                 in  varchar2
352   ) is
353   --
354   -- Declare cursors and local variables
355   --
356   l_proc varchar2(72) := g_package||'update_actual_premium_rate';
357   l_object_version_number ben_actl_prem_vrbl_rt_f.object_version_number%TYPE;
358   l_effective_start_date ben_actl_prem_vrbl_rt_f.effective_start_date%TYPE;
359   l_effective_end_date ben_actl_prem_vrbl_rt_f.effective_end_date%TYPE;
360   l_in_object_version_number  number  := p_object_version_number ;
361   --
362 begin
363   --
364   hr_utility.set_location('Entering:'|| l_proc, 10);
365   --
369   --
366   -- Issue a savepoint if operating in validation only mode
367   --
368   savepoint update_actual_premium_rate;
370   hr_utility.set_location(l_proc, 20);
371   --
372   -- Process Logic
373   --
374   l_object_version_number := p_object_version_number;
375   --
376   begin
377     --
378     -- Start of API User Hook for the before hook of update_actual_premium_rate
379     --
380     ben_actual_premium_rate_bk2.update_actual_premium_rate_b
381       (
382        p_actl_prem_vrbl_rt_id           =>  p_actl_prem_vrbl_rt_id
383       ,p_actl_prem_id                   =>  p_actl_prem_id
384       ,p_vrbl_rt_prfl_id                =>  p_vrbl_rt_prfl_id
385       ,p_ordr_num                       =>  p_ordr_num
386       ,p_business_group_id              =>  p_business_group_id
387       ,p_apv_attribute_category         =>  p_apv_attribute_category
388       ,p_apv_attribute1                 =>  p_apv_attribute1
389       ,p_apv_attribute2                 =>  p_apv_attribute2
390       ,p_apv_attribute3                 =>  p_apv_attribute3
391       ,p_apv_attribute4                 =>  p_apv_attribute4
392       ,p_apv_attribute5                 =>  p_apv_attribute5
393       ,p_apv_attribute6                 =>  p_apv_attribute6
394       ,p_apv_attribute7                 =>  p_apv_attribute7
395       ,p_apv_attribute8                 =>  p_apv_attribute8
396       ,p_apv_attribute9                 =>  p_apv_attribute9
397       ,p_apv_attribute10                =>  p_apv_attribute10
398       ,p_apv_attribute11                =>  p_apv_attribute11
399       ,p_apv_attribute12                =>  p_apv_attribute12
400       ,p_apv_attribute13                =>  p_apv_attribute13
401       ,p_apv_attribute14                =>  p_apv_attribute14
402       ,p_apv_attribute15                =>  p_apv_attribute15
403       ,p_apv_attribute16                =>  p_apv_attribute16
404       ,p_apv_attribute17                =>  p_apv_attribute17
405       ,p_apv_attribute18                =>  p_apv_attribute18
406       ,p_apv_attribute19                =>  p_apv_attribute19
407       ,p_apv_attribute20                =>  p_apv_attribute20
408       ,p_apv_attribute21                =>  p_apv_attribute21
409       ,p_apv_attribute22                =>  p_apv_attribute22
410       ,p_apv_attribute23                =>  p_apv_attribute23
411       ,p_apv_attribute24                =>  p_apv_attribute24
412       ,p_apv_attribute25                =>  p_apv_attribute25
413       ,p_apv_attribute26                =>  p_apv_attribute26
414       ,p_apv_attribute27                =>  p_apv_attribute27
415       ,p_apv_attribute28                =>  p_apv_attribute28
416       ,p_apv_attribute29                =>  p_apv_attribute29
417       ,p_apv_attribute30                =>  p_apv_attribute30
418       ,p_object_version_number          =>  p_object_version_number
419     ,p_effective_date                      => trunc(p_effective_date)
420     ,p_datetrack_mode                      => p_datetrack_mode
421       );
422   exception
423     when hr_api.cannot_find_prog_unit then
424       hr_api.cannot_find_prog_unit_error
425         (p_module_name => 'UPDATE_actual_premium_rate'
426         ,p_hook_type   => 'BP'
427         );
428     --
429     -- End of API User Hook for the before hook of update_actual_premium_rate
430     --
431   end;
432   --
433   ben_apv_upd.upd
434     (
435      p_actl_prem_vrbl_rt_id          => p_actl_prem_vrbl_rt_id
436     ,p_effective_start_date          => l_effective_start_date
437     ,p_effective_end_date            => l_effective_end_date
438     ,p_actl_prem_id                  => p_actl_prem_id
439     ,p_vrbl_rt_prfl_id               => p_vrbl_rt_prfl_id
440     ,p_ordr_num                      => p_ordr_num
441     ,p_business_group_id             => p_business_group_id
442     ,p_apv_attribute_category        => p_apv_attribute_category
443     ,p_apv_attribute1                => p_apv_attribute1
444     ,p_apv_attribute2                => p_apv_attribute2
445     ,p_apv_attribute3                => p_apv_attribute3
446     ,p_apv_attribute4                => p_apv_attribute4
447     ,p_apv_attribute5                => p_apv_attribute5
448     ,p_apv_attribute6                => p_apv_attribute6
449     ,p_apv_attribute7                => p_apv_attribute7
450     ,p_apv_attribute8                => p_apv_attribute8
451     ,p_apv_attribute9                => p_apv_attribute9
452     ,p_apv_attribute10               => p_apv_attribute10
453     ,p_apv_attribute11               => p_apv_attribute11
454     ,p_apv_attribute12               => p_apv_attribute12
455     ,p_apv_attribute13               => p_apv_attribute13
456     ,p_apv_attribute14               => p_apv_attribute14
457     ,p_apv_attribute15               => p_apv_attribute15
458     ,p_apv_attribute16               => p_apv_attribute16
459     ,p_apv_attribute17               => p_apv_attribute17
460     ,p_apv_attribute18               => p_apv_attribute18
461     ,p_apv_attribute19               => p_apv_attribute19
462     ,p_apv_attribute20               => p_apv_attribute20
463     ,p_apv_attribute21               => p_apv_attribute21
464     ,p_apv_attribute22               => p_apv_attribute22
465     ,p_apv_attribute23               => p_apv_attribute23
466     ,p_apv_attribute24               => p_apv_attribute24
467     ,p_apv_attribute25               => p_apv_attribute25
468     ,p_apv_attribute26               => p_apv_attribute26
469     ,p_apv_attribute27               => p_apv_attribute27
470     ,p_apv_attribute28               => p_apv_attribute28
471     ,p_apv_attribute29               => p_apv_attribute29
472     ,p_apv_attribute30               => p_apv_attribute30
473     ,p_object_version_number         => l_object_version_number
474     ,p_effective_date                => trunc(p_effective_date)
475     ,p_datetrack_mode                => p_datetrack_mode
476     );
477   --
478   begin
482     ben_actual_premium_rate_bk2.update_actual_premium_rate_a
479     --
480     -- Start of API User Hook for the after hook of update_actual_premium_rate
481     --
483       (
484        p_actl_prem_vrbl_rt_id           =>  p_actl_prem_vrbl_rt_id
485       ,p_effective_start_date           =>  l_effective_start_date
486       ,p_effective_end_date             =>  l_effective_end_date
487       ,p_actl_prem_id                   =>  p_actl_prem_id
488       ,p_vrbl_rt_prfl_id                =>  p_vrbl_rt_prfl_id
489       ,p_ordr_num                       =>  p_ordr_num
490       ,p_business_group_id              =>  p_business_group_id
491       ,p_apv_attribute_category         =>  p_apv_attribute_category
492       ,p_apv_attribute1                 =>  p_apv_attribute1
493       ,p_apv_attribute2                 =>  p_apv_attribute2
494       ,p_apv_attribute3                 =>  p_apv_attribute3
495       ,p_apv_attribute4                 =>  p_apv_attribute4
496       ,p_apv_attribute5                 =>  p_apv_attribute5
497       ,p_apv_attribute6                 =>  p_apv_attribute6
498       ,p_apv_attribute7                 =>  p_apv_attribute7
499       ,p_apv_attribute8                 =>  p_apv_attribute8
500       ,p_apv_attribute9                 =>  p_apv_attribute9
501       ,p_apv_attribute10                =>  p_apv_attribute10
502       ,p_apv_attribute11                =>  p_apv_attribute11
503       ,p_apv_attribute12                =>  p_apv_attribute12
504       ,p_apv_attribute13                =>  p_apv_attribute13
505       ,p_apv_attribute14                =>  p_apv_attribute14
506       ,p_apv_attribute15                =>  p_apv_attribute15
507       ,p_apv_attribute16                =>  p_apv_attribute16
508       ,p_apv_attribute17                =>  p_apv_attribute17
509       ,p_apv_attribute18                =>  p_apv_attribute18
510       ,p_apv_attribute19                =>  p_apv_attribute19
511       ,p_apv_attribute20                =>  p_apv_attribute20
512       ,p_apv_attribute21                =>  p_apv_attribute21
513       ,p_apv_attribute22                =>  p_apv_attribute22
514       ,p_apv_attribute23                =>  p_apv_attribute23
515       ,p_apv_attribute24                =>  p_apv_attribute24
516       ,p_apv_attribute25                =>  p_apv_attribute25
517       ,p_apv_attribute26                =>  p_apv_attribute26
518       ,p_apv_attribute27                =>  p_apv_attribute27
519       ,p_apv_attribute28                =>  p_apv_attribute28
520       ,p_apv_attribute29                =>  p_apv_attribute29
521       ,p_apv_attribute30                =>  p_apv_attribute30
522       ,p_object_version_number          =>  l_object_version_number
523       ,p_effective_date                     => trunc(p_effective_date)
524       ,p_datetrack_mode                     => p_datetrack_mode
525       );
526   exception
527     when hr_api.cannot_find_prog_unit then
528       hr_api.cannot_find_prog_unit_error
529         (p_module_name => 'UPDATE_actual_premium_rate'
530         ,p_hook_type   => 'AP'
531         );
532     --
533     -- End of API User Hook for the after hook of update_actual_premium_rate
534     --
535   end;
536   --
537   hr_utility.set_location(l_proc, 60);
538   --
539   -- When in validation only mode raise the Validate_Enabled exception
540   --
541   if p_validate then
542     raise hr_api.validate_enabled;
543   end if;
544   --
545   -- Set all output arguments
546   --
547   p_object_version_number := l_object_version_number;
548   p_effective_start_date := l_effective_start_date;
549   p_effective_end_date := l_effective_end_date;
550   --
551   hr_utility.set_location(' Leaving:'||l_proc, 70);
552   --
553 exception
554   --
555   when hr_api.validate_enabled then
556     --
557     -- As the Validate_Enabled exception has been raised
558     -- we must rollback to the savepoint
559     --
560     ROLLBACK TO update_actual_premium_rate;
561     --
562     -- Only set output warning arguments
563     -- (Any key or derived arguments must be set to null
564     -- when validation only mode is being used.)
565     --
566     hr_utility.set_location(' Leaving:'||l_proc, 80);
567     --
568   when others then
569     --
570     -- A validation or unexpected error has occured
571     p_object_version_number := l_in_object_version_number ;
572     --
573     ROLLBACK TO update_actual_premium_rate;
574      /* Inserted for nocopy changes */
575     p_effective_start_date := null;
576     p_effective_end_date := null;
577     raise;
578     --
579 end update_actual_premium_rate;
580 -- ----------------------------------------------------------------------------
581 -- |------------------------< delete_actual_premium_rate >----------------------|
582 -- ----------------------------------------------------------------------------
583 --
584 procedure delete_actual_premium_rate
585   (p_validate                       in  boolean  default false
586   ,p_actl_prem_vrbl_rt_id           in  number
587   ,p_effective_start_date           out nocopy date
588   ,p_effective_end_date             out nocopy date
589   ,p_object_version_number          in out nocopy number
590   ,p_effective_date                 in  date
591   ,p_datetrack_mode                 in  varchar2
592   ) is
593   --
594   -- Declare cursors and local variables
595   --
596   l_proc varchar2(72) := g_package||'update_actual_premium_rate';
597   l_object_version_number ben_actl_prem_vrbl_rt_f.object_version_number%TYPE;
598   l_effective_start_date ben_actl_prem_vrbl_rt_f.effective_start_date%TYPE;
599   l_effective_end_date ben_actl_prem_vrbl_rt_f.effective_end_date%TYPE;
600   l_in_object_version_number  number  := p_object_version_number ;
601   --
602   cursor c1 is
603     select pl_id,
604            oipl_id
608     and    apv.actl_prem_vrbl_rt_id = p_actl_prem_vrbl_rt_id;
605     from   ben_actl_prem_f apr,
606            ben_actl_prem_vrbl_rt_f apv
607     where  apr.actl_prem_id = apv.actl_prem_id
609   --
610   l_c1 c1%rowtype;
611   --
612 begin
613   --
614   hr_utility.set_location('Entering:'|| l_proc, 10);
615   --
616   -- Issue a savepoint if operating in validation only mode
617   --
618   savepoint delete_actual_premium_rate;
619   --
620   hr_utility.set_location(l_proc, 20);
621   --
622   -- Process Logic
623   --
624   l_object_version_number := p_object_version_number;
625   --
626   --
627   begin
628     --
629     -- Start of API User Hook for the before hook of delete_actual_premium_rate
630     --
631     ben_actual_premium_rate_bk3.delete_actual_premium_rate_b
632       (
633        p_actl_prem_vrbl_rt_id           =>  p_actl_prem_vrbl_rt_id
634       ,p_object_version_number          =>  p_object_version_number
635     ,p_effective_date                      => trunc(p_effective_date)
636     ,p_datetrack_mode                      => p_datetrack_mode
637       );
638   exception
639     when hr_api.cannot_find_prog_unit then
640       hr_api.cannot_find_prog_unit_error
641         (p_module_name => 'DELETE_actual_premium_rate'
642         ,p_hook_type   => 'BP'
643         );
644     --
645     -- End of API User Hook for the before hook of delete_actual_premium_rate
646     --
647   end;
648   --
649   ben_apv_del.del
650     (
651      p_actl_prem_vrbl_rt_id          => p_actl_prem_vrbl_rt_id
652     ,p_effective_start_date          => l_effective_start_date
653     ,p_effective_end_date            => l_effective_end_date
654     ,p_object_version_number         => l_object_version_number
655     ,p_effective_date                => p_effective_date
656     ,p_datetrack_mode                => p_datetrack_mode
657     );
658   --
659   begin
660     --
661     -- Start of API User Hook for the after hook of delete_actual_premium_rate
662     --
663     ben_actual_premium_rate_bk3.delete_actual_premium_rate_a
664       (
665        p_actl_prem_vrbl_rt_id           =>  p_actl_prem_vrbl_rt_id
666       ,p_effective_start_date           =>  l_effective_start_date
667       ,p_effective_end_date             =>  l_effective_end_date
668       ,p_object_version_number          =>  l_object_version_number
669     ,p_effective_date                      => trunc(p_effective_date)
670     ,p_datetrack_mode                      => p_datetrack_mode
671       );
672   exception
673     when hr_api.cannot_find_prog_unit then
674       hr_api.cannot_find_prog_unit_error
675         (p_module_name => 'DELETE_actual_premium_rate'
676         ,p_hook_type   => 'AP'
677         );
678     --
679     -- End of API User Hook for the after hook of delete_actual_premium_rate
680     --
681   end;
682   --
683   open c1;
684     --
685     fetch c1 into l_c1;
686     --
687   close c1;
688   --
689   if l_c1.pl_id is not null then
690     --
691     ben_derivable_rate.rate_prfl_handler('DELETE','ben_pl_f','pl_id',l_c1.pl_id);
692     --
693   elsif l_c1.oipl_id is not null then
694     --
695     ben_derivable_rate.rate_prfl_handler('DELETE','ben_oipl_f','oipl_id',l_c1.oipl_id);
696     --
697   end if;
698   --
699   hr_utility.set_location(l_proc, 60);
700   --
701   -- When in validation only mode raise the Validate_Enabled exception
702   --
703   if p_validate then
704     raise hr_api.validate_enabled;
705   end if;
706   --
707   hr_utility.set_location(' Leaving:'||l_proc, 70);
708   --
709 exception
710   --
711   when hr_api.validate_enabled then
712     --
713     -- As the Validate_Enabled exception has been raised
714     -- we must rollback to the savepoint
715     --
716     ROLLBACK TO delete_actual_premium_rate;
717     --
718     -- Only set output warning arguments
719     -- (Any key or derived arguments must be set to null
720     -- when validation only mode is being used.)
721     --
722     p_effective_start_date := null;
723     p_effective_end_date := null;
724     --
725   when others then
726     --
727     -- A validation or unexpected error has occured
728     p_object_version_number := l_in_object_version_number ;
729     --
730     ROLLBACK TO delete_actual_premium_rate;
731     /* Inserted for nocopy changes */
732     p_effective_start_date := null;
733     p_effective_end_date := null;
734     raise;
735     --
736 end delete_actual_premium_rate;
737 --
738 -- ----------------------------------------------------------------------------
739 -- |-------------------------------< lck >------------------------------------|
740 -- ----------------------------------------------------------------------------
741 --
742 procedure lck
743   (
744    p_actl_prem_vrbl_rt_id                   in     number
745   ,p_object_version_number          in     number
746   ,p_effective_date                 in     date
747   ,p_datetrack_mode                 in     varchar2
748   ,p_validation_start_date          out nocopy    date
749   ,p_validation_end_date            out nocopy    date
750   ) is
751   --
752   --
753   -- Declare cursors and local variables
754   --
755   l_proc varchar2(72) := g_package||'lck';
756   l_validation_start_date date;
757   l_validation_end_date date;
758   --
759 begin
760   --
761   hr_utility.set_location('Entering:'|| l_proc, 10);
762   --
763   ben_apv_shd.lck
764     (
768      ,p_object_version_number      => p_object_version_number
765       p_actl_prem_vrbl_rt_id                 => p_actl_prem_vrbl_rt_id
766      ,p_validation_start_date      => l_validation_start_date
767      ,p_validation_end_date        => l_validation_end_date
769      ,p_effective_date             => p_effective_date
770      ,p_datetrack_mode             => p_datetrack_mode
771     );
772   --
773   hr_utility.set_location(' Leaving:'||l_proc, 70);
774   --
775 end lck;
776 --
777 end ben_actual_premium_rate_api;