DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ELEMENT_TEMPLATE_USER_ISWI

Source


1 Package Body pay_element_template_user_iswi As
2 /* $Header: pytemswi.pkb 120.0 2005/05/29 09:03 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33);
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------------< create_element >----------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_element
12   (p_validate                     in     number
13   ,p_save_for_later               in     varchar2
14   ,p_rec                          in     PAY_ELE_TMPLT_OBJ
15   ,p_sub_class                    in     PAY_ELE_SUB_CLASS_TABLE
16   ,p_freq_rule                    in     PAY_FREQ_RULE_TABLE
17   ,p_ele_template_id                 out nocopy number
18   ,p_return_status                   out nocopy varchar2
19   ) is
20   --
21   -- Variables for API Boolean parameters
22   l_validate                      boolean;
23   --
24   -- Variables for IN/OUT parameters
25   --
26   -- Other variables
27   l_proc    varchar2(72);
28 Begin
29   l_proc    := g_package ||'create_element';
30   hr_utility.set_location(' Entering:' || l_proc,10);
31   --
32   -- Issue a savepoint
33   --
34   savepoint create_element_swi;
35   --
36   -- Initialise Multiple Message Detection
37   --
38   hr_multi_message.enable_message_list;
39   --
40   -- Remember IN OUT parameter IN values
41   --
42   --
43   -- Convert constant values to their corresponding boolean value
44   --
45   l_validate :=
46     hr_api.constant_to_boolean
47       (p_constant_value => p_validate);
48   --
49   -- Register Surrogate ID or user key values
50   --
51   --
52   -- Call API
53   --
54   pay_element_template_user_init.create_element
55     (p_validate                     => l_validate
56     ,p_save_for_later               => p_save_for_later
57     ,p_rec                          => p_rec
58     ,p_sub_class                    => p_sub_class
59     ,p_freq_rule                    => p_freq_rule
60     ,p_ele_template_id              => p_ele_template_id
61     );
62   --
63   -- Convert API warning boolean parameter values to specific
64   -- messages and add them to Multiple Message List
65   --
66   --
67   -- Convert API non-warning boolean parameter values
68   --
69   --
70   -- Derive the API return status value based on whether
71   -- messages of any type exist in the Multiple Message List.
72   -- Also disable Multiple Message Detection.
73   --
74   p_return_status := hr_multi_message.get_return_status_disable;
75   hr_utility.set_location(' Leaving:' || l_proc,20);
76   --
77 exception
78   when hr_multi_message.error_message_exist then
79     --
80     -- Catch the Multiple Message List exception which
81     -- indicates API processing has been aborted because
82     -- at least one message exists in the list.
83     --
84     rollback to create_element_swi;
85     --
86     -- Reset IN OUT parameters and set OUT parameters
87     --
88     p_ele_template_id              := null;
89     p_return_status := hr_multi_message.get_return_status_disable;
90     hr_utility.set_location(' Leaving:' || l_proc, 30);
91   when others then
92     --
93     -- When Multiple Message Detection is enabled catch
94     -- any Application specific or other unexpected
95     -- exceptions.  Adding appropriate details to the
96     -- Multiple Message List.  Otherwise re-raise the
97     -- error.
98     --
99     rollback to create_element_swi;
100     if hr_multi_message.unexpected_error_add(l_proc) then
101        hr_utility.set_location(' Leaving:' || l_proc,40);
102        raise;
103     end if;
104     --
105     -- Reset IN OUT and set OUT parameters
106     --
107     p_ele_template_id              := null;
108     p_return_status := hr_multi_message.get_return_status_disable;
109     hr_utility.set_location(' Leaving:' || l_proc,50);
110 end create_element;
111 -- ----------------------------------------------------------------------------
112 -- |----------------------------< delete_element >----------------------------|
113 -- ----------------------------------------------------------------------------
114 PROCEDURE delete_element
115   (p_validate                     in     number
116   ,p_template_id                  in     number
117   ,p_return_status                   out nocopy varchar2
118   ) is
119   --
120   -- Variables for API Boolean parameters
121   l_validate                      boolean;
122   --
123   -- Variables for IN/OUT parameters
124   --
125   -- Other variables
126   l_proc    varchar2(72);
127 Begin
128     l_proc    := g_package ||'delete_element';
129   hr_utility.set_location(' Entering:' || l_proc,10);
130   --
131   -- Issue a savepoint
132   --
133   savepoint delete_element_swi;
134   --
135   -- Initialise Multiple Message Detection
136   --
137   hr_multi_message.enable_message_list;
138   --
139   -- Remember IN OUT parameter IN values
140   --
141   --
142   -- Convert constant values to their corresponding boolean value
143   --
144   l_validate :=
145     hr_api.constant_to_boolean
146       (p_constant_value => p_validate);
147   --
148   -- Register Surrogate ID or user key values
149   --
150   --
151   -- Call API
152   --
153   pay_element_template_user_init.delete_element
154     (p_validate                     => l_validate
155     ,p_template_id                  => p_template_id
156     );
157   --
158   -- Convert API warning boolean parameter values to specific
159   -- messages and add them to Multiple Message List
160   --
161   --
162   -- Convert API non-warning boolean parameter values
163   --
164   --
165   -- Derive the API return status value based on whether
166   -- messages of any type exist in the Multiple Message List.
167   -- Also disable Multiple Message Detection.
168   --
169   p_return_status := hr_multi_message.get_return_status_disable;
170   hr_utility.set_location(' Leaving:' || l_proc,20);
171   --
172 exception
173   when hr_multi_message.error_message_exist then
174     --
175     -- Catch the Multiple Message List exception which
176     -- indicates API processing has been aborted because
177     -- at least one message exists in the list.
178     --
179     rollback to delete_element_swi;
180     --
181     -- Reset IN OUT parameters and set OUT parameters
182     --
183     p_return_status := hr_multi_message.get_return_status_disable;
184     hr_utility.set_location(' Leaving:' || l_proc, 30);
185   when others then
186     --
187     -- When Multiple Message Detection is enabled catch
188     -- any Application specific or other unexpected
189     -- exceptions.  Adding appropriate details to the
190     -- Multiple Message List.  Otherwise re-raise the
191     -- error.
192     --
193     rollback to delete_element_swi;
194     if hr_multi_message.unexpected_error_add(l_proc) then
195        hr_utility.set_location(' Leaving:' || l_proc,40);
196        raise;
197     end if;
198     --
199     -- Reset IN OUT and set OUT parameters
200     --
201     p_return_status := hr_multi_message.get_return_status_disable;
202     hr_utility.set_location(' Leaving:' || l_proc,50);
203 end delete_element;
204 begin
205     g_package  := 'pay_element_template_user_iswi.';
206 end pay_element_template_user_iswi;