[Home] [Help]
PACKAGE BODY: APPS.HR_KI_HIERARCHIES_API
Source
1 Package Body HR_KI_HIERARCHIES_API as
2 /* $Header: hrhrcapi.pkb 115.0 2004/01/09 01:13:25 vkarandi noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'HR_KI_HIERARCHIES_API';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< create_hierarchy_node >-----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_hierarchy_node
13 (p_validate in boolean default false
14 ,p_language_code in varchar2 default hr_api.userenv_lang
15 ,p_hierarchy_key in varchar2
16 ,p_parent_hierarchy_id in number
17 ,p_name in varchar2
18 ,p_description in varchar2 default hr_api.g_varchar2
19 ,p_hierarchy_id out nocopy number
20 ,p_object_version_number out nocopy number
21 ) is
22 --
23 -- Declare cursors and local variables
24 --
25 l_proc varchar2(72) := g_package||'create_hierarchy_node';
26 l_hierarchy_id number;
27 l_language_code varchar2(30);
28 l_object_version_number number;
29
30 begin
31 hr_utility.set_location('Entering:'|| l_proc, 10);
32 --
33 -- Issue a savepoint
34 --
35 savepoint create_hierarchy_node;
36 --
37 -- Remember IN OUT parameter IN values
38 --
39 --l_in_out_parameter := p_in_out_parameter;
40 l_language_code:=p_language_code;
41
42 hr_api.validate_language_code(p_language_code => l_language_code);
43
44 --
45 -- Call Before Process User Hook
46 --
47 begin
48 hr_ki_hierarchies_bk1.create_hierarchy_node_b
49 (
50 p_language_code => p_language_code
51 ,p_hierarchy_key => p_hierarchy_key
52 ,p_parent_hierarchy_id => p_parent_hierarchy_id
53 ,p_name => p_name
54 ,p_description => p_description
55 );
56 exception
57 when hr_api.cannot_find_prog_unit then
58 hr_api.cannot_find_prog_unit_error
59 (p_module_name => 'create_hierarchy_node'
60 ,p_hook_type => 'BP'
61 );
62 end;
63
64 --
65 -- Process Logic
66 --
67 hr_hrc_ins.ins
68 (
69 p_hierarchy_key => p_hierarchy_key
70 ,p_parent_hierarchy_id => p_parent_hierarchy_id
71 ,p_hierarchy_id => l_hierarchy_id
72 ,p_object_version_number => l_object_version_number
73 );
74
75 hr_htl_ins.ins_tl(
76 p_language_code => l_language_code
77 ,p_hierarchy_id => l_hierarchy_id
78 ,p_name => p_name
79 ,p_description => p_description
80 );
81
82
83 --
84 -- Call After Process User Hook
85 --
86 begin
87 hr_ki_hierarchies_bk1.create_hierarchy_node_a
88 (
89 p_language_code => l_language_code
90 ,p_hierarchy_key => p_hierarchy_key
91 ,p_parent_hierarchy_id => p_parent_hierarchy_id
92 ,p_name => p_name
93 ,p_description => p_description
94 ,p_hierarchy_id => l_hierarchy_id
95 ,p_object_version_number => l_object_version_number
96 );
97 exception
98 when hr_api.cannot_find_prog_unit then
99 hr_api.cannot_find_prog_unit_error
100 (p_module_name => 'create_hierarchy_node'
101 ,p_hook_type => 'AP'
102 );
103 end;
104 --
105 -- When in validation only mode raise the Validate_Enabled exception
106 --
107 if p_validate then
108 raise hr_api.validate_enabled;
109 end if;
110 --
111 -- Set all IN OUT and OUT parameters with out values
112 --
113 p_hierarchy_id := l_hierarchy_id;
114 p_object_version_number := l_object_version_number;
115
116 --
117 hr_utility.set_location(' Leaving:'||l_proc, 70);
118 exception
119 when hr_api.validate_enabled then
120 --
121 -- As the Validate_Enabled exception has been raised
122 -- we must rollback to the savepoint
123 --
124 rollback to create_hierarchy_node;
125 --
126 -- Reset IN OUT parameters and set OUT parameters
127 -- (Any key or derived arguments must be set to null
128 -- when validation only mode is being used.)
129 --
130
131 p_hierarchy_id := null;
132 p_object_version_number := null;
133
134 hr_utility.set_location(' Leaving:'||l_proc, 80);
135 when others then
136 --
137 -- A validation or unexpected error has occured
138 --
139 rollback to create_hierarchy_node;
140 --
141 -- Reset IN OUT parameters and set all
142 -- OUT parameters, including warnings, to null
143 --
144
145 p_hierarchy_id := null;
146 p_object_version_number := null;
147
148 hr_utility.set_location(' Leaving:'||l_proc, 90);
149 raise;
150 end create_hierarchy_node;
151
152 --
153 -- ----------------------------------------------------------------------------
154 -- |------------------------< update_hierarchy_node >-------------------------|
155 -- ----------------------------------------------------------------------------
156 --
157 procedure update_hierarchy_node
158 (p_validate in boolean default false
159 ,p_language_code in varchar2 default hr_api.userenv_lang
160 ,p_parent_hierarchy_id in number default hr_api.g_number
161 ,p_name in varchar2 default hr_api.g_varchar2
162 ,p_description in varchar2 default hr_api.g_varchar2
163 ,p_hierarchy_id in number
164 ,p_object_version_number in out nocopy number
165 ) is
166 --
167 -- Declare cursors and local variables
168 --
169 l_proc varchar2(72) := g_package||'update_hierarchy_node';
170 l_language_code varchar2(30);
171 l_object_version_number number := p_object_version_number;
172
173 begin
174 hr_utility.set_location('Entering:'|| l_proc, 10);
175 --
176 -- Issue a savepoint
177 --
178 savepoint update_hierarchy_node;
179 --
180 -- Remember IN OUT parameter IN values
181 --
182 --l_in_out_parameter := p_in_out_parameter;
183 l_language_code:=p_language_code;
184
185 hr_api.validate_language_code(p_language_code => l_language_code);
186
187 --
188 -- Call Before Process User Hook
189 --
190 begin
191 hr_ki_hierarchies_bk2.update_hierarchy_node_b
192 (
193 p_language_code => l_language_code
194 ,p_parent_hierarchy_id => p_parent_hierarchy_id
195 ,p_name => p_name
196 ,p_description => p_description
197 ,p_hierarchy_id => p_hierarchy_id
198 ,p_object_version_number => p_object_version_number
199 );
200 exception
201 when hr_api.cannot_find_prog_unit then
202 hr_api.cannot_find_prog_unit_error
203 (p_module_name => 'update_hierarchy_node'
204 ,p_hook_type => 'BP'
205 );
206 end;
207
208 --
209 -- Process Logic
210 --
211 hr_hrc_upd.upd
212 (
213 p_hierarchy_id => p_hierarchy_id
214 ,p_parent_hierarchy_id => p_parent_hierarchy_id
215 ,p_object_version_number => p_object_version_number
216 );
217
218 hr_htl_upd.upd_tl(
219 p_language_code => l_language_code
220 ,p_hierarchy_id => p_hierarchy_id
221 ,p_name => p_name
222 ,p_description => p_description
223 );
224
225
226 --
227 -- Call After Process User Hook
228 --
229 begin
230 hr_ki_hierarchies_bk2.update_hierarchy_node_a
231 (
232 p_language_code => l_language_code
233 ,p_parent_hierarchy_id => p_parent_hierarchy_id
234 ,p_name => p_name
235 ,p_description => p_description
236 ,p_hierarchy_id => p_hierarchy_id
237 ,p_object_version_number => p_object_version_number
238 );
239 exception
240 when hr_api.cannot_find_prog_unit then
241 hr_api.cannot_find_prog_unit_error
242 (p_module_name => 'update_hierarchy_node'
243 ,p_hook_type => 'AP'
244 );
245 end;
246 --
247 -- When in validation only mode raise the Validate_Enabled exception
248 --
249 if p_validate then
250 raise hr_api.validate_enabled;
251 end if;
252 --
253 -- Set all IN OUT and OUT parameters with out values
254 --
255
256 -- p_object_version_number := p_object_version_number;
257
258 --
259 hr_utility.set_location(' Leaving:'||l_proc, 70);
260 exception
261 when hr_api.validate_enabled then
262 --
263 -- As the Validate_Enabled exception has been raised
264 -- we must rollback to the savepoint
265 --
266 rollback to update_hierarchy_node;
267 --
268 -- Reset IN OUT parameters and set OUT parameters
269 -- (Any key or derived arguments must be set to null
270 -- when validation only mode is being used.)
271 --
272
273 p_object_version_number := l_object_version_number;
274
275 hr_utility.set_location(' Leaving:'||l_proc, 80);
276 when others then
277 --
278 -- A validation or unexpected error has occured
279 --
280 rollback to update_hierarchy_node;
281 --
282 -- Reset IN OUT parameters and set all
283 -- OUT parameters, including warnings, to null
284 --
285
286 p_object_version_number := l_object_version_number;
287
288 hr_utility.set_location(' Leaving:'||l_proc, 90);
289 raise;
290 end update_hierarchy_node;
291 --
292 --
293 -- ----------------------------------------------------------------------------
294 -- |-----------------------< delete_hierarchy_node >--------------------------|
295 -- ----------------------------------------------------------------------------
296 --
297 procedure delete_hierarchy_node
298 (
299 P_VALIDATE in boolean default false
300 ,P_HIERARCHY_ID in number
301 ,P_OBJECT_VERSION_NUMBER in number
302 ) is
303 --
304 -- Declare cursors and local variables
305 --
306
307 cursor get_child_ids
308 is
309 select hierarchy_id,object_version_number from hr_ki_hierarchies
310 connect by prior
311 hierarchy_id=parent_hierarchy_id
312 start with hierarchy_id=p_hierarchy_id order by level desc;
313
314 cursor get_node_map_ids(cur_id number)
315 is
316 select hierarchy_node_map_id,object_version_number from hr_ki_hierarchy_node_maps
317 where hierarchy_id =cur_id;
318
319 Cursor C_Sel1 is
320 select object_version_number
321 from hr_ki_hierarchies
322 where hierarchy_id = p_hierarchy_id;
323
324 l_proc varchar2(72) := g_package||'delete_hierarchy_node';
325 l_found number(15);
326 l_found_node_map number(15);
327 l_no number(9);
328
329 begin
330 hr_utility.set_location('Entering:'|| l_proc, 10);
331 --
332 -- Issue a savepoint
333 --
334 savepoint delete_hierarchy_node;
335 --
336 -- Remember IN OUT parameter IN values
337 --
338
339 -- Call Before Process User Hook
340 --
341 begin
342 hr_ki_hierarchies_bk3.delete_hierarchy_node_b
343 (
344 p_hierarchy_id => p_hierarchy_id
345 ,p_object_version_number => p_object_version_number
346
347 );
348 exception
349 when hr_api.cannot_find_prog_unit then
350 hr_api.cannot_find_prog_unit_error
351 (p_module_name => 'delete_hierarchy_node'
352 ,p_hook_type => 'BP'
353 );
354 end;
355
356 --
357 -- Process Logic
358 --
359
360
361 --throw error for invalid object_version_number
362 -- and invalid hierarchy_id
363 hr_api.mandatory_arg_error
364 (p_api_name => l_proc
365 ,p_argument => 'HIERARCHY_ID'
366 ,p_argument_value => p_hierarchy_id
367 );
368 hr_utility.set_location(l_proc,6);
369 hr_api.mandatory_arg_error
370 (p_api_name => l_proc
371 ,p_argument => 'OBJECT_VERSION_NUMBER'
372 ,p_argument_value => p_object_version_number
373 );
374 --
375 Open C_Sel1;
376 Fetch C_Sel1 Into l_no;
377 If C_Sel1%notfound then
378 Close C_Sel1;
379 --
380 -- The primary key is invalid therefore we must error
381 --
382 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
383 fnd_message.raise_error;
384 End If;
385 Close C_Sel1;
386 If (p_object_version_number
387 <> l_no) Then
388 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
389 fnd_message.raise_error;
390 End If;
391
392 --first get the child rows if any for the hierarchy_id
393
394 for hierarchy_rec in get_child_ids
395 LOOP
396
397 -- get the hierarchy_node_map_ids
398 for node_rec in get_node_map_ids(hierarchy_rec.hierarchy_id)
399 LOOP
400 --call delete from hierarchy_node_map
401 delete_hierarchy_node_map(
402 p_hierarchy_node_map_id => node_rec.hierarchy_node_map_id
403 ,p_object_version_number => node_rec.object_version_number
404
405 );
406 end loop;
407
408 --delete hierachy_ids from tl table and then from hierarchies table
409 hr_hrc_shd.lck
410 (
411 p_hierarchy_id => hierarchy_rec.hierarchy_id
412 ,p_object_version_number => hierarchy_rec.object_version_number
413 );
414 hr_htl_del.del_tl(
415 p_hierarchy_id => hierarchy_rec.hierarchy_id
416 );
417 hr_hrc_del.del
418 (
419 p_hierarchy_id => hierarchy_rec.hierarchy_id
420 ,p_object_version_number => hierarchy_rec.object_version_number
421 );
422
423
424 END LOOP;
425
426
427 --
428 -- Call After Process User Hook
429 --
430 begin
431 hr_ki_hierarchies_bk3.delete_hierarchy_node_a
432 (
433 p_hierarchy_id => p_hierarchy_id
434 ,p_object_version_number => p_object_version_number
435 );
436 exception
437 when hr_api.cannot_find_prog_unit then
438 hr_api.cannot_find_prog_unit_error
439 (p_module_name => 'delete_hierarchy_node'
440 ,p_hook_type => 'AP'
441 );
442 end;
443 --
444 -- When in validation only mode raise the Validate_Enabled exception
445 --
446 if p_validate then
447 raise hr_api.validate_enabled;
448 end if;
449 --
450 -- Set all IN OUT and OUT parameters with out values
451 --
452
453 --
454 hr_utility.set_location(' Leaving:'||l_proc, 70);
455 exception
456 when hr_api.validate_enabled then
457 --
458 -- As the Validate_Enabled exception has been raised
459 -- we must rollback to the savepoint
460 --
461 rollback to delete_hierarchy_node;
462 --
463 -- Reset IN OUT parameters and set OUT parameters
464 -- (Any key or derived arguments must be set to null
465 -- when validation only mode is being used.)
466 --
467
468 hr_utility.set_location(' Leaving:'||l_proc, 80);
469 when others then
470 --
471 -- A validation or unexpected error has occured
472 --
473 rollback to delete_hierarchy_node;
474 --
475 -- Reset IN OUT parameters and set all
476 -- OUT parameters, including warnings, to null
477 --
478 hr_utility.set_location(' Leaving:'||l_proc, 90);
479 raise;
480 end delete_hierarchy_node;
481
482 --
483 -- ----------------------------------------------------------------------------
484 -- |-----------------------< create_topic_hierarchy_map >----------------------|
485 -- ----------------------------------------------------------------------------
486 --
487 procedure create_topic_hierarchy_map
488 (p_validate in boolean default false
489 ,p_hierarchy_id in number
490 ,p_topic_id in number
491 ,p_hierarchy_node_map_id out nocopy number
492 ,p_object_version_number out nocopy number
493 ) is
494 --
495 -- Declare cursors and local variables
496 --
497 l_proc varchar2(72) := g_package||'create_topic_hierarchy_map';
498 l_hierarchy_node_map_id number;
499 l_object_version_number number;
500
501 begin
502 hr_utility.set_location('Entering:'|| l_proc, 10);
503 --
504 -- Issue a savepoint
505 --
506 savepoint create_topic_hierarchy_map;
507 --
508 -- Remember IN OUT parameter IN values
509 --
510 --l_in_out_parameter := p_in_out_parameter;
511
512 -- Call Before Process User Hook
513 --
514 begin
515 hr_ki_hierarchies_bk4.create_topic_hierarchy_map_b
516 (
517 p_hierarchy_id => p_hierarchy_id
518 ,p_topic_id => p_topic_id
519 );
520 exception
521 when hr_api.cannot_find_prog_unit then
522 hr_api.cannot_find_prog_unit_error
523 (p_module_name => 'create_topic_hierarchy_map'
524 ,p_hook_type => 'BP'
525 );
526 end;
527
528 --
529 -- Process Logic
530 --
531 hr_hnm_ins.ins
532 (
533 p_topic_id => p_topic_id
534 ,p_hierarchy_id => p_hierarchy_id
535 ,p_hierarchy_node_map_id => l_hierarchy_node_map_id
536 ,p_object_version_number => l_object_version_number
537 );
538
539 --
540 -- Call After Process User Hook
541 --
542 begin
543 hr_ki_hierarchies_bk4.create_topic_hierarchy_map_a
544 (
545 p_hierarchy_id => p_hierarchy_id
546 ,p_topic_id => p_topic_id
547 ,p_hierarchy_node_map_id => p_hierarchy_node_map_id
548 ,p_object_version_number => p_object_version_number
549 );
550 exception
551 when hr_api.cannot_find_prog_unit then
552 hr_api.cannot_find_prog_unit_error
553 (p_module_name => 'create_topic_hierarchy_map'
554 ,p_hook_type => 'AP'
555 );
556 end;
557 --
558 -- When in validation only mode raise the Validate_Enabled exception
559 --
560 if p_validate then
561 raise hr_api.validate_enabled;
562 end if;
563 --
564 -- Set all IN OUT and OUT parameters with out values
565 --
566 p_hierarchy_node_map_id := l_hierarchy_node_map_id;
567 p_object_version_number := l_object_version_number;
568
569 --
570 hr_utility.set_location(' Leaving:'||l_proc, 70);
571 exception
572 when hr_api.validate_enabled then
573 --
574 -- As the Validate_Enabled exception has been raised
575 -- we must rollback to the savepoint
576 --
577 rollback to create_topic_hierarchy_map;
578 --
579 -- Reset IN OUT parameters and set OUT parameters
580 -- (Any key or derived arguments must be set to null
581 -- when validation only mode is being used.)
582 --
583
584 p_hierarchy_node_map_id := null;
585 p_object_version_number := null;
586
587 hr_utility.set_location(' Leaving:'||l_proc, 80);
588 when others then
589 --
590 -- A validation or unexpected error has occured
591 --
592 rollback to create_topic_hierarchy_map;
593 --
594 -- Reset IN OUT parameters and set all
595 -- OUT parameters, including warnings, to null
596 --
597
598 p_hierarchy_node_map_id := null;
599 p_object_version_number := null;
600
601 hr_utility.set_location(' Leaving:'||l_proc, 90);
602 raise;
603 end create_topic_hierarchy_map;
604 --
605 -- ----------------------------------------------------------------------------
606 -- |-----------------------< create_ui_hierarchy_map >----------------------|
607 -- ----------------------------------------------------------------------------
608 --
609 procedure create_ui_hierarchy_map
610 (p_validate in boolean default false
611 ,p_hierarchy_id in number
612 ,p_user_interface_id in number
613 ,p_hierarchy_node_map_id out nocopy number
614 ,p_object_version_number out nocopy number
615 ) is
616 --
617 -- Declare cursors and local variables
618 --
619 l_proc varchar2(72) := g_package||'create_ui_hierarchy_map';
620 l_hierarchy_node_map_id number;
621 l_object_version_number number;
622
623 begin
624 hr_utility.set_location('Entering:'|| l_proc, 10);
625 --
626 -- Issue a savepoint
627 --
628 savepoint create_ui_hierarchy_map;
629 --
630 -- Remember IN OUT parameter IN values
631 --
632 --l_in_out_parameter := p_in_out_parameter;
633
634 -- Call Before Process User Hook
635 --
636 begin
637 hr_ki_hierarchies_bk5.create_ui_hierarchy_map_b
638 (
639 p_hierarchy_id => p_hierarchy_id
640 ,p_user_interface_id => p_user_interface_id
641 );
642 exception
643 when hr_api.cannot_find_prog_unit then
644 hr_api.cannot_find_prog_unit_error
645 (p_module_name => 'create_ui_hierarchy_map'
646 ,p_hook_type => 'BP'
647 );
648 end;
649
650 --
651 -- Process Logic
652 --
653 hr_hnm_ins.ins
654 (
655 p_user_interface_id => p_user_interface_id
656 ,p_hierarchy_id => p_hierarchy_id
657 ,p_hierarchy_node_map_id => l_hierarchy_node_map_id
658 ,p_object_version_number => l_object_version_number
659 );
660
661 --
662 -- Call After Process User Hook
663 --
664 begin
665 hr_ki_hierarchies_bk5.create_ui_hierarchy_map_a
666 (
667 p_user_interface_id => p_user_interface_id
668 ,p_hierarchy_id => p_hierarchy_id
669 ,p_hierarchy_node_map_id => l_hierarchy_node_map_id
670 ,p_object_version_number => l_object_version_number
671 );
672 exception
673 when hr_api.cannot_find_prog_unit then
674 hr_api.cannot_find_prog_unit_error
675 (p_module_name => 'create_ui_hierarchy_map'
676 ,p_hook_type => 'AP'
677 );
678 end;
679 --
680 -- When in validation only mode raise the Validate_Enabled exception
681 --
682 if p_validate then
683 raise hr_api.validate_enabled;
684 end if;
685 --
686 -- Set all IN OUT and OUT parameters with out values
687 --
688 p_hierarchy_node_map_id := l_hierarchy_node_map_id;
689 p_object_version_number := l_object_version_number;
690
691 --
692 hr_utility.set_location(' Leaving:'||l_proc, 70);
693 exception
694 when hr_api.validate_enabled then
695 --
696 -- As the Validate_Enabled exception has been raised
697 -- we must rollback to the savepoint
698 --
699 rollback to create_ui_hierarchy_map;
700 --
701 -- Reset IN OUT parameters and set OUT parameters
702 -- (Any key or derived arguments must be set to null
703 -- when validation only mode is being used.)
704 --
705
706 p_hierarchy_node_map_id := null;
707 p_object_version_number := null;
708
709 hr_utility.set_location(' Leaving:'||l_proc, 80);
710 when others then
711 --
712 -- A validation or unexpected error has occured
713 --
714 rollback to create_ui_hierarchy_map;
715 --
716 -- Reset IN OUT parameters and set all
717 -- OUT parameters, including warnings, to null
718 --
719
720 p_hierarchy_node_map_id := null;
721 p_object_version_number := null;
722
723 hr_utility.set_location(' Leaving:'||l_proc, 90);
724 raise;
725 end create_ui_hierarchy_map;
726 --
727 -- ----------------------------------------------------------------------------
728 -- |-----------------------< create_topic_ui_map >-----------------------------|
729 -- ----------------------------------------------------------------------------
730 --
731 procedure create_topic_ui_map
732 (p_validate in boolean default false
733 ,p_topic_id in number
734 ,p_user_interface_id in number
735 ,p_hierarchy_node_map_id out nocopy number
736 ,p_object_version_number out nocopy number
737 ) is
738 --
739 -- Declare cursors and local variables
740 --
741 l_proc varchar2(72) := g_package||'create_topic_ui_map';
742 l_hierarchy_node_map_id number;
743 l_object_version_number number;
744
745 begin
746 hr_utility.set_location('Entering:'|| l_proc, 10);
747 --
748 -- Issue a savepoint
749 --
750 savepoint create_topic_ui_map;
751 --
752 -- Remember IN OUT parameter IN values
753 --
754 --l_in_out_parameter := p_in_out_parameter;
755
756 -- Call Before Process User Hook
757 --
758 begin
759 hr_ki_hierarchies_bk6.create_topic_ui_map_b
760 (
761 p_topic_id => p_topic_id
762 ,p_user_interface_id => p_user_interface_id
763 );
764 exception
765 when hr_api.cannot_find_prog_unit then
766 hr_api.cannot_find_prog_unit_error
767 (p_module_name => 'create_topic_ui_map'
768 ,p_hook_type => 'BP'
769 );
770 end;
771
772 --
773 -- Process Logic
774 --
775 hr_hnm_ins.ins
776 (
777 p_user_interface_id => p_user_interface_id
778 ,p_topic_id => p_topic_id
779 ,p_hierarchy_node_map_id => l_hierarchy_node_map_id
780 ,p_object_version_number => l_object_version_number
781 );
782
783 --
784 -- Call After Process User Hook
785 --
786 begin
787 hr_ki_hierarchies_bk6.create_topic_ui_map_a
788 (
789 p_user_interface_id => p_user_interface_id
790 ,p_topic_id => p_topic_id
791 ,p_hierarchy_node_map_id => l_hierarchy_node_map_id
792 ,p_object_version_number => l_object_version_number
793 );
794 exception
795 when hr_api.cannot_find_prog_unit then
796 hr_api.cannot_find_prog_unit_error
797 (p_module_name => 'create_topic_ui_map'
798 ,p_hook_type => 'AP'
799 );
800 end;
801 --
802 -- When in validation only mode raise the Validate_Enabled exception
803 --
804 if p_validate then
805 raise hr_api.validate_enabled;
806 end if;
807 --
808 -- Set all IN OUT and OUT parameters with out values
809 --
810 p_hierarchy_node_map_id := l_hierarchy_node_map_id;
811 p_object_version_number := l_object_version_number;
812
813 --
814 hr_utility.set_location(' Leaving:'||l_proc, 70);
815 exception
816 when hr_api.validate_enabled then
817 --
818 -- As the Validate_Enabled exception has been raised
819 -- we must rollback to the savepoint
820 --
821 rollback to create_topic_ui_map;
822 --
823 -- Reset IN OUT parameters and set OUT parameters
824 -- (Any key or derived arguments must be set to null
825 -- when validation only mode is being used.)
826 --
827
828 p_hierarchy_node_map_id := null;
829 p_object_version_number := null;
830
831 hr_utility.set_location(' Leaving:'||l_proc, 80);
832 when others then
833 --
834 -- A validation or unexpected error has occured
835 --
836 rollback to create_topic_ui_map;
837 --
838 -- Reset IN OUT parameters and set all
839 -- OUT parameters, including warnings, to null
840 --
841
842 p_hierarchy_node_map_id := null;
843 p_object_version_number := null;
844
845 hr_utility.set_location(' Leaving:'||l_proc, 90);
846 raise;
847 end create_topic_ui_map;
848
849 --
850 -- ----------------------------------------------------------------------------
851 -- |----------------------< update_hierarchy_node_map >------------------------|
852 -- ----------------------------------------------------------------------------
853 --
854 procedure update_hierarchy_node_map
855 (p_validate in boolean default false
856 ,p_hierarchy_id in number default hr_api.g_number
857 ,p_topic_id in number default hr_api.g_number
858 ,p_user_interface_id in number default hr_api.g_number
859 ,p_hierarchy_node_map_id in number
860 ,p_object_version_number in out nocopy number
861 ) is
862 --
863 -- Declare cursors and local variables
864 --
865 l_proc varchar2(72) := g_package||'update_hierarchy_node_map';
866 l_object_version_number number := p_object_version_number;
867
868 begin
869 hr_utility.set_location('Entering:'|| l_proc, 10);
870 --
871 -- Issue a savepoint
872 --
873 savepoint update_hierarchy_node_map;
874 --
875 -- Remember IN OUT parameter IN values
876 --
877 --l_in_out_parameter := p_in_out_parameter;
878 --
879 -- Call Before Process User Hook
880 --
881 begin
882 hr_ki_hierarchies_bk7.update_hierarchy_node_map_b
883 (
884 p_topic_id => p_topic_id
885 ,p_hierarchy_id => p_hierarchy_id
886 ,p_user_interface_id => p_user_interface_id
887 ,p_hierarchy_node_map_id => p_hierarchy_node_map_id
888 ,p_object_version_number => p_object_version_number
889 );
890 exception
891 when hr_api.cannot_find_prog_unit then
892 hr_api.cannot_find_prog_unit_error
893 (p_module_name => 'update_hierarchy_node_map'
894 ,p_hook_type => 'BP'
895 );
896 end;
897
898 --
899 -- Process Logic
900 --
901 hr_hnm_upd.upd
902 (
903 p_topic_id => p_topic_id
904 ,p_hierarchy_id => p_hierarchy_id
905 ,p_user_interface_id => p_user_interface_id
906 ,p_hierarchy_node_map_id => p_hierarchy_node_map_id
907 ,p_object_version_number => p_object_version_number
908 );
909
910 --
911 -- Call After Process User Hook
912 --
913 begin
914 hr_ki_hierarchies_bk7.update_hierarchy_node_map_a
915 (
916 p_topic_id => p_topic_id
917 ,p_hierarchy_id => p_hierarchy_id
918 ,p_user_interface_id => p_user_interface_id
919 ,p_hierarchy_node_map_id => p_hierarchy_node_map_id
920 ,p_object_version_number => p_object_version_number
921 );
922 exception
923 when hr_api.cannot_find_prog_unit then
924 hr_api.cannot_find_prog_unit_error
925 (p_module_name => 'update_hierarchy_node_map'
926 ,p_hook_type => 'AP'
927 );
928 end;
929 --
930 -- When in validation only mode raise the Validate_Enabled exception
931 --
932 if p_validate then
933 raise hr_api.validate_enabled;
934 end if;
935 --
936 -- Set all IN OUT and OUT parameters with out values
937 --
938
939 -- p_object_version_number := p_object_version_number;
940
941 --
942 hr_utility.set_location(' Leaving:'||l_proc, 70);
943 exception
944 when hr_api.validate_enabled then
945 --
946 -- As the Validate_Enabled exception has been raised
947 -- we must rollback to the savepoint
948 --
949 rollback to update_hierarchy_node_map;
950 --
951 -- Reset IN OUT parameters and set OUT parameters
952 -- (Any key or derived arguments must be set to null
953 -- when validation only mode is being used.)
954 --
955
956 p_object_version_number := l_object_version_number;
957
958 hr_utility.set_location(' Leaving:'||l_proc, 80);
959 when others then
960 --
961 -- A validation or unexpected error has occured
962 --
963 rollback to update_hierarchy_node_map;
964 --
965 -- Reset IN OUT parameters and set all
966 -- OUT parameters, including warnings, to null
967 --
968
969 p_object_version_number := l_object_version_number;
970
971 hr_utility.set_location(' Leaving:'||l_proc, 90);
972 raise;
973 end update_hierarchy_node_map;
974
975 -- ----------------------------------------------------------------------------
976 -- |----------------------< delete_hierarchy_node_map >------------------------|
977 -- ----------------------------------------------------------------------------
978 --
979 procedure delete_hierarchy_node_map
980 (
981 P_VALIDATE in boolean default false
982 ,P_HIERARCHY_NODE_MAP_ID in number
983 ,P_OBJECT_VERSION_NUMBER in number
984 ) is
985 --
986 -- Declare cursors and local variables
987 --
988
989 l_proc varchar2(72) := g_package||'delete_hierarchy_node_map';
990
991 begin
992 hr_utility.set_location('Entering:'|| l_proc, 10);
993 --
994 -- Issue a savepoint
995 --
996 savepoint delete_hierarchy_node_map;
997 --
998 -- Remember IN OUT parameter IN values
999 --
1000
1001 -- Call Before Process User Hook
1002 --
1003 begin
1004 hr_ki_hierarchies_bk8.delete_hierarchy_node_map_b
1005 (
1006 p_hierarchy_node_map_id => p_hierarchy_node_map_id
1007 ,p_object_version_number => p_object_version_number
1008
1009 );
1010 exception
1011 when hr_api.cannot_find_prog_unit then
1012 hr_api.cannot_find_prog_unit_error
1013 (p_module_name => 'delete_hierarchy_node_map'
1014 ,p_hook_type => 'BP'
1015 );
1016 end;
1017
1018 --
1019 -- Process Logic
1020 --
1021
1022 hr_hnm_del.del
1023 (
1024 p_hierarchy_node_map_id => p_hierarchy_node_map_id
1025 ,p_object_version_number => p_object_version_number
1026 );
1027
1028
1029 --
1030 -- Call After Process User Hook
1031 --
1032 begin
1033 hr_ki_hierarchies_bk8.delete_hierarchy_node_map_a
1034 (
1035 p_hierarchy_node_map_id => p_hierarchy_node_map_id
1036 ,p_object_version_number => p_object_version_number
1037 );
1038 exception
1039 when hr_api.cannot_find_prog_unit then
1040 hr_api.cannot_find_prog_unit_error
1041 (p_module_name => 'delete_hierarchy_node_map'
1042 ,p_hook_type => 'AP'
1043 );
1044 end;
1045 --
1046 -- When in validation only mode raise the Validate_Enabled exception
1047 --
1048 if p_validate then
1049 raise hr_api.validate_enabled;
1050 end if;
1051 --
1052 -- Set all IN OUT and OUT parameters with out values
1053 --
1054
1055 --
1056 hr_utility.set_location(' Leaving:'||l_proc, 70);
1057 exception
1058 when hr_api.validate_enabled then
1059 --
1060 -- As the Validate_Enabled exception has been raised
1061 -- we must rollback to the savepoint
1062 --
1063 rollback to delete_hierarchy_node_map;
1064 --
1065 -- Reset IN OUT parameters and set OUT parameters
1066 -- (Any key or derived arguments must be set to null
1067 -- when validation only mode is being used.)
1068 --
1069
1070 hr_utility.set_location(' Leaving:'||l_proc, 80);
1071 when others then
1072 --
1073 -- A validation or unexpected error has occured
1074 --
1075 rollback to delete_hierarchy_node_map;
1076 --
1077 -- Reset IN OUT parameters and set all
1078 -- OUT parameters, including warnings, to null
1079 --
1080 hr_utility.set_location(' Leaving:'||l_proc, 90);
1081 raise;
1082 end delete_hierarchy_node_map;
1083
1084
1085 end HR_KI_HIERARCHIES_API;