DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PIL_ELCTBL_CHC_POPL_SWI

Source


1 Package Body ben_pil_elctbl_chc_popl_swi As
2 /* $Header: bepelswi.pkb 115.0 2003/03/10 15:20:42 aupadhya noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ben_pil_elctbl_chc_popl_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< create_pil_elctbl_chc_popl >----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_pil_elctbl_chc_popl
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_pil_elctbl_chc_popl_id          out nocopy number
14   ,p_dflt_enrt_dt                 in     date      default null
15   ,p_dflt_asnd_dt                 in     date      default null
16   ,p_elcns_made_dt                in     date      default null
17   ,p_cls_enrt_dt_to_use_cd        in     varchar2  default null
18   ,p_enrt_typ_cycl_cd             in     varchar2  default null
19   ,p_enrt_perd_end_dt             in     date      default null
20   ,p_enrt_perd_strt_dt            in     date      default null
21   ,p_procg_end_dt                 in     date      default null
22   ,p_pil_elctbl_popl_stat_cd      in     varchar2  default null
23   ,p_acty_ref_perd_cd             in     varchar2  default null
24   ,p_uom                          in     varchar2  default null
25   ,p_comments                     in     varchar2  default null
26   ,p_mgr_ovrid_dt                 in     date      default null
27   ,p_ws_mgr_id                    in     number    default null
28   ,p_mgr_ovrid_person_id          in     number    default null
29   ,p_assignment_id                in     number    default null
30   ,p_bdgt_acc_cd                  in     varchar2  default null
31   ,p_pop_cd                       in     varchar2  default null
32   ,p_bdgt_due_dt                  in     date      default null
33   ,p_bdgt_export_flag             in     varchar2  default null
34   ,p_bdgt_iss_dt                  in     date      default null
35   ,p_bdgt_stat_cd                 in     varchar2  default null
36   ,p_ws_acc_cd                    in     varchar2  default null
37   ,p_ws_due_dt                    in     date      default null
38   ,p_ws_export_flag               in     varchar2  default null
39   ,p_ws_iss_dt                    in     date      default null
40   ,p_ws_stat_cd                   in     varchar2  default null
41   ,p_auto_asnd_dt                 in     date      default null
42   ,p_cbr_elig_perd_strt_dt        in     date      default null
43   ,p_cbr_elig_perd_end_dt         in     date      default null
44   ,p_lee_rsn_id                   in     number    default null
45   ,p_enrt_perd_id                 in     number    default null
46   ,p_per_in_ler_id                in     number    default null
47   ,p_pgm_id                       in     number    default null
48   ,p_pl_id                        in     number    default null
49   ,p_business_group_id            in     number    default null
50   ,p_pel_attribute_category       in     varchar2  default null
51   ,p_pel_attribute1               in     varchar2  default null
52   ,p_pel_attribute2               in     varchar2  default null
53   ,p_pel_attribute3               in     varchar2  default null
54   ,p_pel_attribute4               in     varchar2  default null
55   ,p_pel_attribute5               in     varchar2  default null
56   ,p_pel_attribute6               in     varchar2  default null
57   ,p_pel_attribute7               in     varchar2  default null
58   ,p_pel_attribute8               in     varchar2  default null
59   ,p_pel_attribute9               in     varchar2  default null
60   ,p_pel_attribute10              in     varchar2  default null
61   ,p_pel_attribute11              in     varchar2  default null
62   ,p_pel_attribute12              in     varchar2  default null
63   ,p_pel_attribute13              in     varchar2  default null
64   ,p_pel_attribute14              in     varchar2  default null
65   ,p_pel_attribute15              in     varchar2  default null
66   ,p_pel_attribute16              in     varchar2  default null
67   ,p_pel_attribute17              in     varchar2  default null
68   ,p_pel_attribute18              in     varchar2  default null
69   ,p_pel_attribute19              in     varchar2  default null
70   ,p_pel_attribute20              in     varchar2  default null
71   ,p_pel_attribute21              in     varchar2  default null
72   ,p_pel_attribute22              in     varchar2  default null
73   ,p_pel_attribute23              in     varchar2  default null
74   ,p_pel_attribute24              in     varchar2  default null
75   ,p_pel_attribute25              in     varchar2  default null
76   ,p_pel_attribute26              in     varchar2  default null
77   ,p_pel_attribute27              in     varchar2  default null
78   ,p_pel_attribute28              in     varchar2  default null
79   ,p_pel_attribute29              in     varchar2  default null
80   ,p_pel_attribute30              in     varchar2  default null
81   ,p_request_id                   in     number    default null
82   ,p_program_application_id       in     number    default null
83   ,p_program_id                   in     number    default null
84   ,p_program_update_date          in     date      default null
85   ,p_object_version_number           out nocopy number
86   ,p_effective_date               in     date
87   ,p_return_status                   out nocopy varchar2
88   ) is
89   --
90   -- Variables for API Boolean parameters
91   l_validate                      boolean;
92   --
93   -- Variables for IN/OUT parameters
94   --
95   -- Other variables
96   l_proc    varchar2(72) := g_package ||'create_pil_elctbl_chc_popl';
97 Begin
98   hr_utility.set_location(' Entering:' || l_proc,10);
99   --
100   -- Issue a savepoint
101   --
102   savepoint create_pil_elctbl_chc_popl_swi;
103   --
104   -- Initialise Multiple Message Detection
105   --
106   hr_multi_message.enable_message_list;
107   --
108   -- Remember IN OUT parameter IN values
109   --
110   --
111   -- Convert constant values to their corresponding boolean value
112   --
113   l_validate :=
114     hr_api.constant_to_boolean
115       (p_constant_value => p_validate);
116   --
117   -- Register Surrogate ID or user key values
118   --
119   --
120   -- Call API
121   --
122   ben_pil_elctbl_chc_popl_api.create_pil_elctbl_chc_popl
123     (p_validate                     => l_validate
124     ,p_pil_elctbl_chc_popl_id       => p_pil_elctbl_chc_popl_id
125     ,p_dflt_enrt_dt                 => p_dflt_enrt_dt
126     ,p_dflt_asnd_dt                 => p_dflt_asnd_dt
127     ,p_elcns_made_dt                => p_elcns_made_dt
128     ,p_cls_enrt_dt_to_use_cd        => p_cls_enrt_dt_to_use_cd
129     ,p_enrt_typ_cycl_cd             => p_enrt_typ_cycl_cd
130     ,p_enrt_perd_end_dt             => p_enrt_perd_end_dt
131     ,p_enrt_perd_strt_dt            => p_enrt_perd_strt_dt
132     ,p_procg_end_dt                 => p_procg_end_dt
133     ,p_pil_elctbl_popl_stat_cd      => p_pil_elctbl_popl_stat_cd
134     ,p_acty_ref_perd_cd             => p_acty_ref_perd_cd
135     ,p_uom                          => p_uom
136     ,p_comments                     => p_comments
137     ,p_mgr_ovrid_dt                 => p_mgr_ovrid_dt
138     ,p_ws_mgr_id                    => p_ws_mgr_id
139     ,p_mgr_ovrid_person_id          => p_mgr_ovrid_person_id
140     ,p_assignment_id                => p_assignment_id
141     ,p_bdgt_acc_cd                  => p_bdgt_acc_cd
142     ,p_pop_cd                       => p_pop_cd
143     ,p_bdgt_due_dt                  => p_bdgt_due_dt
144     ,p_bdgt_export_flag             => p_bdgt_export_flag
145     ,p_bdgt_iss_dt                  => p_bdgt_iss_dt
146     ,p_bdgt_stat_cd                 => p_bdgt_stat_cd
147     ,p_ws_acc_cd                    => p_ws_acc_cd
148     ,p_ws_due_dt                    => p_ws_due_dt
149     ,p_ws_export_flag               => p_ws_export_flag
150     ,p_ws_iss_dt                    => p_ws_iss_dt
151     ,p_ws_stat_cd                   => p_ws_stat_cd
152     ,p_auto_asnd_dt                 => p_auto_asnd_dt
153     ,p_cbr_elig_perd_strt_dt        => p_cbr_elig_perd_strt_dt
154     ,p_cbr_elig_perd_end_dt         => p_cbr_elig_perd_end_dt
155     ,p_lee_rsn_id                   => p_lee_rsn_id
156     ,p_enrt_perd_id                 => p_enrt_perd_id
157     ,p_per_in_ler_id                => p_per_in_ler_id
158     ,p_pgm_id                       => p_pgm_id
159     ,p_pl_id                        => p_pl_id
160     ,p_business_group_id            => p_business_group_id
161     ,p_pel_attribute_category       => p_pel_attribute_category
162     ,p_pel_attribute1               => p_pel_attribute1
163     ,p_pel_attribute2               => p_pel_attribute2
164     ,p_pel_attribute3               => p_pel_attribute3
165     ,p_pel_attribute4               => p_pel_attribute4
166     ,p_pel_attribute5               => p_pel_attribute5
167     ,p_pel_attribute6               => p_pel_attribute6
168     ,p_pel_attribute7               => p_pel_attribute7
169     ,p_pel_attribute8               => p_pel_attribute8
170     ,p_pel_attribute9               => p_pel_attribute9
171     ,p_pel_attribute10              => p_pel_attribute10
172     ,p_pel_attribute11              => p_pel_attribute11
173     ,p_pel_attribute12              => p_pel_attribute12
174     ,p_pel_attribute13              => p_pel_attribute13
175     ,p_pel_attribute14              => p_pel_attribute14
176     ,p_pel_attribute15              => p_pel_attribute15
177     ,p_pel_attribute16              => p_pel_attribute16
178     ,p_pel_attribute17              => p_pel_attribute17
179     ,p_pel_attribute18              => p_pel_attribute18
180     ,p_pel_attribute19              => p_pel_attribute19
181     ,p_pel_attribute20              => p_pel_attribute20
182     ,p_pel_attribute21              => p_pel_attribute21
183     ,p_pel_attribute22              => p_pel_attribute22
184     ,p_pel_attribute23              => p_pel_attribute23
185     ,p_pel_attribute24              => p_pel_attribute24
186     ,p_pel_attribute25              => p_pel_attribute25
187     ,p_pel_attribute26              => p_pel_attribute26
188     ,p_pel_attribute27              => p_pel_attribute27
189     ,p_pel_attribute28              => p_pel_attribute28
190     ,p_pel_attribute29              => p_pel_attribute29
191     ,p_pel_attribute30              => p_pel_attribute30
192     ,p_request_id                   => p_request_id
193     ,p_program_application_id       => p_program_application_id
194     ,p_program_id                   => p_program_id
195     ,p_program_update_date          => p_program_update_date
196     ,p_object_version_number        => p_object_version_number
197     ,p_effective_date               => p_effective_date
198     );
199   --
200   -- Convert API warning boolean parameter values to specific
201   -- messages and add them to Multiple Message List
202   --
203   --
204   -- Convert API non-warning boolean parameter values
205   --
206   --
207   -- Derive the API return status value based on whether
208   -- messages of any type exist in the Multiple Message List.
209   -- Also disable Multiple Message Detection.
210   --
211   p_return_status := hr_multi_message.get_return_status_disable;
212   hr_utility.set_location(' Leaving:' || l_proc,20);
213   --
214 exception
215   when hr_multi_message.error_message_exist then
216     --
217     -- Catch the Multiple Message List exception which
218     -- indicates API processing has been aborted because
219     -- at least one message exists in the list.
220     --
221     rollback to create_pil_elctbl_chc_popl_swi;
222     --
223     -- Reset IN OUT parameters and set OUT parameters
224     --
225     p_pil_elctbl_chc_popl_id       := null;
226     p_object_version_number        := null;
227     p_return_status := hr_multi_message.get_return_status_disable;
228     hr_utility.set_location(' Leaving:' || l_proc, 30);
229   when others then
230     --
231     -- When Multiple Message Detection is enabled catch
232     -- any Application specific or other unexpected
236     --
233     -- exceptions.  Adding appropriate details to the
234     -- Multiple Message List.  Otherwise re-raise the
235     -- error.
237     rollback to create_pil_elctbl_chc_popl_swi;
238     if hr_multi_message.unexpected_error_add(l_proc) then
239        hr_utility.set_location(' Leaving:' || l_proc,40);
240        raise;
241     end if;
242     --
243     -- Reset IN OUT and set OUT parameters
244     --
245     p_pil_elctbl_chc_popl_id       := null;
246     p_object_version_number        := null;
247     p_return_status := hr_multi_message.get_return_status_disable;
248     hr_utility.set_location(' Leaving:' || l_proc,50);
249 end create_pil_elctbl_chc_popl;
250 -- ----------------------------------------------------------------------------
251 -- |----------------------< delete_pil_elctbl_chc_popl >----------------------|
252 -- ----------------------------------------------------------------------------
253 PROCEDURE delete_pil_elctbl_chc_popl
254   (p_validate                     in     number    default hr_api.g_false_num
255   ,p_pil_elctbl_chc_popl_id       in     number
256   ,p_object_version_number        in out nocopy number
257   ,p_effective_date               in     date
258   ,p_return_status                   out nocopy varchar2
259   ) is
260   --
261   -- Variables for API Boolean parameters
262   l_validate                      boolean;
263   --
264   -- Variables for IN/OUT parameters
265   l_object_version_number         number;
266   --
267   -- Other variables
268   l_proc    varchar2(72) := g_package ||'delete_pil_elctbl_chc_popl';
269 Begin
270   hr_utility.set_location(' Entering:' || l_proc,10);
271   --
272   -- Issue a savepoint
273   --
274   savepoint delete_pil_elctbl_chc_popl_swi;
275   --
276   -- Initialise Multiple Message Detection
277   --
278   hr_multi_message.enable_message_list;
279   --
280   -- Remember IN OUT parameter IN values
281   --
282   l_object_version_number         := p_object_version_number;
283   --
284   -- Convert constant values to their corresponding boolean value
285   --
286   l_validate :=
287     hr_api.constant_to_boolean
288       (p_constant_value => p_validate);
289   --
293   -- Call API
290   -- Register Surrogate ID or user key values
291   --
292   --
294   --
295   ben_pil_elctbl_chc_popl_api.delete_pil_elctbl_chc_popl
296     (p_validate                     => l_validate
297     ,p_pil_elctbl_chc_popl_id       => p_pil_elctbl_chc_popl_id
298     ,p_object_version_number        => p_object_version_number
299     ,p_effective_date               => p_effective_date
300     );
301   --
302   -- Convert API warning boolean parameter values to specific
303   -- messages and add them to Multiple Message List
304   --
305   --
306   -- Convert API non-warning boolean parameter values
307   --
308   --
309   -- Derive the API return status value based on whether
310   -- messages of any type exist in the Multiple Message List.
311   -- Also disable Multiple Message Detection.
312   --
313   p_return_status := hr_multi_message.get_return_status_disable;
314   hr_utility.set_location(' Leaving:' || l_proc,20);
315   --
316 exception
317   when hr_multi_message.error_message_exist then
318     --
319     -- Catch the Multiple Message List exception which
320     -- indicates API processing has been aborted because
321     -- at least one message exists in the list.
322     --
323     rollback to delete_pil_elctbl_chc_popl_swi;
324     --
325     -- Reset IN OUT parameters and set OUT parameters
326     --
327     p_object_version_number        := l_object_version_number;
328     p_return_status := hr_multi_message.get_return_status_disable;
329     hr_utility.set_location(' Leaving:' || l_proc, 30);
330   when others then
331     --
332     -- When Multiple Message Detection is enabled catch
333     -- any Application specific or other unexpected
334     -- exceptions.  Adding appropriate details to the
335     -- Multiple Message List.  Otherwise re-raise the
336     -- error.
337     --
338     rollback to delete_pil_elctbl_chc_popl_swi;
339     if hr_multi_message.unexpected_error_add(l_proc) then
340        hr_utility.set_location(' Leaving:' || l_proc,40);
341        raise;
342     end if;
343     --
344     -- Reset IN OUT and set OUT parameters
345     --
346     p_object_version_number        := l_object_version_number;
347     p_return_status := hr_multi_message.get_return_status_disable;
348     hr_utility.set_location(' Leaving:' || l_proc,50);
349 end delete_pil_elctbl_chc_popl;
350 -- ----------------------------------------------------------------------------
351 -- |----------------------------------< lck >---------------------------------|
352 -- ----------------------------------------------------------------------------
353 PROCEDURE lck
354   (p_pil_elctbl_chc_popl_id       in     number
355   ,p_object_version_number        in     number
356   ,p_return_status                   out nocopy varchar2
357   ) is
358   --
359   -- Variables for API Boolean parameters
360   --
361   -- Variables for IN/OUT parameters
362   --
363   -- Other variables
364   l_proc    varchar2(72) := g_package ||'lck';
365 Begin
366   hr_utility.set_location(' Entering:' || l_proc,10);
367   --
368   -- Issue a savepoint
369   --
370   savepoint lck_swi;
371   --
372   -- Initialise Multiple Message Detection
373   --
374   hr_multi_message.enable_message_list;
375   --
376   -- Remember IN OUT parameter IN values
377   --
378   --
379   -- Convert constant values to their corresponding boolean value
380   --
381   --
382   -- Register Surrogate ID or user key values
383   --
384   --
385   -- Call API
386   --
387   ben_pil_elctbl_chc_popl_api.lck
388     (p_pil_elctbl_chc_popl_id       => p_pil_elctbl_chc_popl_id
389     ,p_object_version_number        => p_object_version_number
390     );
391   --
392   -- Convert API warning boolean parameter values to specific
393   -- messages and add them to Multiple Message List
394   --
395   --
396   -- Convert API non-warning boolean parameter values
397   --
398   --
399   -- Derive the API return status value based on whether
400   -- messages of any type exist in the Multiple Message List.
401   -- Also disable Multiple Message Detection.
402   --
403   p_return_status := hr_multi_message.get_return_status_disable;
404   hr_utility.set_location(' Leaving:' || l_proc,20);
405   --
406 exception
407   when hr_multi_message.error_message_exist then
408     --
409     -- Catch the Multiple Message List exception which
410     -- indicates API processing has been aborted because
411     -- at least one message exists in the list.
412     --
413     rollback to lck_swi;
414     --
415     -- Reset IN OUT parameters and set OUT parameters
416     --
417     p_return_status := hr_multi_message.get_return_status_disable;
418     hr_utility.set_location(' Leaving:' || l_proc, 30);
419   when others then
420     --
421     -- When Multiple Message Detection is enabled catch
422     -- any Application specific or other unexpected
423     -- exceptions.  Adding appropriate details to the
424     -- Multiple Message List.  Otherwise re-raise the
425     -- error.
426     --
427     rollback to lck_swi;
428     if hr_multi_message.unexpected_error_add(l_proc) then
429        hr_utility.set_location(' Leaving:' || l_proc,40);
430        raise;
431     end if;
432     --
433     -- Reset IN OUT and set OUT parameters
434     --
435     p_return_status := hr_multi_message.get_return_status_disable;
436     hr_utility.set_location(' Leaving:' || l_proc,50);
437 end lck;
438 -- ----------------------------------------------------------------------------
439 -- |----------------------< update_pil_elctbl_chc_popl >----------------------|
440 -- ----------------------------------------------------------------------------
441 PROCEDURE update_pil_elctbl_chc_popl
442   (p_validate                     in     number    default hr_api.g_false_num
443   ,p_pil_elctbl_chc_popl_id       in     number
444   ,p_dflt_enrt_dt                 in     date      default hr_api.g_date
445   ,p_dflt_asnd_dt                 in     date      default hr_api.g_date
446   ,p_elcns_made_dt                in     date      default hr_api.g_date
450   ,p_enrt_perd_strt_dt            in     date      default hr_api.g_date
447   ,p_cls_enrt_dt_to_use_cd        in     varchar2  default hr_api.g_varchar2
448   ,p_enrt_typ_cycl_cd             in     varchar2  default hr_api.g_varchar2
449   ,p_enrt_perd_end_dt             in     date      default hr_api.g_date
451   ,p_procg_end_dt                 in     date      default hr_api.g_date
452   ,p_pil_elctbl_popl_stat_cd      in     varchar2  default hr_api.g_varchar2
453   ,p_acty_ref_perd_cd             in     varchar2  default hr_api.g_varchar2
454   ,p_uom                          in     varchar2  default hr_api.g_varchar2
455   ,p_comments                     in     varchar2  default hr_api.g_varchar2
456   ,p_mgr_ovrid_dt                 in     date      default hr_api.g_date
457   ,p_ws_mgr_id                    in     number    default hr_api.g_number
458   ,p_mgr_ovrid_person_id          in     number    default hr_api.g_number
459   ,p_assignment_id                in     number    default hr_api.g_number
460   ,p_bdgt_acc_cd                  in     varchar2  default hr_api.g_varchar2
461   ,p_pop_cd                       in     varchar2  default hr_api.g_varchar2
462   ,p_bdgt_due_dt                  in     date      default hr_api.g_date
463   ,p_bdgt_export_flag             in     varchar2  default hr_api.g_varchar2
464   ,p_bdgt_iss_dt                  in     date      default hr_api.g_date
465   ,p_bdgt_stat_cd                 in     varchar2  default hr_api.g_varchar2
466   ,p_ws_acc_cd                    in     varchar2  default hr_api.g_varchar2
467   ,p_ws_due_dt                    in     date      default hr_api.g_date
468   ,p_ws_export_flag               in     varchar2  default hr_api.g_varchar2
469   ,p_ws_iss_dt                    in     date      default hr_api.g_date
470   ,p_ws_stat_cd                   in     varchar2  default hr_api.g_varchar2
471   ,p_auto_asnd_dt                 in     date      default hr_api.g_date
472   ,p_cbr_elig_perd_strt_dt        in     date      default hr_api.g_date
473   ,p_cbr_elig_perd_end_dt         in     date      default hr_api.g_date
474   ,p_lee_rsn_id                   in     number    default hr_api.g_number
475   ,p_enrt_perd_id                 in     number    default hr_api.g_number
476   ,p_per_in_ler_id                in     number    default hr_api.g_number
477   ,p_pgm_id                       in     number    default hr_api.g_number
478   ,p_pl_id                        in     number    default hr_api.g_number
479   ,p_business_group_id            in     number    default hr_api.g_number
480   ,p_pel_attribute_category       in     varchar2  default hr_api.g_varchar2
481   ,p_pel_attribute1               in     varchar2  default hr_api.g_varchar2
482   ,p_pel_attribute2               in     varchar2  default hr_api.g_varchar2
483   ,p_pel_attribute3               in     varchar2  default hr_api.g_varchar2
484   ,p_pel_attribute4               in     varchar2  default hr_api.g_varchar2
485   ,p_pel_attribute5               in     varchar2  default hr_api.g_varchar2
486   ,p_pel_attribute6               in     varchar2  default hr_api.g_varchar2
487   ,p_pel_attribute7               in     varchar2  default hr_api.g_varchar2
488   ,p_pel_attribute8               in     varchar2  default hr_api.g_varchar2
489   ,p_pel_attribute9               in     varchar2  default hr_api.g_varchar2
490   ,p_pel_attribute10              in     varchar2  default hr_api.g_varchar2
491   ,p_pel_attribute11              in     varchar2  default hr_api.g_varchar2
492   ,p_pel_attribute12              in     varchar2  default hr_api.g_varchar2
493   ,p_pel_attribute13              in     varchar2  default hr_api.g_varchar2
494   ,p_pel_attribute14              in     varchar2  default hr_api.g_varchar2
495   ,p_pel_attribute15              in     varchar2  default hr_api.g_varchar2
496   ,p_pel_attribute16              in     varchar2  default hr_api.g_varchar2
497   ,p_pel_attribute17              in     varchar2  default hr_api.g_varchar2
498   ,p_pel_attribute18              in     varchar2  default hr_api.g_varchar2
499   ,p_pel_attribute19              in     varchar2  default hr_api.g_varchar2
500   ,p_pel_attribute20              in     varchar2  default hr_api.g_varchar2
501   ,p_pel_attribute21              in     varchar2  default hr_api.g_varchar2
502   ,p_pel_attribute22              in     varchar2  default hr_api.g_varchar2
503   ,p_pel_attribute23              in     varchar2  default hr_api.g_varchar2
504   ,p_pel_attribute24              in     varchar2  default hr_api.g_varchar2
505   ,p_pel_attribute25              in     varchar2  default hr_api.g_varchar2
506   ,p_pel_attribute26              in     varchar2  default hr_api.g_varchar2
507   ,p_pel_attribute27              in     varchar2  default hr_api.g_varchar2
508   ,p_pel_attribute28              in     varchar2  default hr_api.g_varchar2
509   ,p_pel_attribute29              in     varchar2  default hr_api.g_varchar2
510   ,p_pel_attribute30              in     varchar2  default hr_api.g_varchar2
511   ,p_request_id                   in     number    default hr_api.g_number
512   ,p_program_application_id       in     number    default hr_api.g_number
513   ,p_program_id                   in     number    default hr_api.g_number
514   ,p_program_update_date          in     date      default hr_api.g_date
515   ,p_object_version_number        in out nocopy number
516   ,p_effective_date               in     date
517   ,p_return_status                   out nocopy varchar2
518   ) is
519   --
520   -- Variables for API Boolean parameters
521   l_validate                      boolean;
522   --
523   -- Variables for IN/OUT parameters
524   l_object_version_number         number;
525   --
526   -- Other variables
527   l_proc    varchar2(72) := g_package ||'update_pil_elctbl_chc_popl';
528 Begin
529   hr_utility.set_location(' Entering:' || l_proc,10);
530   --
531   -- Issue a savepoint
532   --
533   savepoint update_pil_elctbl_chc_popl_swi;
534   --
535   -- Initialise Multiple Message Detection
536   --
537   hr_multi_message.enable_message_list;
538   --
539   -- Remember IN OUT parameter IN values
540   --
541   l_object_version_number         := p_object_version_number;
542   --
546     hr_api.constant_to_boolean
543   -- Convert constant values to their corresponding boolean value
544   --
545   l_validate :=
547       (p_constant_value => p_validate);
548   --
549   -- Register Surrogate ID or user key values
550   --
551   --
552   -- Call API
553   --
554   ben_pil_elctbl_chc_popl_api.update_pil_elctbl_chc_popl
555     (p_validate                     => l_validate
556     ,p_pil_elctbl_chc_popl_id       => p_pil_elctbl_chc_popl_id
557     ,p_dflt_enrt_dt                 => p_dflt_enrt_dt
558     ,p_dflt_asnd_dt                 => p_dflt_asnd_dt
559     ,p_elcns_made_dt                => p_elcns_made_dt
560     ,p_cls_enrt_dt_to_use_cd        => p_cls_enrt_dt_to_use_cd
561     ,p_enrt_typ_cycl_cd             => p_enrt_typ_cycl_cd
562     ,p_enrt_perd_end_dt             => p_enrt_perd_end_dt
563     ,p_enrt_perd_strt_dt            => p_enrt_perd_strt_dt
564     ,p_procg_end_dt                 => p_procg_end_dt
565     ,p_pil_elctbl_popl_stat_cd      => p_pil_elctbl_popl_stat_cd
566     ,p_acty_ref_perd_cd             => p_acty_ref_perd_cd
567     ,p_uom                          => p_uom
568     ,p_comments                     => p_comments
569     ,p_mgr_ovrid_dt                 => p_mgr_ovrid_dt
570     ,p_ws_mgr_id                    => p_ws_mgr_id
571     ,p_mgr_ovrid_person_id          => p_mgr_ovrid_person_id
572     ,p_assignment_id                => p_assignment_id
573     ,p_bdgt_acc_cd                  => p_bdgt_acc_cd
574     ,p_pop_cd                       => p_pop_cd
575     ,p_bdgt_due_dt                  => p_bdgt_due_dt
576     ,p_bdgt_export_flag             => p_bdgt_export_flag
577     ,p_bdgt_iss_dt                  => p_bdgt_iss_dt
578     ,p_bdgt_stat_cd                 => p_bdgt_stat_cd
579     ,p_ws_acc_cd                    => p_ws_acc_cd
580     ,p_ws_due_dt                    => p_ws_due_dt
581     ,p_ws_export_flag               => p_ws_export_flag
582     ,p_ws_iss_dt                    => p_ws_iss_dt
583     ,p_ws_stat_cd                   => p_ws_stat_cd
584     ,p_auto_asnd_dt                 => p_auto_asnd_dt
585     ,p_cbr_elig_perd_strt_dt        => p_cbr_elig_perd_strt_dt
586     ,p_cbr_elig_perd_end_dt         => p_cbr_elig_perd_end_dt
587     ,p_lee_rsn_id                   => p_lee_rsn_id
588     ,p_enrt_perd_id                 => p_enrt_perd_id
589     ,p_per_in_ler_id                => p_per_in_ler_id
590     ,p_pgm_id                       => p_pgm_id
591     ,p_pl_id                        => p_pl_id
592     ,p_business_group_id            => p_business_group_id
593     ,p_pel_attribute_category       => p_pel_attribute_category
594     ,p_pel_attribute1               => p_pel_attribute1
595     ,p_pel_attribute2               => p_pel_attribute2
596     ,p_pel_attribute3               => p_pel_attribute3
597     ,p_pel_attribute4               => p_pel_attribute4
598     ,p_pel_attribute5               => p_pel_attribute5
599     ,p_pel_attribute6               => p_pel_attribute6
600     ,p_pel_attribute7               => p_pel_attribute7
601     ,p_pel_attribute8               => p_pel_attribute8
602     ,p_pel_attribute9               => p_pel_attribute9
603     ,p_pel_attribute10              => p_pel_attribute10
604     ,p_pel_attribute11              => p_pel_attribute11
605     ,p_pel_attribute12              => p_pel_attribute12
606     ,p_pel_attribute13              => p_pel_attribute13
607     ,p_pel_attribute14              => p_pel_attribute14
608     ,p_pel_attribute15              => p_pel_attribute15
609     ,p_pel_attribute16              => p_pel_attribute16
610     ,p_pel_attribute17              => p_pel_attribute17
611     ,p_pel_attribute18              => p_pel_attribute18
612     ,p_pel_attribute19              => p_pel_attribute19
613     ,p_pel_attribute20              => p_pel_attribute20
614     ,p_pel_attribute21              => p_pel_attribute21
615     ,p_pel_attribute22              => p_pel_attribute22
616     ,p_pel_attribute23              => p_pel_attribute23
617     ,p_pel_attribute24              => p_pel_attribute24
618     ,p_pel_attribute25              => p_pel_attribute25
619     ,p_pel_attribute26              => p_pel_attribute26
620     ,p_pel_attribute27              => p_pel_attribute27
621     ,p_pel_attribute28              => p_pel_attribute28
622     ,p_pel_attribute29              => p_pel_attribute29
623     ,p_pel_attribute30              => p_pel_attribute30
624     ,p_request_id                   => p_request_id
625     ,p_program_application_id       => p_program_application_id
626     ,p_program_id                   => p_program_id
627     ,p_program_update_date          => p_program_update_date
628     ,p_object_version_number        => p_object_version_number
629     ,p_effective_date               => p_effective_date
630     );
631   --
632   -- Convert API warning boolean parameter values to specific
633   -- messages and add them to Multiple Message List
634   --
635   --
636   -- Convert API non-warning boolean parameter values
637   --
638   --
639   -- Derive the API return status value based on whether
640   -- messages of any type exist in the Multiple Message List.
641   -- Also disable Multiple Message Detection.
642   --
643   p_return_status := hr_multi_message.get_return_status_disable;
644   hr_utility.set_location(' Leaving:' || l_proc,20);
645   --
646 exception
647   when hr_multi_message.error_message_exist then
648     --
649     -- Catch the Multiple Message List exception which
650     -- indicates API processing has been aborted because
651     -- at least one message exists in the list.
652     --
653     rollback to update_pil_elctbl_chc_popl_swi;
654     --
655     -- Reset IN OUT parameters and set OUT parameters
656     --
657     p_object_version_number        := l_object_version_number;
658     p_return_status := hr_multi_message.get_return_status_disable;
659     hr_utility.set_location(' Leaving:' || l_proc, 30);
660   when others then
661     --
662     -- When Multiple Message Detection is enabled catch
663     -- any Application specific or other unexpected
664     -- exceptions.  Adding appropriate details to the
665     -- Multiple Message List.  Otherwise re-raise the
666     -- error.
667     --
668     rollback to update_pil_elctbl_chc_popl_swi;
669     if hr_multi_message.unexpected_error_add(l_proc) then
670        hr_utility.set_location(' Leaving:' || l_proc,40);
671        raise;
672     end if;
673     --
674     -- Reset IN OUT and set OUT parameters
675     --
676     p_object_version_number        := l_object_version_number;
677     p_return_status := hr_multi_message.get_return_status_disable;
678     hr_utility.set_location(' Leaving:' || l_proc,50);
679 end update_pil_elctbl_chc_popl;
680 end ben_pil_elctbl_chc_popl_swi;