DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PERSON_LIFE_EVENT_SWI

Source


1 Package Body ben_person_life_event_swi As
2 /* $Header: bepilswi.pkb 120.0 2005/05/28 10:51:02 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ben_person_life_event_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< create_Person_Life_Event >----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_Person_Life_Event
12   ( p_validate                     in     number    default hr_api.g_false_num
13    ,p_per_in_ler_id                  out NOCOPY number
14    ,p_per_in_ler_stat_cd             in  varchar2  default null
15    ,p_prvs_stat_cd                   in  varchar2  default null
16    ,p_lf_evt_ocrd_dt                 in  date      default null
17    ,p_trgr_table_pk_id               in  number    default null --ABSE changes
18    ,p_procd_dt                       out NOCOPY date
19    ,p_strtd_dt                       out NOCOPY date
20    ,p_voidd_dt                       out NOCOPY date
21    ,p_bckt_dt                        in  date      default null
22    ,p_clsd_dt                        in  date      default null
23    ,p_ntfn_dt                        in  date      default null
24    ,p_ptnl_ler_for_per_id            in  number    default null
25    ,p_bckt_per_in_ler_id             in  number    default null
26    ,p_ler_id                         in  number    default null
27    ,p_person_id                      in  number    default null
28    ,p_business_group_id              in  number    default null
29    ,p_ASSIGNMENT_ID                  in  number    default null
30    ,p_WS_MGR_ID                      in  number    default null
31    ,p_GROUP_PL_ID                    in  number    default null
32    ,p_MGR_OVRID_PERSON_ID            in  number    default null
33    ,p_MGR_OVRID_DT                   in  date      default null
34    ,p_pil_attribute_category         in  varchar2  default null
35    ,p_pil_attribute1                 in  varchar2  default null
36    ,p_pil_attribute2                 in  varchar2  default null
37    ,p_pil_attribute3                 in  varchar2  default null
38    ,p_pil_attribute4                 in  varchar2  default null
39    ,p_pil_attribute5                 in  varchar2  default null
40    ,p_pil_attribute6                 in  varchar2  default null
41    ,p_pil_attribute7                 in  varchar2  default null
42    ,p_pil_attribute8                 in  varchar2  default null
43    ,p_pil_attribute9                 in  varchar2  default null
44    ,p_pil_attribute10                in  varchar2  default null
45    ,p_pil_attribute11                in  varchar2  default null
46    ,p_pil_attribute12                in  varchar2  default null
47    ,p_pil_attribute13                in  varchar2  default null
48    ,p_pil_attribute14                in  varchar2  default null
49    ,p_pil_attribute15                in  varchar2  default null
50    ,p_pil_attribute16                in  varchar2  default null
51    ,p_pil_attribute17                in  varchar2  default null
52    ,p_pil_attribute18                in  varchar2  default null
53    ,p_pil_attribute19                in  varchar2  default null
54    ,p_pil_attribute20                in  varchar2  default null
55    ,p_pil_attribute21                in  varchar2  default null
56    ,p_pil_attribute22                in  varchar2  default null
57    ,p_pil_attribute23                in  varchar2  default null
58    ,p_pil_attribute24                in  varchar2  default null
59    ,p_pil_attribute25                in  varchar2  default null
60    ,p_pil_attribute26                in  varchar2  default null
61    ,p_pil_attribute27                in  varchar2  default null
62    ,p_pil_attribute28                in  varchar2  default null
63    ,p_pil_attribute29                in  varchar2  default null
64    ,p_pil_attribute30                in  varchar2  default null
65    ,p_request_id                     in  number    default null
66    ,p_program_application_id         in  number    default null
67    ,p_program_id                     in  number    default null
68    ,p_program_update_date            in  date      default null
69    ,p_object_version_number          out NOCOPY number
70    ,p_effective_date                 in  date
71   ,p_return_status                   out nocopy varchar2
72   ) is
73   --
74   -- Variables for API Boolean parameters
75   l_validate                      boolean;
76   --
77   -- Variables for IN/OUT parameters
78   --
79   -- Other variables
80   l_proc    varchar2(72) := g_package ||'create_Person_Life_Event';
81 Begin
82   hr_utility.set_location(' Entering:' || l_proc,10);
83   --
84   -- Issue a savepoint
85   --
86   savepoint create_Person_Life_Event_swi;
87   --
88   -- Initialise Multiple Message Detection
89   --
90   hr_multi_message.enable_message_list;
91   --
92   -- Remember IN OUT parameter IN values
93   --
94   --
95   -- Convert constant values to their corresponding boolean value
96   --
97   l_validate :=
98     hr_api.constant_to_boolean
99       (p_constant_value => p_validate);
100   --
101   -- Register Surrogate ID or user key values
102   --
103   --
104   -- Call API
105   --
106   ben_Person_Life_Event_api.create_Person_Life_Event
107       ( p_validate                       =>  l_validate
108    	,p_per_in_ler_id                =>  p_per_in_ler_id
109        ,p_per_in_ler_stat_cd            =>  p_per_in_ler_stat_cd
110        ,p_prvs_stat_cd                  =>  p_prvs_stat_cd
111        ,p_lf_evt_ocrd_dt                =>  p_lf_evt_ocrd_dt
112        ,p_trgr_table_pk_id              =>  p_trgr_table_pk_id
113        ,p_procd_dt                      =>  p_procd_dt
114        ,p_strtd_dt                      =>  p_strtd_dt
115        ,p_voidd_dt                      =>  p_voidd_dt
116        ,p_bckt_dt                       =>  p_bckt_dt
117        ,p_clsd_dt                       =>  p_clsd_dt
118        ,p_ntfn_dt                       =>  p_ntfn_dt
119        ,p_ptnl_ler_for_per_id           =>  p_ptnl_ler_for_per_id
120        ,p_bckt_per_in_ler_id            =>  p_bckt_per_in_ler_id
121        ,p_ler_id                        =>  p_ler_id
122        ,p_person_id                     =>  p_person_id
123        ,p_business_group_id             =>  p_business_group_id
124        ,p_ASSIGNMENT_ID                 =>  p_ASSIGNMENT_ID
125        ,p_WS_MGR_ID                     =>  p_WS_MGR_ID
126        ,p_GROUP_PL_ID                   =>  p_GROUP_PL_ID
127        ,p_MGR_OVRID_PERSON_ID           =>  p_MGR_OVRID_PERSON_ID
128        ,p_MGR_OVRID_DT                  =>  p_MGR_OVRID_DT
129        ,p_pil_attribute_category        =>  p_pil_attribute_category
130        ,p_pil_attribute1                =>  p_pil_attribute1
131        ,p_pil_attribute2                =>  p_pil_attribute2
132        ,p_pil_attribute3                =>  p_pil_attribute3
133        ,p_pil_attribute4                =>  p_pil_attribute4
134        ,p_pil_attribute5                =>  p_pil_attribute5
135        ,p_pil_attribute6                =>  p_pil_attribute6
136        ,p_pil_attribute7                =>  p_pil_attribute7
137        ,p_pil_attribute8                =>  p_pil_attribute8
138        ,p_pil_attribute9                =>  p_pil_attribute9
139        ,p_pil_attribute10               =>  p_pil_attribute10
140        ,p_pil_attribute11               =>  p_pil_attribute11
141        ,p_pil_attribute12               =>  p_pil_attribute12
142        ,p_pil_attribute13               =>  p_pil_attribute13
143        ,p_pil_attribute14               =>  p_pil_attribute14
144        ,p_pil_attribute15               =>  p_pil_attribute15
145        ,p_pil_attribute16               =>  p_pil_attribute16
146        ,p_pil_attribute17               =>  p_pil_attribute17
147        ,p_pil_attribute18               =>  p_pil_attribute18
148        ,p_pil_attribute19               =>  p_pil_attribute19
149        ,p_pil_attribute20               =>  p_pil_attribute20
150        ,p_pil_attribute21               =>  p_pil_attribute21
151        ,p_pil_attribute22               =>  p_pil_attribute22
152        ,p_pil_attribute23               =>  p_pil_attribute23
153        ,p_pil_attribute24               =>  p_pil_attribute24
154        ,p_pil_attribute25               =>  p_pil_attribute25
155        ,p_pil_attribute26               =>  p_pil_attribute26
156        ,p_pil_attribute27               =>  p_pil_attribute27
157        ,p_pil_attribute28               =>  p_pil_attribute28
158        ,p_pil_attribute29               =>  p_pil_attribute29
159        ,p_pil_attribute30               =>  p_pil_attribute30
160        ,p_request_id                    =>  p_request_id
161        ,p_program_application_id        =>  p_program_application_id
162        ,p_program_id                    =>  p_program_id
163        ,p_program_update_date           =>  p_program_update_date
164        ,p_object_version_number         =>  p_object_version_number
165        ,p_effective_date            	=>  p_effective_date);
166 
167   --
168   -- Convert API warning boolean parameter values to specific
169   -- messages and add them to Multiple Message List
170   --
171   --
172   -- Convert API non-warning boolean parameter values
173   --
174   --
175   -- Derive the API return status value based on whether
176   -- messages of any type exist in the Multiple Message List.
177   -- Also disable Multiple Message Detection.
178   --
179   p_return_status := hr_multi_message.get_return_status_disable;
180   hr_utility.set_location(' Leaving:' || l_proc,20);
181   --
182 exception
183   when hr_multi_message.error_message_exist then
184     --
185     -- Catch the Multiple Message List exception which
186     -- indicates API processing has been aborted because
187     -- at least one message exists in the list.
188     --
189     rollback to create_Person_Life_Event_swi;
190     --
191     -- Reset IN OUT parameters and set OUT parameters
192     --
193    p_per_in_ler_id       := null;
194       p_object_version_number        := null;
195       p_procd_dt     := null;
196       p_strtd_dt     := null;
197     p_voidd_dt     := null;
198     p_return_status := hr_multi_message.get_return_status_disable;
199     hr_utility.set_location(' Leaving:' || l_proc, 30);
200   when others then
201     --
202     -- When Multiple Message Detection is enabled catch
203     -- any Application specific or other unexpected
204     -- exceptions.  Adding appropriate details to the
205     -- Multiple Message List.  Otherwise re-raise the
206     -- error.
207     --
208     rollback to create_Person_Life_Event_swi;
209     if hr_multi_message.unexpected_error_add(l_proc) then
210        hr_utility.set_location(' Leaving:' || l_proc,40);
211        raise;
212     end if;
213     --
214     -- Reset IN OUT and set OUT parameters
215     --
216     p_per_in_ler_id       := null;
217     p_object_version_number        := null;
218     p_procd_dt     := null;
219     p_strtd_dt     := null;
220     p_voidd_dt     := null;
221     p_return_status := hr_multi_message.get_return_status_disable;
222     hr_utility.set_location(' Leaving:' || l_proc,50);
223 end create_Person_Life_Event;
224 -- ----------------------------------------------------------------------------
225 -- |----------------------< delete_Person_Life_Event >----------------------|
226 -- ----------------------------------------------------------------------------
227 PROCEDURE delete_Person_Life_Event
228   (p_validate                     in     number    default hr_api.g_false_num
229   ,p_per_in_ler_id                  in  number
230   ,p_object_version_number          in out NOCOPY number
231   ,p_effective_date                 in  date
232   ,p_return_status                   out nocopy varchar2
233   ) is
234   --
235   -- Variables for API Boolean parameters
236   l_validate                      boolean;
237   --
238   -- Variables for IN/OUT parameters
239   l_object_version_number         number;
240   --
241   -- Other variables
242   l_proc    varchar2(72) := g_package ||'delete_Person_Life_Event';
243 Begin
244   hr_utility.set_location(' Entering:' || l_proc,10);
245   --
246   -- Issue a savepoint
247   --
248   savepoint delete_Person_Life_Event_swi;
249   --
250   -- Initialise Multiple Message Detection
251   --
252   hr_multi_message.enable_message_list;
253   --
254   -- Remember IN OUT parameter IN values
255   --
256   l_object_version_number         := p_object_version_number;
257   --
258   -- Convert constant values to their corresponding boolean value
259   --
260   l_validate :=
261     hr_api.constant_to_boolean
262       (p_constant_value => p_validate);
263   --
264   -- Register Surrogate ID or user key values
265   --
266   --
267   -- Call API
268   --
269   ben_Person_Life_Event_api.delete_Person_Life_Event
270     (p_validate                     => l_validate
271     ,p_per_in_ler_id       => p_per_in_ler_id
272     ,p_object_version_number        => p_object_version_number
273     ,p_effective_date               => p_effective_date
274     );
275   --
276   -- Convert API warning boolean parameter values to specific
277   -- messages and add them to Multiple Message List
278   --
279   --
280   -- Convert API non-warning boolean parameter values
281   --
282   --
283   -- Derive the API return status value based on whether
284   -- messages of any type exist in the Multiple Message List.
285   -- Also disable Multiple Message Detection.
286   --
287   p_return_status := hr_multi_message.get_return_status_disable;
288   hr_utility.set_location(' Leaving:' || l_proc,20);
289   --
290 exception
291   when hr_multi_message.error_message_exist then
292     --
293     -- Catch the Multiple Message List exception which
294     -- indicates API processing has been aborted because
295     -- at least one message exists in the list.
296     --
297     rollback to delete_Person_Life_Event_swi;
298     --
299     -- Reset IN OUT parameters and set OUT parameters
300     --
301     p_object_version_number        := l_object_version_number;
302     p_return_status := hr_multi_message.get_return_status_disable;
303     hr_utility.set_location(' Leaving:' || l_proc, 30);
304   when others then
305     --
306     -- When Multiple Message Detection is enabled catch
307     -- any Application specific or other unexpected
308     -- exceptions.  Adding appropriate details to the
309     -- Multiple Message List.  Otherwise re-raise the
310     -- error.
311     --
312     rollback to delete_Person_Life_Event_swi;
313     if hr_multi_message.unexpected_error_add(l_proc) then
314        hr_utility.set_location(' Leaving:' || l_proc,40);
315        raise;
316     end if;
317     --
321     p_return_status := hr_multi_message.get_return_status_disable;
318     -- Reset IN OUT and set OUT parameters
319     --
320     p_object_version_number        := l_object_version_number;
322     hr_utility.set_location(' Leaving:' || l_proc,50);
323 end delete_Person_Life_Event;
324 -- ----------------------------------------------------------------------------
325 -- |----------------------------------< lck >---------------------------------|
329   ,p_object_version_number        in     number
326 -- ----------------------------------------------------------------------------
327 PROCEDURE lck
328   (p_per_in_ler_id       in     number
330   ,p_return_status                   out nocopy varchar2
331   ) is
332   --
333   -- Variables for API Boolean parameters
334   --
335   -- Variables for IN/OUT parameters
336   --
337   -- Other variables
338   l_proc    varchar2(72) := g_package ||'lck';
339 Begin
340   hr_utility.set_location(' Entering:' || l_proc,10);
341   --
342   -- Issue a savepoint
343   --
344   savepoint lck_swi;
345   --
346   -- Initialise Multiple Message Detection
347   --
348   hr_multi_message.enable_message_list;
349   --
353   -- Convert constant values to their corresponding boolean value
350   -- Remember IN OUT parameter IN values
351   --
352   --
354   --
355   --
356   -- Register Surrogate ID or user key values
357   --
358   --
359   -- Call API
360   --
361   ben_Person_Life_Event_api.lck
362     (p_per_in_ler_id       => p_per_in_ler_id
363     ,p_object_version_number        => p_object_version_number
364     );
365   --
366   -- Convert API warning boolean parameter values to specific
367   -- messages and add them to Multiple Message List
368   --
369   --
370   -- Convert API non-warning boolean parameter values
371   --
372   --
373   -- Derive the API return status value based on whether
374   -- messages of any type exist in the Multiple Message List.
375   -- Also disable Multiple Message Detection.
376   --
377   p_return_status := hr_multi_message.get_return_status_disable;
378   hr_utility.set_location(' Leaving:' || l_proc,20);
379   --
380 exception
381   when hr_multi_message.error_message_exist then
382     --
383     -- Catch the Multiple Message List exception which
384     -- indicates API processing has been aborted because
385     -- at least one message exists in the list.
386     --
387     rollback to lck_swi;
388     --
389     -- Reset IN OUT parameters and set OUT parameters
390     --
391     p_return_status := hr_multi_message.get_return_status_disable;
392     hr_utility.set_location(' Leaving:' || l_proc, 30);
393   when others then
394     --
395     -- When Multiple Message Detection is enabled catch
396     -- any Application specific or other unexpected
397     -- exceptions.  Adding appropriate details to the
398     -- Multiple Message List.  Otherwise re-raise the
399     -- error.
400     --
401     rollback to lck_swi;
402     if hr_multi_message.unexpected_error_add(l_proc) then
406     --
403        hr_utility.set_location(' Leaving:' || l_proc,40);
404        raise;
405     end if;
407     -- Reset IN OUT and set OUT parameters
408     --
409     p_return_status := hr_multi_message.get_return_status_disable;
410     hr_utility.set_location(' Leaving:' || l_proc,50);
411 end lck;
412 -- ----------------------------------------------------------------------------
413 -- |----------------------< update_Person_Life_Event >----------------------|
414 -- ----------------------------------------------------------------------------
415 PROCEDURE update_Person_Life_Event
416   (p_validate                     in     number    default hr_api.g_false_num
417   ,p_per_in_ler_id                  in  number
418     ,p_per_in_ler_stat_cd             in  varchar2  default hr_api.g_varchar2
419     ,p_prvs_stat_cd                   in  varchar2  default hr_api.g_varchar2
420     ,p_lf_evt_ocrd_dt                 in  date      default hr_api.g_date
421     ,p_trgr_table_pk_id               in  number    default hr_api.g_number --ABSE changes
422     ,p_procd_dt                       out NOCOPY date
423     ,p_strtd_dt                       out NOCOPY date
424     ,p_voidd_dt                       out NOCOPY date
425     ,p_bckt_dt                        in  date      default hr_api.g_date
426     ,p_clsd_dt                        in  date      default hr_api.g_date
427     ,p_ntfn_dt                        in  date      default hr_api.g_date
428     ,p_ptnl_ler_for_per_id            in  number    default hr_api.g_number
429     ,p_bckt_per_in_ler_id             in  number    default hr_api.g_number
430     ,p_ler_id                         in  number    default hr_api.g_number
431     ,p_person_id                      in  number    default hr_api.g_number
432     ,p_business_group_id              in  number    default hr_api.g_number
433     ,p_ASSIGNMENT_ID                  in  number    default hr_api.g_number
434     ,p_WS_MGR_ID                      in  number    default hr_api.g_number
435     ,p_GROUP_PL_ID                    in  number    default hr_api.g_number
436     ,p_MGR_OVRID_PERSON_ID            in  number    default hr_api.g_number
437     ,p_MGR_OVRID_DT                   in  date      default hr_api.g_date
438     ,p_pil_attribute_category         in  varchar2  default hr_api.g_varchar2
439     ,p_pil_attribute1                 in  varchar2  default hr_api.g_varchar2
440     ,p_pil_attribute2                 in  varchar2  default hr_api.g_varchar2
441     ,p_pil_attribute3                 in  varchar2  default hr_api.g_varchar2
442     ,p_pil_attribute4                 in  varchar2  default hr_api.g_varchar2
443     ,p_pil_attribute5                 in  varchar2  default hr_api.g_varchar2
444     ,p_pil_attribute6                 in  varchar2  default hr_api.g_varchar2
445     ,p_pil_attribute7                 in  varchar2  default hr_api.g_varchar2
446     ,p_pil_attribute8                 in  varchar2  default hr_api.g_varchar2
447     ,p_pil_attribute9                 in  varchar2  default hr_api.g_varchar2
448     ,p_pil_attribute10                in  varchar2  default hr_api.g_varchar2
449     ,p_pil_attribute11                in  varchar2  default hr_api.g_varchar2
450     ,p_pil_attribute12                in  varchar2  default hr_api.g_varchar2
451     ,p_pil_attribute13                in  varchar2  default hr_api.g_varchar2
452     ,p_pil_attribute14                in  varchar2  default hr_api.g_varchar2
453     ,p_pil_attribute15                in  varchar2  default hr_api.g_varchar2
454     ,p_pil_attribute16                in  varchar2  default hr_api.g_varchar2
455     ,p_pil_attribute17                in  varchar2  default hr_api.g_varchar2
456     ,p_pil_attribute18                in  varchar2  default hr_api.g_varchar2
457     ,p_pil_attribute19                in  varchar2  default hr_api.g_varchar2
458     ,p_pil_attribute20                in  varchar2  default hr_api.g_varchar2
459     ,p_pil_attribute21                in  varchar2  default hr_api.g_varchar2
460     ,p_pil_attribute22                in  varchar2  default hr_api.g_varchar2
461     ,p_pil_attribute23                in  varchar2  default hr_api.g_varchar2
462     ,p_pil_attribute24                in  varchar2  default hr_api.g_varchar2
463     ,p_pil_attribute25                in  varchar2  default hr_api.g_varchar2
464     ,p_pil_attribute26                in  varchar2  default hr_api.g_varchar2
465     ,p_pil_attribute27                in  varchar2  default hr_api.g_varchar2
466     ,p_pil_attribute28                in  varchar2  default hr_api.g_varchar2
467     ,p_pil_attribute29                in  varchar2  default hr_api.g_varchar2
468     ,p_pil_attribute30                in  varchar2  default hr_api.g_varchar2
469     ,p_request_id                     in  number    default hr_api.g_number
470     ,p_program_application_id         in  number    default hr_api.g_number
471     ,p_program_id                     in  number    default hr_api.g_number
472     ,p_program_update_date            in  date      default hr_api.g_date
473     ,p_object_version_number          in out NOCOPY number
474   ,p_effective_date                 in  date
475   ,p_return_status                   out nocopy varchar2
476   ) is
477   --
478   -- Variables for API Boolean parameters
479   l_validate                      boolean;
480   --
481   -- Variables for IN/OUT parameters
482   l_object_version_number         number;
483   --
484   -- Other variables
485   l_proc    varchar2(72) := g_package ||'update_Person_Life_Event';
486 Begin
487   hr_utility.set_location(' Entering:' || l_proc,10);
488   --
489   -- Issue a savepoint
490   --
491   savepoint update_Person_Life_Event_swi;
492   --
493   -- Initialise Multiple Message Detection
494   --
495   hr_multi_message.enable_message_list;
496   --
497   -- Remember IN OUT parameter IN values
498   --
499   l_object_version_number         := p_object_version_number;
500 
501   --
502   -- Convert constant values to their corresponding boolean value
503   --
504   l_validate :=
508   -- Register Surrogate ID or user key values
505     hr_api.constant_to_boolean
506       (p_constant_value => p_validate);
507   --
509   --
510   --
511   -- Call API
512   --
513   ben_Person_Life_Event_api.update_Person_Life_Event
514     (p_validate                     => l_validate
515     ,p_per_in_ler_id                  =>  p_per_in_ler_id
516       ,p_per_in_ler_stat_cd             =>  p_per_in_ler_stat_cd
517       ,p_prvs_stat_cd                   =>  p_prvs_stat_cd
518       ,p_lf_evt_ocrd_dt                 =>  p_lf_evt_ocrd_dt
519       ,p_trgr_table_pk_id               =>  p_trgr_table_pk_id --ABSE changes
520       ,p_procd_dt                       =>  p_procd_dt
521       ,p_strtd_dt                       =>  p_strtd_dt
522       ,p_voidd_dt                       =>  p_voidd_dt
523       ,p_bckt_dt                        =>  p_bckt_dt
524       ,p_clsd_dt                        =>  p_clsd_dt
525       ,p_ntfn_dt                        =>  p_ntfn_dt
526       ,p_ptnl_ler_for_per_id            =>  p_ptnl_ler_for_per_id
527       ,p_bckt_per_in_ler_id             =>  p_bckt_per_in_ler_id
528       ,p_ler_id                         =>  p_ler_id
529       ,p_person_id                      =>  p_person_id
530       ,p_business_group_id              =>  p_business_group_id
531       ,p_ASSIGNMENT_ID                  =>  p_ASSIGNMENT_ID
532       ,p_WS_MGR_ID                      =>  p_WS_MGR_ID
533       ,p_GROUP_PL_ID                    =>  p_GROUP_PL_ID
534       ,p_MGR_OVRID_PERSON_ID            =>  p_MGR_OVRID_PERSON_ID
535       ,p_MGR_OVRID_DT                   =>  p_MGR_OVRID_DT
536       ,p_pil_attribute_category         =>  p_pil_attribute_category
537       ,p_pil_attribute1                 =>  p_pil_attribute1
538       ,p_pil_attribute2                 =>  p_pil_attribute2
539       ,p_pil_attribute3                 =>  p_pil_attribute3
540       ,p_pil_attribute4                 =>  p_pil_attribute4
541       ,p_pil_attribute5                 =>  p_pil_attribute5
542       ,p_pil_attribute6                 =>  p_pil_attribute6
543       ,p_pil_attribute7                 =>  p_pil_attribute7
544       ,p_pil_attribute8                 =>  p_pil_attribute8
545       ,p_pil_attribute9                 =>  p_pil_attribute9
546       ,p_pil_attribute10                =>  p_pil_attribute10
547       ,p_pil_attribute11                =>  p_pil_attribute11
548       ,p_pil_attribute12                =>  p_pil_attribute12
549       ,p_pil_attribute13                =>  p_pil_attribute13
550       ,p_pil_attribute14                =>  p_pil_attribute14
551       ,p_pil_attribute15                =>  p_pil_attribute15
552       ,p_pil_attribute16                =>  p_pil_attribute16
553       ,p_pil_attribute17                =>  p_pil_attribute17
554       ,p_pil_attribute18                =>  p_pil_attribute18
555       ,p_pil_attribute19                =>  p_pil_attribute19
556       ,p_pil_attribute20                =>  p_pil_attribute20
557       ,p_pil_attribute21                =>  p_pil_attribute21
558       ,p_pil_attribute22                =>  p_pil_attribute22
559       ,p_pil_attribute23                =>  p_pil_attribute23
560       ,p_pil_attribute24                =>  p_pil_attribute24
561       ,p_pil_attribute25                =>  p_pil_attribute25
562       ,p_pil_attribute26                =>  p_pil_attribute26
563       ,p_pil_attribute27                =>  p_pil_attribute27
564       ,p_pil_attribute28                =>  p_pil_attribute28
565       ,p_pil_attribute29                =>  p_pil_attribute29
566       ,p_pil_attribute30                =>  p_pil_attribute30
567       ,p_request_id                     =>  p_request_id
568       ,p_program_application_id         =>  p_program_application_id
569       ,p_program_id                     =>  p_program_id
570       ,p_program_update_date            =>  p_program_update_date
571       ,p_object_version_number          =>  p_object_version_number
572       ,p_effective_date                 =>  p_effective_date
573     );
574   --
575   -- Convert API warning boolean parameter values to specific
576   -- messages and add them to Multiple Message List
577   --
578   --
579   -- Convert API non-warning boolean parameter values
580   --
581   --
582   -- Derive the API return status value based on whether
583   -- messages of any type exist in the Multiple Message List.
584   -- Also disable Multiple Message Detection.
585   --
586   p_return_status := hr_multi_message.get_return_status_disable;
587   hr_utility.set_location(' Leaving:' || l_proc,20);
588   --
589 exception
590   when hr_multi_message.error_message_exist then
591     --
592     -- Catch the Multiple Message List exception which
593     -- indicates API processing has been aborted because
594     -- at least one message exists in the list.
595     --
596     rollback to update_Person_Life_Event_swi;
597     --
598     -- Reset IN OUT parameters and set OUT parameters
599     --
600     p_object_version_number        := l_object_version_number;
601     p_return_status := hr_multi_message.get_return_status_disable;
602     hr_utility.set_location(' Leaving:' || l_proc, 30);
603   when others then
604     --
605     -- When Multiple Message Detection is enabled catch
606     -- any Application specific or other unexpected
607     -- exceptions.  Adding appropriate details to the
608     -- Multiple Message List.  Otherwise re-raise the
609     -- error.
610     --
611     rollback to update_Person_Life_Event_swi;
612     if hr_multi_message.unexpected_error_add(l_proc) then
613        hr_utility.set_location(' Leaving:' || l_proc,40);
614        raise;
615     end if;
616     --
617     -- Reset IN OUT and set OUT parameters
618     --
619     p_object_version_number        := l_object_version_number;
620     p_return_status := hr_multi_message.get_return_status_disable;
621     hr_utility.set_location(' Leaving:' || l_proc,50);
622 end update_Person_Life_Event;
623 end ben_person_life_event_swi;