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