[Home] [Help]
PACKAGE BODY: APPS.PER_ORGANIZATION_STRUCTURE_API
Source
1 PACKAGE BODY per_organization_structure_api AS
2 /* $Header: peorsapi.pkb 115.8 2002/12/11 11:56:12 pkakar noship $ */
3 --
4 -- Package Variables
5 --
6 -- ----------------------------------------------------------------------------
7 -- |------------------< create_org_struct_and_def_ver >--------------------|
8 -- ----------------------------------------------------------------------------
9 --
10 PROCEDURE create_org_struct_and_def_ver
11 (p_validate IN BOOLEAN DEFAULT false
12 ,p_effective_date in date
13 ,p_name in varchar2
14 ,p_business_group_id in number default null
15 ,p_comments in varchar2 default null
16 ,p_primary_structure_flag in varchar2 default 'N'
17 ,p_request_id in number default null
18 ,p_program_application_id in number default null
19 ,p_program_id in number default null
20 ,p_program_update_date in date default null
21 ,p_attribute_category in varchar2 default null
22 ,p_attribute1 in varchar2 default null
23 ,p_attribute2 in varchar2 default null
24 ,p_attribute3 in varchar2 default null
25 ,p_attribute4 in varchar2 default null
26 ,p_attribute5 in varchar2 default null
27 ,p_attribute6 in varchar2 default null
28 ,p_attribute7 in varchar2 default null
29 ,p_attribute8 in varchar2 default null
30 ,p_attribute9 in varchar2 default null
31 ,p_attribute10 in varchar2 default null
32 ,p_attribute11 in varchar2 default null
33 ,p_attribute12 in varchar2 default null
34 ,p_attribute13 in varchar2 default null
35 ,p_attribute14 in varchar2 default null
36 ,p_attribute15 in varchar2 default null
37 ,p_attribute16 in varchar2 default null
38 ,p_attribute17 in varchar2 default null
39 ,p_attribute18 in varchar2 default null
40 ,p_attribute19 in varchar2 default null
41 ,p_attribute20 in varchar2 default null
42 ,p_position_control_structure_f in varchar2 default 'N'
43 ,p_organization_structure_id out nocopy number
44 ,p_object_version_number out nocopy number
45
46 ) IS
47 l_bin number(9);
48 l_gap_warning boolean; -- Not passed out as will never be true
49 begin
50
51 create_organization_structure
52 (p_validate => p_validate
53 ,p_effective_date => p_effective_date
54 ,p_name => p_name
55 ,p_business_group_id => p_business_group_id
56 ,p_comments => p_comments
57 ,p_primary_structure_flag => p_primary_structure_flag
58 ,p_request_id => p_request_id
59 ,p_program_application_id => p_program_application_id
60 ,p_program_id => p_program_id
61 ,p_program_update_date => p_program_update_date
62 ,p_attribute_category => p_attribute_category
63 ,p_attribute1 => p_attribute1
64 ,p_attribute2 => p_attribute2
65 ,p_attribute3 => p_attribute3
66 ,p_attribute4 => p_attribute4
67 ,p_attribute5 => p_attribute5
68 ,p_attribute6 => p_attribute6
69 ,p_attribute7 => p_attribute7
70 ,p_attribute8 => p_attribute8
71 ,p_attribute9 => p_attribute9
72 ,p_attribute10 => p_attribute10
73 ,p_attribute11 => p_attribute11
74 ,p_attribute12 => p_attribute12
75 ,p_attribute13 => p_attribute13
76 ,p_attribute14 => p_attribute14
77 ,p_attribute15 => p_attribute15
78 ,p_attribute16 => p_attribute16
79 ,p_attribute17 => p_attribute17
80 ,p_attribute18 => p_attribute18
81 ,p_attribute19 => p_attribute19
82 ,p_attribute20 => p_attribute20
83 ,p_position_control_structure_f => p_position_control_structure_f
84 ,p_organization_structure_id => p_organization_structure_id
85 ,p_object_version_number => p_object_version_number
86 );
87 per_org_structure_version_api.create_org_structure_version
88 (p_validate => p_validate
89 ,p_effective_date => p_effective_date
90 ,p_organization_structure_id => p_organization_structure_id
91 ,p_date_from => p_effective_date
92 ,p_version_number => 1
93 ,p_request_id => p_request_id
94 ,p_program_application_id => p_program_application_id
95 ,p_program_id => p_program_id
96 ,p_program_update_date => p_program_update_date
97 ,p_topnode_pos_ctrl_enabled_fla => 'N'
98 ,p_org_structure_version_id => l_bin
99 ,p_object_version_number => l_bin
100 ,p_gap_warning => l_gap_warning);
101 end create_org_struct_and_def_ver;
102
103
104 -- ----------------------------------------------------------------------------
105 -- |--------------------< create_organization_structure >---------------------|
106 -- ----------------------------------------------------------------------------
107 --
108 PROCEDURE create_organization_structure
109 (p_validate IN BOOLEAN DEFAULT false
110 ,p_effective_date in date
111 ,p_name in varchar2
112 ,p_business_group_id in number default null
113 ,p_comments in varchar2 default null
114 ,p_primary_structure_flag in varchar2 default 'N'
115 ,p_request_id in number default null
116 ,p_program_application_id in number default null
117 ,p_program_id in number default null
118 ,p_program_update_date in date default null
119 ,p_attribute_category in varchar2 default null
120 ,p_attribute1 in varchar2 default null
121 ,p_attribute2 in varchar2 default null
122 ,p_attribute3 in varchar2 default null
123 ,p_attribute4 in varchar2 default null
124 ,p_attribute5 in varchar2 default null
125 ,p_attribute6 in varchar2 default null
126 ,p_attribute7 in varchar2 default null
127 ,p_attribute8 in varchar2 default null
128 ,p_attribute9 in varchar2 default null
129 ,p_attribute10 in varchar2 default null
130 ,p_attribute11 in varchar2 default null
131 ,p_attribute12 in varchar2 default null
132 ,p_attribute13 in varchar2 default null
133 ,p_attribute14 in varchar2 default null
134 ,p_attribute15 in varchar2 default null
135 ,p_attribute16 in varchar2 default null
136 ,p_attribute17 in varchar2 default null
137 ,p_attribute18 in varchar2 default null
138 ,p_attribute19 in varchar2 default null
139 ,p_attribute20 in varchar2 default null
140 ,p_position_control_structure_f in varchar2 default 'N'
141 ,p_organization_structure_id out nocopy number
142 ,p_object_version_number out nocopy number
143
144 ) IS
145 --
146 -- Declare cursors and local variables
147 --
148 l_proc VARCHAR2(72) := g_package||'create_organization_structure';
149 l_organization_structure_id per_organization_Structures.organization_structure_id%TYPE;
150 l_object_version_number per_organization_structures.object_version_number%TYPE;
151 --
152 BEGIN
153 hr_utility.set_location('Entering:'|| l_proc, 10);
154 --
155 -- Issue a savepoint
156 --
157 savepoint create_organization_structure;
158 --
159
160 begin
161
162 per_org_structure_bk1.create_org_structure_b
163 (p_validate => p_validate
164 ,p_effective_date => p_effective_date
165 ,p_name => p_name
166 ,p_business_group_id => p_business_group_id
167 ,p_comments => p_comments
168 ,p_primary_structure_flag => p_primary_structure_flag
169 ,p_request_id => p_request_id
170 ,p_program_application_id => p_program_application_id
171 ,p_program_id => p_program_id
172 ,p_program_update_date => p_program_update_date
173 ,p_attribute_category => p_attribute_category
174 ,p_attribute1 => p_attribute1
175 ,p_attribute2 => p_attribute2
176 ,p_attribute3 => p_attribute3
177 ,p_attribute4 => p_attribute4
178 ,p_attribute5 => p_attribute5
179 ,p_attribute6 => p_attribute6
180 ,p_attribute7 => p_attribute7
181 ,p_attribute8 => p_attribute8
182 ,p_attribute9 => p_attribute9
183 ,p_attribute10 => p_attribute10
184 ,p_attribute11 => p_attribute11
185 ,p_attribute12 => p_attribute12
186 ,p_attribute13 => p_attribute13
187 ,p_attribute14 => p_attribute14
188 ,p_attribute15 => p_attribute15
189 ,p_attribute16 => p_attribute16
190 ,p_attribute17 => p_attribute17
191 ,p_attribute18 => p_attribute18
192 ,p_attribute19 => p_attribute19
193 ,p_attribute20 => p_attribute20
194 ,p_position_control_structure_f => p_position_control_structure_f
195 );
196 exception
197 when hr_api.cannot_find_prog_unit then
198 hr_api.cannot_find_prog_unit_error
199 (p_module_name => 'create_organization_structure'
200 ,p_hook_type => 'BP'
201 );
202 end;
203
204 --
205 --
206 --
207 hr_utility.set_location(l_proc, 20);
208 --
209 -- Process Logic
210 --
211 per_ors_ins.ins
212 (p_effective_date =>p_effective_date
213 ,p_name =>p_name
214 ,p_business_group_id =>p_business_group_id
215 ,p_comments =>p_comments
216 ,p_primary_structure_flag =>p_primary_structure_flag
217 ,p_request_id =>p_request_id
218 ,p_program_application_id =>p_program_application_id
219 ,p_program_id =>p_program_id
220 ,p_program_update_date =>p_program_update_date
221 ,p_attribute_category =>p_attribute_category
222 ,p_attribute1 =>p_attribute1
223 ,p_attribute2 =>p_attribute2
224 ,p_attribute3 =>p_attribute3
225 ,p_attribute4 =>p_attribute4
226 ,p_attribute5 =>p_attribute5
227 ,p_attribute6 =>p_attribute6
228 ,p_attribute7 =>p_attribute7
229 ,p_attribute8 =>p_attribute8
230 ,p_attribute9 =>p_attribute9
231 ,p_attribute10 =>p_attribute10
232 ,p_attribute11 =>p_attribute11
233 ,p_attribute12 =>p_attribute12
234 ,p_attribute13 =>p_attribute13
235 ,p_attribute14 =>p_attribute14
236 ,p_attribute15 =>p_attribute15
237 ,p_attribute16 =>p_attribute16
238 ,p_attribute17 =>p_attribute17
239 ,p_attribute18 =>p_attribute18
240 ,p_attribute19 =>p_attribute19
241 ,p_attribute20 =>p_attribute20
242 ,p_position_control_structure_f =>p_position_control_structure_f
243 ,p_organization_structure_id =>l_organization_structure_id
244 ,p_object_version_number =>l_object_version_number );
245
246 --
247 hr_utility.set_location(l_proc, 60);
248 --
249 -- When in validation only mode raise the Validate_Enabled exception
250 --
251 IF p_validate THEN
252 RAISE hr_api.validate_enabled;
253 END IF;
254 --
255 -- Set all output arguments
256 --
257 p_organization_structure_id := l_organization_structure_id;
258 p_object_version_number := l_object_version_number;
259 --
260 hr_utility.set_location(' Leaving:'||l_proc, 70);
261 --
262
263
264
265 begin
266
267 per_org_structure_bk1.create_org_structure_a
268 (p_validate => p_validate
269 ,p_effective_date => p_effective_date
270 ,p_name => p_name
271 ,p_business_group_id => p_business_group_id
272 ,p_comments => p_comments
273 ,p_primary_structure_flag => p_primary_structure_flag
274 ,p_request_id => p_request_id
275 ,p_program_application_id => p_program_application_id
276 ,p_program_id => p_program_id
277 ,p_program_update_date => p_program_update_date
278 ,p_attribute_category => p_attribute_category
279 ,p_attribute1 => p_attribute1
280 ,p_attribute2 => p_attribute2
281 ,p_attribute3 => p_attribute3
282 ,p_attribute4 => p_attribute4
283 ,p_attribute5 => p_attribute5
284 ,p_attribute6 => p_attribute6
285 ,p_attribute7 => p_attribute7
286 ,p_attribute8 => p_attribute8
287 ,p_attribute9 => p_attribute9
288 ,p_attribute10 => p_attribute10
289 ,p_attribute11 => p_attribute11
290 ,p_attribute12 => p_attribute12
291 ,p_attribute13 => p_attribute13
295 ,p_attribute17 => p_attribute17
292 ,p_attribute14 => p_attribute14
293 ,p_attribute15 => p_attribute15
294 ,p_attribute16 => p_attribute16
296 ,p_attribute18 => p_attribute18
297 ,p_attribute19 => p_attribute19
298 ,p_attribute20 => p_attribute20
299 ,p_position_control_structure_f => p_position_control_structure_f
300 ,p_object_version_number => l_object_version_number
301 ,p_organization_structure_id => l_organization_structure_id);
302 exception
303 when hr_api.cannot_find_prog_unit then
304 hr_api.cannot_find_prog_unit_error
305 (p_module_name => 'create_organization_structure'
306 ,p_hook_type => 'AP'
307 );
308 end;
309
310
311 EXCEPTION
312 --
313 WHEN hr_api.validate_enabled THEN
314 --
315 -- As the Validate_Enabled exception has been raised
316 -- we must rollback to the savepoint
317 --
318 ROLLBACK TO create_organization_structure;
319 --
320 -- Only set output warning arguments
321 -- (Any key or derived arguments must be set to null
322 -- when validation only mode is being used.)
323 --
324 p_organization_structure_id := NULL;
325 p_object_version_number := NULL;
326 hr_utility.set_location(' Leaving:'||l_proc, 80);
327 WHEN OTHERS THEN
328 --
329 -- A validation or unexpected error has occurred
330 ROLLBACK TO create_organization_structure;
331 --
332 -- set in out parameters and set out parameters
333 --
334 p_organization_structure_id := NULL;
335 p_object_version_number := NULL;
336 hr_utility.set_location(' Leaving:'||l_proc, 90);
337 RAISE;
338 --
339 END create_organization_structure;
340
341
342
343
344 -- ----------------------------------------------------------------------------
345 -- |-------------------< update_organization_structure >----------------------|
346 -- ----------------------------------------------------------------------------
347 --
348 --
349 PROCEDURE update_organization_structure
350 (p_validate in boolean default false
351 ,p_effective_date in date
352 ,p_organization_structure_id in number
353 ,p_name in varchar2 default hr_api.g_varchar2
354 ,p_comments in varchar2 default hr_api.g_varchar2
355 ,p_primary_structure_flag in varchar2 default hr_api.g_varchar2
356 ,p_request_id in number default hr_api.g_number
357 ,p_program_application_id in number default hr_api.g_number
358 ,p_program_id in number default hr_api.g_number
359 ,p_program_update_date in date default hr_api.g_date
360 ,p_attribute_category in varchar2 default hr_api.g_varchar2
361 ,p_attribute1 in varchar2 default hr_api.g_varchar2
362 ,p_attribute2 in varchar2 default hr_api.g_varchar2
363 ,p_attribute3 in varchar2 default hr_api.g_varchar2
364 ,p_attribute4 in varchar2 default hr_api.g_varchar2
365 ,p_attribute5 in varchar2 default hr_api.g_varchar2
366 ,p_attribute6 in varchar2 default hr_api.g_varchar2
367 ,p_attribute7 in varchar2 default hr_api.g_varchar2
368 ,p_attribute8 in varchar2 default hr_api.g_varchar2
369 ,p_attribute9 in varchar2 default hr_api.g_varchar2
370 ,p_attribute10 in varchar2 default hr_api.g_varchar2
371 ,p_attribute11 in varchar2 default hr_api.g_varchar2
372 ,p_attribute12 in varchar2 default hr_api.g_varchar2
373 ,p_attribute13 in varchar2 default hr_api.g_varchar2
374 ,p_attribute14 in varchar2 default hr_api.g_varchar2
375 ,p_attribute15 in varchar2 default hr_api.g_varchar2
376 ,p_attribute16 in varchar2 default hr_api.g_varchar2
377 ,p_attribute17 in varchar2 default hr_api.g_varchar2
378 ,p_attribute18 in varchar2 default hr_api.g_varchar2
379 ,p_attribute19 in varchar2 default hr_api.g_varchar2
380 ,p_attribute20 in varchar2 default hr_api.g_varchar2
381 ,p_position_control_structure_f in varchar2 default hr_api.g_varchar2
382 ,p_object_version_number in out nocopy number
383 ) IS
384 --
385 -- Declare cursors and local variables
386 --
387 l_proc VARCHAR2(72) := g_package||'update_organization_structures';
388 l_object_version_number per_organization_structures.object_version_number%TYPE;
389 l_ovn per_organization_structures.object_version_number%TYPE := p_object_version_number;
390 BEGIN
391
392 --
393 -- Issue a savepoint.
394 --
395 savepoint update_organization_structure;
396 --
397 begin
398 per_org_structure_bk2.update_org_structure_b
399 (p_validate => p_validate
400 ,p_effective_date => p_effective_date
401 ,p_organization_structure_id => p_organization_structure_id
402 ,p_object_version_number => p_object_version_number
403 ,p_name => p_name
407 ,p_program_application_id => p_program_application_id
404 ,p_comments => p_comments
405 ,p_primary_structure_flag => p_primary_structure_flag
406 ,p_request_id => p_request_id
408 ,p_program_id => p_program_id
409 ,p_program_update_date => p_program_update_date
410 ,p_attribute_category => p_attribute_category
411 ,p_attribute1 => p_attribute1
412 ,p_attribute2 => p_attribute2
413 ,p_attribute3 => p_attribute3
414 ,p_attribute4 => p_attribute4
415 ,p_attribute5 => p_attribute5
416 ,p_attribute6 => p_attribute6
417 ,p_attribute7 => p_attribute7
418 ,p_attribute8 => p_attribute8
419 ,p_attribute9 => p_attribute9
420 ,p_attribute10 => p_attribute10
421 ,p_attribute11 => p_attribute11
422 ,p_attribute12 => p_attribute12
423 ,p_attribute13 => p_attribute13
424 ,p_attribute14 => p_attribute14
425 ,p_attribute15 => p_attribute15
426 ,p_attribute16 => p_attribute16
427 ,p_attribute17 => p_attribute17
428 ,p_attribute18 => p_attribute18
429 ,p_attribute19 => p_attribute19
430 ,p_attribute20 => p_attribute20
431 ,p_position_control_structure_f => p_position_control_structure_f
432 );
433
434 exception
435 when hr_api.cannot_find_prog_unit then
436 hr_api.cannot_find_prog_unit_error
437 (p_module_name => 'UPDATE_ORGANIZATION_STRUCTURE'
438 ,p_hook_type => 'BP'
439 );
440 end;
441 --
442 hr_utility.set_location('Entering:'|| l_proc, 10);
443 --
444 --
445 hr_utility.set_location(l_proc, 20);
446 --
447 --
448 -- Process Logic
449 --
450 l_object_version_number := p_object_version_number;
451 --
452 --
453 --
454 per_ors_upd.upd
455 ( p_effective_date => p_effective_date
456 ,p_organization_structure_id => p_organization_structure_id
457 ,p_object_version_number => l_object_version_number
458 ,p_name => p_name
459 ,p_business_group_id => hr_api.g_number
460 ,p_comments => p_comments
461 ,p_primary_structure_flag => p_primary_structure_flag
462 ,p_request_id => p_request_id
463 ,p_program_application_id => p_program_application_id
464 ,p_program_id => p_program_id
465 ,p_program_update_date => p_program_update_date
466 ,p_attribute_category => p_attribute_category
467 ,p_attribute1 => p_attribute1
468 ,p_attribute2 => p_attribute2
469 ,p_attribute3 => p_attribute3
470 ,p_attribute4 => p_attribute4
471 ,p_attribute5 => p_attribute5
472 ,p_attribute6 => p_attribute6
473 ,p_attribute7 => p_attribute7
474 ,p_attribute8 => p_attribute8
475 ,p_attribute9 => p_attribute9
476 ,p_attribute10 => p_attribute10
477 ,p_attribute11 => p_attribute11
478 ,p_attribute12 => p_attribute12
479 ,p_attribute13 => p_attribute13
480 ,p_attribute14 => p_attribute14
481 ,p_attribute15 => p_attribute15
482 ,p_attribute16 => p_attribute16
483 ,p_attribute17 => p_attribute17
484 ,p_attribute18 => p_attribute18
485 ,p_attribute19 => p_attribute19
486 ,p_attribute20 => p_attribute20
487 ,p_position_control_structure_f => p_position_control_structure_f
488 );
489 --
490 --
491 --
492 --
493 hr_utility.set_location(l_proc, 60);
494 --
495 -- When in validation only mode raise the Validate_Enabled exception
496 --
497 IF p_validate THEN
498 RAISE hr_api.validate_enabled;
499 END IF;
500 --
501 -- Set all output arguments. If p_validate was TRUE, this bit is
502 -- never reached, so p_object_version_number is passed back unchanged.
503 --
504 p_object_version_number := l_object_version_number;
505 --
506 hr_utility.set_location(' Leaving:'||l_proc, 70);
507 --
508
509 begin
510 per_org_structure_bk2.update_org_structure_a
511 (p_validate => p_validate
512 ,p_effective_date => p_effective_date
513 ,p_organization_structure_id => p_organization_structure_id
514 ,p_object_version_number => p_object_version_number
515 ,p_name => p_name
516 ,p_comments => p_comments
517 ,p_primary_structure_flag => p_primary_structure_flag
518 ,p_request_id => p_request_id
519 ,p_program_application_id => p_program_application_id
520 ,p_program_id => p_program_id
521 ,p_program_update_date => p_program_update_date
525 ,p_attribute3 => p_attribute3
522 ,p_attribute_category => p_attribute_category
523 ,p_attribute1 => p_attribute1
524 ,p_attribute2 => p_attribute2
526 ,p_attribute4 => p_attribute4
527 ,p_attribute5 => p_attribute5
528 ,p_attribute6 => p_attribute6
529 ,p_attribute7 => p_attribute7
530 ,p_attribute8 => p_attribute8
531 ,p_attribute9 => p_attribute9
532 ,p_attribute10 => p_attribute10
533 ,p_attribute11 => p_attribute11
534 ,p_attribute12 => p_attribute12
535 ,p_attribute13 => p_attribute13
536 ,p_attribute14 => p_attribute14
537 ,p_attribute15 => p_attribute15
538 ,p_attribute16 => p_attribute16
539 ,p_attribute17 => p_attribute17
540 ,p_attribute18 => p_attribute18
541 ,p_attribute19 => p_attribute19
542 ,p_attribute20 => p_attribute20
543 ,p_position_control_structure_f => p_position_control_structure_f
544 );
545
546 exception
547 when hr_api.cannot_find_prog_unit then
548 hr_api.cannot_find_prog_unit_error
549 (p_module_name => 'update_organization_structure'
550 ,p_hook_type => 'AP'
551 );
552 end;
553
554 EXCEPTION
555 --
556 WHEN hr_api.validate_enabled THEN
557 --
558 -- As the Validate_Enabled exception has been raised
559 -- we must rollback to the savepoint
560 --
561 ROLLBACK TO update_organization_structure;
562 --
563 -- Only set output warning arguments
564 -- (Any key or derived arguments must be set to null
565 -- when validation only mode is being used.)
566 hr_utility.set_location(' Leaving:'||l_proc, 80);
567 WHEN OTHERS THEN
568 --
569 -- A validation or unexpected error has occurred
570 ROLLBACK TO update_organization_structure;
571 --
572 -- set in out parameters and set out parameters
573 --
574 p_object_version_number := l_ovn;
575 hr_utility.set_location(' Leaving:'||l_proc, 90);
576 RAISE;
577 --
578 --
579 END update_organization_structure;
580
581 -- ----------------------------------------------------------------------------
582 -- |-------------------< delete_organization_structure >----------------------|
583 -- ----------------------------------------------------------------------------
584 --
585 PROCEDURE delete_organization_structure
586 ( p_validate IN BOOLEAN default FALSE
587 ,p_organization_structure_id IN number
588 ,p_object_version_number IN number )
589
590 IS
591 --
592 --
593 -- Declare cursors and local variables
594 --
595 l_proc VARCHAR2(72) := g_package||'delete_organization_structure';
596 --
597 BEGIN
598
599 --
600 -- Issue a savepoint
601 --
602 savepoint delete_organization;
603 --
604 begin
605 per_org_structure_bk3.delete_org_structure_b
606 (p_validate => p_validate
607 ,p_organization_structure_id => p_organization_structure_id
608 ,p_object_version_number => p_object_version_number
609 );
610
611 exception
612 when hr_api.cannot_find_prog_unit then
613 hr_api.cannot_find_prog_unit_error
614 (p_module_name => 'delete_organization_structure'
615 ,p_hook_type => 'BP'
616 );
617 end;
618
619 --
620 -- Process Logic
621 -- =============
622 --
623 -- Need to lock main table to maintain the locking ladder order
624 --
625 hr_utility.set_location( l_proc, 30);
626 per_ors_shd.lck ( p_organization_structure_id => p_organization_structure_id,
627 p_object_version_number => p_object_version_number );
628 hr_utility.set_location( l_proc, 40);
629 per_ors_del.del ( p_organization_structure_id => p_organization_structure_id,
630 p_object_version_number => p_object_version_number );
631 --
632 --
633 hr_utility.set_location(' Leaving:'||l_proc, 60);
634 --
635 -- When in validation only mode raise the Validate_Enabled exception
636 --
637 IF p_validate THEN
638 RAISE hr_api.validate_enabled;
639 END IF;
640 --
641 --
642 begin
643 per_org_structure_bk3.delete_org_structure_a
644 (p_validate => p_validate
645 ,p_organization_structure_id => p_organization_structure_id
646 ,p_object_version_number => p_object_version_number
647 );
648
649 exception
650 when hr_api.cannot_find_prog_unit then
651 hr_api.cannot_find_prog_unit_error
652 (p_module_name => 'delete_organization_structure'
653 ,p_hook_type => 'AP'
654 );
655 end;
656
657
658 EXCEPTION
659 --
660 WHEN hr_api.validate_enabled THEN
661 --
662 -- As the Validate_Enabled exception has been raised
663 -- we must rollback to the savepoint
664 --
665 ROLLBACK TO delete_organization_structure;
666 --
670 --
667 -- Only set output warning arguments
668 -- (Any key or derived arguments must be set to null
669 -- when validation only mode is being used.)
671 hr_utility.set_location(' Leaving:'||l_proc, 80);
672 WHEN OTHERS THEN
673 --
674 -- A validation or unexpected error has occurred
675 ROLLBACK TO delete_organization_structure;
676 hr_utility.set_location(' Leaving:'||l_proc, 90);
677 RAISE;
678 --
679 END delete_organization_structure;
680 --
681 --
682 END per_organization_structure_api;