[Home] [Help]
PACKAGE BODY: APPS.PAY_PAYROLL_SWI
Source
1 Package Body pay_payroll_swi As
2 /* $Header: pyprlswi.pkb 115.1 2003/12/24 06:20 sdhole noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'pay_payroll_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------------< create_payroll >----------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_payroll
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_payroll_name in varchar2
15 ,p_payroll_type in varchar2 default null
16 ,p_period_type in varchar2
17 ,p_first_period_end_date in date
18 ,p_number_of_years in number
19 ,p_pay_date_offset in number default 0
20 ,p_direct_deposit_date_offset in number default 0
21 ,p_pay_advice_date_offset in number default 0
22 ,p_cut_off_date_offset in number default 0
23 ,p_midpoint_offset in number default null
24 ,p_default_payment_method_id in number default null
25 ,p_consolidation_set_id in number
26 ,p_cost_allocation_keyflex_id in number default null
27 ,p_suspense_account_keyflex_id in number default null
28 ,p_negative_pay_allowed_flag in varchar2 default 'N'
29 ,p_gl_set_of_books_id in number default null
30 ,p_soft_coding_keyflex_id in number default null
31 ,p_comments in varchar2 default null
32 ,p_attribute_category in varchar2 default null
33 ,p_attribute1 in varchar2 default null
34 ,p_attribute2 in varchar2 default null
35 ,p_attribute3 in varchar2 default null
36 ,p_attribute4 in varchar2 default null
37 ,p_attribute5 in varchar2 default null
38 ,p_attribute6 in varchar2 default null
39 ,p_attribute7 in varchar2 default null
40 ,p_attribute8 in varchar2 default null
41 ,p_attribute9 in varchar2 default null
42 ,p_attribute10 in varchar2 default null
43 ,p_attribute11 in varchar2 default null
44 ,p_attribute12 in varchar2 default null
45 ,p_attribute13 in varchar2 default null
46 ,p_attribute14 in varchar2 default null
47 ,p_attribute15 in varchar2 default null
48 ,p_attribute16 in varchar2 default null
49 ,p_attribute17 in varchar2 default null
50 ,p_attribute18 in varchar2 default null
51 ,p_attribute19 in varchar2 default null
52 ,p_attribute20 in varchar2 default null
53 ,p_arrears_flag in varchar2 default 'N'
54 ,p_period_reset_years in number default null
55 ,p_multi_assignments_flag in varchar2 default null
56 ,p_organization_id in number default null
57 ,p_prl_information_category in varchar2 default null
58 ,p_prl_information1 in varchar2 default null
59 ,p_prl_information2 in varchar2 default null
60 ,p_prl_information3 in varchar2 default null
61 ,p_prl_information4 in varchar2 default null
62 ,p_prl_information5 in varchar2 default null
63 ,p_prl_information6 in varchar2 default null
64 ,p_prl_information7 in varchar2 default null
65 ,p_prl_information8 in varchar2 default null
66 ,p_prl_information9 in varchar2 default null
67 ,p_prl_information10 in varchar2 default null
68 ,p_prl_information11 in varchar2 default null
69 ,p_prl_information12 in varchar2 default null
70 ,p_prl_information13 in varchar2 default null
71 ,p_prl_information14 in varchar2 default null
72 ,p_prl_information15 in varchar2 default null
73 ,p_prl_information16 in varchar2 default null
74 ,p_prl_information17 in varchar2 default null
75 ,p_prl_information18 in varchar2 default null
76 ,p_prl_information19 in varchar2 default null
77 ,p_prl_information20 in varchar2 default null
78 ,p_prl_information21 in varchar2 default null
79 ,p_prl_information22 in varchar2 default null
80 ,p_prl_information23 in varchar2 default null
81 ,p_prl_information24 in varchar2 default null
82 ,p_prl_information25 in varchar2 default null
83 ,p_prl_information26 in varchar2 default null
84 ,p_prl_information27 in varchar2 default null
85 ,p_prl_information28 in varchar2 default null
86 ,p_prl_information29 in varchar2 default null
87 ,p_prl_information30 in varchar2 default null
88 ,p_payroll_id in number -- made IN
89 ,p_org_pay_method_usage_id out nocopy number
90 ,p_prl_object_version_number out nocopy number
91 ,p_opm_object_version_number out nocopy number
92 ,p_prl_effective_start_date out nocopy date
93 ,p_prl_effective_end_date out nocopy date
94 ,p_opm_effective_start_date out nocopy date
95 ,p_opm_effective_end_date out nocopy date
96 ,p_comment_id out nocopy number
97 ,p_return_status out nocopy varchar2
98 ) is
99 --
100 -- Variables for API Boolean parameters
101 l_validate boolean;
102 --
103 -- Variables for IN/OUT parameters
104 l_payroll_id number;
105 --
106 -- Other variables
107 l_proc varchar2(72) := g_package ||'create_payroll';
108 Begin
109 hr_utility.set_location(' Entering:' || l_proc,10);
110 --
111 -- Issue a savepoint
112 --
113 savepoint create_payroll_swi;
114 --
115 -- Initialise Multiple Message Detection
116 --
117 hr_multi_message.enable_message_list;
118 --
119 -- Remember IN OUT parameter IN values
120 --
121 --
122 -- Convert constant values to their corresponding boolean value
123 --
124 l_validate :=
125 hr_api.constant_to_boolean
126 (p_constant_value => p_validate);
127 --
128 -- Register Surrogate ID or user key values
129 --
130 pay_payroll_api.set_base_key_value
131 (p_payroll_id => p_payroll_id
132 );
133 --
134 -- Call API
135 --
136 pay_payroll_api.create_payroll
137 (p_validate => l_validate
138 ,p_effective_date => p_effective_date
139 ,p_payroll_name => p_payroll_name
140 ,p_payroll_type => p_payroll_type
141 ,p_period_type => p_period_type
142 ,p_first_period_end_date => p_first_period_end_date
143 ,p_number_of_years => p_number_of_years
144 ,p_pay_date_offset => p_pay_date_offset
145 ,p_direct_deposit_date_offset => p_direct_deposit_date_offset
146 ,p_pay_advice_date_offset => p_pay_advice_date_offset
147 ,p_cut_off_date_offset => p_cut_off_date_offset
148 ,p_midpoint_offset => p_midpoint_offset
149 ,p_default_payment_method_id => p_default_payment_method_id
150 ,p_consolidation_set_id => p_consolidation_set_id
151 ,p_cost_allocation_keyflex_id => p_cost_allocation_keyflex_id
152 ,p_suspense_account_keyflex_id => p_suspense_account_keyflex_id
153 ,p_negative_pay_allowed_flag => p_negative_pay_allowed_flag
154 ,p_gl_set_of_books_id => p_gl_set_of_books_id
155 ,p_soft_coding_keyflex_id => p_soft_coding_keyflex_id
156 ,p_comments => p_comments
157 ,p_attribute_category => p_attribute_category
158 ,p_attribute1 => p_attribute1
159 ,p_attribute2 => p_attribute2
160 ,p_attribute3 => p_attribute3
161 ,p_attribute4 => p_attribute4
162 ,p_attribute5 => p_attribute5
163 ,p_attribute6 => p_attribute6
164 ,p_attribute7 => p_attribute7
165 ,p_attribute8 => p_attribute8
166 ,p_attribute9 => p_attribute9
167 ,p_attribute10 => p_attribute10
168 ,p_attribute11 => p_attribute11
169 ,p_attribute12 => p_attribute12
170 ,p_attribute13 => p_attribute13
171 ,p_attribute14 => p_attribute14
172 ,p_attribute15 => p_attribute15
173 ,p_attribute16 => p_attribute16
174 ,p_attribute17 => p_attribute17
175 ,p_attribute18 => p_attribute18
176 ,p_attribute19 => p_attribute19
177 ,p_attribute20 => p_attribute20
178 ,p_arrears_flag => p_arrears_flag
179 ,p_period_reset_years => p_period_reset_years
180 ,p_multi_assignments_flag => p_multi_assignments_flag
181 ,p_organization_id => p_organization_id
182 ,p_prl_information_category => p_prl_information_category
183 ,p_prl_information1 => p_prl_information1
184 ,p_prl_information2 => p_prl_information2
185 ,p_prl_information3 => p_prl_information3
186 ,p_prl_information4 => p_prl_information4
187 ,p_prl_information5 => p_prl_information5
188 ,p_prl_information6 => p_prl_information6
189 ,p_prl_information7 => p_prl_information7
190 ,p_prl_information8 => p_prl_information8
191 ,p_prl_information9 => p_prl_information9
192 ,p_prl_information10 => p_prl_information10
193 ,p_prl_information11 => p_prl_information11
194 ,p_prl_information12 => p_prl_information12
195 ,p_prl_information13 => p_prl_information13
196 ,p_prl_information14 => p_prl_information14
197 ,p_prl_information15 => p_prl_information15
198 ,p_prl_information16 => p_prl_information16
199 ,p_prl_information17 => p_prl_information17
200 ,p_prl_information18 => p_prl_information18
201 ,p_prl_information19 => p_prl_information19
202 ,p_prl_information20 => p_prl_information20
203 ,p_prl_information21 => p_prl_information21
204 ,p_prl_information22 => p_prl_information22
205 ,p_prl_information23 => p_prl_information23
206 ,p_prl_information24 => p_prl_information24
207 ,p_prl_information25 => p_prl_information25
208 ,p_prl_information26 => p_prl_information26
209 ,p_prl_information27 => p_prl_information27
210 ,p_prl_information28 => p_prl_information28
211 ,p_prl_information29 => p_prl_information29
212 ,p_prl_information30 => p_prl_information30
213 ,p_payroll_id => l_payroll_id
214 ,p_org_pay_method_usage_id => p_org_pay_method_usage_id
215 ,p_prl_object_version_number => p_prl_object_version_number
216 ,p_opm_object_version_number => p_opm_object_version_number
217 ,p_prl_effective_start_date => p_prl_effective_start_date
218 ,p_prl_effective_end_date => p_prl_effective_end_date
219 ,p_opm_effective_start_date => p_opm_effective_start_date
220 ,p_opm_effective_end_date => p_opm_effective_end_date
221 ,p_comment_id => p_comment_id
222 );
223 --
224 -- Convert API warning boolean parameter values to specific
225 -- messages and add them to Multiple Message List
226 --
227 --
228 -- Convert API non-warning boolean parameter values
229 --
230 --
231 -- Derive the API return status value based on whether
232 -- messages of any type exist in the Multiple Message List.
233 -- Also disable Multiple Message Detection.
234 --
235 p_return_status := hr_multi_message.get_return_status_disable;
236 hr_utility.set_location(' Leaving:' || l_proc,20);
237 --
238 exception
239 when hr_multi_message.error_message_exist then
240 --
241 -- Catch the Multiple Message List exception which
242 -- indicates API processing has been aborted because
243 -- at least one message exists in the list.
244 --
245 rollback to create_payroll_swi;
246 --
247 -- Reset IN OUT parameters and set OUT parameters
248 --
249 p_org_pay_method_usage_id := null;
250 p_prl_object_version_number := null;
251 p_opm_object_version_number := null;
252 p_prl_effective_start_date := null;
253 p_prl_effective_end_date := null;
254 p_opm_effective_start_date := null;
255 p_opm_effective_end_date := null;
256 p_comment_id := null;
257 p_return_status := hr_multi_message.get_return_status_disable;
258 hr_utility.set_location(' Leaving:' || l_proc, 30);
259 when others then
260 --
261 -- When Multiple Message Detection is enabled catch
262 -- any Application specific or other unexpected
263 -- exceptions. Adding appropriate details to the
264 -- Multiple Message List. Otherwise re-raise the
265 -- error.
266 --
267 rollback to create_payroll_swi;
268 if hr_multi_message.unexpected_error_add(l_proc) then
269 hr_utility.set_location(' Leaving:' || l_proc,40);
270 raise;
271 end if;
272 --
273 -- Reset IN OUT and set OUT parameters
274 --
275 p_org_pay_method_usage_id := null;
276 p_prl_object_version_number := null;
277 p_opm_object_version_number := null;
278 p_prl_effective_start_date := null;
279 p_prl_effective_end_date := null;
280 p_opm_effective_start_date := null;
281 p_opm_effective_end_date := null;
282 p_comment_id := null;
283 p_return_status := hr_multi_message.get_return_status_disable;
284 hr_utility.set_location(' Leaving:' || l_proc,50);
285 end create_payroll;
286 -- ----------------------------------------------------------------------------
287 -- |----------------------------< delete_payroll >----------------------------|
288 -- ----------------------------------------------------------------------------
289 PROCEDURE delete_payroll
290 (p_validate in number default hr_api.g_false_num
291 ,p_effective_date in date
292 ,p_datetrack_mode in varchar2
293 ,p_payroll_id in number
294 ,p_object_version_number in out nocopy number
295 ,p_effective_start_date out nocopy date
296 ,p_effective_end_date out nocopy date
300 -- Variables for API Boolean parameters
297 ,p_return_status out nocopy varchar2
298 ) is
299 --
301 l_validate boolean;
302 --
303 -- Variables for IN/OUT parameters
304 l_object_version_number number;
305 --
306 -- Other variables
307 l_proc varchar2(72) := g_package ||'delete_payroll';
308 Begin
309 hr_utility.set_location(' Entering:' || l_proc,10);
310 --
311 -- Issue a savepoint
312 --
313 savepoint delete_payroll_swi;
314 --
315 -- Initialise Multiple Message Detection
316 --
317 hr_multi_message.enable_message_list;
318 --
319 -- Remember IN OUT parameter IN values
320 --
321 l_object_version_number := p_object_version_number;
322 --
323 -- Convert constant values to their corresponding boolean value
324 --
325 l_validate :=
326 hr_api.constant_to_boolean
327 (p_constant_value => p_validate);
328 --
329 -- Register Surrogate ID or user key values
330 --
331 --
332 -- Call API
333 --
334 pay_payroll_api.delete_payroll
335 (p_validate => l_validate
336 ,p_effective_date => p_effective_date
337 ,p_datetrack_mode => p_datetrack_mode
338 ,p_payroll_id => p_payroll_id
339 ,p_object_version_number => p_object_version_number
340 ,p_effective_start_date => p_effective_start_date
341 ,p_effective_end_date => p_effective_end_date
342 );
343 --
344 -- Convert API warning boolean parameter values to specific
345 -- messages and add them to Multiple Message List
346 --
347 --
348 -- Convert API non-warning boolean parameter values
349 --
350 --
351 -- Derive the API return status value based on whether
352 -- messages of any type exist in the Multiple Message List.
353 -- Also disable Multiple Message Detection.
354 --
355 p_return_status := hr_multi_message.get_return_status_disable;
356 hr_utility.set_location(' Leaving:' || l_proc,20);
357 --
358 exception
359 when hr_multi_message.error_message_exist then
360 --
361 -- Catch the Multiple Message List exception which
362 -- indicates API processing has been aborted because
363 -- at least one message exists in the list.
364 --
365 rollback to delete_payroll_swi;
366 --
367 -- Reset IN OUT parameters and set OUT parameters
368 --
369 p_object_version_number := l_object_version_number;
370 p_effective_start_date := null;
371 p_effective_end_date := null;
372 p_return_status := hr_multi_message.get_return_status_disable;
373 hr_utility.set_location(' Leaving:' || l_proc, 30);
374 when others then
375 --
376 -- When Multiple Message Detection is enabled catch
377 -- any Application specific or other unexpected
378 -- exceptions. Adding appropriate details to the
379 -- Multiple Message List. Otherwise re-raise the
380 -- error.
381 --
382 rollback to delete_payroll_swi;
383 if hr_multi_message.unexpected_error_add(l_proc) then
384 hr_utility.set_location(' Leaving:' || l_proc,40);
385 raise;
386 end if;
387 --
388 -- Reset IN OUT and set OUT parameters
389 --
390 p_object_version_number := l_object_version_number;
391 p_effective_start_date := null;
392 p_effective_end_date := null;
393 p_return_status := hr_multi_message.get_return_status_disable;
394 hr_utility.set_location(' Leaving:' || l_proc,50);
395 end delete_payroll;
396 -- ----------------------------------------------------------------------------
397 -- |----------------------------< update_payroll >----------------------------|
398 -- ----------------------------------------------------------------------------
399 PROCEDURE update_payroll
400 (p_validate in number default hr_api.g_false_num
401 ,p_effective_date in date
402 ,p_datetrack_mode in varchar2
403 ,p_payroll_id in out nocopy number
404 ,p_object_version_number in out nocopy number
405 ,p_payroll_name in varchar2 default hr_api.g_varchar2
406 ,p_number_of_years in number default hr_api.g_number
407 ,p_default_payment_method_id in number default hr_api.g_number
408 ,p_consolidation_set_id in number default hr_api.g_number
409 ,p_cost_allocation_keyflex_id in number default hr_api.g_number
410 ,p_suspense_account_keyflex_id in number default hr_api.g_number
411 ,p_negative_pay_allowed_flag in varchar2 default hr_api.g_varchar2
412 ,p_soft_coding_keyflex_id in number default hr_api.g_number
413 ,p_comments in varchar2 default hr_api.g_varchar2
414 ,p_attribute_category in varchar2 default hr_api.g_varchar2
415 ,p_attribute1 in varchar2 default hr_api.g_varchar2
416 ,p_attribute2 in varchar2 default hr_api.g_varchar2
417 ,p_attribute3 in varchar2 default hr_api.g_varchar2
418 ,p_attribute4 in varchar2 default hr_api.g_varchar2
419 ,p_attribute5 in varchar2 default hr_api.g_varchar2
420 ,p_attribute6 in varchar2 default hr_api.g_varchar2
421 ,p_attribute7 in varchar2 default hr_api.g_varchar2
422 ,p_attribute8 in varchar2 default hr_api.g_varchar2
423 ,p_attribute9 in varchar2 default hr_api.g_varchar2
424 ,p_attribute10 in varchar2 default hr_api.g_varchar2
428 ,p_attribute14 in varchar2 default hr_api.g_varchar2
425 ,p_attribute11 in varchar2 default hr_api.g_varchar2
426 ,p_attribute12 in varchar2 default hr_api.g_varchar2
427 ,p_attribute13 in varchar2 default hr_api.g_varchar2
429 ,p_attribute15 in varchar2 default hr_api.g_varchar2
430 ,p_attribute16 in varchar2 default hr_api.g_varchar2
431 ,p_attribute17 in varchar2 default hr_api.g_varchar2
432 ,p_attribute18 in varchar2 default hr_api.g_varchar2
433 ,p_attribute19 in varchar2 default hr_api.g_varchar2
434 ,p_attribute20 in varchar2 default hr_api.g_varchar2
435 ,p_arrears_flag in varchar2 default hr_api.g_varchar2
436 ,p_multi_assignments_flag in varchar2 default hr_api.g_varchar2
437 ,p_prl_information_category in varchar2 default hr_api.g_varchar2
438 ,p_prl_information1 in varchar2 default hr_api.g_varchar2
439 ,p_prl_information2 in varchar2 default hr_api.g_varchar2
440 ,p_prl_information3 in varchar2 default hr_api.g_varchar2
441 ,p_prl_information4 in varchar2 default hr_api.g_varchar2
442 ,p_prl_information5 in varchar2 default hr_api.g_varchar2
443 ,p_prl_information6 in varchar2 default hr_api.g_varchar2
444 ,p_prl_information7 in varchar2 default hr_api.g_varchar2
445 ,p_prl_information8 in varchar2 default hr_api.g_varchar2
446 ,p_prl_information9 in varchar2 default hr_api.g_varchar2
447 ,p_prl_information10 in varchar2 default hr_api.g_varchar2
448 ,p_prl_information11 in varchar2 default hr_api.g_varchar2
449 ,p_prl_information12 in varchar2 default hr_api.g_varchar2
450 ,p_prl_information13 in varchar2 default hr_api.g_varchar2
451 ,p_prl_information14 in varchar2 default hr_api.g_varchar2
452 ,p_prl_information15 in varchar2 default hr_api.g_varchar2
453 ,p_prl_information16 in varchar2 default hr_api.g_varchar2
454 ,p_prl_information17 in varchar2 default hr_api.g_varchar2
455 ,p_prl_information18 in varchar2 default hr_api.g_varchar2
456 ,p_prl_information19 in varchar2 default hr_api.g_varchar2
457 ,p_prl_information20 in varchar2 default hr_api.g_varchar2
458 ,p_prl_information21 in varchar2 default hr_api.g_varchar2
459 ,p_prl_information22 in varchar2 default hr_api.g_varchar2
460 ,p_prl_information23 in varchar2 default hr_api.g_varchar2
461 ,p_prl_information24 in varchar2 default hr_api.g_varchar2
462 ,p_prl_information25 in varchar2 default hr_api.g_varchar2
463 ,p_prl_information26 in varchar2 default hr_api.g_varchar2
464 ,p_prl_information27 in varchar2 default hr_api.g_varchar2
465 ,p_prl_information28 in varchar2 default hr_api.g_varchar2
466 ,p_prl_information29 in varchar2 default hr_api.g_varchar2
467 ,p_prl_information30 in varchar2 default hr_api.g_varchar2
468 ,p_prl_effective_start_date out nocopy date
469 ,p_prl_effective_end_date out nocopy date
470 ,p_comment_id out nocopy number
471 ,p_return_status out nocopy varchar2
472 ) is
473 --
474 -- Variables for API Boolean parameters
475 l_validate boolean;
476 --
477 -- Variables for IN/OUT parameters
478 l_payroll_id number;
479 l_object_version_number number;
480 --
481 -- Other variables
482 l_proc varchar2(72) := g_package ||'update_payroll';
483 Begin
484 hr_utility.set_location(' Entering:' || l_proc,10);
485 --
486 -- Issue a savepoint
487 --
488 savepoint update_payroll_swi;
489 --
490 -- Initialise Multiple Message Detection
491 --
492 hr_multi_message.enable_message_list;
493 --
494 -- Remember IN OUT parameter IN values
495 --
496 l_payroll_id := p_payroll_id;
497 l_object_version_number := p_object_version_number;
498 --
499 -- Convert constant values to their corresponding boolean value
500 --
501 l_validate :=
502 hr_api.constant_to_boolean
503 (p_constant_value => p_validate);
504 --
505 -- Register Surrogate ID or user key values
506 --
507 --
508 -- Call API
509 --
510 pay_payroll_api.update_payroll
511 (p_validate => l_validate
512 ,p_effective_date => p_effective_date
513 ,p_datetrack_mode => p_datetrack_mode
514 ,p_payroll_id => p_payroll_id
515 ,p_object_version_number => p_object_version_number
516 ,p_payroll_name => p_payroll_name
517 ,p_number_of_years => p_number_of_years
518 ,p_default_payment_method_id => p_default_payment_method_id
519 ,p_consolidation_set_id => p_consolidation_set_id
520 ,p_cost_allocation_keyflex_id => p_cost_allocation_keyflex_id
521 ,p_suspense_account_keyflex_id => p_suspense_account_keyflex_id
522 ,p_negative_pay_allowed_flag => p_negative_pay_allowed_flag
523 ,p_soft_coding_keyflex_id => p_soft_coding_keyflex_id
524 ,p_comments => p_comments
525 ,p_attribute_category => p_attribute_category
526 ,p_attribute1 => p_attribute1
527 ,p_attribute2 => p_attribute2
528 ,p_attribute3 => p_attribute3
529 ,p_attribute4 => p_attribute4
530 ,p_attribute5 => p_attribute5
534 ,p_attribute9 => p_attribute9
531 ,p_attribute6 => p_attribute6
532 ,p_attribute7 => p_attribute7
533 ,p_attribute8 => p_attribute8
535 ,p_attribute10 => p_attribute10
536 ,p_attribute11 => p_attribute11
537 ,p_attribute12 => p_attribute12
538 ,p_attribute13 => p_attribute13
539 ,p_attribute14 => p_attribute14
540 ,p_attribute15 => p_attribute15
541 ,p_attribute16 => p_attribute16
542 ,p_attribute17 => p_attribute17
543 ,p_attribute18 => p_attribute18
544 ,p_attribute19 => p_attribute19
545 ,p_attribute20 => p_attribute20
546 ,p_arrears_flag => p_arrears_flag
547 ,p_multi_assignments_flag => p_multi_assignments_flag
548 ,p_prl_information_category => p_prl_information_category
549 ,p_prl_information1 => p_prl_information1
550 ,p_prl_information2 => p_prl_information2
551 ,p_prl_information3 => p_prl_information3
552 ,p_prl_information4 => p_prl_information4
553 ,p_prl_information5 => p_prl_information5
554 ,p_prl_information6 => p_prl_information6
555 ,p_prl_information7 => p_prl_information7
556 ,p_prl_information8 => p_prl_information8
557 ,p_prl_information9 => p_prl_information9
558 ,p_prl_information10 => p_prl_information10
559 ,p_prl_information11 => p_prl_information11
560 ,p_prl_information12 => p_prl_information12
561 ,p_prl_information13 => p_prl_information13
562 ,p_prl_information14 => p_prl_information14
563 ,p_prl_information15 => p_prl_information15
564 ,p_prl_information16 => p_prl_information16
565 ,p_prl_information17 => p_prl_information17
566 ,p_prl_information18 => p_prl_information18
567 ,p_prl_information19 => p_prl_information19
568 ,p_prl_information20 => p_prl_information20
569 ,p_prl_information21 => p_prl_information21
570 ,p_prl_information22 => p_prl_information22
571 ,p_prl_information23 => p_prl_information23
572 ,p_prl_information24 => p_prl_information24
573 ,p_prl_information25 => p_prl_information25
574 ,p_prl_information26 => p_prl_information26
575 ,p_prl_information27 => p_prl_information27
576 ,p_prl_information28 => p_prl_information28
577 ,p_prl_information29 => p_prl_information29
578 ,p_prl_information30 => p_prl_information30
579 ,p_prl_effective_start_date => p_prl_effective_start_date
580 ,p_prl_effective_end_date => p_prl_effective_end_date
581 ,p_comment_id => p_comment_id
582 );
583 --
584 -- Convert API warning boolean parameter values to specific
585 -- messages and add them to Multiple Message List
586 --
587 --
588 -- Convert API non-warning boolean parameter values
589 --
590 --
591 -- Derive the API return status value based on whether
592 -- messages of any type exist in the Multiple Message List.
593 -- Also disable Multiple Message Detection.
594 --
595 p_return_status := hr_multi_message.get_return_status_disable;
596 hr_utility.set_location(' Leaving:' || l_proc,20);
597 --
598 exception
599 when hr_multi_message.error_message_exist then
600 --
601 -- Catch the Multiple Message List exception which
602 -- indicates API processing has been aborted because
603 -- at least one message exists in the list.
604 --
605 rollback to update_payroll_swi;
606 --
607 -- Reset IN OUT parameters and set OUT parameters
608 --
609 p_payroll_id := l_payroll_id;
610 p_object_version_number := l_object_version_number;
611 p_prl_effective_start_date := null;
612 p_prl_effective_end_date := null;
613 p_comment_id := null;
614 p_return_status := hr_multi_message.get_return_status_disable;
615 hr_utility.set_location(' Leaving:' || l_proc, 30);
616 when others then
617 --
618 -- When Multiple Message Detection is enabled catch
619 -- any Application specific or other unexpected
620 -- exceptions. Adding appropriate details to the
621 -- Multiple Message List. Otherwise re-raise the
622 -- error.
623 --
624 rollback to update_payroll_swi;
625 if hr_multi_message.unexpected_error_add(l_proc) then
626 hr_utility.set_location(' Leaving:' || l_proc,40);
627 raise;
628 end if;
629 --
630 -- Reset IN OUT and set OUT parameters
631 --
632 p_payroll_id := l_payroll_id;
633 p_object_version_number := l_object_version_number;
634 p_prl_effective_start_date := null;
635 p_prl_effective_end_date := null;
636 p_comment_id := null;
637 p_return_status := hr_multi_message.get_return_status_disable;
638 hr_utility.set_location(' Leaving:' || l_proc,50);
639 end update_payroll;
640 end pay_payroll_swi;