DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PL_PRMRY_CARE_PRVDR_API

Source


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