[Home] [Help]
PACKAGE BODY: APPS.PQP_VEHICLE_ALLOCATIONS_SWI
Source
1 Package Body pqp_vehicle_allocations_swi As
2 /* $Header: pqvalswi.pkb 120.1 2012/01/05 07:03:39 vepravee ship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'pqp_vehicle_allocations_swi.';
7 --
8 /*Added the below procedure as a part of bug#13547884*/
9 -- ----------------------------------------------------------------------------
10 -- |-----------------------< chk_pvt_contribution_limit >---------------------|
11 -- ----------------------------------------------------------------------------
12
13 Procedure chk_pvt_contribution_limit(p_private_contribution IN NUMBER)
14 IS
15 BEGIN
16 IF p_private_contribution not between -999999999.99 and +999999999.99
17 THEN
18 fnd_message.set_name('PQP','PQP_INVALID_NUM_PRECISION');
19 fnd_message.set_token('ARG_NAME','Private Contribution');
20 fnd_message.raise_error;
21 END IF;
22 END;
23
24 -- ----------------------------------------------------------------------------
25 -- |-----------------------< create_vehicle_allocation >----------------------|
26 -- ----------------------------------------------------------------------------
27 PROCEDURE create_vehicle_allocation
28 (p_validate in number default hr_api.g_false_num
29 ,p_effective_date in date
30 ,p_assignment_id in number
31 ,p_business_group_id in number
32 ,p_vehicle_repository_id in number default null
33 ,p_across_assignments in varchar2 default null
34 ,p_usage_type in varchar2 default null
35 ,p_capital_contribution in number default null
36 ,p_private_contribution in number default null
37 ,p_default_vehicle in varchar2 default null
38 ,p_fuel_card in varchar2 default null
39 ,p_fuel_card_number in varchar2 default null
40 ,p_calculation_method in varchar2 default null
41 ,p_rates_table_id in number default null
42 ,p_element_type_id in number default null
43 ,p_private_use_flag in varchar2 default null
44 ,p_insurance_number in varchar2 default null
45 ,p_insurance_expiry_date in date default null
46 ,p_val_attribute_category in varchar2 default null
47 ,p_val_attribute1 in varchar2 default null
48 ,p_val_attribute2 in varchar2 default null
49 ,p_val_attribute3 in varchar2 default null
50 ,p_val_attribute4 in varchar2 default null
51 ,p_val_attribute5 in varchar2 default null
52 ,p_val_attribute6 in varchar2 default null
53 ,p_val_attribute7 in varchar2 default null
54 ,p_val_attribute8 in varchar2 default null
55 ,p_val_attribute9 in varchar2 default null
56 ,p_val_attribute10 in varchar2 default null
57 ,p_val_attribute11 in varchar2 default null
58 ,p_val_attribute12 in varchar2 default null
59 ,p_val_attribute13 in varchar2 default null
60 ,p_val_attribute14 in varchar2 default null
61 ,p_val_attribute15 in varchar2 default null
62 ,p_val_attribute16 in varchar2 default null
63 ,p_val_attribute17 in varchar2 default null
64 ,p_val_attribute18 in varchar2 default null
65 ,p_val_attribute19 in varchar2 default null
66 ,p_val_attribute20 in varchar2 default null
67 ,p_val_information_category in varchar2 default null
68 ,p_val_information1 in varchar2 default null
69 ,p_val_information2 in varchar2 default null
70 ,p_val_information3 in varchar2 default null
71 ,p_val_information4 in varchar2 default null
72 ,p_val_information5 in varchar2 default null
73 ,p_val_information6 in varchar2 default null
74 ,p_val_information7 in varchar2 default null
75 ,p_val_information8 in varchar2 default null
79 ,p_val_information12 in varchar2 default null
76 ,p_val_information9 in varchar2 default null
77 ,p_val_information10 in varchar2 default null
78 ,p_val_information11 in varchar2 default null
80 ,p_val_information13 in varchar2 default null
81 ,p_val_information14 in varchar2 default null
82 ,p_val_information15 in varchar2 default null
83 ,p_val_information16 in varchar2 default null
84 ,p_val_information17 in varchar2 default null
85 ,p_val_information18 in varchar2 default null
86 ,p_val_information19 in varchar2 default null
87 ,p_val_information20 in varchar2 default null
88 ,p_fuel_benefit in varchar2 default null
89 ,p_sliding_rates_info in varchar2 default null
90 ,p_vehicle_allocation_id in number
91 ,p_object_version_number out nocopy number
92 ,p_effective_start_date out nocopy date
93 ,p_effective_end_date out nocopy date
94 ,p_return_status out nocopy varchar2
95 ) is
96 --
97 -- Variables for API Boolean parameters
98 l_validate boolean;
99 --
100 -- Variables for IN/OUT parameters
101 --
102 -- Other variables
103 l_vehicle_allocation_id number;
104 l_proc varchar2(72) := g_package ||'create_vehicle_allocation';
105 Begin
106 hr_utility.set_location(' Entering:' || l_proc,10);
107 --
108 -- Issue a savepoint
109 --
110 savepoint create_vehicle_allocation_swi;
111 --
112 -- Initialise Multiple Message Detection
113 --
114 hr_multi_message.enable_message_list;
115 --
116 -- Remember IN OUT parameter IN values
117 --
118 --
119 -- Convert constant values to their corresponding boolean value
120 --
121 l_validate :=
122 hr_api.constant_to_boolean
123 (p_constant_value => p_validate);
124 --
125 -- Register Surrogate ID or user key values
126 --
127 pqp_val_ins.set_base_key_value
128 (p_vehicle_allocation_id => p_vehicle_allocation_id
129 );
130
131 /* Added the following validation for checking private contribution
132 value as a apart og bug#13547884*/
133 --
134 -- Check the Private Contribution value
135 --
136 IF p_private_contribution is not null
137 THEN
138 chk_pvt_contribution_limit(p_private_contribution);
139 END IF;
140
141 --
142 -- Call API
143 --
144 pqp_vehicle_allocations_api.create_vehicle_allocation
145 (p_validate => l_validate
146 ,p_effective_date => p_effective_date
147 ,p_assignment_id => p_assignment_id
148 ,p_business_group_id => p_business_group_id
149 ,p_vehicle_repository_id => p_vehicle_repository_id
150 ,p_across_assignments => p_across_assignments
151 ,p_usage_type => p_usage_type
152 ,p_capital_contribution => p_capital_contribution
153 ,p_private_contribution => p_private_contribution
154 ,p_default_vehicle => p_default_vehicle
155 ,p_fuel_card => p_fuel_card
156 ,p_fuel_card_number => p_fuel_card_number
157 ,p_calculation_method => p_calculation_method
158 ,p_rates_table_id => p_rates_table_id
159 ,p_element_type_id => p_element_type_id
160 ,p_private_use_flag => p_private_use_flag
161 ,p_insurance_number => p_insurance_number
162 ,p_insurance_expiry_date => p_insurance_expiry_date
163 ,p_val_attribute_category => p_val_attribute_category
164 ,p_val_attribute1 => p_val_attribute1
165 ,p_val_attribute2 => p_val_attribute2
166 ,p_val_attribute3 => p_val_attribute3
167 ,p_val_attribute4 => p_val_attribute4
168 ,p_val_attribute5 => p_val_attribute5
169 ,p_val_attribute6 => p_val_attribute6
170 ,p_val_attribute7 => p_val_attribute7
171 ,p_val_attribute8 => p_val_attribute8
172 ,p_val_attribute9 => p_val_attribute9
173 ,p_val_attribute10 => p_val_attribute10
174 ,p_val_attribute11 => p_val_attribute11
175 ,p_val_attribute12 => p_val_attribute12
176 ,p_val_attribute13 => p_val_attribute13
177 ,p_val_attribute14 => p_val_attribute14
178 ,p_val_attribute15 => p_val_attribute15
179 ,p_val_attribute16 => p_val_attribute16
180 ,p_val_attribute17 => p_val_attribute17
181 ,p_val_attribute18 => p_val_attribute18
182 ,p_val_attribute19 => p_val_attribute19
183 ,p_val_attribute20 => p_val_attribute20
184 ,p_val_information_category => p_val_information_category
185 ,p_val_information1 => p_val_information1
186 ,p_val_information2 => p_val_information2
187 ,p_val_information3 => p_val_information3
188 ,p_val_information4 => p_val_information4
189 ,p_val_information5 => p_val_information5
190 ,p_val_information6 => p_val_information6
191 ,p_val_information7 => p_val_information7
192 ,p_val_information8 => p_val_information8
193 ,p_val_information9 => p_val_information9
194 ,p_val_information10 => p_val_information10
195 ,p_val_information11 => p_val_information11
199 ,p_val_information15 => p_val_information15
196 ,p_val_information12 => p_val_information12
197 ,p_val_information13 => p_val_information13
198 ,p_val_information14 => p_val_information14
200 ,p_val_information16 => p_val_information16
201 ,p_val_information17 => p_val_information17
202 ,p_val_information18 => p_val_information18
203 ,p_val_information19 => p_val_information19
204 ,p_val_information20 => p_val_information20
205 ,p_fuel_benefit => p_fuel_benefit
206 ,p_sliding_rates_info => p_sliding_rates_info
207 ,p_vehicle_allocation_id => l_vehicle_allocation_id
208 ,p_object_version_number => p_object_version_number
209 ,p_effective_start_date => p_effective_start_date
210 ,p_effective_end_date => p_effective_end_date
211 );
212 --
213 -- Convert API warning boolean parameter values to specific
214 -- messages and add them to Multiple Message List
215 --
216 --
217 -- Convert API non-warning boolean parameter values
218 --
219 --
220 -- Derive the API return status value based on whether
221 -- messages of any type exist in the Multiple Message List.
222 -- Also disable Multiple Message Detection.
223 --
224 p_return_status := hr_multi_message.get_return_status_disable;
225 hr_utility.set_location(' Leaving:' || l_proc,20);
226 --
227 exception
228 when hr_multi_message.error_message_exist then
229 --
230 -- Catch the Multiple Message List exception which
231 -- indicates API processing has been aborted because
232 -- at least one message exists in the list.
233 --
234 rollback to create_vehicle_allocation_swi;
235 --
236 -- Reset IN OUT parameters and set OUT parameters
237 --
238 p_object_version_number := null;
239 p_effective_start_date := null;
240 p_effective_end_date := null;
241 p_return_status := hr_multi_message.get_return_status_disable;
242 hr_utility.set_location(' Leaving:' || l_proc, 30);
243 when others then
244 --
245 -- When Multiple Message Detection is enabled catch
246 -- any Application specific or other unexpected
247 -- exceptions. Adding appropriate details to the
248 -- Multiple Message List. Otherwise re-raise the
249 -- error.
250 --
251 rollback to create_vehicle_allocation_swi;
252 if hr_multi_message.unexpected_error_add(l_proc) then
253 hr_utility.set_location(' Leaving:' || l_proc,40);
254 raise;
255 end if;
256 --
257 -- Reset IN OUT and set OUT parameters
258 --
259 p_object_version_number := null;
260 p_effective_start_date := null;
261 p_effective_end_date := null;
262 p_return_status := hr_multi_message.get_return_status_disable;
263 hr_utility.set_location(' Leaving:' || l_proc,50);
264 end create_vehicle_allocation;
265 -- ----------------------------------------------------------------------------
266 -- |-----------------------< delete_vehicle_allocation >----------------------|
267 -- ----------------------------------------------------------------------------
268 PROCEDURE delete_vehicle_allocation
269 (p_validate in number default hr_api.g_false_num
270 ,p_effective_date in date
271 ,p_datetrack_mode in varchar2
272 ,p_vehicle_allocation_id in number
273 ,p_object_version_number in out nocopy number
274 ,p_effective_start_date out nocopy date
275 ,p_effective_end_date out nocopy date
276 ,p_return_status out nocopy varchar2
277 ) is
278 --
279 -- Variables for API Boolean parameters
280 l_validate boolean;
281 --
282 -- Variables for IN/OUT parameters
283 l_object_version_number number;
284 --
285 -- Other variables
286 l_proc varchar2(72) := g_package ||'delete_vehicle_allocation';
287 Begin
288 hr_utility.set_location(' Entering:' || l_proc,10);
289 --
290 -- Issue a savepoint
291 --
292 savepoint delete_vehicle_allocation_swi;
293 --
294 -- Initialise Multiple Message Detection
295 --
296 hr_multi_message.enable_message_list;
297 --
298 -- Remember IN OUT parameter IN values
299 --
300 l_object_version_number := p_object_version_number;
301 --
302 -- Convert constant values to their corresponding boolean value
303 --
304 l_validate :=
305 hr_api.constant_to_boolean
306 (p_constant_value => p_validate);
307 --
308 -- Register Surrogate ID or user key values
309 --
310 --
311 -- Call API
312 --
313 pqp_vehicle_allocations_api.delete_vehicle_allocation
314 (p_validate => l_validate
315 ,p_effective_date => p_effective_date
316 ,p_datetrack_mode => p_datetrack_mode
317 ,p_vehicle_allocation_id => p_vehicle_allocation_id
318 ,p_object_version_number => p_object_version_number
319 ,p_effective_start_date => p_effective_start_date
320 ,p_effective_end_date => p_effective_end_date
321 );
322 --
323 -- Convert API warning boolean parameter values to specific
324 -- messages and add them to Multiple Message List
325 --
326 --
327 -- Convert API non-warning boolean parameter values
328 --
329 --
330 -- Derive the API return status value based on whether
334 p_return_status := hr_multi_message.get_return_status_disable;
331 -- messages of any type exist in the Multiple Message List.
332 -- Also disable Multiple Message Detection.
333 --
335 hr_utility.set_location(' Leaving:' || l_proc,20);
336 --
337 exception
338 when hr_multi_message.error_message_exist then
339 --
340 -- Catch the Multiple Message List exception which
341 -- indicates API processing has been aborted because
342 -- at least one message exists in the list.
343 --
344 rollback to delete_vehicle_allocation_swi;
345 --
346 -- Reset IN OUT parameters and set OUT parameters
347 --
348 p_object_version_number := l_object_version_number;
349 p_effective_start_date := null;
350 p_effective_end_date := null;
351 p_return_status := hr_multi_message.get_return_status_disable;
352 hr_utility.set_location(' Leaving:' || l_proc, 30);
353 when others then
354 --
355 -- When Multiple Message Detection is enabled catch
356 -- any Application specific or other unexpected
357 -- exceptions. Adding appropriate details to the
358 -- Multiple Message List. Otherwise re-raise the
359 -- error.
360 --
361 rollback to delete_vehicle_allocation_swi;
362 if hr_multi_message.unexpected_error_add(l_proc) then
363 hr_utility.set_location(' Leaving:' || l_proc,40);
364 raise;
365 end if;
366 --
367 -- Reset IN OUT 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,50);
374 raise;
375 end delete_vehicle_allocation;
376 -- ----------------------------------------------------------------------------
377 -- |-----------------------< update_vehicle_allocation >----------------------|
378 -- ----------------------------------------------------------------------------
379 PROCEDURE update_vehicle_allocation
380 (p_validate in number default hr_api.g_false_num
381 ,p_effective_date in date
382 ,p_datetrack_mode in varchar2
383 ,p_vehicle_allocation_id in number
384 ,p_object_version_number in out nocopy number
385 ,p_assignment_id in number default hr_api.g_number
386 ,p_business_group_id in number default hr_api.g_number
387 ,p_vehicle_repository_id in number default hr_api.g_number
388 ,p_across_assignments in varchar2 default hr_api.g_varchar2
389 ,p_usage_type in varchar2 default hr_api.g_varchar2
390 ,p_capital_contribution in number default hr_api.g_number
391 ,p_private_contribution in number default hr_api.g_number
392 ,p_default_vehicle in varchar2 default hr_api.g_varchar2
393 ,p_fuel_card in varchar2 default hr_api.g_varchar2
394 ,p_fuel_card_number in varchar2 default hr_api.g_varchar2
395 ,p_calculation_method in varchar2 default hr_api.g_varchar2
396 ,p_rates_table_id in number default hr_api.g_number
397 ,p_element_type_id in number default hr_api.g_number
398 ,p_private_use_flag in varchar2 default hr_api.g_varchar2
399 ,p_insurance_number in varchar2 default hr_api.g_varchar2
400 ,p_insurance_expiry_date in date default hr_api.g_date
401 ,p_val_attribute_category in varchar2 default hr_api.g_varchar2
402 ,p_val_attribute1 in varchar2 default hr_api.g_varchar2
403 ,p_val_attribute2 in varchar2 default hr_api.g_varchar2
404 ,p_val_attribute3 in varchar2 default hr_api.g_varchar2
405 ,p_val_attribute4 in varchar2 default hr_api.g_varchar2
406 ,p_val_attribute5 in varchar2 default hr_api.g_varchar2
407 ,p_val_attribute6 in varchar2 default hr_api.g_varchar2
408 ,p_val_attribute7 in varchar2 default hr_api.g_varchar2
409 ,p_val_attribute8 in varchar2 default hr_api.g_varchar2
410 ,p_val_attribute9 in varchar2 default hr_api.g_varchar2
411 ,p_val_attribute10 in varchar2 default hr_api.g_varchar2
412 ,p_val_attribute11 in varchar2 default hr_api.g_varchar2
413 ,p_val_attribute12 in varchar2 default hr_api.g_varchar2
414 ,p_val_attribute13 in varchar2 default hr_api.g_varchar2
415 ,p_val_attribute14 in varchar2 default hr_api.g_varchar2
416 ,p_val_attribute15 in varchar2 default hr_api.g_varchar2
417 ,p_val_attribute16 in varchar2 default hr_api.g_varchar2
418 ,p_val_attribute17 in varchar2 default hr_api.g_varchar2
419 ,p_val_attribute18 in varchar2 default hr_api.g_varchar2
420 ,p_val_attribute19 in varchar2 default hr_api.g_varchar2
421 ,p_val_attribute20 in varchar2 default hr_api.g_varchar2
422 ,p_val_information_category in varchar2 default hr_api.g_varchar2
423 ,p_val_information1 in varchar2 default hr_api.g_varchar2
424 ,p_val_information2 in varchar2 default hr_api.g_varchar2
425 ,p_val_information3 in varchar2 default hr_api.g_varchar2
426 ,p_val_information4 in varchar2 default hr_api.g_varchar2
427 ,p_val_information5 in varchar2 default hr_api.g_varchar2
428 ,p_val_information6 in varchar2 default hr_api.g_varchar2
429 ,p_val_information7 in varchar2 default hr_api.g_varchar2
430 ,p_val_information8 in varchar2 default hr_api.g_varchar2
431 ,p_val_information9 in varchar2 default hr_api.g_varchar2
432 ,p_val_information10 in varchar2 default hr_api.g_varchar2
433 ,p_val_information11 in varchar2 default hr_api.g_varchar2
434 ,p_val_information12 in varchar2 default hr_api.g_varchar2
435 ,p_val_information13 in varchar2 default hr_api.g_varchar2
436 ,p_val_information14 in varchar2 default hr_api.g_varchar2
437 ,p_val_information15 in varchar2 default hr_api.g_varchar2
438 ,p_val_information16 in varchar2 default hr_api.g_varchar2
439 ,p_val_information17 in varchar2 default hr_api.g_varchar2
440 ,p_val_information18 in varchar2 default hr_api.g_varchar2
441 ,p_val_information19 in varchar2 default hr_api.g_varchar2
442 ,p_val_information20 in varchar2 default hr_api.g_varchar2
443 ,p_fuel_benefit in varchar2 default hr_api.g_varchar2
444 ,p_sliding_rates_info in varchar2 default hr_api.g_varchar2
445 ,p_effective_start_date out nocopy date
446 ,p_effective_end_date out nocopy date
447 ,p_return_status out nocopy varchar2
448 ) is
449 --
450 -- Variables for API Boolean parameters
451 l_validate boolean;
452 --
453 -- Variables for IN/OUT parameters
454 l_object_version_number number;
455 --
456 -- Other variables
457 l_proc varchar2(72) := g_package ||'update_vehicle_allocation';
458 Begin
459 hr_utility.set_location(' Entering:' || l_proc,10);
460 --
461 -- Issue a savepoint
462 --
463 savepoint update_vehicle_allocation_swi;
464 --
465 -- Initialise Multiple Message Detection
466 --
467 hr_multi_message.enable_message_list;
468 --
469 -- Remember IN OUT parameter IN values
470 --
471 l_object_version_number := p_object_version_number;
472 --
473 -- Convert constant values to their corresponding boolean value
474 --
475 l_validate :=
476 hr_api.constant_to_boolean
477 (p_constant_value => p_validate);
478 --
479 -- Register Surrogate ID or user key values
480 --
481
482 /* Added the following validation for checking private contribution
483 value as a apart og bug#13547884*/
484 --
485 -- Check the Private Contribution value
486 --
487 IF p_private_contribution is not null
488 THEN
489 chk_pvt_contribution_limit(p_private_contribution);
490 END IF;
491
492
493 --
494 -- Call API
495 --
496 pqp_vehicle_allocations_api.update_vehicle_allocation
497 (p_validate => l_validate
498 ,p_effective_date => p_effective_date
499 ,p_datetrack_mode => p_datetrack_mode
500 ,p_vehicle_allocation_id => p_vehicle_allocation_id
501 ,p_object_version_number => p_object_version_number
502 ,p_assignment_id => p_assignment_id
503 ,p_business_group_id => p_business_group_id
504 ,p_vehicle_repository_id => p_vehicle_repository_id
505 ,p_across_assignments => p_across_assignments
506 ,p_usage_type => p_usage_type
507 ,p_capital_contribution => p_capital_contribution
508 ,p_private_contribution => p_private_contribution
509 ,p_default_vehicle => p_default_vehicle
510 ,p_fuel_card => p_fuel_card
511 ,p_fuel_card_number => p_fuel_card_number
512 ,p_calculation_method => p_calculation_method
513 ,p_rates_table_id => p_rates_table_id
514 ,p_element_type_id => p_element_type_id
515 ,p_private_use_flag => p_private_use_flag
516 ,p_insurance_number => p_insurance_number
517 ,p_insurance_expiry_date => p_insurance_expiry_date
518 ,p_val_attribute_category => p_val_attribute_category
519 ,p_val_attribute1 => p_val_attribute1
520 ,p_val_attribute2 => p_val_attribute2
521 ,p_val_attribute3 => p_val_attribute3
522 ,p_val_attribute4 => p_val_attribute4
523 ,p_val_attribute5 => p_val_attribute5
524 ,p_val_attribute6 => p_val_attribute6
525 ,p_val_attribute7 => p_val_attribute7
526 ,p_val_attribute8 => p_val_attribute8
527 ,p_val_attribute9 => p_val_attribute9
528 ,p_val_attribute10 => p_val_attribute10
529 ,p_val_attribute11 => p_val_attribute11
530 ,p_val_attribute12 => p_val_attribute12
531 ,p_val_attribute13 => p_val_attribute13
532 ,p_val_attribute14 => p_val_attribute14
533 ,p_val_attribute15 => p_val_attribute15
534 ,p_val_attribute16 => p_val_attribute16
535 ,p_val_attribute17 => p_val_attribute17
536 ,p_val_attribute18 => p_val_attribute18
537 ,p_val_attribute19 => p_val_attribute19
538 ,p_val_attribute20 => p_val_attribute20
539 ,p_val_information_category => p_val_information_category
540 ,p_val_information1 => p_val_information1
541 ,p_val_information2 => p_val_information2
542 ,p_val_information3 => p_val_information3
543 ,p_val_information4 => p_val_information4
544 ,p_val_information5 => p_val_information5
545 ,p_val_information6 => p_val_information6
546 ,p_val_information7 => p_val_information7
547 ,p_val_information8 => p_val_information8
548 ,p_val_information9 => p_val_information9
549 ,p_val_information10 => p_val_information10
550 ,p_val_information11 => p_val_information11
551 ,p_val_information12 => p_val_information12
552 ,p_val_information13 => p_val_information13
553 ,p_val_information14 => p_val_information14
554 ,p_val_information15 => p_val_information15
555 ,p_val_information16 => p_val_information16
556 ,p_val_information17 => p_val_information17
557 ,p_val_information18 => p_val_information18
558 ,p_val_information19 => p_val_information19
559 ,p_val_information20 => p_val_information20
560 ,p_fuel_benefit => p_fuel_benefit
561 ,p_sliding_rates_info =>p_sliding_rates_info
562 ,p_effective_start_date => p_effective_start_date
563 ,p_effective_end_date => p_effective_end_date
564 );
565 --
566 -- Convert API warning boolean parameter values to specific
567 -- messages and add them to Multiple Message List
568 --
569 --
570 -- Convert API non-warning boolean parameter values
571 --
572 --
573 -- Derive the API return status value based on whether
574 -- messages of any type exist in the Multiple Message List.
575 -- Also disable Multiple Message Detection.
576 --
577 p_return_status := hr_multi_message.get_return_status_disable;
578 hr_utility.set_location(' Leaving:' || l_proc,20);
579 --
580 exception
581 when hr_multi_message.error_message_exist then
582 --
583 -- Catch the Multiple Message List exception which
584 -- indicates API processing has been aborted because
585 -- at least one message exists in the list.
586 --
587 rollback to update_vehicle_allocation_swi;
588 --
589 -- Reset IN OUT parameters and set OUT parameters
590 --
591 p_object_version_number := l_object_version_number;
592 p_effective_start_date := null;
593 p_effective_end_date := null;
594 p_return_status := hr_multi_message.get_return_status_disable;
595 hr_utility.set_location(' Leaving:' || l_proc, 30);
596 when others then
597 --
598 -- When Multiple Message Detection is enabled catch
599 -- any Application specific or other unexpected
600 -- exceptions. Adding appropriate details to the
601 -- Multiple Message List. Otherwise re-raise the
602 -- error.
603 --
604 rollback to update_vehicle_allocation_swi;
605 if hr_multi_message.unexpected_error_add(l_proc) then
606 hr_utility.set_location(' Leaving:' || l_proc,40);
607 raise;
608 end if;
609 --
610 -- Reset IN OUT and set OUT parameters
611 --
612 p_object_version_number := l_object_version_number;
613 p_effective_start_date := null;
614 p_effective_end_date := null;
615 p_return_status := hr_multi_message.get_return_status_disable;
616 hr_utility.set_location(' Leaving:' || l_proc,50);
617 end update_vehicle_allocation;
618 end pqp_vehicle_allocations_swi;