DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ELEMENT_TYPES_SWI_ND

Source


1 Package Body pay_element_types_swi_nd As
2 /* $Header: paycreleswi.pkb 120.3 2006/02/28 14:29 ndorai noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pay_element_types_swi.';
7 --
8 -- ---------------------------------------------------------------------------+
9 -- |--------------------------< create_element_type >------------------------|+
10 -- ---------------------------------------------------------------------------+
11 PROCEDURE create_element_type
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_classification_id            in     number
15   ,p_element_name                 in     varchar2
16   ,p_input_currency_code          in     varchar2
17   ,p_output_currency_code         in     varchar2
18   ,p_multiple_entries_allowed_fla in     varchar2
19   ,p_processing_type              in     varchar2
20   ,p_business_group_id            in     number    default null
21   ,p_legislation_code             in     varchar2  default null
22   ,p_formula_id                   in     number    default null
23   ,p_benefit_classification_id    in     number    default null
24   ,p_additional_entry_allowed_fla in     varchar2  default null
25   ,p_adjustment_only_flag         in     varchar2  default null
26   ,p_closed_for_entry_flag        in     varchar2  default null
27   ,p_reporting_name               in     varchar2  default null
28   ,p_description                  in     varchar2  default null
29   ,p_indirect_only_flag           in     varchar2  default null
30   ,p_multiply_value_flag          in     varchar2  default null
31   ,p_post_termination_rule        in     varchar2  default null
32   ,p_process_in_run_flag          in     varchar2  default null
33   ,p_processing_priority          in     number    default null
34   ,p_standard_link_flag           in     varchar2  default null
35   ,p_comments                     in     varchar2  default null
36   ,p_third_party_pay_only_flag    in     varchar2  default null
37   ,p_iterative_flag               in     varchar2  default null
38   ,p_iterative_formula_id         in     number    default null
39   ,p_iterative_priority           in     number    default null
40   ,p_creator_type                 in     varchar2  default null
41   ,p_retro_summ_ele_id            in     number    default null
42   ,p_grossup_flag                 in     varchar2  default null
43   ,p_process_mode                 in     varchar2  default null
44   ,p_advance_indicator            in     varchar2  default null
45   ,p_advance_payable              in     varchar2  default null
46   ,p_advance_deduction            in     varchar2  default null
47   ,p_process_advance_entry        in     varchar2  default null
48   ,p_proration_group_id           in     number    default null
49   ,p_proration_formula_id         in     number    default null
50   ,p_recalc_event_group_id        in     number    default null
51   ,p_legislation_subgroup         in     varchar2  default null
52   ,p_qualifying_age               in     number    default null
53   ,p_qualifying_length_of_service in     number    default null
54   ,p_qualifying_units             in     varchar2  default null
55   ,p_attribute_category           in     varchar2  default null
56   ,p_attribute1                   in     varchar2  default null
57   ,p_attribute2                   in     varchar2  default null
58   ,p_attribute3                   in     varchar2  default null
59   ,p_attribute4                   in     varchar2  default null
60   ,p_attribute5                   in     varchar2  default null
61   ,p_attribute6                   in     varchar2  default null
62   ,p_attribute7                   in     varchar2  default null
63   ,p_attribute8                   in     varchar2  default null
64   ,p_attribute9                   in     varchar2  default null
65   ,p_attribute10                  in     varchar2  default null
66   ,p_attribute11                  in     varchar2  default null
67   ,p_attribute12                  in     varchar2  default null
68   ,p_attribute13                  in     varchar2  default null
69   ,p_attribute14                  in     varchar2  default null
70   ,p_attribute15                  in     varchar2  default null
71   ,p_attribute16                  in     varchar2  default null
72   ,p_attribute17                  in     varchar2  default null
73   ,p_attribute18                  in     varchar2  default null
74   ,p_attribute19                  in     varchar2  default null
75   ,p_attribute20                  in     varchar2  default null
76   ,p_element_information_category in     varchar2  default null
77   ,p_element_information1         in     varchar2  default null
78   ,p_element_information2         in     varchar2  default null
79   ,p_element_information3         in     varchar2  default null
80   ,p_element_information4         in     varchar2  default null
81   ,p_element_information5         in     varchar2  default null
82   ,p_element_information6         in     varchar2  default null
83   ,p_element_information7         in     varchar2  default null
84   ,p_element_information8         in     varchar2  default null
85   ,p_element_information9         in     varchar2  default null
86   ,p_element_information10        in     varchar2  default null
87   ,p_element_information11        in     varchar2  default null
88   ,p_element_information12        in     varchar2  default null
89   ,p_element_information13        in     varchar2  default null
90   ,p_element_information14        in     varchar2  default null
91   ,p_element_information15        in     varchar2  default null
92   ,p_element_information16        in     varchar2  default null
93   ,p_element_information17        in     varchar2  default null
94   ,p_element_information18        in     varchar2  default null
95   ,p_element_information19        in     varchar2  default null
96   ,p_element_information20        in     varchar2  default null
97   ,p_default_uom                  in     varchar2  default null
98   ,p_once_each_period_flag        in     varchar2  default null
99   ,p_language_code                in     varchar2  default null
100   ,p_element_type_id                 out nocopy number
101   ,p_effective_start_date            out nocopy date
102   ,p_effective_end_date              out nocopy date
103   ,p_object_version_number           out nocopy number
104   ,p_comment_id                      out nocopy number
105   ,p_return_status                   out nocopy varchar2
106   ,p_time_definition_type         in     varchar2 default null
107   ,p_time_definition_id           in     number   default null
108   ) is
109   --
110   -- Variables for API Boolean parameters
111   l_validate                      boolean;
112   l_processing_priority_warning   boolean;
113   --
114   -- Variables for IN/OUT parameters
115   --
116   -- Other variables
117   l_proc    varchar2(72) := g_package ||'create_element_type';
118 Begin
119   hr_utility.set_location(' Entering:' || l_proc,10);
120   --
121   -- Issue a savepoint
122   --
123   savepoint create_element_type_swi;
124   --
125   -- Initialise Multiple Message Detection
126   --
127   hr_multi_message.enable_message_list;
128   --
129   -- Remember IN OUT parameter IN values
130   --
131   --
132   -- Convert constant values to their corresponding boolean value
133   --
134   l_validate :=
135     hr_api.constant_to_boolean
136       (p_constant_value => p_validate);
137   --
138   -- Register Surrogate ID or user key values
139   --
140   --
141   -- Call API
142   --
143   pay_element_types_mig.create_element_type
144     (p_validate                     => l_validate
145     ,p_effective_date               => p_effective_date
146     ,p_classification_id            => p_classification_id
147     ,p_element_name                 => p_element_name
148     ,p_input_currency_code          => p_input_currency_code
149     ,p_output_currency_code         => p_output_currency_code
150     ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
151     ,p_processing_type              => p_processing_type
152     ,p_business_group_id            => p_business_group_id
153     ,p_legislation_code             => p_legislation_code
154     ,p_formula_id                   => p_formula_id
155     ,p_benefit_classification_id    => p_benefit_classification_id
156     ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
157     ,p_adjustment_only_flag         => p_adjustment_only_flag
158     ,p_closed_for_entry_flag        => p_closed_for_entry_flag
159     ,p_reporting_name               => p_reporting_name
160     ,p_description                  => p_description
161     ,p_indirect_only_flag           => p_indirect_only_flag
162     ,p_multiply_value_flag          => p_multiply_value_flag
163     ,p_post_termination_rule        => p_post_termination_rule
164     ,p_process_in_run_flag          => p_process_in_run_flag
165     ,p_processing_priority          => p_processing_priority
166     ,p_standard_link_flag           => p_standard_link_flag
167     ,p_comments                     => p_comments
168     ,p_third_party_pay_only_flag    => p_third_party_pay_only_flag
169     ,p_iterative_flag               => p_iterative_flag
170     ,p_iterative_formula_id         => p_iterative_formula_id
171     ,p_iterative_priority           => p_iterative_priority
172     ,p_creator_type                 => p_creator_type
173     ,p_retro_summ_ele_id            => p_retro_summ_ele_id
174     ,p_grossup_flag                 => p_grossup_flag
175     ,p_process_mode                 => p_process_mode
176     ,p_advance_indicator            => p_advance_indicator
177     ,p_advance_payable              => p_advance_payable
178     ,p_advance_deduction            => p_advance_deduction
179     ,p_process_advance_entry        => p_process_advance_entry
180     ,p_proration_group_id           => p_proration_group_id
181     ,p_proration_formula_id         => p_proration_formula_id
182     ,p_recalc_event_group_id        => p_recalc_event_group_id
183     ,p_legislation_subgroup         => p_legislation_subgroup
184     ,p_qualifying_age               => p_qualifying_age
185     ,p_qualifying_length_of_service => p_qualifying_length_of_service
186     ,p_qualifying_units             => p_qualifying_units
187     ,p_attribute_category           => p_attribute_category
188     ,p_attribute1                   => p_attribute1
189     ,p_attribute2                   => p_attribute2
190     ,p_attribute3                   => p_attribute3
191     ,p_attribute4                   => p_attribute4
192     ,p_attribute5                   => p_attribute5
193     ,p_attribute6                   => p_attribute6
194     ,p_attribute7                   => p_attribute7
195     ,p_attribute8                   => p_attribute8
196     ,p_attribute9                   => p_attribute9
197     ,p_attribute10                  => p_attribute10
198     ,p_attribute11                  => p_attribute11
199     ,p_attribute12                  => p_attribute12
200     ,p_attribute13                  => p_attribute13
201     ,p_attribute14                  => p_attribute14
202     ,p_attribute15                  => p_attribute15
203     ,p_attribute16                  => p_attribute16
204     ,p_attribute17                  => p_attribute17
205     ,p_attribute18                  => p_attribute18
206     ,p_attribute19                  => p_attribute19
207     ,p_attribute20                  => p_attribute20
208     ,p_element_information_category => p_element_information_category
209     ,p_element_information1         => p_element_information1
210     ,p_element_information2         => p_element_information2
211     ,p_element_information3         => p_element_information3
212     ,p_element_information4         => p_element_information4
213     ,p_element_information5         => p_element_information5
214     ,p_element_information6         => p_element_information6
215     ,p_element_information7         => p_element_information7
216     ,p_element_information8         => p_element_information8
217     ,p_element_information9         => p_element_information9
218     ,p_element_information10        => p_element_information10
219     ,p_element_information11        => p_element_information11
220     ,p_element_information12        => p_element_information12
221     ,p_element_information13        => p_element_information13
222     ,p_element_information14        => p_element_information14
223     ,p_element_information15        => p_element_information15
224     ,p_element_information16        => p_element_information16
225     ,p_element_information17        => p_element_information17
226     ,p_element_information18        => p_element_information18
227     ,p_element_information19        => p_element_information19
228     ,p_element_information20        => p_element_information20
229     ,p_default_uom                  => p_default_uom
230     ,p_once_each_period_flag        => p_once_each_period_flag
231     ,p_language_code                => p_language_code
232     ,p_element_type_id              => p_element_type_id
233     ,p_effective_start_date         => p_effective_start_date
234     ,p_effective_end_date           => p_effective_end_date
235     ,p_object_version_number        => p_object_version_number
236     ,p_comment_id                   => p_comment_id
237     ,p_processing_priority_warning  => l_processing_priority_warning
238     ,p_time_definition_type       =>   p_time_definition_type
239     ,p_time_definition_id     =>   p_time_definition_id
240     );
241   --
242   -- Convert API warning boolean parameter values to specific
243   -- messages and add them to Multiple Message List
244   --
245   --if l_processing_priority_warning then
246   --   fnd_message.set_name('PAY', 'PAY_6149_ELEMENT_PRIORITY_UPD');
247   --    hr_multi_message.add
248   --      (p_message_type => hr_multi_message.g_warning_msg
249   --      );
250   --end if;  --
251   -- Convert API non-warning boolean parameter values
252   --
253   --
254   -- Derive the API return status value based on whether
255   -- messages of any type exist in the Multiple Message List.
256   -- Also disable Multiple Message Detection.
257   --
258   p_return_status := hr_multi_message.get_return_status_disable;
259   hr_utility.set_location(' Leaving:' || l_proc,20);
260   --
261 exception
262   when hr_multi_message.error_message_exist then
263     --
264     -- Catch the Multiple Message List exception which
265     -- indicates API processing has been aborted because
266     -- at least one message exists in the list.
267     --
268     rollback to create_element_type_swi;
269     --
270     -- Reset IN OUT parameters and set OUT parameters
271     --
272     p_element_type_id              := null;
273     p_effective_start_date         := null;
274     p_effective_end_date           := null;
275     p_object_version_number        := null;
276     p_comment_id                   := null;
277     p_return_status := hr_multi_message.get_return_status_disable;
278     hr_utility.set_location(' Leaving:' || l_proc, 30);
279   when others then
280     --
281     -- When Multiple Message Detection is enabled catch
282     -- any Application specific or other unexpected
283     -- exceptions.  Adding appropriate details to the
284     -- Multiple Message List.  Otherwise re-raise the
285     -- error.
286     --
287     rollback to create_element_type_swi;
288     if hr_multi_message.unexpected_error_add(l_proc) then
289        hr_utility.set_location(' Leaving:' || l_proc,40);
290        raise;
291     end if;
292     --
293     -- Reset IN OUT and set OUT parameters
294     --
295     p_element_type_id              := null;
296     p_effective_start_date         := null;
297     p_effective_end_date           := null;
298     p_object_version_number        := null;
299     p_comment_id                   := null;
300     p_return_status := hr_multi_message.get_return_status_disable;
301     hr_utility.set_location(' Leaving:' || l_proc,50);
302 end create_element_type;
303 -- ----------------------------------------------------------------------------
304 -- |--------------------------< update_element_type >-------------------------|
305 -- ----------------------------------------------------------------------------
306 PROCEDURE update_element_type
307   (p_validate                     in     number    default hr_api.g_false_num
308   ,p_effective_date               in     date
309   ,p_datetrack_update_mode        in     varchar2
310   ,p_element_type_id              in     number
311   ,p_object_version_number        in out nocopy number
312   ,p_formula_id                   in     number    default hr_api.g_number
313   ,p_benefit_classification_id    in     number    default hr_api.g_number
314   ,p_additional_entry_allowed_fla in     varchar2  default hr_api.g_varchar2
315   ,p_adjustment_only_flag         in     varchar2  default hr_api.g_varchar2
316   ,p_closed_for_entry_flag        in     varchar2  default hr_api.g_varchar2
317   ,p_element_name                 in     varchar2  default hr_api.g_varchar2
318   ,p_reporting_name               in     varchar2  default hr_api.g_varchar2
319   ,p_description                  in     varchar2  default hr_api.g_varchar2
320   ,p_indirect_only_flag           in     varchar2  default hr_api.g_varchar2
321   ,p_multiple_entries_allowed_fla in     varchar2  default hr_api.g_varchar2
322   ,p_multiply_value_flag          in     varchar2  default hr_api.g_varchar2
323   ,p_post_termination_rule        in     varchar2  default hr_api.g_varchar2
324   ,p_process_in_run_flag          in     varchar2  default hr_api.g_varchar2
325   ,p_processing_priority          in     number    default hr_api.g_number
326   ,p_standard_link_flag           in     varchar2  default hr_api.g_varchar2
327   ,p_comments                     in     varchar2  default hr_api.g_varchar2
328   ,p_third_party_pay_only_flag    in     varchar2  default hr_api.g_varchar2
329   ,p_iterative_flag               in     varchar2  default hr_api.g_varchar2
330   ,p_iterative_formula_id         in     number    default hr_api.g_number
331   ,p_iterative_priority           in     number    default hr_api.g_number
332   ,p_creator_type                 in     varchar2  default hr_api.g_varchar2
333   ,p_retro_summ_ele_id            in     number    default hr_api.g_number
334   ,p_grossup_flag                 in     varchar2  default hr_api.g_varchar2
335   ,p_process_mode                 in     varchar2  default hr_api.g_varchar2
336   ,p_advance_indicator            in     varchar2  default hr_api.g_varchar2
337   ,p_advance_payable              in     varchar2  default hr_api.g_varchar2
338   ,p_advance_deduction            in     varchar2  default hr_api.g_varchar2
339   ,p_process_advance_entry        in     varchar2  default hr_api.g_varchar2
340   ,p_proration_group_id           in     number    default hr_api.g_number
341   ,p_proration_formula_id         in     number    default hr_api.g_number
342   ,p_recalc_event_group_id        in     number    default hr_api.g_number
343   ,p_qualifying_age               in     number    default hr_api.g_number
344   ,p_qualifying_length_of_service in     number    default hr_api.g_number
345   ,p_qualifying_units             in     varchar2  default hr_api.g_varchar2
346   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
347   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
348   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
349   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
350   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
351   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
352   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
353   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
354   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
355   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
356   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
357   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
358   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
359   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
360   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
361   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
362   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
363   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
364   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
365   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
366   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
367   ,p_element_information_category in     varchar2  default hr_api.g_varchar2
368   ,p_element_information1         in     varchar2  default hr_api.g_varchar2
369   ,p_element_information2         in     varchar2  default hr_api.g_varchar2
370   ,p_element_information3         in     varchar2  default hr_api.g_varchar2
371   ,p_element_information4         in     varchar2  default hr_api.g_varchar2
372   ,p_element_information5         in     varchar2  default hr_api.g_varchar2
373   ,p_element_information6         in     varchar2  default hr_api.g_varchar2
374   ,p_element_information7         in     varchar2  default hr_api.g_varchar2
375   ,p_element_information8         in     varchar2  default hr_api.g_varchar2
376   ,p_element_information9         in     varchar2  default hr_api.g_varchar2
377   ,p_element_information10        in     varchar2  default hr_api.g_varchar2
378   ,p_element_information11        in     varchar2  default hr_api.g_varchar2
379   ,p_element_information12        in     varchar2  default hr_api.g_varchar2
380   ,p_element_information13        in     varchar2  default hr_api.g_varchar2
381   ,p_element_information14        in     varchar2  default hr_api.g_varchar2
382   ,p_element_information15        in     varchar2  default hr_api.g_varchar2
383   ,p_element_information16        in     varchar2  default hr_api.g_varchar2
384   ,p_element_information17        in     varchar2  default hr_api.g_varchar2
385   ,p_element_information18        in     varchar2  default hr_api.g_varchar2
386   ,p_element_information19        in     varchar2  default hr_api.g_varchar2
387   ,p_element_information20        in     varchar2  default hr_api.g_varchar2
388   ,p_once_each_period_flag        in     varchar2  default hr_api.g_varchar2
389   ,p_language_code                in     varchar2  default hr_api.g_varchar2
390   ,p_effective_start_date            out nocopy date
391   ,p_effective_end_date              out nocopy date
392   ,p_comment_id                      out nocopy number
393   ,p_return_status                   out nocopy varchar2
394   ,p_time_definition_type         in     varchar2  default hr_api.g_varchar2
395   ,p_time_definition_id           in     number    default hr_api.g_number
396   ) is
397   --
398   -- Variables for API Boolean parameters
399   l_validate                      boolean;
400   l_processing_priority_warning   boolean;
401   l_element_name_warning          boolean;
402   l_element_name_change_warning   boolean;
403   --
404   -- Variables for IN/OUT parameters
405   l_object_version_number         number;
406   --
407   -- Other variables
408   l_proc    varchar2(72) := g_package ||'update_element_type';
409 Begin
410   hr_utility.set_location(' Entering:' || l_proc,10);
411   --
412   -- Issue a savepoint
413   --
414   savepoint update_element_type_swi;
415   --
416   -- Initialise Multiple Message Detection
417   --
418   hr_multi_message.enable_message_list;
419   --
420   -- Remember IN OUT parameter IN values
421   --
422   l_object_version_number         := p_object_version_number;
423   --
424   -- Convert constant values to their corresponding boolean value
425   --
426   l_validate :=
427     hr_api.constant_to_boolean
428       (p_constant_value => p_validate);
429   --
430   -- Register Surrogate ID or user key values
431   --
432   --
433   -- Call API
434   --
435   pay_element_types_api.update_element_type
436     (p_validate                     => l_validate
437     ,p_effective_date               => p_effective_date
438     ,p_datetrack_update_mode        => p_datetrack_update_mode
439     ,p_element_type_id              => p_element_type_id
440     ,p_object_version_number        => p_object_version_number
441     ,p_formula_id                   => p_formula_id
442     ,p_benefit_classification_id    => p_benefit_classification_id
443     ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
444     ,p_adjustment_only_flag         => p_adjustment_only_flag
445     ,p_closed_for_entry_flag        => p_closed_for_entry_flag
446     ,p_element_name                 => p_element_name
447     ,p_reporting_name               => p_reporting_name
448     ,p_description                  => p_description
449     ,p_indirect_only_flag           => p_indirect_only_flag
450     ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
451     ,p_multiply_value_flag          => p_multiply_value_flag
452     ,p_post_termination_rule        => p_post_termination_rule
453     ,p_process_in_run_flag          => p_process_in_run_flag
454     ,p_processing_priority          => p_processing_priority
455     ,p_standard_link_flag           => p_standard_link_flag
456     ,p_comments                     => p_comments
457     ,p_third_party_pay_only_flag    => p_third_party_pay_only_flag
458     ,p_iterative_flag               => p_iterative_flag
459     ,p_iterative_formula_id         => p_iterative_formula_id
460     ,p_iterative_priority           => p_iterative_priority
461     ,p_creator_type                 => p_creator_type
462     ,p_retro_summ_ele_id            => p_retro_summ_ele_id
463     ,p_grossup_flag                 => p_grossup_flag
464     ,p_process_mode                 => p_process_mode
465     ,p_advance_indicator            => p_advance_indicator
466     ,p_advance_payable              => p_advance_payable
467     ,p_advance_deduction            => p_advance_deduction
468     ,p_process_advance_entry        => p_process_advance_entry
469     ,p_proration_group_id           => p_proration_group_id
470     ,p_proration_formula_id         => p_proration_formula_id
471     ,p_recalc_event_group_id        => p_recalc_event_group_id
472     ,p_qualifying_age               => p_qualifying_age
473     ,p_qualifying_length_of_service => p_qualifying_length_of_service
474     ,p_qualifying_units             => p_qualifying_units
475     ,p_attribute_category           => p_attribute_category
476     ,p_attribute1                   => p_attribute1
477     ,p_attribute2                   => p_attribute2
478     ,p_attribute3                   => p_attribute3
479     ,p_attribute4                   => p_attribute4
480     ,p_attribute5                   => p_attribute5
481     ,p_attribute6                   => p_attribute6
482     ,p_attribute7                   => p_attribute7
483     ,p_attribute8                   => p_attribute8
484     ,p_attribute9                   => p_attribute9
485     ,p_attribute10                  => p_attribute10
486     ,p_attribute11                  => p_attribute11
487     ,p_attribute12                  => p_attribute12
488     ,p_attribute13                  => p_attribute13
489     ,p_attribute14                  => p_attribute14
490     ,p_attribute15                  => p_attribute15
491     ,p_attribute16                  => p_attribute16
492     ,p_attribute17                  => p_attribute17
493     ,p_attribute18                  => p_attribute18
494     ,p_attribute19                  => p_attribute19
495     ,p_attribute20                  => p_attribute20
496     ,p_element_information_category => p_element_information_category
497     ,p_element_information1         => p_element_information1
498     ,p_element_information2         => p_element_information2
499     ,p_element_information3         => p_element_information3
500     ,p_element_information4         => p_element_information4
501     ,p_element_information5         => p_element_information5
502     ,p_element_information6         => p_element_information6
503     ,p_element_information7         => p_element_information7
504     ,p_element_information8         => p_element_information8
505     ,p_element_information9         => p_element_information9
506     ,p_element_information10        => p_element_information10
507     ,p_element_information11        => p_element_information11
508     ,p_element_information12        => p_element_information12
509     ,p_element_information13        => p_element_information13
510     ,p_element_information14        => p_element_information14
511     ,p_element_information15        => p_element_information15
512     ,p_element_information16        => p_element_information16
513     ,p_element_information17        => p_element_information17
514     ,p_element_information18        => p_element_information18
515     ,p_element_information19        => p_element_information19
516     ,p_element_information20        => p_element_information20
517     ,p_once_each_period_flag        => p_once_each_period_flag
518     ,p_language_code                => p_language_code
519     ,p_effective_start_date         => p_effective_start_date
520     ,p_effective_end_date           => p_effective_end_date
521     ,p_comment_id                   => p_comment_id
522     ,p_processing_priority_warning  => l_processing_priority_warning
523     ,p_element_name_warning         => l_element_name_warning
524     ,p_element_name_change_warning  => l_element_name_change_warning
525     ,p_time_definition_type         => p_time_definition_type
526     ,p_time_definition_id           => p_time_definition_id
527     );
528   --
529   -- Convert API warning boolean parameter values to specific
530   -- messages and add them to Multiple Message List
531   --
532   if l_processing_priority_warning then
533       fnd_message.set_name('PAY','PAY_6149_ELEMENT_PRIORITY_UPD');
534       hr_multi_message.add
535         (p_message_type => hr_multi_message.g_warning_msg
536         );
537   end if;
538   if l_element_name_warning then
539       fnd_message.set_name('PAY','PAY_6365_ELEMENT_NO_DB_NAME');
540       hr_multi_message.add
541         (p_message_type => hr_multi_message.g_warning_msg
542         );
543   end if;
544   if l_element_name_change_warning then
545       fnd_message.set_name('PAY','PAY_6137_ELEMENT_DUP_NAME');
546       hr_multi_message.add
547         (p_message_type => hr_multi_message.g_warning_msg
548         );
549   end if;  --
550   -- Convert API non-warning boolean parameter values
551   --
552   --
553   -- Derive the API return status value based on whether
554   -- messages of any type exist in the Multiple Message List.
555   -- Also disable Multiple Message Detection.
556   --
557   p_return_status := hr_multi_message.get_return_status_disable;
558   hr_utility.set_location(' Leaving:' || l_proc,20);
559   --
560 exception
561   when hr_multi_message.error_message_exist then
562     --
563     -- Catch the Multiple Message List exception which
564     -- indicates API processing has been aborted because
565     -- at least one message exists in the list.
566     --
567     rollback to update_element_type_swi;
568     --
569     -- Reset IN OUT parameters and set OUT parameters
570     --
571     p_object_version_number        := l_object_version_number;
572     p_effective_start_date         := null;
573     p_effective_end_date           := null;
574     p_comment_id                   := null;
575     p_return_status := hr_multi_message.get_return_status_disable;
576     hr_utility.set_location(' Leaving:' || l_proc, 30);
577   when others then
578     --
579     -- When Multiple Message Detection is enabled catch
580     -- any Application specific or other unexpected
581     -- exceptions.  Adding appropriate details to the
582     -- Multiple Message List.  Otherwise re-raise the
583     -- error.
584     --
585     rollback to update_element_type_swi;
586     if hr_multi_message.unexpected_error_add(l_proc) then
587        hr_utility.set_location(' Leaving:' || l_proc,40);
588        raise;
589     end if;
590     --
591     -- Reset IN OUT and set OUT parameters
592     --
593     p_object_version_number        := l_object_version_number;
594     p_effective_start_date         := null;
595     p_effective_end_date           := null;
596     p_comment_id                   := null;
597     p_return_status := hr_multi_message.get_return_status_disable;
598     hr_utility.set_location(' Leaving:' || l_proc,50);
599 end update_element_type;
600 -- ----------------------------------------------------------------------------
601 -- |--------------------------< delete_element_type >-------------------------|
602 -- ----------------------------------------------------------------------------
603 PROCEDURE delete_element_type
604   (p_validate                     in     number    default hr_api.g_false_num
605   ,p_effective_date               in     date
606   ,p_datetrack_delete_mode        in     varchar2
607   ,p_element_type_id              in     number
608   ,p_object_version_number        in out nocopy number
609   ,p_effective_start_date            out nocopy date
610   ,p_effective_end_date              out nocopy date
611   ,p_return_status                   out nocopy varchar2
612   ) is
613   --
614   -- Variables for API Boolean parameters
615   l_validate                      boolean;
616   l_balance_feeds_warning         boolean;
617   l_processing_rules_warning      boolean;
618   --
619   -- Variables for IN/OUT parameters
620   l_object_version_number         number;
621   --
622   -- Other variables
623   l_proc    varchar2(72) := g_package ||'delete_element_type';
624 Begin
625   hr_utility.set_location(' Entering:' || l_proc,10);
626   --
627   -- Issue a savepoint
628   --
629   savepoint delete_element_type_swi;
630   --
631   -- Initialise Multiple Message Detection
632   --
633   hr_multi_message.enable_message_list;
634   --
635   -- Remember IN OUT parameter IN values
636   --
637   l_object_version_number         := p_object_version_number;
638   --
639   -- Convert constant values to their corresponding boolean value
640   --
641   l_validate :=
642     hr_api.constant_to_boolean
643       (p_constant_value => p_validate);
644   --
645   -- Register Surrogate ID or user key values
646   --
647   --
648   -- Call API
649   --
650   pay_element_types_api.delete_element_type
651     (p_validate                     => l_validate
652     ,p_effective_date               => p_effective_date
653     ,p_datetrack_delete_mode        => p_datetrack_delete_mode
654     ,p_element_type_id              => p_element_type_id
655     ,p_object_version_number        => p_object_version_number
656     ,p_effective_start_date         => p_effective_start_date
657     ,p_effective_end_date           => p_effective_end_date
658     ,p_balance_feeds_warning        => l_balance_feeds_warning
659     ,p_processing_rules_warning     => l_processing_rules_warning
660     );
661   --
662   -- Convert API warning boolean parameter values to specific
663   -- messages and add them to Multiple Message List
664   --
665   if l_balance_feeds_warning then
666      fnd_message.set_name('PAY', 'HR_6208_BAL_DEL_NOT_AUTO');
667       hr_multi_message.add
668         (p_message_type => hr_multi_message.g_warning_msg
669         );
670   end if;
671   if l_processing_rules_warning then
672      fnd_message.set_name('PAY', 'PAY_6156_ELEMENT_NO_DEL_SPR');
673       hr_multi_message.add
674         (p_message_type => hr_multi_message.g_warning_msg
675         );
676   end if;  --
677   -- Convert API non-warning boolean parameter values
678   --
679   --
680   -- Derive the API return status value based on whether
681   -- messages of any type exist in the Multiple Message List.
682   -- Also disable Multiple Message Detection.
683   --
684   p_return_status := hr_multi_message.get_return_status_disable;
685   hr_utility.set_location(' Leaving:' || l_proc,20);
686   --
687 exception
688   when hr_multi_message.error_message_exist then
689     --
690     -- Catch the Multiple Message List exception which
691     -- indicates API processing has been aborted because
692     -- at least one message exists in the list.
693     --
694     rollback to delete_element_type_swi;
695     --
696     -- Reset IN OUT parameters and set OUT parameters
697     --
698     p_object_version_number        := l_object_version_number;
699     p_effective_start_date         := null;
700     p_effective_end_date           := null;
701     p_return_status := hr_multi_message.get_return_status_disable;
702     hr_utility.set_location(' Leaving:' || l_proc, 30);
703   when others then
704     --
705     -- When Multiple Message Detection is enabled catch
706     -- any Application specific or other unexpected
707     -- exceptions.  Adding appropriate details to the
708     -- Multiple Message List.  Otherwise re-raise the
709     -- error.
710     --
711     rollback to delete_element_type_swi;
712     if hr_multi_message.unexpected_error_add(l_proc) then
713        hr_utility.set_location(' Leaving:' || l_proc,40);
714        raise;
715     end if;
716     --
717     -- Reset IN OUT and set OUT parameters
718     --
719     p_object_version_number        := l_object_version_number;
720     p_effective_start_date         := null;
721     p_effective_end_date           := null;
722     p_return_status := hr_multi_message.get_return_status_disable;
723     hr_utility.set_location(' Leaving:' || l_proc,50);
724 end delete_element_type;
725 -- ---------------------------------------------------------------------------+
726 -- |--------------------------< create_class_balance_feeds >-----------------|+
727 -- ---------------------------------------------------------------------------+
728 Procedure create_class_balance_feeds
729     (p_balance_name VARCHAR2,
730      p_business_group_id NUMBER,
731      p_legislation_code VARCHAR2,
732      p_effective_start_date DATE,
733      p_effective_end_date DATE) AS
734   l_row_id             rowid;
735   l_balance_feed_id    pay_balance_feeds_f.balance_feed_id%type;
736   l_proc               varchar2(160);
737   l_count number(9);
738   --
739     cursor c1_get_reg_earn_feeds is
740      select bt.balance_name
741        ,bc.classification_id
742        ,iv.input_value_id
743        ,bf.scale
744        ,et.element_type_id
745        ,bt.legislation_code
746       from PAY_BALANCE_FEEDS_F BF,
747            PAY_BALANCE_TYPES BT,
748            PAY_INPUT_VALUES_F IV,
749            PAY_ELEMENT_TYPES_F ET,
750            PAY_ELEMENT_CLASSIFICATIONS EC,
751            --FND_LOOKUPS HL,
752            --FND_LOOKUPS HL2,
753            pay_balance_classifications bc
754      WHERE BT.BALANCE_TYPE_ID = BF.BALANCE_TYPE_ID
755        AND IV.INPUT_VALUE_ID = BF.INPUT_VALUE_ID
756        AND ET.ELEMENT_TYPE_ID = IV.ELEMENT_TYPE_ID
757        AND EC.CLASSIFICATION_ID = ET.CLASSIFICATION_ID
758        --AND HL.LOOKUP_TYPE = 'ADD_SUBTRACT'
759        --AND HL.LOOKUP_CODE = BF.SCALE
760        --AND HL2.LOOKUP_TYPE = 'UNITS'
761        --AND HL2.LOOKUP_CODE = IV.UOM
762        and nvl(ec.balance_initialization_flag,'N') = 'N'
763        and nvl(bt.business_group_id,p_business_group_id) = p_business_group_id
764        and nvl(bt.legislation_code, 'US') = 'US'
765        and bt.balance_name   = 'Regular Earnings'
766        and bc.balance_type_id = bt.balance_type_id
767        order by et.element_name;
768     -- To get the balance type id
769     cursor c2_balance_type is
770      select balance_type_id
771        from pay_balance_types
772       where business_group_id =  p_business_group_id
773         and ( balance_name like p_balance_name || ' Eligible Comp'
774               OR balance_name like p_balance_name || ' Roth Eligible Comp'
775               OR balance_name like p_balance_name || ' AT Eligible Comp');
776         --and balance_name = p_balance_name;
777   begin
778     hr_utility.set_location('Entering: '||l_proc, 5);
779     for c1_rec in c1_get_reg_earn_feeds loop
780       for c2_rec in c2_balance_type loop
781         begin
782           select count(*) into l_count
783             from pay_balance_feeds_f
784            where balance_type_id = c2_rec.balance_type_id
785              and input_value_id = c1_rec.input_value_id
786              and business_group_id = p_business_group_id
787              and effective_start_date = p_effective_start_date
788              and effective_end_date = p_effective_end_date
789              and nvl(legislation_code,'US') = c1_rec.legislation_code;
790           if l_count = 0 then
791            pay_balance_feeds_f_pkg.insert_row
792            (x_rowid                => l_row_id,
793             x_balance_feed_id      => l_balance_feed_id,
794             x_effective_start_date => p_effective_start_date,
795             x_effective_end_date   => hr_api.g_eot,
796             x_business_group_id    => p_business_group_id,
797             x_legislation_code     => null,
798             x_balance_type_id      => c2_rec.balance_type_id,
799             x_input_value_id       => c1_rec.input_value_id,
800             x_scale                => c1_rec.scale,
801             x_legislation_subgroup => null,
802             x_initial_balance_feed => false
803             );
804            end if;
805             l_balance_feed_id := null;
806             l_row_id          := null;
807 
808         end;
809       end loop;
810     end loop;
811     hr_utility.set_location('Leaving: '||l_proc, 10);
812 END create_class_balance_feeds;
813 end pay_element_types_swi_nd;