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