DBA Data[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;