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