DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ELEMENT_CLASS_SWI

Source


1 Package Body pay_element_class_swi As
2 /* $Header: pypecswi.pkb 120.0 2006/01/25 16:10 ndorai noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pay_element_class_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------------< delete_row >------------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE delete_row
12   (x_classification_id            in     number
13   ,p_return_status                   out nocopy varchar2
14   ) is
15   --
16   -- Variables for API Boolean parameters
17   --
18   -- Variables for IN/OUT parameters
19   --
20   -- Other variables
21   l_proc    varchar2(72) := g_package ||'delete_row';
22 Begin
23   hr_utility.set_location(' Entering:' || l_proc,10);
24   --
25   -- Issue a savepoint
26   --
27   savepoint delete_row_swi;
28   --
29   -- Initialise Multiple Message Detection
30   --
31   hr_multi_message.enable_message_list;
32   --
33   -- Remember IN OUT parameter IN values
34   --
35   --
36   -- Convert constant values to their corresponding boolean value
37   --
38   --
39   -- Register Surrogate ID or user key values
40   --
41   --
42   -- Call API
43   --
44   pay_element_class_pkg.delete_row
45     (x_classification_id            => x_classification_id
46     );
47   --
48   -- Convert API warning boolean parameter values to specific
49   -- messages and add them to Multiple Message List
50   --
51   --
52   -- Convert API non-warning boolean parameter values
53   --
54   --
55   -- Derive the API return status value based on whether
56   -- messages of any type exist in the Multiple Message List.
57   -- Also disable Multiple Message Detection.
58   --
59   p_return_status := hr_multi_message.get_return_status_disable;
60   hr_utility.set_location(' Leaving:' || l_proc,20);
61   --
62 exception
63   when hr_multi_message.error_message_exist then
64     --
65     -- Catch the Multiple Message List exception which
66     -- indicates API processing has been aborted because
67     -- at least one message exists in the list.
68     --
69     rollback to delete_row_swi;
70     --
71     -- Reset IN OUT parameters and set OUT parameters
72     --
73     p_return_status := hr_multi_message.get_return_status_disable;
74     hr_utility.set_location(' Leaving:' || l_proc, 30);
75   when others then
76     --
77     -- When Multiple Message Detection is enabled catch
78     -- any Application specific or other unexpected
79     -- exceptions.  Adding appropriate details to the
80     -- Multiple Message List.  Otherwise re-raise the
81     -- error.
82     --
83     rollback to delete_row_swi;
84     if hr_multi_message.unexpected_error_add(l_proc) then
85        hr_utility.set_location(' Leaving:' || l_proc,40);
86        raise;
87     end if;
88     --
89     -- Reset IN OUT and set OUT parameters
90     --
91     p_return_status := hr_multi_message.get_return_status_disable;
92     hr_utility.set_location(' Leaving:' || l_proc,50);
93 end delete_row;
94 -- ----------------------------------------------------------------------------
95 -- |------------------------------< insert_row >------------------------------|
96 -- ----------------------------------------------------------------------------
97 PROCEDURE insert_row
98   (x_rowid                        in out nocopy varchar2
99   ,x_classification_id            in     number
100   ,x_business_group_id            in     number
101   ,x_legislation_code             in     varchar2
102   ,x_legislation_subgroup         in     varchar2
103   ,x_costable_flag                in     varchar2
104   ,x_default_high_priority        in     number
105   ,x_default_low_priority         in     number
106   ,x_default_priority             in     number
107   ,x_distributable_over_flag      in     varchar2
108   ,x_non_payments_flag            in     varchar2
109   ,x_costing_debit_or_credit      in     varchar2
110   ,x_parent_classification_id     in     number
111   ,x_create_by_default_flag       in     varchar2
112   ,x_balance_initialization_flag  in     varchar2
113   ,x_object_version_number        in     number
114   ,x_classification_name          in     varchar2
115   ,x_description                  in     varchar2
116   ,x_creation_date                in     date
117   ,x_created_by                   in     number
118   ,x_last_update_date             in     date
119   ,x_last_updated_by              in     number
120   ,x_last_update_login            in     number
121   ,x_freq_rule_enabled            in     varchar2  default hr_api.g_varchar2
122   ,p_return_status                   out nocopy varchar2
123   ) is
124   --
125   -- Variables for API Boolean parameters
126   --
127   -- Variables for IN/OUT parameters
128   l_rowid                         varchar2(60);
129   --
130   -- Other variables
131   l_proc    varchar2(72) := g_package ||'insert_row';
132 Begin
133   hr_utility.set_location(' Entering:' || l_proc,10);
134   --
135   -- Issue a savepoint
136   --
137   savepoint insert_row_swi;
138   --
139   -- Initialise Multiple Message Detection
140   --
141   hr_multi_message.enable_message_list;
142   --
143   -- Remember IN OUT parameter IN values
144   --
145   l_rowid                         := x_rowid;
146   --
147   -- Convert constant values to their corresponding boolean value
148   --
149   --
150   -- Register Surrogate ID or user key values
151   --
152   --
153   -- Call API
154   --
155   pay_element_class_pkg.insert_row
156     (x_rowid                        => l_rowid
157     ,x_classification_id            => x_classification_id
158     ,x_business_group_id            => x_business_group_id
159     ,x_legislation_code             => x_legislation_code
160     ,x_legislation_subgroup         => x_legislation_subgroup
161     ,x_costable_flag                => x_costable_flag
162     ,x_default_high_priority        => x_default_high_priority
163     ,x_default_low_priority         => x_default_low_priority
164     ,x_default_priority             => x_default_priority
165     ,x_distributable_over_flag      => x_distributable_over_flag
166     ,x_non_payments_flag            => x_non_payments_flag
167     ,x_costing_debit_or_credit      => x_costing_debit_or_credit
168     ,x_parent_classification_id     => x_parent_classification_id
169     ,x_create_by_default_flag       => x_create_by_default_flag
170     ,x_balance_initialization_flag  => x_balance_initialization_flag
171     ,x_object_version_number        => x_object_version_number
172     ,x_classification_name          => x_classification_name
173     ,x_description                  => x_description
174     ,x_creation_date                => x_creation_date
175     ,x_created_by                   => x_created_by
176     ,x_last_update_date             => x_last_update_date
177     ,x_last_updated_by              => x_last_updated_by
178     ,x_last_update_login            => x_last_update_login
179     ,x_freq_rule_enabled            => x_freq_rule_enabled
180     );
181   --
182   -- Convert API warning boolean parameter values to specific
183   -- messages and add them to Multiple Message List
184   --
185   --
186   -- Convert API non-warning boolean parameter values
187   --
188   --
189   -- Derive the API return status value based on whether
190   -- messages of any type exist in the Multiple Message List.
191   -- Also disable Multiple Message Detection.
192   --
193   p_return_status := hr_multi_message.get_return_status_disable;
194   hr_utility.set_location(' Leaving:' || l_proc,20);
195   --
196 exception
197   when hr_multi_message.error_message_exist then
198     --
199     -- Catch the Multiple Message List exception which
200     -- indicates API processing has been aborted because
201     -- at least one message exists in the list.
202     --
203     rollback to insert_row_swi;
204     --
205     -- Reset IN OUT parameters and set OUT parameters
206     --
207     x_rowid                        := l_rowid;
208     p_return_status := hr_multi_message.get_return_status_disable;
209     hr_utility.set_location(' Leaving:' || l_proc, 30);
210   when others then
211     --
212     -- When Multiple Message Detection is enabled catch
213     -- any Application specific or other unexpected
214     -- exceptions.  Adding appropriate details to the
215     -- Multiple Message List.  Otherwise re-raise the
216     -- error.
217     --
218     rollback to insert_row_swi;
219     if hr_multi_message.unexpected_error_add(l_proc) then
220        hr_utility.set_location(' Leaving:' || l_proc,40);
221        raise;
222     end if;
223     --
224     -- Reset IN OUT and set OUT parameters
225     --
226     x_rowid                        := l_rowid;
227     p_return_status := hr_multi_message.get_return_status_disable;
228     hr_utility.set_location(' Leaving:' || l_proc,50);
229 end insert_row;
230 -- ----------------------------------------------------------------------------
231 -- |-------------------------------< lock_row >-------------------------------|
232 -- ----------------------------------------------------------------------------
233 PROCEDURE lock_row
234   (x_classification_id            in     number
235   ,x_business_group_id            in     number
236   ,x_legislation_code             in     varchar2
237   ,x_legislation_subgroup         in     varchar2
238   ,x_costable_flag                in     varchar2
239   ,x_default_high_priority        in     number
240   ,x_default_low_priority         in     number
241   ,x_default_priority             in     number
242   ,x_distributable_over_flag      in     varchar2
243   ,x_non_payments_flag            in     varchar2
244   ,x_costing_debit_or_credit      in     varchar2
245   ,x_parent_classification_id     in     number
246   ,x_create_by_default_flag       in     varchar2
247   ,x_balance_initialization_flag  in     varchar2
248   ,x_object_version_number        in     number
249   ,x_classification_name          in     varchar2
250   ,x_description                  in     varchar2
251   ,x_freq_rule_enabled            in     varchar2  default hr_api.g_varchar2
252   ,p_return_status                   out nocopy varchar2
253   ) is
254   --
255   -- Variables for API Boolean parameters
256   --
257   -- Variables for IN/OUT parameters
258   --
259   -- Other variables
260   l_proc    varchar2(72) := g_package ||'lock_row';
261 Begin
262   hr_utility.set_location(' Entering:' || l_proc,10);
263   --
264   -- Issue a savepoint
265   --
266   savepoint lock_row_swi;
267   --
268   -- Initialise Multiple Message Detection
269   --
270   hr_multi_message.enable_message_list;
271   --
272   -- Remember IN OUT parameter IN values
273   --
274   --
275   -- Convert constant values to their corresponding boolean value
276   --
277   --
278   -- Register Surrogate ID or user key values
279   --
280   --
281   -- Call API
282   --
283   pay_element_class_pkg.lock_row
284     (x_classification_id            => x_classification_id
285     ,x_business_group_id            => x_business_group_id
286     ,x_legislation_code             => x_legislation_code
287     ,x_legislation_subgroup         => x_legislation_subgroup
288     ,x_costable_flag                => x_costable_flag
289     ,x_default_high_priority        => x_default_high_priority
290     ,x_default_low_priority         => x_default_low_priority
291     ,x_default_priority             => x_default_priority
292     ,x_distributable_over_flag      => x_distributable_over_flag
293     ,x_non_payments_flag            => x_non_payments_flag
294     ,x_costing_debit_or_credit      => x_costing_debit_or_credit
295     ,x_parent_classification_id     => x_parent_classification_id
296     ,x_create_by_default_flag       => x_create_by_default_flag
297     ,x_balance_initialization_flag  => x_balance_initialization_flag
298     ,x_object_version_number        => x_object_version_number
299     ,x_classification_name          => x_classification_name
300     ,x_description                  => x_description
301     ,x_freq_rule_enabled            => x_freq_rule_enabled
302     );
303   --
304   -- Convert API warning boolean parameter values to specific
305   -- messages and add them to Multiple Message List
306   --
307   --
308   -- Convert API non-warning boolean parameter values
309   --
310   --
311   -- Derive the API return status value based on whether
312   -- messages of any type exist in the Multiple Message List.
313   -- Also disable Multiple Message Detection.
314   --
315   p_return_status := hr_multi_message.get_return_status_disable;
316   hr_utility.set_location(' Leaving:' || l_proc,20);
317   --
318 exception
319   when hr_multi_message.error_message_exist then
323     -- at least one message exists in the list.
320     --
321     -- Catch the Multiple Message List exception which
322     -- indicates API processing has been aborted because
324     --
325     rollback to lock_row_swi;
326     --
327     -- Reset IN OUT parameters and set OUT parameters
328     --
329     p_return_status := hr_multi_message.get_return_status_disable;
330     hr_utility.set_location(' Leaving:' || l_proc, 30);
331   when others then
332     --
333     -- When Multiple Message Detection is enabled catch
334     -- any Application specific or other unexpected
335     -- exceptions.  Adding appropriate details to the
336     -- Multiple Message List.  Otherwise re-raise the
337     -- error.
338     --
339     rollback to lock_row_swi;
340     if hr_multi_message.unexpected_error_add(l_proc) then
341        hr_utility.set_location(' Leaving:' || l_proc,40);
342        raise;
343     end if;
344     --
345     -- Reset IN OUT and set OUT parameters
346     --
347     p_return_status := hr_multi_message.get_return_status_disable;
348     hr_utility.set_location(' Leaving:' || l_proc,50);
349 end lock_row;
350 -- ----------------------------------------------------------------------------
351 -- |------------------------< set_translation_globals >-----------------------|
352 -- ----------------------------------------------------------------------------
353 PROCEDURE set_translation_globals
354   (p_business_group_id            in     number
355   ,p_legislation_code             in     varchar2
356   ,p_return_status                   out nocopy varchar2
357   ) is
358   --
359   -- Variables for API Boolean parameters
360   --
361   -- Variables for IN/OUT parameters
362   --
363   -- Other variables
364   l_proc    varchar2(72) := g_package ||'set_translation_globals';
365 Begin
366   hr_utility.set_location(' Entering:' || l_proc,10);
367   --
368   -- Issue a savepoint
369   --
370   savepoint set_translation_globals_swi;
371   --
372   -- Initialise Multiple Message Detection
373   --
374   hr_multi_message.enable_message_list;
375   --
376   -- Remember IN OUT parameter IN values
377   --
378   --
379   -- Convert constant values to their corresponding boolean value
380   --
381   --
382   -- Register Surrogate ID or user key values
383   --
384   --
385   -- Call API
386   --
387   pay_element_class_pkg.set_translation_globals
388     (p_business_group_id            => p_business_group_id
389     ,p_legislation_code             => p_legislation_code
390     );
391   --
392   -- Convert API warning boolean parameter values to specific
393   -- messages and add them to Multiple Message List
394   --
395   --
396   -- Convert API non-warning boolean parameter values
397   --
398   --
399   -- Derive the API return status value based on whether
400   -- messages of any type exist in the Multiple Message List.
401   -- Also disable Multiple Message Detection.
402   --
403   p_return_status := hr_multi_message.get_return_status_disable;
404   hr_utility.set_location(' Leaving:' || l_proc,20);
405   --
406 exception
407   when hr_multi_message.error_message_exist then
408     --
409     -- Catch the Multiple Message List exception which
410     -- indicates API processing has been aborted because
411     -- at least one message exists in the list.
412     --
413     rollback to set_translation_globals_swi;
414     --
415     -- Reset IN OUT parameters and set OUT parameters
416     --
417     p_return_status := hr_multi_message.get_return_status_disable;
418     hr_utility.set_location(' Leaving:' || l_proc, 30);
419   when others then
420     --
421     -- When Multiple Message Detection is enabled catch
422     -- any Application specific or other unexpected
423     -- exceptions.  Adding appropriate details to the
424     -- Multiple Message List.  Otherwise re-raise the
425     -- error.
426     --
427     rollback to set_translation_globals_swi;
428     if hr_multi_message.unexpected_error_add(l_proc) then
429        hr_utility.set_location(' Leaving:' || l_proc,40);
430        raise;
431     end if;
432     --
433     -- Reset IN OUT and set OUT parameters
434     --
435     p_return_status := hr_multi_message.get_return_status_disable;
436     hr_utility.set_location(' Leaving:' || l_proc,50);
437 end set_translation_globals;
438 -- ----------------------------------------------------------------------------
439 -- |-----------------------------< translate_row >----------------------------|
440 -- ----------------------------------------------------------------------------
441 PROCEDURE translate_row
442   (x_e_classification_name        in     varchar2
443   ,x_e_legislation_code           in     varchar2
444   ,x_classification_name          in     varchar2
445   ,x_description                  in     varchar2
446   ,x_owner                        in     varchar2
447   ,p_return_status                   out nocopy varchar2
448   ) is
449   --
450   -- Variables for API Boolean parameters
451   --
452   -- Variables for IN/OUT parameters
453   --
454   -- Other variables
455   l_proc    varchar2(72) := g_package ||'translate_row';
456 Begin
457   hr_utility.set_location(' Entering:' || l_proc,10);
458   --
459   -- Issue a savepoint
460   --
461   savepoint translate_row_swi;
462   --
463   -- Initialise Multiple Message Detection
464   --
465   hr_multi_message.enable_message_list;
466   --
467   -- Remember IN OUT parameter IN values
468   --
469   --
470   -- Convert constant values to their corresponding boolean value
471   --
472   --
476   -- Call API
473   -- Register Surrogate ID or user key values
474   --
475   --
477   --
478   pay_element_class_pkg.translate_row
479     (x_e_classification_name        => x_e_classification_name
480     ,x_e_legislation_code           => x_e_legislation_code
481     ,x_classification_name          => x_classification_name
482     ,x_description                  => x_description
483     ,x_owner                        => x_owner
484     );
485   --
486   -- Convert API warning boolean parameter values to specific
487   -- messages and add them to Multiple Message List
488   --
489   --
490   -- Convert API non-warning boolean parameter values
491   --
492   --
493   -- Derive the API return status value based on whether
494   -- messages of any type exist in the Multiple Message List.
495   -- Also disable Multiple Message Detection.
496   --
497   p_return_status := hr_multi_message.get_return_status_disable;
498   hr_utility.set_location(' Leaving:' || l_proc,20);
499   --
500 exception
501   when hr_multi_message.error_message_exist then
502     --
503     -- Catch the Multiple Message List exception which
504     -- indicates API processing has been aborted because
505     -- at least one message exists in the list.
506     --
507     rollback to translate_row_swi;
508     --
509     -- Reset IN OUT parameters and set OUT parameters
510     --
511     p_return_status := hr_multi_message.get_return_status_disable;
512     hr_utility.set_location(' Leaving:' || l_proc, 30);
513   when others then
514     --
515     -- When Multiple Message Detection is enabled catch
516     -- any Application specific or other unexpected
517     -- exceptions.  Adding appropriate details to the
518     -- Multiple Message List.  Otherwise re-raise the
519     -- error.
520     --
521     rollback to translate_row_swi;
522     if hr_multi_message.unexpected_error_add(l_proc) then
523        hr_utility.set_location(' Leaving:' || l_proc,40);
524        raise;
525     end if;
526     --
527     -- Reset IN OUT and set OUT parameters
528     --
529     p_return_status := hr_multi_message.get_return_status_disable;
530     hr_utility.set_location(' Leaving:' || l_proc,50);
531 end translate_row;
532 -- ----------------------------------------------------------------------------
533 -- |------------------------------< update_row >------------------------------|
534 -- ----------------------------------------------------------------------------
535 PROCEDURE update_row
536   (x_classification_id            in     number
537   ,x_business_group_id            in     number
538   ,x_legislation_code             in     varchar2
539   ,x_legislation_subgroup         in     varchar2
540   ,x_costable_flag                in     varchar2
541   ,x_default_high_priority        in     number
542   ,x_default_low_priority         in     number
543   ,x_default_priority             in     number
544   ,x_distributable_over_flag      in     varchar2
545   ,x_non_payments_flag            in     varchar2
546   ,x_costing_debit_or_credit      in     varchar2
547   ,x_parent_classification_id     in     number
548   ,x_create_by_default_flag       in     varchar2
549   ,x_balance_initialization_flag  in     varchar2
550   ,x_object_version_number        in     number
551   ,x_classification_name          in     varchar2
552   ,x_description                  in     varchar2
553   ,x_last_update_date             in     date
554   ,x_last_updated_by              in     number
555   ,x_last_update_login            in     number
556   ,x_mesg_flg                        out nocopy number
557   ,x_freq_rule_enabled            in     varchar2  default hr_api.g_varchar2
558   ,p_return_status                   out nocopy varchar2
559   ) is
560   --
561   -- Variables for API Boolean parameters
562   l_mesg_flg                      boolean;
563   --
564   -- Variables for IN/OUT parameters
565   --
566   -- Other variables
567   l_proc    varchar2(72) := g_package ||'update_row';
568 Begin
569   hr_utility.set_location(' Entering:' || l_proc,10);
570   --
571   -- Issue a savepoint
572   --
573   savepoint update_row_swi;
574   --
575   -- Initialise Multiple Message Detection
576   --
577   hr_multi_message.enable_message_list;
578   --
579   -- Remember IN OUT parameter IN values
580   --
581   --
582   -- Convert constant values to their corresponding boolean value
583   --
584   l_mesg_flg :=
585     hr_api.constant_to_boolean
586       (p_constant_value => x_mesg_flg);
587   --
588   -- Register Surrogate ID or user key values
589   --
590   --
591   -- Call API
592   --
593   pay_element_class_pkg.update_row
594     (x_classification_id            => x_classification_id
595     ,x_business_group_id            => x_business_group_id
596     ,x_legislation_code             => x_legislation_code
597     ,x_legislation_subgroup         => x_legislation_subgroup
598     ,x_costable_flag                => x_costable_flag
599     ,x_default_high_priority        => x_default_high_priority
600     ,x_default_low_priority         => x_default_low_priority
601     ,x_default_priority             => x_default_priority
602     ,x_distributable_over_flag      => x_distributable_over_flag
603     ,x_non_payments_flag            => x_non_payments_flag
604     ,x_costing_debit_or_credit      => x_costing_debit_or_credit
605     ,x_parent_classification_id     => x_parent_classification_id
606     ,x_create_by_default_flag       => x_create_by_default_flag
607     ,x_balance_initialization_flag  => x_balance_initialization_flag
608     ,x_object_version_number        => x_object_version_number
609     ,x_classification_name          => x_classification_name
610     ,x_description                  => x_description
614     ,x_mesg_flg                     => l_mesg_flg
611     ,x_last_update_date             => x_last_update_date
612     ,x_last_updated_by              => x_last_updated_by
613     ,x_last_update_login            => x_last_update_login
615     ,x_freq_rule_enabled            => x_freq_rule_enabled
616     );
617   --
618   -- Convert API warning boolean parameter values to specific
619   -- messages and add them to Multiple Message List
620   --
621   --
622   -- Convert API non-warning boolean parameter values
623   --
624   x_mesg_flg :=
625      hr_api.boolean_to_constant
626       (p_boolean_value => l_mesg_flg
627       );
628   --
629   -- Derive the API return status value based on whether
630   -- messages of any type exist in the Multiple Message List.
631   -- Also disable Multiple Message Detection.
632   --
633   p_return_status := hr_multi_message.get_return_status_disable;
634   hr_utility.set_location(' Leaving:' || l_proc,20);
635   --
636 exception
637   when hr_multi_message.error_message_exist then
638     --
639     -- Catch the Multiple Message List exception which
640     -- indicates API processing has been aborted because
641     -- at least one message exists in the list.
642     --
643     rollback to update_row_swi;
644     --
645     -- Reset IN OUT parameters and set OUT parameters
646     --
647     x_mesg_flg                     := null;
648     p_return_status := hr_multi_message.get_return_status_disable;
649     hr_utility.set_location(' Leaving:' || l_proc, 30);
650   when others then
651     --
652     -- When Multiple Message Detection is enabled catch
653     -- any Application specific or other unexpected
654     -- exceptions.  Adding appropriate details to the
655     -- Multiple Message List.  Otherwise re-raise the
656     -- error.
657     --
658     rollback to update_row_swi;
659     if hr_multi_message.unexpected_error_add(l_proc) then
660        hr_utility.set_location(' Leaving:' || l_proc,40);
661        raise;
662     end if;
663     --
664     -- Reset IN OUT and set OUT parameters
665     --
666     x_mesg_flg                     := null;
667     p_return_status := hr_multi_message.get_return_status_disable;
668     hr_utility.set_location(' Leaving:' || l_proc,50);
669 end update_row;
670 -- ----------------------------------------------------------------------------
671 -- |-------------------------< validate_translation >-------------------------|
672 -- ----------------------------------------------------------------------------
673 PROCEDURE validate_translation
674   (classification_id              in     number
675   ,language                       in     varchar2
676   ,classification_name            in     varchar2
677   ,description                    in     varchar2
678   ,p_business_group_id            in     number    default hr_api.g_number
679   ,p_legislation_code             in     varchar2  default hr_api.g_varchar2
680   ,p_return_status                   out nocopy varchar2
681   ) is
682   --
683   -- Variables for API Boolean parameters
684   --
685   -- Variables for IN/OUT parameters
686   --
687   -- Other variables
688   l_proc    varchar2(72) := g_package ||'validate_translation';
689 Begin
690   hr_utility.set_location(' Entering:' || l_proc,10);
691   --
692   -- Issue a savepoint
693   --
694   savepoint validate_translation_swi;
695   --
696   -- Initialise Multiple Message Detection
697   --
698   hr_multi_message.enable_message_list;
699   --
700   -- Remember IN OUT parameter IN values
701   --
702   --
703   -- Convert constant values to their corresponding boolean value
704   --
705   --
706   -- Register Surrogate ID or user key values
707   --
708   --
709   -- Call API
710   --
711   pay_element_class_pkg.validate_translation
712     (classification_id              => classification_id
713     ,language                       => language
714     ,classification_name            => classification_name
715     ,description                    => description
716     ,p_business_group_id            => p_business_group_id
717     ,p_legislation_code             => p_legislation_code
718     );
719   --
720   -- Convert API warning boolean parameter values to specific
721   -- messages and add them to Multiple Message List
722   --
723   --
724   -- Convert API non-warning boolean parameter values
725   --
726   --
727   -- Derive the API return status value based on whether
728   -- messages of any type exist in the Multiple Message List.
729   -- Also disable Multiple Message Detection.
730   --
731   p_return_status := hr_multi_message.get_return_status_disable;
732   hr_utility.set_location(' Leaving:' || l_proc,20);
733   --
734 exception
735   when hr_multi_message.error_message_exist then
736     --
737     -- Catch the Multiple Message List exception which
738     -- indicates API processing has been aborted because
739     -- at least one message exists in the list.
740     --
741     rollback to validate_translation_swi;
742     --
743     -- Reset IN OUT parameters and set OUT parameters
744     --
745     p_return_status := hr_multi_message.get_return_status_disable;
746     hr_utility.set_location(' Leaving:' || l_proc, 30);
747   when others then
748     --
749     -- When Multiple Message Detection is enabled catch
750     -- any Application specific or other unexpected
751     -- exceptions.  Adding appropriate details to the
752     -- Multiple Message List.  Otherwise re-raise the
753     -- error.
754     --
755     rollback to validate_translation_swi;
756     if hr_multi_message.unexpected_error_add(l_proc) then
760     --
757        hr_utility.set_location(' Leaving:' || l_proc,40);
758        raise;
759     end if;
761     -- Reset IN OUT and set OUT parameters
762     --
763     p_return_status := hr_multi_message.get_return_status_disable;
764     hr_utility.set_location(' Leaving:' || l_proc,50);
765 end validate_translation;
766 end pay_element_class_swi;