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