DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ORGANIZATION_STRUCTURE_SWI

Source


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