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