DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_VRBL_MATCHING_RATE_API

Source


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