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