DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_VRBL_RATE_RULE_API

Source


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