DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_CAL_ENTRY_VALUE_SWI

Source


1 Package Body hr_cal_entry_value_swi As
2 /* $Header: hrenvswi.pkb 120.0 2005/05/31 00:08:35 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_cal_entry_value_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< create_entry_value >--------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_entry_value
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_calendar_entry_id            in     number
15   ,p_hierarchy_node_id            in     number    default null
16   ,p_value                        in     varchar2  default null
17   ,p_org_structure_element_id     in     number    default null
18   ,p_organization_id              in     number    default null
19   ,p_override_name                in     varchar2  default null
20   ,p_override_type                in     varchar2  default null
21   ,p_parent_entry_value_id        in     number    default null
22   ,p_cal_entry_value_id           in     number
23   ,p_usage_flag                   in     varchar2
24   ,p_identifier_key               in     varchar2  default null
25   ,p_object_version_number           out nocopy number
26   ,p_return_status                   out nocopy varchar2
27   ) is
28   --
29   -- Variables for API Boolean parameters
30   l_validate                      boolean;
31   --
32   -- Variables for IN/OUT parameters
33   --
34   -- Other variables
35   l_cal_entry_value_id           number;
36   l_proc    varchar2(72) := g_package ||'create_entry_value';
37 Begin
38   hr_utility.set_location(' Entering:' || l_proc,10);
39   --
40   -- Issue a savepoint
41   --
42   savepoint create_entry_value_swi;
43   --
44   -- Initialise Multiple Message Detection
45   --
46   hr_multi_message.enable_message_list;
47   --
48   -- Remember IN OUT parameter IN values
49   --
50   --
51   -- Convert constant values to their corresponding boolean value
52   --
53   l_validate :=
54     hr_api.constant_to_boolean
55       (p_constant_value => p_validate);
56   --
57   -- Register Surrogate ID or user key values
58   --
59   per_env_ins.set_base_key_value
60     (p_cal_entry_value_id => p_cal_entry_value_id
61     );
62   --
63   -- Call API
64   --
65   hr_cal_entry_value_api.create_entry_value
66     (p_validate                     => l_validate
67     ,p_effective_date               => p_effective_date
68     ,p_calendar_entry_id            => p_calendar_entry_id
69     ,p_hierarchy_node_id            => p_hierarchy_node_id
70     ,p_value                        => p_value
71     ,p_org_structure_element_id     => p_org_structure_element_id
72     ,p_organization_id              => p_organization_id
73     ,p_override_name                => p_override_name
74     ,p_override_type                => p_override_type
75     ,p_parent_entry_value_id        => p_parent_entry_value_id
76     ,p_cal_entry_value_id           => l_cal_entry_value_id
77     ,p_object_version_number        => p_object_version_number
78     ,p_usage_flag                   => p_usage_flag
79     ,p_identifier_key               => p_identifier_key
80     );
81   --
82   -- Convert API warning boolean parameter values to specific
83   -- messages and add them to Multiple Message List
84   --
85   --
86   -- Convert API non-warning boolean parameter values
87   --
88   --
89   -- Derive the API return status value based on whether
90   -- messages of any type exist in the Multiple Message List.
91   -- Also disable Multiple Message Detection.
92   --
93   p_return_status := hr_multi_message.get_return_status_disable;
94   hr_utility.set_location(' Leaving:' || l_proc,20);
95   --
96 exception
97   when hr_multi_message.error_message_exist then
98     --
99     -- Catch the Multiple Message List exception which
100     -- indicates API processing has been aborted because
101     -- at least one message exists in the list.
102     --
103     rollback to create_entry_value_swi;
104     --
105     -- Reset IN OUT parameters and set OUT parameters
106     --
107     p_object_version_number        := null;
108     p_return_status := hr_multi_message.get_return_status_disable;
109     hr_utility.set_location(' Leaving:' || l_proc, 30);
110   when others then
111     --
112     -- When Multiple Message Detection is enabled catch
113     -- any Application specific or other unexpected
114     -- exceptions.  Adding appropriate details to the
115     -- Multiple Message List.  Otherwise re-raise the
116     -- error.
117     --
118     rollback to create_entry_value_swi;
119     if hr_multi_message.unexpected_error_add(l_proc) then
120        hr_utility.set_location(' Leaving:' || l_proc,40);
121        raise;
122     end if;
123     --
124     -- Reset IN OUT and set OUT parameters
125     --
126     p_object_version_number        := null;
127     p_return_status := hr_multi_message.get_return_status_disable;
128     hr_utility.set_location(' Leaving:' || l_proc,50);
129 end create_entry_value;
130 -- ----------------------------------------------------------------------------
131 -- |--------------------------< delete_entry_value >--------------------------|
132 -- ----------------------------------------------------------------------------
133 PROCEDURE delete_entry_value
134   (p_validate                     in     number    default hr_api.g_false_num
135   ,p_cal_entry_value_id           in     number
136   ,p_object_version_number        in     number
137   ,p_return_status                   out nocopy varchar2
138   ) is
139   --
140   -- Variables for API Boolean parameters
141   l_validate                      boolean;
142   --
143   -- Variables for IN/OUT parameters
144   --
145   -- Other variables
146   l_proc    varchar2(72) := g_package ||'delete_entry_value';
147 Begin
148   hr_utility.set_location(' Entering:' || l_proc,10);
149   --
150   -- Issue a savepoint
151   --
152   savepoint delete_entry_value_swi;
153   --
154   -- Initialise Multiple Message Detection
155   --
156   hr_multi_message.enable_message_list;
157   --
158   -- Remember IN OUT parameter IN values
159   --
160   --
161   -- Convert constant values to their corresponding boolean value
162   --
163   l_validate :=
164     hr_api.constant_to_boolean
165       (p_constant_value => p_validate);
166   --
167   -- Register Surrogate ID or user key values
168   --
169   --
170   -- Call API
171   --
172   hr_cal_entry_value_api.delete_entry_value
173     (p_validate                     => l_validate
174     ,p_cal_entry_value_id           => p_cal_entry_value_id
175     ,p_object_version_number        => p_object_version_number
176     );
177   --
178   -- Convert API warning boolean parameter values to specific
179   -- messages and add them to Multiple Message List
180   --
181   --
182   -- Convert API non-warning boolean parameter values
183   --
184   --
185   -- Derive the API return status value based on whether
186   -- messages of any type exist in the Multiple Message List.
187   -- Also disable Multiple Message Detection.
188   --
189   p_return_status := hr_multi_message.get_return_status_disable;
190   hr_utility.set_location(' Leaving:' || l_proc,20);
191   --
192 exception
193   when hr_multi_message.error_message_exist then
194     --
195     -- Catch the Multiple Message List exception which
196     -- indicates API processing has been aborted because
197     -- at least one message exists in the list.
198     --
199     rollback to delete_entry_value_swi;
200     --
201     -- Reset IN OUT parameters and set OUT parameters
202     --
203     p_return_status := hr_multi_message.get_return_status_disable;
204     hr_utility.set_location(' Leaving:' || l_proc, 30);
205   when others then
206     --
207     -- When Multiple Message Detection is enabled catch
208     -- any Application specific or other unexpected
209     -- exceptions.  Adding appropriate details to the
210     -- Multiple Message List.  Otherwise re-raise the
211     -- error.
212     --
213     rollback to delete_entry_value_swi;
214     if hr_multi_message.unexpected_error_add(l_proc) then
215        hr_utility.set_location(' Leaving:' || l_proc,40);
216        raise;
217     end if;
218     --
219     -- Reset IN OUT and set OUT parameters
220     --
221     p_return_status := hr_multi_message.get_return_status_disable;
222     hr_utility.set_location(' Leaving:' || l_proc,50);
223 end delete_entry_value;
224 -- ----------------------------------------------------------------------------
225 -- |--------------------------< update_entry_value >--------------------------|
226 -- ----------------------------------------------------------------------------
227 PROCEDURE update_entry_value
228   (p_validate                     in     number    default hr_api.g_false_num
229   ,p_effective_date               in     date
230   ,p_cal_entry_value_id           in     number
231   ,p_object_version_number        in out nocopy number
232   ,p_override_name                in     varchar2  default hr_api.g_varchar2
233   ,p_override_type                in     varchar2  default hr_api.g_varchar2
234   ,p_parent_entry_value_id        in     number    default hr_api.g_number
235   ,p_usage_flag                   in     varchar2  default hr_api.g_varchar2
236   ,p_return_status                   out nocopy varchar2
237   ) is
238   --
239   -- Variables for API Boolean parameters
240   l_validate                      boolean;
241   --
242   -- Variables for IN/OUT parameters
243   l_object_version_number         number;
244   --
245   -- Other variables
246   l_proc    varchar2(72) := g_package ||'update_entry_value';
247 Begin
248   hr_utility.set_location(' Entering:' || l_proc,10);
249   --
250   -- Issue a savepoint
251   --
252   savepoint update_entry_value_swi;
253   --
254   -- Initialise Multiple Message Detection
255   --
256   hr_multi_message.enable_message_list;
257   --
258   -- Remember IN OUT parameter IN values
259   --
260   l_object_version_number         := p_object_version_number;
261   --
262   -- Convert constant values to their corresponding boolean value
263   --
264   l_validate :=
265     hr_api.constant_to_boolean
266       (p_constant_value => p_validate);
267   --
268   -- Register Surrogate ID or user key values
269   --
270   --
271   -- Call API
272   --
273   hr_cal_entry_value_api.update_entry_value
274     (p_validate                     => l_validate
275     ,p_effective_date               => p_effective_date
276     ,p_cal_entry_value_id           => p_cal_entry_value_id
277     ,p_object_version_number        => p_object_version_number
278     ,p_override_name                => p_override_name
279     ,p_override_type                => p_override_type
280     ,p_parent_entry_value_id        => p_parent_entry_value_id
281     ,p_usage_flag                   => p_usage_flag
282     );
283   --
284   -- Convert API warning boolean parameter values to specific
285   -- messages and add them to Multiple Message List
286   --
287   --
288   -- Convert API non-warning boolean parameter values
289   --
290   --
291   -- Derive the API return status value based on whether
292   -- messages of any type exist in the Multiple Message List.
293   -- Also disable Multiple Message Detection.
294   --
295   p_return_status := hr_multi_message.get_return_status_disable;
296   hr_utility.set_location(' Leaving:' || l_proc,20);
297   --
298 exception
299   when hr_multi_message.error_message_exist then
300     --
301     -- Catch the Multiple Message List exception which
302     -- indicates API processing has been aborted because
303     -- at least one message exists in the list.
304     --
305     rollback to update_entry_value_swi;
306     --
307     -- Reset IN OUT parameters and set OUT parameters
308     --
309     p_object_version_number        := l_object_version_number;
310     p_return_status := hr_multi_message.get_return_status_disable;
311     hr_utility.set_location(' Leaving:' || l_proc, 30);
312   when others then
313     --
314     -- When Multiple Message Detection is enabled catch
315     -- any Application specific or other unexpected
316     -- exceptions.  Adding appropriate details to the
317     -- Multiple Message List.  Otherwise re-raise the
318     -- error.
319     --
320     rollback to update_entry_value_swi;
321     if hr_multi_message.unexpected_error_add(l_proc) then
322        hr_utility.set_location(' Leaving:' || l_proc,40);
323        raise;
324     end if;
325     --
326     -- Reset IN OUT and set OUT parameters
327     --
328     p_object_version_number        := l_object_version_number;
329     p_return_status := hr_multi_message.get_return_status_disable;
330     hr_utility.set_location(' Leaving:' || l_proc,50);
331 end update_entry_value;
332 end hr_cal_entry_value_swi;