1 Package Body hr_pos_hierarchy_ele_swi As
2 /* $Header: hrpseswi.pkb 115.2 2002/12/03 01:07:29 ndorai noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'hr_pos_hierarchy_ele_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_pos_hierarchy_ele >-----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_pos_hierarchy_ele
12 (p_validate in number default hr_api.g_false_num
13 ,p_parent_position_id in number
14 ,p_pos_structure_version_id in number
15 ,p_subordinate_position_id in number
16 ,p_business_group_id in number
17 ,p_hr_installed in varchar2
18 ,p_effective_date in date
19 ,p_pos_structure_element_id out nocopy number
20 ,p_object_version_number out nocopy number
21 ,p_return_status out nocopy varchar2
22 ) is
23 --
24 -- Variables for API Boolean parameters
25 l_validate boolean;
26 --
27 -- Variables for IN/OUT parameters
28 --
29 -- Other variables
30 l_proc varchar2(72) := g_package ||'create_pos_hierarchy_ele';
31 Begin
32 hr_utility.set_location(' Entering:' || l_proc,10);
33 --
34 -- Issue a savepoint
35 --
36 savepoint create_pos_hierarchy_ele_swi;
37 --
38 -- Initialise Multiple Message Detection
39 --
40 hr_multi_message.enable_message_list;
41 --
42 -- Remember IN OUT parameter IN values
43 --
44 --
45 -- Convert constant values to their corresponding boolean value
46 --
47 l_validate :=
48 hr_api.constant_to_boolean
49 (p_constant_value => p_validate);
50 --
51 -- Register Surrogate ID or user key values
52 --
53 --
54 -- Call API
55 --
56 hr_pos_hierarchy_ele_api.create_pos_hierarchy_ele
57 (p_validate => l_validate
58 ,p_parent_position_id => p_parent_position_id
59 ,p_pos_structure_version_id => p_pos_structure_version_id
60 ,p_subordinate_position_id => p_subordinate_position_id
61 ,p_business_group_id => p_business_group_id
62 ,p_hr_installed => p_hr_installed
63 ,p_effective_date => p_effective_date
64 ,p_pos_structure_element_id => p_pos_structure_element_id
65 ,p_object_version_number => p_object_version_number
66 );
67 --
68 -- Convert API warning boolean parameter values to specific
69 -- messages and add them to Multiple Message List
70 --
71 --
72 -- Convert API non-warning boolean parameter values
73 --
74 --
75 -- Derive the API return status value based on whether
76 -- messages of any type exist in the Multiple Message List.
77 -- Also disable Multiple Message Detection.
78 --
79 p_return_status := hr_multi_message.get_return_status_disable;
80 hr_utility.set_location(' Leaving:' || l_proc,20);
81 --
82 exception
83 when hr_multi_message.error_message_exist then
84 --
85 -- Catch the Multiple Message List exception which
86 -- indicates API processing has been aborted because
87 -- at least one message exists in the list.
88 --
89 rollback to create_pos_hierarchy_ele_swi;
90 --
91 -- Reset IN OUT parameters and set OUT parameters
92 --
93 p_pos_structure_element_id := null;
94 p_object_version_number := null;
95 p_return_status := hr_multi_message.get_return_status_disable;
96 hr_utility.set_location(' Leaving:' || l_proc, 30);
97 when others then
98 --
99 -- When Multiple Message Detection is enabled catch
100 -- any Application specific or other unexpected
101 -- exceptions. Adding appropriate details to the
102 -- Multiple Message List. Otherwise re-raise the
103 -- error.
104 --
105 rollback to create_pos_hierarchy_ele_swi;
106 if hr_multi_message.unexpected_error_add(l_proc) then
107 hr_utility.set_location(' Leaving:' || l_proc,40);
108 raise;
109 end if;
110 --
111 -- Reset IN OUT and set OUT parameters
112 --
113 p_pos_structure_element_id := null;
114 p_object_version_number := null;
115 p_return_status := hr_multi_message.get_return_status_disable;
116 hr_utility.set_location(' Leaving:' || l_proc,50);
117 end create_pos_hierarchy_ele;
118 -- ----------------------------------------------------------------------------
119 -- |---------------------< create_pos_hier_elem_internal >--------------------|
120 -- ----------------------------------------------------------------------------
121 PROCEDURE create_pos_hier_elem_internal
122 (p_parent_position_id in number
123 ,p_pos_structure_version_id in number
124 ,p_subordinate_position_id in number
125 ,p_business_group_id in number
126 ,p_hr_installed in varchar2
127 ,p_effective_date in date
128 ,p_pos_structure_element_id out nocopy number
129 ,p_object_version_number out nocopy number
130 ,p_return_status out nocopy varchar2
131 ) is
132 --
133 -- Variables for API Boolean parameters
134 --
135 -- Variables for IN/OUT parameters
136 --
137 -- Other variables
138 l_proc varchar2(72) := g_package ||'create_pos_hier_elem_internal';
139 Begin
140 hr_utility.set_location(' Entering:' || l_proc,10);
141 --
142 -- Issue a savepoint
143 --
144 savepoint create_poshiereleminternal_swi;
145 --
146 -- Initialise Multiple Message Detection
147 --
148 hr_multi_message.enable_message_list;
149 --
150 -- Remember IN OUT parameter IN values
151 --
152 --
153 -- Convert constant values to their corresponding boolean value
154 --
155 --
156 -- Register Surrogate ID or user key values
157 --
158 --
159 -- Call API
160 --
161 hr_pos_hierarchy_ele_api.create_pos_hier_elem_internal
162 (p_parent_position_id => p_parent_position_id
163 ,p_pos_structure_version_id => p_pos_structure_version_id
164 ,p_subordinate_position_id => p_subordinate_position_id
165 ,p_business_group_id => p_business_group_id
166 ,p_hr_installed => p_hr_installed
167 ,p_effective_date => p_effective_date
168 ,p_pos_structure_element_id => p_pos_structure_element_id
169 ,p_object_version_number => p_object_version_number
170 );
171 --
172 -- Convert API warning boolean parameter values to specific
173 -- messages and add them to Multiple Message List
174 --
175 --
176 -- Convert API non-warning boolean parameter values
177 --
178 --
179 -- Derive the API return status value based on whether
180 -- messages of any type exist in the Multiple Message List.
181 -- Also disable Multiple Message Detection.
182 --
183 p_return_status := hr_multi_message.get_return_status_disable;
184 hr_utility.set_location(' Leaving:' || l_proc,20);
185 --
186 exception
187 when hr_multi_message.error_message_exist then
188 --
189 -- Catch the Multiple Message List exception which
190 -- indicates API processing has been aborted because
191 -- at least one message exists in the list.
192 --
193 rollback to create_poshiereleminternal_swi;
194 --
195 -- Reset IN OUT parameters and set OUT parameters
196 --
197 p_pos_structure_element_id := null;
198 p_object_version_number := null;
199 p_return_status := hr_multi_message.get_return_status_disable;
200 hr_utility.set_location(' Leaving:' || l_proc, 30);
201 when others then
202 --
203 -- When Multiple Message Detection is enabled catch
204 -- any Application specific or other unexpected
205 -- exceptions. Adding appropriate details to the
206 -- Multiple Message List. Otherwise re-raise the
207 -- error.
208 --
209 rollback to create_poshiereleminternal_swi;
210 if hr_multi_message.unexpected_error_add(l_proc) then
211 hr_utility.set_location(' Leaving:' || l_proc,40);
212 raise;
213 end if;
214 --
215 -- Reset IN OUT and set OUT parameters
216 --
217 p_pos_structure_element_id := null;
218 p_object_version_number := null;
219 p_return_status := hr_multi_message.get_return_status_disable;
220 hr_utility.set_location(' Leaving:' || l_proc,50);
221 end create_pos_hier_elem_internal;
222 -- ----------------------------------------------------------------------------
223 -- |-----------------------< delete_pos_hierarchy_ele >-----------------------|
224 -- ----------------------------------------------------------------------------
225 PROCEDURE delete_pos_hierarchy_ele
226 (p_validate in number default hr_api.g_false_num
227 ,p_pos_structure_element_id in number
228 ,p_object_version_number in number
229 ,p_hr_installed in varchar2
230 ,p_return_status out nocopy varchar2
231 ) is
232 --
233 -- Variables for API Boolean parameters
234 l_validate boolean;
235 --
236 -- Variables for IN/OUT parameters
237 --
238 -- Other variables
239 l_proc varchar2(72) := g_package ||'delete_pos_hierarchy_ele';
240 Begin
241 hr_utility.set_location(' Entering:' || l_proc,10);
242 --
243 -- Issue a savepoint
244 --
245 savepoint delete_pos_hierarchy_ele_swi;
246 --
247 -- Initialise Multiple Message Detection
248 --
249 hr_multi_message.enable_message_list;
250 --
251 -- Remember IN OUT parameter IN values
252 --
253 --
254 -- Convert constant values to their corresponding boolean value
255 --
256 l_validate :=
257 hr_api.constant_to_boolean
258 (p_constant_value => p_validate);
259 --
260 -- Register Surrogate ID or user key values
261 --
262 --
263 -- Call API
264 --
265 hr_pos_hierarchy_ele_api.delete_pos_hierarchy_ele
266 (p_validate => l_validate
267 ,p_pos_structure_element_id => p_pos_structure_element_id
268 ,p_object_version_number => p_object_version_number
269 ,p_hr_installed => p_hr_installed
270 );
271 --
272 -- Convert API warning boolean parameter values to specific
273 -- messages and add them to Multiple Message List
274 --
275 --
276 -- Convert API non-warning boolean parameter values
277 --
278 --
279 -- Derive the API return status value based on whether
280 -- messages of any type exist in the Multiple Message List.
281 -- Also disable Multiple Message Detection.
282 --
283 p_return_status := hr_multi_message.get_return_status_disable;
284 hr_utility.set_location(' Leaving:' || l_proc,20);
285 --
286 exception
287 when hr_multi_message.error_message_exist then
288 --
289 -- Catch the Multiple Message List exception which
290 -- indicates API processing has been aborted because
291 -- at least one message exists in the list.
292 --
293 rollback to delete_pos_hierarchy_ele_swi;
294 --
295 -- Reset IN OUT parameters and set OUT parameters
296 --
297 p_return_status := hr_multi_message.get_return_status_disable;
298 hr_utility.set_location(' Leaving:' || l_proc, 30);
299 when others then
300 --
301 -- When Multiple Message Detection is enabled catch
302 -- any Application specific or other unexpected
303 -- exceptions. Adding appropriate details to the
304 -- Multiple Message List. Otherwise re-raise the
305 -- error.
306 --
307 rollback to delete_pos_hierarchy_ele_swi;
308 if hr_multi_message.unexpected_error_add(l_proc) then
309 hr_utility.set_location(' Leaving:' || l_proc,40);
310 raise;
311 end if;
312 --
313 -- Reset IN OUT and set OUT parameters
314 --
315 p_return_status := hr_multi_message.get_return_status_disable;
316 hr_utility.set_location(' Leaving:' || l_proc,50);
317 end delete_pos_hierarchy_ele;
318 -- ----------------------------------------------------------------------------
319 -- |---------------------< delete_pos_hier_elem_internal >--------------------|
320 -- ----------------------------------------------------------------------------
321 PROCEDURE delete_pos_hier_elem_internal
322 (p_pos_structure_element_id in number
323 ,p_object_version_number in number
324 ,p_hr_installed in varchar2
325 ,p_return_status out nocopy varchar2
326 ) is
327 --
328 -- Variables for API Boolean parameters
329 --
330 -- Variables for IN/OUT parameters
331 --
332 -- Other variables
333 l_proc varchar2(72) := g_package ||'delete_pos_hier_elem_internal';
334 Begin
335 hr_utility.set_location(' Entering:' || l_proc,10);
336 --
337 -- Issue a savepoint
338 --
339 savepoint delete_poshiereleminternal_swi;
340 --
341 -- Initialise Multiple Message Detection
342 --
343 hr_multi_message.enable_message_list;
344 --
345 -- Remember IN OUT parameter IN values
346 --
347 --
348 -- Convert constant values to their corresponding boolean value
349 --
350 --
351 -- Register Surrogate ID or user key values
352 --
353 --
354 -- Call API
355 --
356 hr_pos_hierarchy_ele_api.delete_pos_hier_elem_internal
357 (p_pos_structure_element_id => p_pos_structure_element_id
358 ,p_object_version_number => p_object_version_number
359 ,p_hr_installed => p_hr_installed
360 );
361 --
362 -- Convert API warning boolean parameter values to specific
363 -- messages and add them to Multiple Message List
364 --
365 --
366 -- Convert API non-warning boolean parameter values
367 --
368 --
369 -- Derive the API return status value based on whether
370 -- messages of any type exist in the Multiple Message List.
371 -- Also disable Multiple Message Detection.
372 --
373 p_return_status := hr_multi_message.get_return_status_disable;
374 hr_utility.set_location(' Leaving:' || l_proc,20);
375 --
376 exception
377 when hr_multi_message.error_message_exist then
378 --
379 -- Catch the Multiple Message List exception which
380 -- indicates API processing has been aborted because
381 -- at least one message exists in the list.
382 --
383 rollback to delete_poshiereleminternal_swi;
384 --
385 -- Reset IN OUT parameters and set OUT parameters
386 --
387 p_return_status := hr_multi_message.get_return_status_disable;
388 hr_utility.set_location(' Leaving:' || l_proc, 30);
389 when others then
390 --
391 -- When Multiple Message Detection is enabled catch
392 -- any Application specific or other unexpected
393 -- exceptions. Adding appropriate details to the
394 -- Multiple Message List. Otherwise re-raise the
395 -- error.
396 --
397 rollback to delete_poshiereleminternal_swi;
398 if hr_multi_message.unexpected_error_add(l_proc) then
399 hr_utility.set_location(' Leaving:' || l_proc,40);
400 raise;
401 end if;
402 --
403 -- Reset IN OUT and set OUT parameters
404 --
405 p_return_status := hr_multi_message.get_return_status_disable;
406 hr_utility.set_location(' Leaving:' || l_proc,50);
407 end delete_pos_hier_elem_internal;
408 -- ----------------------------------------------------------------------------
409 -- |-----------------------< update_pos_hierarchy_ele >-----------------------|
410 -- ----------------------------------------------------------------------------
411 PROCEDURE update_pos_hierarchy_ele
412 (p_validate in number default hr_api.g_false_num
413 ,p_pos_structure_element_id in number
414 ,p_effective_date in date
415 ,p_parent_position_id in number default hr_api.g_number
416 ,p_subordinate_position_id in number default hr_api.g_number
417 ,p_object_version_number in out nocopy number
418 ,p_return_status out nocopy varchar2
419 ) is
420 --
421 -- Variables for API Boolean parameters
422 l_validate boolean;
423 --
424 -- Variables for IN/OUT parameters
425 l_object_version_number number;
426 --
427 -- Other variables
428 l_proc varchar2(72) := g_package ||'update_pos_hierarchy_ele';
429 Begin
430 hr_utility.set_location(' Entering:' || l_proc,10);
431 --
432 -- Issue a savepoint
433 --
434 savepoint update_pos_hierarchy_ele_swi;
435 --
436 -- Initialise Multiple Message Detection
437 --
438 hr_multi_message.enable_message_list;
439 --
440 -- Remember IN OUT parameter IN values
441 --
442 l_object_version_number := p_object_version_number;
443 --
444 -- Convert constant values to their corresponding boolean value
445 --
446 l_validate :=
447 hr_api.constant_to_boolean
448 (p_constant_value => p_validate);
449 --
450 -- Register Surrogate ID or user key values
451 --
452 --
453 -- Call API
454 --
455 hr_pos_hierarchy_ele_api.update_pos_hierarchy_ele
456 (p_validate => l_validate
457 ,p_pos_structure_element_id => p_pos_structure_element_id
458 ,p_parent_position_id => p_parent_position_id
459 ,p_effective_date => p_effective_date
460 ,p_subordinate_position_id => p_subordinate_position_id
461 ,p_object_version_number => p_object_version_number
462 );
463 --
464 -- Convert API warning boolean parameter values to specific
465 -- messages and add them to Multiple Message List
466 --
467 --
468 -- Convert API non-warning boolean parameter values
469 --
470 --
471 -- Derive the API return status value based on whether
472 -- messages of any type exist in the Multiple Message List.
473 -- Also disable Multiple Message Detection.
474 --
475 p_return_status := hr_multi_message.get_return_status_disable;
476 hr_utility.set_location(' Leaving:' || l_proc,20);
477 --
478 exception
479 when hr_multi_message.error_message_exist then
480 --
481 -- Catch the Multiple Message List exception which
482 -- indicates API processing has been aborted because
483 -- at least one message exists in the list.
484 --
485 rollback to update_pos_hierarchy_ele_swi;
486 --
487 -- Reset IN OUT parameters and set OUT parameters
488 --
489 p_object_version_number := l_object_version_number;
490 p_return_status := hr_multi_message.get_return_status_disable;
491 hr_utility.set_location(' Leaving:' || l_proc, 30);
492 when others then
493 --
494 -- When Multiple Message Detection is enabled catch
495 -- any Application specific or other unexpected
496 -- exceptions. Adding appropriate details to the
497 -- Multiple Message List. Otherwise re-raise the
498 -- error.
499 --
500 rollback to update_pos_hierarchy_ele_swi;
501 if hr_multi_message.unexpected_error_add(l_proc) then
502 hr_utility.set_location(' Leaving:' || l_proc,40);
503 raise;
504 end if;
505 --
506 -- Reset IN OUT and set OUT parameters
507 --
508 p_object_version_number := l_object_version_number;
509 p_return_status := hr_multi_message.get_return_status_disable;
510 hr_utility.set_location(' Leaving:' || l_proc,50);
511 end update_pos_hierarchy_ele;
512 -- ----------------------------------------------------------------------------
513 -- |---------------------< update_pos_hier_elem_internal >--------------------|
514 -- ----------------------------------------------------------------------------
515 PROCEDURE update_pos_hier_elem_internal
516 (p_pos_structure_element_id in number
517 ,p_parent_position_id in number default hr_api.g_number
518 ,p_subordinate_position_id in number default hr_api.g_number
519 ,p_effective_date in date
520 ,p_object_version_number in out nocopy number
521 ,p_return_status out nocopy varchar2
522 ) is
523 --
524 -- Variables for API Boolean parameters
525 --
526 -- Variables for IN/OUT parameters
527 l_object_version_number number;
528 --
529 -- Other variables
530 l_proc varchar2(72) := g_package ||'update_pos_hier_elem_internal';
531 Begin
532 hr_utility.set_location(' Entering:' || l_proc,10);
533 --
534 -- Issue a savepoint
535 --
536 savepoint update_poshiereleminternal_swi;
537 --
538 -- Initialise Multiple Message Detection
539 --
540 hr_multi_message.enable_message_list;
541 --
542 -- Remember IN OUT parameter IN values
543 --
544 l_object_version_number := p_object_version_number;
545 --
546 -- Convert constant values to their corresponding boolean value
547 --
548 --
549 -- Register Surrogate ID or user key values
550 --
551 --
552 -- Call API
553 --
554 hr_pos_hierarchy_ele_api.update_pos_hier_elem_internal
555 (p_pos_structure_element_id => p_pos_structure_element_id
556 ,p_parent_position_id => p_parent_position_id
557 ,p_subordinate_position_id => p_subordinate_position_id
558 ,p_effective_date => p_effective_date
559 ,p_object_version_number => p_object_version_number
560 );
561 --
562 -- Convert API warning boolean parameter values to specific
563 -- messages and add them to Multiple Message List
564 --
565 --
566 -- Convert API non-warning boolean parameter values
567 --
568 --
569 -- Derive the API return status value based on whether
570 -- messages of any type exist in the Multiple Message List.
571 -- Also disable Multiple Message Detection.
572 --
573 p_return_status := hr_multi_message.get_return_status_disable;
574 hr_utility.set_location(' Leaving:' || l_proc,20);
575 --
576 exception
577 when hr_multi_message.error_message_exist then
578 --
579 -- Catch the Multiple Message List exception which
580 -- indicates API processing has been aborted because
581 -- at least one message exists in the list.
582 --
583 rollback to update_poshiereleminternal_swi;
584 --
585 -- Reset IN OUT parameters and set OUT parameters
586 --
587 p_object_version_number := l_object_version_number;
588 p_return_status := hr_multi_message.get_return_status_disable;
589 hr_utility.set_location(' Leaving:' || l_proc, 30);
590 when others then
591 --
592 -- When Multiple Message Detection is enabled catch
593 -- any Application specific or other unexpected
594 -- exceptions. Adding appropriate details to the
595 -- Multiple Message List. Otherwise re-raise the
596 -- error.
597 --
598 rollback to update_poshiereleminternal_swi;
599 if hr_multi_message.unexpected_error_add(l_proc) then
600 hr_utility.set_location(' Leaving:' || l_proc,40);
601 raise;
602 end if;
603 --
604 -- Reset IN OUT and set OUT parameters
605 --
606 p_object_version_number := l_object_version_number;
607 p_return_status := hr_multi_message.get_return_status_disable;
608 hr_utility.set_location(' Leaving:' || l_proc,50);
609 end update_pos_hier_elem_internal;
610 end hr_pos_hierarchy_ele_swi;