DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PER_CM_PRVDD_API

Source


1 Package Body ben_PER_CM_PRVDD_api as
2 /* $Header: bepcdapi.pkb 115.6 2003/01/16 14:34:59 rpgupta ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  ben_PER_CM_PRVDD_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_PER_CM_PRVDD >---------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_PER_CM_PRVDD
13   (p_validate                       in  boolean   default false
14   ,p_per_cm_prvdd_id                out nocopy number
15   ,p_effective_start_date           out nocopy date
16   ,p_effective_end_date             out nocopy date
17   ,p_rqstd_flag                     in  varchar2  default 'N'
18   ,p_per_cm_prvdd_stat_cd           in  varchar2  default null
19   ,p_cm_dlvry_med_cd                in  varchar2  default null
20   ,p_cm_dlvry_mthd_cd               in  varchar2  default null
21   ,p_sent_dt                        in  date      default null
22   ,p_instnc_num                     in  number    default null
23   ,p_to_be_sent_dt                  in  date      default null
24   ,p_dlvry_instn_txt                in  varchar2  default null
25   ,p_inspn_rqd_flag                 in  varchar2  default 'N'
26   ,p_resnd_rsn_cd                   in  varchar2  default null
27   ,p_resnd_cmnt_txt                 in  varchar2  default null
28   ,p_per_cm_id                      in  number    default null
29   ,p_address_id                     in  number    default null
30   ,p_business_group_id              in  number    default null
31   ,p_pcd_attribute_category         in  varchar2  default null
32   ,p_pcd_attribute1                 in  varchar2  default null
33   ,p_pcd_attribute2                 in  varchar2  default null
34   ,p_pcd_attribute3                 in  varchar2  default null
35   ,p_pcd_attribute4                 in  varchar2  default null
36   ,p_pcd_attribute5                 in  varchar2  default null
37   ,p_pcd_attribute6                 in  varchar2  default null
38   ,p_pcd_attribute7                 in  varchar2  default null
39   ,p_pcd_attribute8                 in  varchar2  default null
40   ,p_pcd_attribute9                 in  varchar2  default null
41   ,p_pcd_attribute10                in  varchar2  default null
42   ,p_pcd_attribute11                in  varchar2  default null
43   ,p_pcd_attribute12                in  varchar2  default null
44   ,p_pcd_attribute13                in  varchar2  default null
45   ,p_pcd_attribute14                in  varchar2  default null
46   ,p_pcd_attribute15                in  varchar2  default null
47   ,p_pcd_attribute16                in  varchar2  default null
48   ,p_pcd_attribute17                in  varchar2  default null
49   ,p_pcd_attribute18                in  varchar2  default null
50   ,p_pcd_attribute19                in  varchar2  default null
51   ,p_pcd_attribute20                in  varchar2  default null
52   ,p_pcd_attribute21                in  varchar2  default null
53   ,p_pcd_attribute22                in  varchar2  default null
54   ,p_pcd_attribute23                in  varchar2  default null
55   ,p_pcd_attribute24                in  varchar2  default null
56   ,p_pcd_attribute25                in  varchar2  default null
57   ,p_pcd_attribute26                in  varchar2  default null
58   ,p_pcd_attribute27                in  varchar2  default null
59   ,p_pcd_attribute28                in  varchar2  default null
60   ,p_pcd_attribute29                in  varchar2  default null
61   ,p_pcd_attribute30                in  varchar2  default null
62   ,p_request_id                     in  number    default null
63   ,p_program_application_id         in  number    default null
64   ,p_program_id                     in  number    default null
65   ,p_program_update_date            in  date      default null
66   ,p_object_version_number          out nocopy number
67   ,p_effective_date                 in  date) is
68   --
69   -- Declare cursors and local variables
70   --
71   l_per_cm_prvdd_id ben_per_cm_prvdd_f.per_cm_prvdd_id%TYPE;
72   l_effective_start_date ben_per_cm_prvdd_f.effective_start_date%TYPE;
73   l_effective_end_date ben_per_cm_prvdd_f.effective_end_date%TYPE;
74   l_proc varchar2(72) := g_package||'create_PER_CM_PRVDD';
75   l_object_version_number ben_per_cm_prvdd_f.object_version_number%TYPE;
76   --
77 begin
78   --
79   hr_utility.set_location('Entering:'|| l_proc, 10);
80   --
81   -- Issue a savepoint if operating in validation only mode
82   --
83   savepoint create_PER_CM_PRVDD;
84   --
85   hr_utility.set_location(l_proc, 20);
86   --
87   -- Process Logic
88   --
89   begin
90     --
91     -- Start of API User Hook for the before hook of create_PER_CM_PRVDD
92     --
93     ben_PER_CM_PRVDD_bk1.create_PER_CM_PRVDD_b
94       (p_rqstd_flag                     =>  p_rqstd_flag
95       ,p_per_cm_prvdd_stat_cd           =>  p_per_cm_prvdd_stat_cd
96       ,p_cm_dlvry_med_cd                =>  p_cm_dlvry_med_cd
97       ,p_cm_dlvry_mthd_cd               =>  p_cm_dlvry_mthd_cd
98       ,p_sent_dt                        =>  p_sent_dt
99       ,p_instnc_num                     =>  p_instnc_num
100       ,p_to_be_sent_dt                  =>  p_to_be_sent_dt
101       ,p_dlvry_instn_txt                =>  p_dlvry_instn_txt
102       ,p_inspn_rqd_flag                 =>  p_inspn_rqd_flag
103       ,p_resnd_rsn_cd                   =>  p_resnd_rsn_cd
104       ,p_resnd_cmnt_txt                 =>  p_resnd_cmnt_txt
105       ,p_per_cm_id                      =>  p_per_cm_id
106       ,p_address_id                     =>  p_address_id
107       ,p_business_group_id              =>  p_business_group_id
108       ,p_pcd_attribute_category         =>  p_pcd_attribute_category
109       ,p_pcd_attribute1                 =>  p_pcd_attribute1
110       ,p_pcd_attribute2                 =>  p_pcd_attribute2
111       ,p_pcd_attribute3                 =>  p_pcd_attribute3
112       ,p_pcd_attribute4                 =>  p_pcd_attribute4
113       ,p_pcd_attribute5                 =>  p_pcd_attribute5
114       ,p_pcd_attribute6                 =>  p_pcd_attribute6
115       ,p_pcd_attribute7                 =>  p_pcd_attribute7
116       ,p_pcd_attribute8                 =>  p_pcd_attribute8
117       ,p_pcd_attribute9                 =>  p_pcd_attribute9
118       ,p_pcd_attribute10                =>  p_pcd_attribute10
119       ,p_pcd_attribute11                =>  p_pcd_attribute11
120       ,p_pcd_attribute12                =>  p_pcd_attribute12
121       ,p_pcd_attribute13                =>  p_pcd_attribute13
122       ,p_pcd_attribute14                =>  p_pcd_attribute14
123       ,p_pcd_attribute15                =>  p_pcd_attribute15
124       ,p_pcd_attribute16                =>  p_pcd_attribute16
125       ,p_pcd_attribute17                =>  p_pcd_attribute17
126       ,p_pcd_attribute18                =>  p_pcd_attribute18
127       ,p_pcd_attribute19                =>  p_pcd_attribute19
128       ,p_pcd_attribute20                =>  p_pcd_attribute20
129       ,p_pcd_attribute21                =>  p_pcd_attribute21
130       ,p_pcd_attribute22                =>  p_pcd_attribute22
131       ,p_pcd_attribute23                =>  p_pcd_attribute23
132       ,p_pcd_attribute24                =>  p_pcd_attribute24
133       ,p_pcd_attribute25                =>  p_pcd_attribute25
134       ,p_pcd_attribute26                =>  p_pcd_attribute26
135       ,p_pcd_attribute27                =>  p_pcd_attribute27
136       ,p_pcd_attribute28                =>  p_pcd_attribute28
137       ,p_pcd_attribute29                =>  p_pcd_attribute29
138       ,p_pcd_attribute30                =>  p_pcd_attribute30
139       ,p_request_id                     =>  p_request_id
140       ,p_program_application_id         =>  p_program_application_id
141       ,p_program_id                     =>  p_program_id
142       ,p_program_update_date            =>  p_program_update_date
143       ,p_effective_date                 =>  trunc(p_effective_date));
144     --
145   exception
146     --
147     when hr_api.cannot_find_prog_unit then
148       --
149       hr_api.cannot_find_prog_unit_error
150         (p_module_name => 'CREATE_PER_CM_PRVDD'
151         ,p_hook_type   => 'BP');
152     --
153     -- End of API User Hook for the before hook of create_PER_CM_PRVDD
154     --
155   end;
156   --
157   ben_pcd_ins.ins
158     (p_per_cm_prvdd_id               => l_per_cm_prvdd_id
159     ,p_effective_start_date          => l_effective_start_date
160     ,p_effective_end_date            => l_effective_end_date
161     ,p_rqstd_flag                    => p_rqstd_flag
162     ,p_per_cm_prvdd_stat_cd          => p_per_cm_prvdd_stat_cd
163     ,p_cm_dlvry_med_cd               => p_cm_dlvry_med_cd
164     ,p_cm_dlvry_mthd_cd              => p_cm_dlvry_mthd_cd
165     ,p_sent_dt                       => p_sent_dt
166     ,p_instnc_num                    => p_instnc_num
167     ,p_to_be_sent_dt                 => p_to_be_sent_dt
168     ,p_dlvry_instn_txt               => p_dlvry_instn_txt
169     ,p_inspn_rqd_flag                => p_inspn_rqd_flag
170     ,p_resnd_rsn_cd                  => p_resnd_rsn_cd
171     ,p_resnd_cmnt_txt                => p_resnd_cmnt_txt
172     ,p_per_cm_id                     => p_per_cm_id
173     ,p_address_id                    => p_address_id
174     ,p_business_group_id             => p_business_group_id
175     ,p_pcd_attribute_category        => p_pcd_attribute_category
176     ,p_pcd_attribute1                => p_pcd_attribute1
177     ,p_pcd_attribute2                => p_pcd_attribute2
178     ,p_pcd_attribute3                => p_pcd_attribute3
179     ,p_pcd_attribute4                => p_pcd_attribute4
180     ,p_pcd_attribute5                => p_pcd_attribute5
181     ,p_pcd_attribute6                => p_pcd_attribute6
182     ,p_pcd_attribute7                => p_pcd_attribute7
183     ,p_pcd_attribute8                => p_pcd_attribute8
184     ,p_pcd_attribute9                => p_pcd_attribute9
185     ,p_pcd_attribute10               => p_pcd_attribute10
186     ,p_pcd_attribute11               => p_pcd_attribute11
187     ,p_pcd_attribute12               => p_pcd_attribute12
188     ,p_pcd_attribute13               => p_pcd_attribute13
189     ,p_pcd_attribute14               => p_pcd_attribute14
190     ,p_pcd_attribute15               => p_pcd_attribute15
191     ,p_pcd_attribute16               => p_pcd_attribute16
192     ,p_pcd_attribute17               => p_pcd_attribute17
193     ,p_pcd_attribute18               => p_pcd_attribute18
194     ,p_pcd_attribute19               => p_pcd_attribute19
195     ,p_pcd_attribute20               => p_pcd_attribute20
196     ,p_pcd_attribute21               => p_pcd_attribute21
197     ,p_pcd_attribute22               => p_pcd_attribute22
198     ,p_pcd_attribute23               => p_pcd_attribute23
199     ,p_pcd_attribute24               => p_pcd_attribute24
200     ,p_pcd_attribute25               => p_pcd_attribute25
201     ,p_pcd_attribute26               => p_pcd_attribute26
202     ,p_pcd_attribute27               => p_pcd_attribute27
203     ,p_pcd_attribute28               => p_pcd_attribute28
204     ,p_pcd_attribute29               => p_pcd_attribute29
205     ,p_pcd_attribute30               => p_pcd_attribute30
206     ,p_request_id                    => p_request_id
207     ,p_program_application_id        => p_program_application_id
208     ,p_program_id                    => p_program_id
209     ,p_program_update_date           => p_program_update_date
210     ,p_object_version_number         => l_object_version_number
211     ,p_effective_date                => trunc(p_effective_date));
212   --
213   begin
214     --
215     -- Start of API User Hook for the after hook of create_PER_CM_PRVDD
216     --
217     ben_PER_CM_PRVDD_bk1.create_PER_CM_PRVDD_a
218       (p_per_cm_prvdd_id                =>  l_per_cm_prvdd_id
219       ,p_effective_start_date           =>  l_effective_start_date
220       ,p_effective_end_date             =>  l_effective_end_date
221       ,p_rqstd_flag                     =>  p_rqstd_flag
222       ,p_per_cm_prvdd_stat_cd           =>  p_per_cm_prvdd_stat_cd
223       ,p_cm_dlvry_med_cd                =>  p_cm_dlvry_med_cd
224       ,p_cm_dlvry_mthd_cd               =>  p_cm_dlvry_mthd_cd
225       ,p_sent_dt                        =>  p_sent_dt
226       ,p_instnc_num                     =>  p_instnc_num
227       ,p_to_be_sent_dt                  =>  p_to_be_sent_dt
228       ,p_dlvry_instn_txt                =>  p_dlvry_instn_txt
229       ,p_inspn_rqd_flag                 =>  p_inspn_rqd_flag
230       ,p_resnd_rsn_cd                   =>  p_resnd_rsn_cd
231       ,p_resnd_cmnt_txt                 =>  p_resnd_cmnt_txt
232       ,p_per_cm_id                      =>  p_per_cm_id
233       ,p_address_id                     =>  p_address_id
234       ,p_business_group_id              =>  p_business_group_id
235       ,p_pcd_attribute_category         =>  p_pcd_attribute_category
236       ,p_pcd_attribute1                 =>  p_pcd_attribute1
237       ,p_pcd_attribute2                 =>  p_pcd_attribute2
238       ,p_pcd_attribute3                 =>  p_pcd_attribute3
239       ,p_pcd_attribute4                 =>  p_pcd_attribute4
240       ,p_pcd_attribute5                 =>  p_pcd_attribute5
241       ,p_pcd_attribute6                 =>  p_pcd_attribute6
242       ,p_pcd_attribute7                 =>  p_pcd_attribute7
243       ,p_pcd_attribute8                 =>  p_pcd_attribute8
244       ,p_pcd_attribute9                 =>  p_pcd_attribute9
245       ,p_pcd_attribute10                =>  p_pcd_attribute10
246       ,p_pcd_attribute11                =>  p_pcd_attribute11
247       ,p_pcd_attribute12                =>  p_pcd_attribute12
248       ,p_pcd_attribute13                =>  p_pcd_attribute13
249       ,p_pcd_attribute14                =>  p_pcd_attribute14
250       ,p_pcd_attribute15                =>  p_pcd_attribute15
251       ,p_pcd_attribute16                =>  p_pcd_attribute16
252       ,p_pcd_attribute17                =>  p_pcd_attribute17
253       ,p_pcd_attribute18                =>  p_pcd_attribute18
254       ,p_pcd_attribute19                =>  p_pcd_attribute19
255       ,p_pcd_attribute20                =>  p_pcd_attribute20
256       ,p_pcd_attribute21                =>  p_pcd_attribute21
257       ,p_pcd_attribute22                =>  p_pcd_attribute22
258       ,p_pcd_attribute23                =>  p_pcd_attribute23
259       ,p_pcd_attribute24                =>  p_pcd_attribute24
260       ,p_pcd_attribute25                =>  p_pcd_attribute25
261       ,p_pcd_attribute26                =>  p_pcd_attribute26
262       ,p_pcd_attribute27                =>  p_pcd_attribute27
263       ,p_pcd_attribute28                =>  p_pcd_attribute28
264       ,p_pcd_attribute29                =>  p_pcd_attribute29
265       ,p_pcd_attribute30                =>  p_pcd_attribute30
266       ,p_request_id                     =>  p_request_id
267       ,p_program_application_id         =>  p_program_application_id
268       ,p_program_id                     =>  p_program_id
269       ,p_program_update_date            =>  p_program_update_date
270       ,p_object_version_number          =>  l_object_version_number
271       ,p_effective_date                 =>  trunc(p_effective_date));
272     --
273   exception
274     --
275     when hr_api.cannot_find_prog_unit then
276       --
277       hr_api.cannot_find_prog_unit_error
278         (p_module_name => 'CREATE_PER_CM_PRVDD'
279         ,p_hook_type   => 'AP');
280     --
281     -- End of API User Hook for the after hook of create_PER_CM_PRVDD
282     --
283   end;
284   --
285   hr_utility.set_location(l_proc, 60);
286   --
287   -- When in validation only mode raise the Validate_Enabled exception
288   --
289   if p_validate then
290     raise hr_api.validate_enabled;
291   end if;
292   --
293   -- Set all output arguments
294   --
295   p_per_cm_prvdd_id := l_per_cm_prvdd_id;
296   p_effective_start_date := l_effective_start_date;
297   p_effective_end_date := l_effective_end_date;
298   p_object_version_number := l_object_version_number;
299   --
300   hr_utility.set_location(' Leaving:'||l_proc, 70);
301   --
302 exception
303   --
304   when hr_api.validate_enabled then
305     --
306     -- As the Validate_Enabled exception has been raised
307     -- we must rollback to the savepoint
308     --
309     ROLLBACK TO create_PER_CM_PRVDD;
310     --
311     -- Only set output warning arguments
312     -- (Any key or derived arguments must be set to null
313     -- when validation only mode is being used.)
314     --
315     p_per_cm_prvdd_id := null;
316     p_effective_start_date := null;
317     p_effective_end_date := null;
318     p_object_version_number  := null;
319     hr_utility.set_location(' Leaving:'||l_proc, 80);
320     --
321   when others then
322     --
323     -- A validation or unexpected error has occured
324     --
325     ROLLBACK TO create_PER_CM_PRVDD;
326     p_per_cm_prvdd_id := null;
327     p_effective_start_date := null;
328     p_effective_end_date := null;
329     p_object_version_number  := null;
330     hr_utility.set_location(' Leaving:'||l_proc, 90);
331     raise;
332     --
333 end create_PER_CM_PRVDD;
334 -- ----------------------------------------------------------------------------
335 -- |------------------------< create_PER_CM_PRVDD_perf >----------------------|
336 -- ----------------------------------------------------------------------------
337 --
338 procedure create_PER_CM_PRVDD_perf
339   (p_validate                       in  boolean   default false
340   ,p_per_cm_prvdd_id                out nocopy number
341   ,p_effective_start_date           out nocopy date
342   ,p_effective_end_date             out nocopy date
343   ,p_rqstd_flag                     in  varchar2  default 'N'
344   ,p_per_cm_prvdd_stat_cd           in  varchar2  default null
345   ,p_cm_dlvry_med_cd                in  varchar2  default null
346   ,p_cm_dlvry_mthd_cd               in  varchar2  default null
347   ,p_sent_dt                        in  date      default null
348   ,p_instnc_num                     in  number    default null
349   ,p_to_be_sent_dt                  in  date      default null
350   ,p_dlvry_instn_txt                in  varchar2  default null
351   ,p_inspn_rqd_flag                 in  varchar2  default 'N'
352   ,p_resnd_rsn_cd                   in  varchar2  default null
353   ,p_resnd_cmnt_txt                 in  varchar2  default null
354   ,p_per_cm_id                      in  number    default null
355   ,p_address_id                     in  number    default null
356   ,p_business_group_id              in  number    default null
357   ,p_pcd_attribute_category         in  varchar2  default null
358   ,p_pcd_attribute1                 in  varchar2  default null
359   ,p_pcd_attribute2                 in  varchar2  default null
360   ,p_pcd_attribute3                 in  varchar2  default null
361   ,p_pcd_attribute4                 in  varchar2  default null
362   ,p_pcd_attribute5                 in  varchar2  default null
363   ,p_pcd_attribute6                 in  varchar2  default null
364   ,p_pcd_attribute7                 in  varchar2  default null
365   ,p_pcd_attribute8                 in  varchar2  default null
366   ,p_pcd_attribute9                 in  varchar2  default null
367   ,p_pcd_attribute10                in  varchar2  default null
368   ,p_pcd_attribute11                in  varchar2  default null
369   ,p_pcd_attribute12                in  varchar2  default null
370   ,p_pcd_attribute13                in  varchar2  default null
371   ,p_pcd_attribute14                in  varchar2  default null
372   ,p_pcd_attribute15                in  varchar2  default null
373   ,p_pcd_attribute16                in  varchar2  default null
374   ,p_pcd_attribute17                in  varchar2  default null
375   ,p_pcd_attribute18                in  varchar2  default null
376   ,p_pcd_attribute19                in  varchar2  default null
377   ,p_pcd_attribute20                in  varchar2  default null
378   ,p_pcd_attribute21                in  varchar2  default null
379   ,p_pcd_attribute22                in  varchar2  default null
380   ,p_pcd_attribute23                in  varchar2  default null
381   ,p_pcd_attribute24                in  varchar2  default null
382   ,p_pcd_attribute25                in  varchar2  default null
383   ,p_pcd_attribute26                in  varchar2  default null
384   ,p_pcd_attribute27                in  varchar2  default null
385   ,p_pcd_attribute28                in  varchar2  default null
386   ,p_pcd_attribute29                in  varchar2  default null
387   ,p_pcd_attribute30                in  varchar2  default null
388   ,p_request_id                     in  number    default null
389   ,p_program_application_id         in  number    default null
390   ,p_program_id                     in  number    default null
391   ,p_program_update_date            in  date      default null
392   ,p_object_version_number          out nocopy number
393   ,p_effective_date                 in  date) is
394   --
395   -- Declare cursors and local variables
396   --
397   l_per_cm_prvdd_id ben_per_cm_prvdd_f.per_cm_prvdd_id%TYPE;
398   l_effective_start_date ben_per_cm_prvdd_f.effective_start_date%TYPE;
399   l_effective_end_date ben_per_cm_prvdd_f.effective_end_date%TYPE;
400   l_proc varchar2(72) := g_package||'create_PER_CM_PRVDD';
401   l_object_version_number ben_per_cm_prvdd_f.object_version_number%TYPE;
402   --
403   cursor c_seq is
404     select ben_per_cm_prvdd_f_s.nextval
405     from   sys.dual;
406   --
407   l_validation_start_date date;
408   l_validation_end_date date;
409   --
410 begin
411   --
412   -- Issue a savepoint if operating in validation only mode
413   --
414   savepoint create_PER_CM_PRVDD;
415   --
416   -- Process Logic
417   --
418   begin
419     --
420     -- Start of API User Hook for the before hook of create_PER_CM_PRVDD
421     --
422     ben_PER_CM_PRVDD_bk1.create_PER_CM_PRVDD_b
423       (p_rqstd_flag                     =>  p_rqstd_flag
424       ,p_per_cm_prvdd_stat_cd           =>  p_per_cm_prvdd_stat_cd
425       ,p_cm_dlvry_med_cd                =>  p_cm_dlvry_med_cd
426       ,p_cm_dlvry_mthd_cd               =>  p_cm_dlvry_mthd_cd
427       ,p_sent_dt                        =>  p_sent_dt
428       ,p_instnc_num                     =>  p_instnc_num
429       ,p_to_be_sent_dt                  =>  p_to_be_sent_dt
430       ,p_dlvry_instn_txt                =>  p_dlvry_instn_txt
431       ,p_inspn_rqd_flag                 =>  p_inspn_rqd_flag
432       ,p_resnd_rsn_cd                   =>  p_resnd_rsn_cd
433       ,p_resnd_cmnt_txt                 =>  p_resnd_cmnt_txt
434       ,p_per_cm_id                      =>  p_per_cm_id
435       ,p_address_id                     =>  p_address_id
436       ,p_business_group_id              =>  p_business_group_id
437       ,p_pcd_attribute_category         =>  p_pcd_attribute_category
438       ,p_pcd_attribute1                 =>  p_pcd_attribute1
439       ,p_pcd_attribute2                 =>  p_pcd_attribute2
440       ,p_pcd_attribute3                 =>  p_pcd_attribute3
441       ,p_pcd_attribute4                 =>  p_pcd_attribute4
442       ,p_pcd_attribute5                 =>  p_pcd_attribute5
443       ,p_pcd_attribute6                 =>  p_pcd_attribute6
444       ,p_pcd_attribute7                 =>  p_pcd_attribute7
445       ,p_pcd_attribute8                 =>  p_pcd_attribute8
446       ,p_pcd_attribute9                 =>  p_pcd_attribute9
447       ,p_pcd_attribute10                =>  p_pcd_attribute10
448       ,p_pcd_attribute11                =>  p_pcd_attribute11
449       ,p_pcd_attribute12                =>  p_pcd_attribute12
450       ,p_pcd_attribute13                =>  p_pcd_attribute13
451       ,p_pcd_attribute14                =>  p_pcd_attribute14
452       ,p_pcd_attribute15                =>  p_pcd_attribute15
453       ,p_pcd_attribute16                =>  p_pcd_attribute16
454       ,p_pcd_attribute17                =>  p_pcd_attribute17
455       ,p_pcd_attribute18                =>  p_pcd_attribute18
456       ,p_pcd_attribute19                =>  p_pcd_attribute19
457       ,p_pcd_attribute20                =>  p_pcd_attribute20
458       ,p_pcd_attribute21                =>  p_pcd_attribute21
459       ,p_pcd_attribute22                =>  p_pcd_attribute22
460       ,p_pcd_attribute23                =>  p_pcd_attribute23
461       ,p_pcd_attribute24                =>  p_pcd_attribute24
462       ,p_pcd_attribute25                =>  p_pcd_attribute25
463       ,p_pcd_attribute26                =>  p_pcd_attribute26
464       ,p_pcd_attribute27                =>  p_pcd_attribute27
465       ,p_pcd_attribute28                =>  p_pcd_attribute28
466       ,p_pcd_attribute29                =>  p_pcd_attribute29
467       ,p_pcd_attribute30                =>  p_pcd_attribute30
468       ,p_request_id                     =>  p_request_id
469       ,p_program_application_id         =>  p_program_application_id
470       ,p_program_id                     =>  p_program_id
471       ,p_program_update_date            =>  p_program_update_date
472       ,p_effective_date                 =>  trunc(p_effective_date));
473     --
474   exception
475     --
476     when hr_api.cannot_find_prog_unit then
477       --
478       hr_api.cannot_find_prog_unit_error
479         (p_module_name => 'CREATE_PER_CM_PRVDD'
480         ,p_hook_type   => 'BP');
481     --
482     -- End of API User Hook for the before hook of create_PER_CM_PRVDD
483     --
484   end;
485   --
486   -- Set sequence
487   --
488   open c_seq;
489     --
490     fetch c_seq into l_per_cm_prvdd_id;
491     --
492   close c_seq;
493   --
494   -- Post insert row handler hook
495   --
496   dt_api.validate_dt_mode
497     (p_effective_date          => p_effective_date,
498      p_datetrack_mode          => 'INSERT',
499      p_base_table_name         => 'ben_per_cm_prvdd_f',
500      p_base_key_column         => 'per_cm_prvdd_id',
501      p_base_key_value          => p_per_cm_prvdd_id,
502      p_parent_table_name1      => 'ben_per_cm_f',
503      p_parent_key_column1      => 'per_cm_id',
504      p_parent_key_value1       => p_per_cm_id,
505      p_enforce_foreign_locking => false,
506      p_validation_start_date   => l_validation_start_date,
507      p_validation_end_date     => l_validation_end_date);
508   --
509   l_effective_start_date := l_validation_start_date;
510   l_effective_end_date := l_validation_end_date;
511   l_object_version_number := 1;
512   --
513   insert into ben_per_cm_prvdd_f
514     (per_cm_prvdd_id
515     ,effective_start_date
516     ,effective_end_date
517     ,rqstd_flag
518     ,per_cm_prvdd_stat_cd
519     ,cm_dlvry_med_cd
520     ,cm_dlvry_mthd_cd
521     ,sent_dt
522     ,instnc_num
523     ,to_be_sent_dt
524     ,dlvry_instn_txt
525     ,inspn_rqd_flag
526     ,resnd_rsn_cd
527     ,resnd_cmnt_txt
528     ,per_cm_id
529     ,address_id
530     ,business_group_id
531     ,pcd_attribute_category
532     ,pcd_attribute1
533     ,pcd_attribute2
534     ,pcd_attribute3
535     ,pcd_attribute4
536     ,pcd_attribute5
537     ,pcd_attribute6
538     ,pcd_attribute7
539     ,pcd_attribute8
540     ,pcd_attribute9
541     ,pcd_attribute10
542     ,pcd_attribute11
543     ,pcd_attribute12
544     ,pcd_attribute13
545     ,pcd_attribute14
546     ,pcd_attribute15
547     ,pcd_attribute16
548     ,pcd_attribute17
549     ,pcd_attribute18
550     ,pcd_attribute19
551     ,pcd_attribute20
552     ,pcd_attribute21
553     ,pcd_attribute22
554     ,pcd_attribute23
555     ,pcd_attribute24
556     ,pcd_attribute25
557     ,pcd_attribute26
558     ,pcd_attribute27
559     ,pcd_attribute28
560     ,pcd_attribute29
561     ,pcd_attribute30
562     ,request_id
563     ,program_application_id
564     ,program_id
565     ,program_update_date
566     ,object_version_number)
567   values
568     (l_per_cm_prvdd_id
569     ,l_effective_start_date
570     ,l_effective_end_date
571     ,p_rqstd_flag
572     ,p_per_cm_prvdd_stat_cd
573     ,p_cm_dlvry_med_cd
574     ,p_cm_dlvry_mthd_cd
575     ,p_sent_dt
576     ,p_instnc_num
577     ,p_to_be_sent_dt
578     ,p_dlvry_instn_txt
579     ,p_inspn_rqd_flag
580     ,p_resnd_rsn_cd
581     ,p_resnd_cmnt_txt
582     ,p_per_cm_id
583     ,p_address_id
584     ,p_business_group_id
585     ,p_pcd_attribute_category
586     ,p_pcd_attribute1
587     ,p_pcd_attribute2
588     ,p_pcd_attribute3
589     ,p_pcd_attribute4
590     ,p_pcd_attribute5
591     ,p_pcd_attribute6
592     ,p_pcd_attribute7
593     ,p_pcd_attribute8
594     ,p_pcd_attribute9
595     ,p_pcd_attribute10
596     ,p_pcd_attribute11
597     ,p_pcd_attribute12
598     ,p_pcd_attribute13
599     ,p_pcd_attribute14
600     ,p_pcd_attribute15
601     ,p_pcd_attribute16
602     ,p_pcd_attribute17
603     ,p_pcd_attribute18
604     ,p_pcd_attribute19
605     ,p_pcd_attribute20
606     ,p_pcd_attribute21
607     ,p_pcd_attribute22
608     ,p_pcd_attribute23
609     ,p_pcd_attribute24
610     ,p_pcd_attribute25
611     ,p_pcd_attribute26
612     ,p_pcd_attribute27
613     ,p_pcd_attribute28
614     ,p_pcd_attribute29
615     ,p_pcd_attribute30
616     ,p_request_id
617     ,p_program_application_id
618     ,p_program_id
619     ,p_program_update_date
620     ,l_object_version_number);
621   --
622   -- Start of API User Hook for post_insert.
623   --
624   begin
625     --
626     ben_pcd_rki.after_insert
627       (p_per_cm_prvdd_id               =>l_per_cm_prvdd_id
628       ,p_effective_start_date          =>l_effective_start_date
629       ,p_effective_end_date            =>l_effective_end_date
630       ,p_rqstd_flag                    =>p_rqstd_flag
631       ,p_inspn_rqd_flag                =>p_inspn_rqd_flag
632       ,p_resnd_rsn_cd                  =>p_resnd_rsn_cd
633       ,p_resnd_cmnt_txt                =>p_resnd_cmnt_txt
634       ,p_per_cm_prvdd_stat_cd          =>p_per_cm_prvdd_stat_cd
635       ,p_cm_dlvry_med_cd               =>p_cm_dlvry_med_cd
636       ,p_cm_dlvry_mthd_cd              =>p_cm_dlvry_mthd_cd
637       ,p_sent_dt                       =>p_sent_dt
638       ,p_instnc_num                    =>p_instnc_num
639       ,p_to_be_sent_dt                 =>p_to_be_sent_dt
640       ,p_dlvry_instn_txt               =>p_dlvry_instn_txt
641       ,p_per_cm_id                     =>p_per_cm_id
642       ,p_address_id                    =>p_address_id
643       ,p_business_group_id             =>p_business_group_id
644       ,p_pcd_attribute_category        =>p_pcd_attribute_category
645       ,p_pcd_attribute1                =>p_pcd_attribute1
646       ,p_pcd_attribute2                =>p_pcd_attribute2
647       ,p_pcd_attribute3                =>p_pcd_attribute3
648       ,p_pcd_attribute4                =>p_pcd_attribute4
649       ,p_pcd_attribute5                =>p_pcd_attribute5
650       ,p_pcd_attribute6                =>p_pcd_attribute6
651       ,p_pcd_attribute7                =>p_pcd_attribute7
652       ,p_pcd_attribute8                =>p_pcd_attribute8
653       ,p_pcd_attribute9                =>p_pcd_attribute9
654       ,p_pcd_attribute10               =>p_pcd_attribute10
655       ,p_pcd_attribute11               =>p_pcd_attribute11
656       ,p_pcd_attribute12               =>p_pcd_attribute12
657       ,p_pcd_attribute13               =>p_pcd_attribute13
658       ,p_pcd_attribute14               =>p_pcd_attribute14
659       ,p_pcd_attribute15               =>p_pcd_attribute15
660       ,p_pcd_attribute16               =>p_pcd_attribute16
661       ,p_pcd_attribute17               =>p_pcd_attribute17
662       ,p_pcd_attribute18               =>p_pcd_attribute18
663       ,p_pcd_attribute19               =>p_pcd_attribute19
664       ,p_pcd_attribute20               =>p_pcd_attribute20
665       ,p_pcd_attribute21               =>p_pcd_attribute21
666       ,p_pcd_attribute22               =>p_pcd_attribute22
667       ,p_pcd_attribute23               =>p_pcd_attribute23
668       ,p_pcd_attribute24               =>p_pcd_attribute24
669       ,p_pcd_attribute25               =>p_pcd_attribute25
670       ,p_pcd_attribute26               =>p_pcd_attribute26
671       ,p_pcd_attribute27               =>p_pcd_attribute27
672       ,p_pcd_attribute28               =>p_pcd_attribute28
673       ,p_pcd_attribute29               =>p_pcd_attribute29
674       ,p_pcd_attribute30               =>p_pcd_attribute30
675       ,p_request_id                    =>p_request_id
676       ,p_program_application_id        =>p_program_application_id
677       ,p_program_id                    =>p_program_id
678       ,p_program_update_date           =>p_program_update_date
679       ,p_object_version_number         =>l_object_version_number
680       ,p_effective_date                =>p_effective_date
681       ,p_validation_start_date         =>l_validation_start_date
682       ,p_validation_end_date           =>l_validation_end_date);
683     --
684   exception
685     --
686      when hr_api.cannot_find_prog_unit then
687       --
688       hr_api.cannot_find_prog_unit_error
689         (p_module_name => 'ben_per_cm_prvdd_f'
690         ,p_hook_type   => 'AI');
691       --
692   end;
693   --
694   begin
695     --
696     -- Start of API User Hook for the after hook of create_PER_CM_PRVDD
697     --
698     ben_PER_CM_PRVDD_bk1.create_PER_CM_PRVDD_a
699       (p_per_cm_prvdd_id                =>  l_per_cm_prvdd_id
700       ,p_effective_start_date           =>  l_effective_start_date
701       ,p_effective_end_date             =>  l_effective_end_date
702       ,p_rqstd_flag                     =>  p_rqstd_flag
703       ,p_per_cm_prvdd_stat_cd           =>  p_per_cm_prvdd_stat_cd
704       ,p_cm_dlvry_med_cd                =>  p_cm_dlvry_med_cd
705       ,p_cm_dlvry_mthd_cd               =>  p_cm_dlvry_mthd_cd
706       ,p_sent_dt                        =>  p_sent_dt
707       ,p_instnc_num                     =>  p_instnc_num
708       ,p_to_be_sent_dt                  =>  p_to_be_sent_dt
709       ,p_dlvry_instn_txt                =>  p_dlvry_instn_txt
710       ,p_inspn_rqd_flag                 =>  p_inspn_rqd_flag
711       ,p_resnd_rsn_cd                   =>  p_resnd_rsn_cd
712       ,p_resnd_cmnt_txt                 =>  p_resnd_cmnt_txt
713       ,p_per_cm_id                      =>  p_per_cm_id
714       ,p_address_id                     =>  p_address_id
715       ,p_business_group_id              =>  p_business_group_id
716       ,p_pcd_attribute_category         =>  p_pcd_attribute_category
717       ,p_pcd_attribute1                 =>  p_pcd_attribute1
718       ,p_pcd_attribute2                 =>  p_pcd_attribute2
719       ,p_pcd_attribute3                 =>  p_pcd_attribute3
720       ,p_pcd_attribute4                 =>  p_pcd_attribute4
721       ,p_pcd_attribute5                 =>  p_pcd_attribute5
722       ,p_pcd_attribute6                 =>  p_pcd_attribute6
723       ,p_pcd_attribute7                 =>  p_pcd_attribute7
724       ,p_pcd_attribute8                 =>  p_pcd_attribute8
725       ,p_pcd_attribute9                 =>  p_pcd_attribute9
726       ,p_pcd_attribute10                =>  p_pcd_attribute10
727       ,p_pcd_attribute11                =>  p_pcd_attribute11
728       ,p_pcd_attribute12                =>  p_pcd_attribute12
729       ,p_pcd_attribute13                =>  p_pcd_attribute13
730       ,p_pcd_attribute14                =>  p_pcd_attribute14
731       ,p_pcd_attribute15                =>  p_pcd_attribute15
732       ,p_pcd_attribute16                =>  p_pcd_attribute16
733       ,p_pcd_attribute17                =>  p_pcd_attribute17
734       ,p_pcd_attribute18                =>  p_pcd_attribute18
735       ,p_pcd_attribute19                =>  p_pcd_attribute19
736       ,p_pcd_attribute20                =>  p_pcd_attribute20
737       ,p_pcd_attribute21                =>  p_pcd_attribute21
738       ,p_pcd_attribute22                =>  p_pcd_attribute22
739       ,p_pcd_attribute23                =>  p_pcd_attribute23
740       ,p_pcd_attribute24                =>  p_pcd_attribute24
741       ,p_pcd_attribute25                =>  p_pcd_attribute25
742       ,p_pcd_attribute26                =>  p_pcd_attribute26
743       ,p_pcd_attribute27                =>  p_pcd_attribute27
744       ,p_pcd_attribute28                =>  p_pcd_attribute28
745       ,p_pcd_attribute29                =>  p_pcd_attribute29
746       ,p_pcd_attribute30                =>  p_pcd_attribute30
747       ,p_request_id                     =>  p_request_id
748       ,p_program_application_id         =>  p_program_application_id
749       ,p_program_id                     =>  p_program_id
750       ,p_program_update_date            =>  p_program_update_date
751       ,p_object_version_number          =>  l_object_version_number
752       ,p_effective_date                 =>  trunc(p_effective_date));
753     --
754   exception
755     --
756     when hr_api.cannot_find_prog_unit then
757       --
758       hr_api.cannot_find_prog_unit_error
759         (p_module_name => 'CREATE_PER_CM_PRVDD'
760         ,p_hook_type   => 'AP');
761     --
762     -- End of API User Hook for the after hook of create_PER_CM_PRVDD
763     --
764   end;
765   --
766   -- When in validation only mode raise the Validate_Enabled exception
767   --
768   if p_validate then
769     raise hr_api.validate_enabled;
770   end if;
771   --
772   -- Set all output arguments
773   --
774   p_per_cm_prvdd_id := l_per_cm_prvdd_id;
775   p_effective_start_date := l_effective_start_date;
776   p_effective_end_date := l_effective_end_date;
777   p_object_version_number := l_object_version_number;
778   --
779 exception
780   --
781   when hr_api.validate_enabled then
782     --
783     -- As the Validate_Enabled exception has been raised
784     -- we must rollback to the savepoint
785     --
786     ROLLBACK TO create_PER_CM_PRVDD;
787     --
788     -- Only set output warning arguments
789     -- (Any key or derived arguments must be set to null
790     -- when validation only mode is being used.)
791     --
792     p_per_cm_prvdd_id := null;
793     p_effective_start_date := null;
794     p_effective_end_date := null;
795     p_object_version_number  := null;
796     --
797   when others then
798     --
799     -- A validation or unexpected error has occured
800     --
801     ROLLBACK TO create_PER_CM_PRVDD;
802     p_per_cm_prvdd_id := null;
803     p_effective_start_date := null;
804     p_effective_end_date := null;
805     p_object_version_number  := null;
806     raise;
807     --
808 end create_PER_CM_PRVDD_perf;
809 -- ----------------------------------------------------------------------------
810 -- |------------------------< update_PER_CM_PRVDD >---------------------------|
811 -- ----------------------------------------------------------------------------
812 --
813 procedure update_PER_CM_PRVDD
814   (p_validate                       in  boolean   default false
815   ,p_per_cm_prvdd_id                in  number
816   ,p_effective_start_date           out nocopy date
817   ,p_effective_end_date             out nocopy date
818   ,p_rqstd_flag                     in  varchar2  default hr_api.g_varchar2
819   ,p_per_cm_prvdd_stat_cd           in  varchar2  default hr_api.g_varchar2
820   ,p_cm_dlvry_med_cd                in  varchar2  default hr_api.g_varchar2
821   ,p_cm_dlvry_mthd_cd               in  varchar2  default hr_api.g_varchar2
822   ,p_sent_dt                        in  date      default hr_api.g_date
823   ,p_instnc_num                     in  number    default hr_api.g_number
824   ,p_to_be_sent_dt                  in  date      default hr_api.g_date
825   ,p_dlvry_instn_txt                in  varchar2  default hr_api.g_varchar2
826   ,p_inspn_rqd_flag                 in  varchar2  default hr_api.g_varchar2
827   ,p_resnd_rsn_cd                   in  varchar2  default hr_api.g_varchar2
828   ,p_resnd_cmnt_txt                 in  varchar2  default hr_api.g_varchar2
829   ,p_per_cm_id                      in  number    default hr_api.g_number
830   ,p_address_id                     in  number    default hr_api.g_number
831   ,p_business_group_id              in  number    default hr_api.g_number
832   ,p_pcd_attribute_category         in  varchar2  default hr_api.g_varchar2
833   ,p_pcd_attribute1                 in  varchar2  default hr_api.g_varchar2
834   ,p_pcd_attribute2                 in  varchar2  default hr_api.g_varchar2
835   ,p_pcd_attribute3                 in  varchar2  default hr_api.g_varchar2
836   ,p_pcd_attribute4                 in  varchar2  default hr_api.g_varchar2
837   ,p_pcd_attribute5                 in  varchar2  default hr_api.g_varchar2
838   ,p_pcd_attribute6                 in  varchar2  default hr_api.g_varchar2
839   ,p_pcd_attribute7                 in  varchar2  default hr_api.g_varchar2
840   ,p_pcd_attribute8                 in  varchar2  default hr_api.g_varchar2
841   ,p_pcd_attribute9                 in  varchar2  default hr_api.g_varchar2
842   ,p_pcd_attribute10                in  varchar2  default hr_api.g_varchar2
843   ,p_pcd_attribute11                in  varchar2  default hr_api.g_varchar2
844   ,p_pcd_attribute12                in  varchar2  default hr_api.g_varchar2
845   ,p_pcd_attribute13                in  varchar2  default hr_api.g_varchar2
846   ,p_pcd_attribute14                in  varchar2  default hr_api.g_varchar2
847   ,p_pcd_attribute15                in  varchar2  default hr_api.g_varchar2
848   ,p_pcd_attribute16                in  varchar2  default hr_api.g_varchar2
849   ,p_pcd_attribute17                in  varchar2  default hr_api.g_varchar2
850   ,p_pcd_attribute18                in  varchar2  default hr_api.g_varchar2
851   ,p_pcd_attribute19                in  varchar2  default hr_api.g_varchar2
852   ,p_pcd_attribute20                in  varchar2  default hr_api.g_varchar2
853   ,p_pcd_attribute21                in  varchar2  default hr_api.g_varchar2
854   ,p_pcd_attribute22                in  varchar2  default hr_api.g_varchar2
855   ,p_pcd_attribute23                in  varchar2  default hr_api.g_varchar2
856   ,p_pcd_attribute24                in  varchar2  default hr_api.g_varchar2
857   ,p_pcd_attribute25                in  varchar2  default hr_api.g_varchar2
858   ,p_pcd_attribute26                in  varchar2  default hr_api.g_varchar2
859   ,p_pcd_attribute27                in  varchar2  default hr_api.g_varchar2
860   ,p_pcd_attribute28                in  varchar2  default hr_api.g_varchar2
861   ,p_pcd_attribute29                in  varchar2  default hr_api.g_varchar2
862   ,p_pcd_attribute30                in  varchar2  default hr_api.g_varchar2
863   ,p_request_id                     in  number    default hr_api.g_number
864   ,p_program_application_id         in  number    default hr_api.g_number
865   ,p_program_id                     in  number    default hr_api.g_number
866   ,p_program_update_date            in  date      default hr_api.g_date
867   ,p_object_version_number          in out nocopy number
868   ,p_effective_date                 in  date
869   ,p_datetrack_mode                 in  varchar2) is
870   --
871   -- Declare cursors and local variables
872   --
873   l_proc varchar2(72) := g_package||'update_PER_CM_PRVDD';
874   l_object_version_number ben_per_cm_prvdd_f.object_version_number%TYPE;
875   l_effective_start_date ben_per_cm_prvdd_f.effective_start_date%TYPE;
876   l_effective_end_date ben_per_cm_prvdd_f.effective_end_date%TYPE;
877   --
878 begin
879   --
880   hr_utility.set_location('Entering:'|| l_proc, 10);
881   --
882   -- Issue a savepoint if operating in validation only mode
883   --
884   savepoint update_PER_CM_PRVDD;
885   --
886   hr_utility.set_location(l_proc, 20);
887   --
888   -- Process Logic
889   --
890   l_object_version_number := p_object_version_number;
891   --
892   begin
893     --
894     -- Start of API User Hook for the before hook of update_PER_CM_PRVDD
895     --
896     ben_PER_CM_PRVDD_bk2.update_PER_CM_PRVDD_b
897       (p_per_cm_prvdd_id                =>  p_per_cm_prvdd_id
898       ,p_rqstd_flag                     =>  p_rqstd_flag
899       ,p_per_cm_prvdd_stat_cd           =>  p_per_cm_prvdd_stat_cd
900       ,p_cm_dlvry_med_cd                =>  p_cm_dlvry_med_cd
901       ,p_cm_dlvry_mthd_cd               =>  p_cm_dlvry_mthd_cd
902       ,p_sent_dt                        =>  p_sent_dt
903       ,p_instnc_num                     =>  p_instnc_num
904       ,p_to_be_sent_dt                  =>  p_to_be_sent_dt
905       ,p_dlvry_instn_txt                =>  p_dlvry_instn_txt
906       ,p_inspn_rqd_flag                 =>  p_inspn_rqd_flag
907       ,p_resnd_rsn_cd                   =>  p_resnd_rsn_cd
908       ,p_resnd_cmnt_txt                 =>  p_resnd_cmnt_txt
909       ,p_per_cm_id                      =>  p_per_cm_id
910       ,p_address_id                     =>  p_address_id
911       ,p_business_group_id              =>  p_business_group_id
912       ,p_pcd_attribute_category         =>  p_pcd_attribute_category
913       ,p_pcd_attribute1                 =>  p_pcd_attribute1
914       ,p_pcd_attribute2                 =>  p_pcd_attribute2
915       ,p_pcd_attribute3                 =>  p_pcd_attribute3
916       ,p_pcd_attribute4                 =>  p_pcd_attribute4
917       ,p_pcd_attribute5                 =>  p_pcd_attribute5
918       ,p_pcd_attribute6                 =>  p_pcd_attribute6
919       ,p_pcd_attribute7                 =>  p_pcd_attribute7
920       ,p_pcd_attribute8                 =>  p_pcd_attribute8
921       ,p_pcd_attribute9                 =>  p_pcd_attribute9
922       ,p_pcd_attribute10                =>  p_pcd_attribute10
923       ,p_pcd_attribute11                =>  p_pcd_attribute11
924       ,p_pcd_attribute12                =>  p_pcd_attribute12
925       ,p_pcd_attribute13                =>  p_pcd_attribute13
926       ,p_pcd_attribute14                =>  p_pcd_attribute14
927       ,p_pcd_attribute15                =>  p_pcd_attribute15
928       ,p_pcd_attribute16                =>  p_pcd_attribute16
929       ,p_pcd_attribute17                =>  p_pcd_attribute17
930       ,p_pcd_attribute18                =>  p_pcd_attribute18
931       ,p_pcd_attribute19                =>  p_pcd_attribute19
932       ,p_pcd_attribute20                =>  p_pcd_attribute20
933       ,p_pcd_attribute21                =>  p_pcd_attribute21
934       ,p_pcd_attribute22                =>  p_pcd_attribute22
935       ,p_pcd_attribute23                =>  p_pcd_attribute23
936       ,p_pcd_attribute24                =>  p_pcd_attribute24
937       ,p_pcd_attribute25                =>  p_pcd_attribute25
938       ,p_pcd_attribute26                =>  p_pcd_attribute26
939       ,p_pcd_attribute27                =>  p_pcd_attribute27
940       ,p_pcd_attribute28                =>  p_pcd_attribute28
941       ,p_pcd_attribute29                =>  p_pcd_attribute29
942       ,p_pcd_attribute30                =>  p_pcd_attribute30
943       ,p_request_id                     =>  p_request_id
944       ,p_program_application_id         =>  p_program_application_id
945       ,p_program_id                     =>  p_program_id
946       ,p_program_update_date            =>  p_program_update_date
947       ,p_object_version_number          =>  p_object_version_number
948       ,p_effective_date                 =>  trunc(p_effective_date)
949       ,p_datetrack_mode                 =>  p_datetrack_mode);
950     --
951   exception
952     --
953     when hr_api.cannot_find_prog_unit then
954       --
955       hr_api.cannot_find_prog_unit_error
956         (p_module_name => 'UPDATE_PER_CM_PRVDD'
957         ,p_hook_type   => 'BP');
958     --
959     -- End of API User Hook for the before hook of update_PER_CM_PRVDD
960     --
961   end;
962   --
963   ben_pcd_upd.upd
964     (p_per_cm_prvdd_id               => p_per_cm_prvdd_id
965     ,p_effective_start_date          => l_effective_start_date
966     ,p_effective_end_date            => l_effective_end_date
967     ,p_rqstd_flag                    => p_rqstd_flag
968     ,p_per_cm_prvdd_stat_cd          => p_per_cm_prvdd_stat_cd
969     ,p_cm_dlvry_med_cd               => p_cm_dlvry_med_cd
970     ,p_cm_dlvry_mthd_cd              => p_cm_dlvry_mthd_cd
971     ,p_sent_dt                       => p_sent_dt
972     ,p_instnc_num                    => p_instnc_num
973     ,p_to_be_sent_dt                 => p_to_be_sent_dt
974     ,p_dlvry_instn_txt               => p_dlvry_instn_txt
975     ,p_inspn_rqd_flag                => p_inspn_rqd_flag
976     ,p_resnd_rsn_cd                  => p_resnd_rsn_cd
977     ,p_resnd_cmnt_txt                => p_resnd_cmnt_txt
978     ,p_per_cm_id                     => p_per_cm_id
979     ,p_address_id                    => p_address_id
980     ,p_business_group_id             => p_business_group_id
981     ,p_pcd_attribute_category        => p_pcd_attribute_category
982     ,p_pcd_attribute1                => p_pcd_attribute1
983     ,p_pcd_attribute2                => p_pcd_attribute2
984     ,p_pcd_attribute3                => p_pcd_attribute3
985     ,p_pcd_attribute4                => p_pcd_attribute4
986     ,p_pcd_attribute5                => p_pcd_attribute5
987     ,p_pcd_attribute6                => p_pcd_attribute6
988     ,p_pcd_attribute7                => p_pcd_attribute7
989     ,p_pcd_attribute8                => p_pcd_attribute8
990     ,p_pcd_attribute9                => p_pcd_attribute9
991     ,p_pcd_attribute10               => p_pcd_attribute10
992     ,p_pcd_attribute11               => p_pcd_attribute11
993     ,p_pcd_attribute12               => p_pcd_attribute12
994     ,p_pcd_attribute13               => p_pcd_attribute13
995     ,p_pcd_attribute14               => p_pcd_attribute14
996     ,p_pcd_attribute15               => p_pcd_attribute15
997     ,p_pcd_attribute16               => p_pcd_attribute16
998     ,p_pcd_attribute17               => p_pcd_attribute17
999     ,p_pcd_attribute18               => p_pcd_attribute18
1000     ,p_pcd_attribute19               => p_pcd_attribute19
1001     ,p_pcd_attribute20               => p_pcd_attribute20
1002     ,p_pcd_attribute21               => p_pcd_attribute21
1003     ,p_pcd_attribute22               => p_pcd_attribute22
1004     ,p_pcd_attribute23               => p_pcd_attribute23
1005     ,p_pcd_attribute24               => p_pcd_attribute24
1006     ,p_pcd_attribute25               => p_pcd_attribute25
1007     ,p_pcd_attribute26               => p_pcd_attribute26
1008     ,p_pcd_attribute27               => p_pcd_attribute27
1009     ,p_pcd_attribute28               => p_pcd_attribute28
1010     ,p_pcd_attribute29               => p_pcd_attribute29
1011     ,p_pcd_attribute30               => p_pcd_attribute30
1012     ,p_request_id                    => p_request_id
1013     ,p_program_application_id        => p_program_application_id
1014     ,p_program_id                    => p_program_id
1015     ,p_program_update_date           => p_program_update_date
1016     ,p_object_version_number         => l_object_version_number
1017     ,p_effective_date                => trunc(p_effective_date)
1018     ,p_datetrack_mode                => p_datetrack_mode);
1019   --
1020   begin
1021     --
1022     -- Start of API User Hook for the after hook of update_PER_CM_PRVDD
1023     --
1024     ben_PER_CM_PRVDD_bk2.update_PER_CM_PRVDD_a
1025       (p_per_cm_prvdd_id                =>  p_per_cm_prvdd_id
1026       ,p_effective_start_date           =>  l_effective_start_date
1027       ,p_effective_end_date             =>  l_effective_end_date
1028       ,p_rqstd_flag                     =>  p_rqstd_flag
1029       ,p_per_cm_prvdd_stat_cd           =>  p_per_cm_prvdd_stat_cd
1030       ,p_cm_dlvry_med_cd                =>  p_cm_dlvry_med_cd
1031       ,p_cm_dlvry_mthd_cd               =>  p_cm_dlvry_mthd_cd
1032       ,p_sent_dt                        =>  p_sent_dt
1033       ,p_instnc_num                     =>  p_instnc_num
1034       ,p_to_be_sent_dt                  =>  p_to_be_sent_dt
1035       ,p_dlvry_instn_txt                =>  p_dlvry_instn_txt
1036       ,p_inspn_rqd_flag                 =>  p_inspn_rqd_flag
1037       ,p_resnd_rsn_cd                   =>  p_resnd_rsn_cd
1038       ,p_resnd_cmnt_txt                 =>  p_resnd_cmnt_txt
1039       ,p_per_cm_id                      =>  p_per_cm_id
1040       ,p_address_id                     =>  p_address_id
1041       ,p_business_group_id              =>  p_business_group_id
1042       ,p_pcd_attribute_category         =>  p_pcd_attribute_category
1043       ,p_pcd_attribute1                 =>  p_pcd_attribute1
1044       ,p_pcd_attribute2                 =>  p_pcd_attribute2
1045       ,p_pcd_attribute3                 =>  p_pcd_attribute3
1046       ,p_pcd_attribute4                 =>  p_pcd_attribute4
1047       ,p_pcd_attribute5                 =>  p_pcd_attribute5
1048       ,p_pcd_attribute6                 =>  p_pcd_attribute6
1049       ,p_pcd_attribute7                 =>  p_pcd_attribute7
1050       ,p_pcd_attribute8                 =>  p_pcd_attribute8
1051       ,p_pcd_attribute9                 =>  p_pcd_attribute9
1052       ,p_pcd_attribute10                =>  p_pcd_attribute10
1053       ,p_pcd_attribute11                =>  p_pcd_attribute11
1054       ,p_pcd_attribute12                =>  p_pcd_attribute12
1055       ,p_pcd_attribute13                =>  p_pcd_attribute13
1056       ,p_pcd_attribute14                =>  p_pcd_attribute14
1057       ,p_pcd_attribute15                =>  p_pcd_attribute15
1058       ,p_pcd_attribute16                =>  p_pcd_attribute16
1059       ,p_pcd_attribute17                =>  p_pcd_attribute17
1060       ,p_pcd_attribute18                =>  p_pcd_attribute18
1061       ,p_pcd_attribute19                =>  p_pcd_attribute19
1062       ,p_pcd_attribute20                =>  p_pcd_attribute20
1063       ,p_pcd_attribute21                =>  p_pcd_attribute21
1064       ,p_pcd_attribute22                =>  p_pcd_attribute22
1065       ,p_pcd_attribute23                =>  p_pcd_attribute23
1066       ,p_pcd_attribute24                =>  p_pcd_attribute24
1067       ,p_pcd_attribute25                =>  p_pcd_attribute25
1068       ,p_pcd_attribute26                =>  p_pcd_attribute26
1069       ,p_pcd_attribute27                =>  p_pcd_attribute27
1070       ,p_pcd_attribute28                =>  p_pcd_attribute28
1071       ,p_pcd_attribute29                =>  p_pcd_attribute29
1072       ,p_pcd_attribute30                =>  p_pcd_attribute30
1073       ,p_request_id                     =>  p_request_id
1074       ,p_program_application_id         =>  p_program_application_id
1075       ,p_program_id                     =>  p_program_id
1076       ,p_program_update_date            =>  p_program_update_date
1077       ,p_object_version_number          =>  l_object_version_number
1078       ,p_effective_date                 =>  trunc(p_effective_date)
1079       ,p_datetrack_mode                 =>  p_datetrack_mode);
1080     --
1081   exception
1082     --
1083     when hr_api.cannot_find_prog_unit then
1084       --
1085       hr_api.cannot_find_prog_unit_error
1086         (p_module_name => 'UPDATE_PER_CM_PRVDD'
1087         ,p_hook_type   => 'AP');
1088     --
1089     -- End of API User Hook for the after hook of update_PER_CM_PRVDD
1090     --
1091   end;
1092   --
1093   hr_utility.set_location(l_proc, 60);
1094   --
1095   -- When in validation only mode raise the Validate_Enabled exception
1096   --
1097   if p_validate then
1098     raise hr_api.validate_enabled;
1099   end if;
1100   --
1101   -- Set all output arguments
1102   --
1103   p_object_version_number := l_object_version_number;
1104   p_effective_start_date := l_effective_start_date;
1105   p_effective_end_date := l_effective_end_date;
1106   --
1107   hr_utility.set_location(' Leaving:'||l_proc, 70);
1108   --
1109 exception
1110   --
1111   when hr_api.validate_enabled then
1112     --
1113     -- As the Validate_Enabled exception has been raised
1114     -- we must rollback to the savepoint
1115     --
1116     ROLLBACK TO update_PER_CM_PRVDD;
1117     --
1118     -- Only set output warning arguments
1119     -- (Any key or derived arguments must be set to null
1120     -- when validation only mode is being used.)
1121     --
1122     hr_utility.set_location(' Leaving:'||l_proc, 80);
1123     --
1124   when others then
1125     --
1126     -- A validation or unexpected error has occured
1127     --
1128     ROLLBACK TO update_PER_CM_PRVDD;
1129     p_effective_start_date := null;
1130     p_effective_end_date := null;
1131     hr_utility.set_location(' Leaving:'||l_proc, 90);
1132     raise;
1133     --
1134 end update_PER_CM_PRVDD;
1135 -- ----------------------------------------------------------------------------
1136 -- |------------------------< delete_PER_CM_PRVDD >---------------------------|
1137 -- ----------------------------------------------------------------------------
1138 --
1139 procedure delete_PER_CM_PRVDD
1140   (p_validate                       in  boolean  default false
1141   ,p_per_cm_prvdd_id                in  number
1142   ,p_effective_start_date           out nocopy date
1143   ,p_effective_end_date             out nocopy date
1144   ,p_object_version_number          in out nocopy number
1145   ,p_effective_date                 in  date
1146   ,p_datetrack_mode                 in  varchar2) is
1147   --
1148   -- Declare cursors and local variables
1149   --
1150   l_proc varchar2(72) := g_package||'update_PER_CM_PRVDD';
1151   l_object_version_number ben_per_cm_prvdd_f.object_version_number%TYPE;
1152   l_effective_start_date ben_per_cm_prvdd_f.effective_start_date%TYPE;
1153   l_effective_end_date ben_per_cm_prvdd_f.effective_end_date%TYPE;
1154   --
1155 begin
1156   --
1157   hr_utility.set_location('Entering:'|| l_proc, 10);
1158   --
1159   -- Issue a savepoint if operating in validation only mode
1160   --
1161   savepoint delete_PER_CM_PRVDD;
1162   --
1163   hr_utility.set_location(l_proc, 20);
1164   --
1165   -- Process Logic
1166   --
1167   l_object_version_number := p_object_version_number;
1168   --
1169   begin
1170     --
1171     -- Start of API User Hook for the before hook of delete_PER_CM_PRVDD
1172     --
1173     ben_PER_CM_PRVDD_bk3.delete_PER_CM_PRVDD_b
1174       (p_per_cm_prvdd_id                =>  p_per_cm_prvdd_id
1175       ,p_object_version_number          =>  p_object_version_number
1176       ,p_effective_date                 =>  trunc(p_effective_date)
1177       ,p_datetrack_mode                 =>  p_datetrack_mode);
1178     --
1179   exception
1180     --
1181     when hr_api.cannot_find_prog_unit then
1182       --
1183       hr_api.cannot_find_prog_unit_error
1184         (p_module_name => 'DELETE_PER_CM_PRVDD'
1185         ,p_hook_type   => 'BP');
1186     --
1187     -- End of API User Hook for the before hook of delete_PER_CM_PRVDD
1188     --
1189   end;
1190   --
1191   ben_pcd_del.del
1192     (p_per_cm_prvdd_id               => p_per_cm_prvdd_id
1193     ,p_effective_start_date          => l_effective_start_date
1194     ,p_effective_end_date            => l_effective_end_date
1195     ,p_object_version_number         => l_object_version_number
1196     ,p_effective_date                => p_effective_date
1197     ,p_datetrack_mode                => p_datetrack_mode);
1198   --
1199   begin
1200     --
1201     -- Start of API User Hook for the after hook of delete_PER_CM_PRVDD
1202     --
1203     ben_PER_CM_PRVDD_bk3.delete_PER_CM_PRVDD_a
1204       (p_per_cm_prvdd_id                =>  p_per_cm_prvdd_id
1205       ,p_effective_start_date           =>  l_effective_start_date
1206       ,p_effective_end_date             =>  l_effective_end_date
1207       ,p_object_version_number          =>  l_object_version_number
1208       ,p_effective_date                 =>  trunc(p_effective_date)
1209       ,p_datetrack_mode                 =>  p_datetrack_mode);
1210     --
1211   exception
1212     --
1213     when hr_api.cannot_find_prog_unit then
1214       --
1215       hr_api.cannot_find_prog_unit_error
1216         (p_module_name => 'DELETE_PER_CM_PRVDD'
1217         ,p_hook_type   => 'AP');
1218     --
1219     -- End of API User Hook for the after hook of delete_PER_CM_PRVDD
1220     --
1221   end;
1222   --
1223   hr_utility.set_location(l_proc, 60);
1224   --
1225   -- When in validation only mode raise the Validate_Enabled exception
1226   --
1227   if p_validate then
1228     raise hr_api.validate_enabled;
1229   end if;
1230   --
1231   hr_utility.set_location(' Leaving:'||l_proc, 70);
1232   --
1233 exception
1234   --
1235   when hr_api.validate_enabled then
1236     --
1237     -- As the Validate_Enabled exception has been raised
1238     -- we must rollback to the savepoint
1239     --
1240     ROLLBACK TO delete_PER_CM_PRVDD;
1241     --
1242     -- Only set output warning arguments
1243     -- (Any key or derived arguments must be set to null
1244     -- when validation only mode is being used.)
1245     --
1246     p_effective_start_date := null;
1247     p_effective_end_date := null;
1248     --
1249   when others then
1250     --
1251     -- A validation or unexpected error has occured
1252     --
1253     ROLLBACK TO delete_PER_CM_PRVDD;
1254     p_effective_start_date := null;
1255     p_effective_end_date := null;
1256     raise;
1257     --
1258 end delete_PER_CM_PRVDD;
1259 --
1260 -- ----------------------------------------------------------------------------
1261 -- |-------------------------------< lck >------------------------------------|
1262 -- ----------------------------------------------------------------------------
1263 --
1264 procedure lck
1265   (p_per_cm_prvdd_id                in     number
1266   ,p_object_version_number          in     number
1267   ,p_effective_date                 in     date
1268   ,p_datetrack_mode                 in     varchar2
1269   ,p_validation_start_date          out nocopy    date
1270   ,p_validation_end_date            out nocopy    date) is
1271   --
1272   -- Declare cursors and local variables
1273   --
1274   l_proc varchar2(72) := g_package||'lck';
1275   l_validation_start_date date;
1276   l_validation_end_date date;
1277   --
1278 begin
1279   --
1280   hr_utility.set_location('Entering:'|| l_proc, 10);
1281   --
1282   ben_pcd_shd.lck
1283     (p_per_cm_prvdd_id            => p_per_cm_prvdd_id
1284     ,p_validation_start_date      => l_validation_start_date
1285     ,p_validation_end_date        => l_validation_end_date
1286     ,p_object_version_number      => p_object_version_number
1287     ,p_effective_date             => p_effective_date
1288     ,p_datetrack_mode             => p_datetrack_mode);
1289   --
1290   hr_utility.set_location(' Leaving:'||l_proc, 70);
1291   --
1292 end lck;
1293 --
1294 end ben_PER_CM_PRVDD_api;