DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PRTL_MO_RT_PRTN_VAL_API

Source


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