[Home] [Help]
PACKAGE BODY: APPS.HR_COMP_ELEMENT_OUTCOME_SWI
Source
1 Package Body HR_COMP_ELEMENT_OUTCOME_SWI As
2 /* $Header: hrceoswi.pkb 120.0 2005/09/30 00:34 hpandya noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'hr_comp_element_outcome_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_element_outcome >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_element_outcome
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_competence_element_id in number
15 ,p_outcome_id in number
16 ,p_date_from in date
17 ,p_date_to in date default null
18 ,p_attribute_category in varchar2 default null
19 ,p_attribute1 in varchar2 default null
20 ,p_attribute2 in varchar2 default null
21 ,p_attribute3 in varchar2 default null
22 ,p_attribute4 in varchar2 default null
23 ,p_attribute5 in varchar2 default null
24 ,p_attribute6 in varchar2 default null
25 ,p_attribute7 in varchar2 default null
26 ,p_attribute8 in varchar2 default null
27 ,p_attribute9 in varchar2 default null
28 ,p_attribute10 in varchar2 default null
29 ,p_attribute11 in varchar2 default null
30 ,p_attribute12 in varchar2 default null
31 ,p_attribute13 in varchar2 default null
32 ,p_attribute14 in varchar2 default null
33 ,p_attribute15 in varchar2 default null
34 ,p_attribute16 in varchar2 default null
35 ,p_attribute17 in varchar2 default null
36 ,p_attribute18 in varchar2 default null
37 ,p_attribute19 in varchar2 default null
38 ,p_attribute20 in varchar2 default null
39 ,p_information_category in varchar2 default null
40 ,p_information1 in varchar2 default null
41 ,p_information2 in varchar2 default null
42 ,p_information3 in varchar2 default null
43 ,p_information4 in varchar2 default null
44 ,p_information5 in varchar2 default null
45 ,p_information6 in varchar2 default null
46 ,p_information7 in varchar2 default null
47 ,p_information8 in varchar2 default null
48 ,p_information9 in varchar2 default null
49 ,p_information10 in varchar2 default null
50 ,p_information11 in varchar2 default null
51 ,p_information12 in varchar2 default null
52 ,p_information13 in varchar2 default null
53 ,p_information14 in varchar2 default null
54 ,p_information15 in varchar2 default null
55 ,p_information16 in varchar2 default null
56 ,p_information17 in varchar2 default null
57 ,p_information18 in varchar2 default null
58 ,p_information19 in varchar2 default null
59 ,p_information20 in varchar2 default null
60 ,p_comp_element_outcome_id in number
61 ,p_object_version_number out nocopy number
62 ,p_return_status out nocopy varchar2
63 ) is
64 --
65 -- Variables for API Boolean parameters
66 l_validate boolean;
67 l_competence_element_id number;
68 --
69 -- Variables for IN/OUT parameters
70 --
71 -- Other variables
72 l_comp_element_outcome_id number;
73 l_proc varchar2(72) := g_package ||'create_element_outcome';
74 Begin
75 hr_utility.set_location(' Entering:' || l_proc,10);
76 --
77 -- Issue a savepoint
78 --
79 savepoint create_element_outcome_swi;
80 --
81 -- Initialise Multiple Message Detection
82 --
83 hr_multi_message.enable_message_list;
84 --
85 -- Remember IN OUT parameter IN values
86 -- Heena: In Enter New Level of competency, Outcome can be in Create as well as Update mode.
87 if (( HR_COMPETENCE_ELEMENT_SWI.g_competence_element_id is not null) and
88 (HR_COMPETENCE_ELEMENT_SWI.g_session_id= ICX_SEC.G_SESSION_ID)) then
89 l_competence_element_id := HR_COMPETENCE_ELEMENT_SWI.g_competence_element_id;
90 else
91 l_competence_element_id := p_competence_element_id;
92 end if;
93 --
94 --
95 -- Convert constant values to their corresponding boolean value
96 --
97 l_validate :=
98 hr_api.constant_to_boolean
99 (p_constant_value => p_validate);
100 --
101 -- Register Surrogate ID or user key values
102 --
103 if p_comp_element_outcome_id is not null then
104 per_ceo_ins.set_base_key_value
105 (p_comp_element_outcome_id => p_comp_element_outcome_id
106 );
107 end if;
108 --
109 -- Call API
110 --
111 hr_comp_element_outcome_api.create_element_outcome
112 (p_validate => l_validate
113 ,p_effective_date => p_effective_date
114 ,p_competence_element_id => l_competence_element_id
115 ,p_outcome_id => p_outcome_id
116 ,p_date_from => p_date_from
117 ,p_date_to => p_date_to
118 ,p_attribute_category => p_attribute_category
119 ,p_attribute1 => p_attribute1
120 ,p_attribute2 => p_attribute2
121 ,p_attribute3 => p_attribute3
122 ,p_attribute4 => p_attribute4
123 ,p_attribute5 => p_attribute5
124 ,p_attribute6 => p_attribute6
125 ,p_attribute7 => p_attribute7
126 ,p_attribute8 => p_attribute8
127 ,p_attribute9 => p_attribute9
128 ,p_attribute10 => p_attribute10
129 ,p_attribute11 => p_attribute11
130 ,p_attribute12 => p_attribute12
131 ,p_attribute13 => p_attribute13
132 ,p_attribute14 => p_attribute14
133 ,p_attribute15 => p_attribute15
134 ,p_attribute16 => p_attribute16
135 ,p_attribute17 => p_attribute17
136 ,p_attribute18 => p_attribute18
137 ,p_attribute19 => p_attribute19
138 ,p_attribute20 => p_attribute20
139 ,p_information_category => p_information_category
140 ,p_information1 => p_information1
141 ,p_information2 => p_information2
142 ,p_information3 => p_information3
143 ,p_information4 => p_information4
144 ,p_information5 => p_information5
145 ,p_information6 => p_information6
146 ,p_information7 => p_information7
147 ,p_information8 => p_information8
148 ,p_information9 => p_information9
149 ,p_information10 => p_information10
150 ,p_information11 => p_information11
151 ,p_information12 => p_information12
152 ,p_information13 => p_information13
153 ,p_information14 => p_information14
154 ,p_information15 => p_information15
155 ,p_information16 => p_information16
156 ,p_information17 => p_information17
157 ,p_information18 => p_information18
158 ,p_information19 => p_information19
159 ,p_information20 => p_information20
160 ,p_comp_element_outcome_id => l_comp_element_outcome_id
161 ,p_object_version_number => p_object_version_number
162 );
163 --
164 -- Convert API warning boolean parameter values to specific
165 -- messages and add them to Multiple Message List
166 --
167 --
168 -- Convert API non-warning boolean parameter values
169 --
170 --
171 -- Derive the API return status value based on whether
172 -- messages of any type exist in the Multiple Message List.
173 -- Also disable Multiple Message Detection.
174 --
175 p_return_status := hr_multi_message.get_return_status_disable;
176 hr_utility.set_location(' Leaving:' || l_proc,20);
177 --
178 exception
179 when hr_multi_message.error_message_exist then
180 --
181 -- Catch the Multiple Message List exception which
182 -- indicates API processing has been aborted because
183 -- at least one message exists in the list.
184 --
185 rollback to create_element_outcome_swi;
186 --
187 -- Reset IN OUT parameters and set OUT parameters
188 --
189 p_object_version_number := null;
190 p_return_status := hr_multi_message.get_return_status_disable;
191 hr_utility.set_location(' Leaving:' || l_proc, 30);
192 when others then
193 --
194 -- When Multiple Message Detection is enabled catch
195 -- any Application specific or other unexpected
196 -- exceptions. Adding appropriate details to the
197 -- Multiple Message List. Otherwise re-raise the
198 -- error.
199 --
200 rollback to create_element_outcome_swi;
201 if hr_multi_message.unexpected_error_add(l_proc) then
202 hr_utility.set_location(' Leaving:' || l_proc,40);
203 raise;
204 end if;
205 --
206 -- Reset IN OUT and set OUT parameters
207 --
208 p_object_version_number := null;
209 p_return_status := hr_multi_message.get_return_status_disable;
210 hr_utility.set_location(' Leaving:' || l_proc,50);
211 end create_element_outcome;
212 -- ----------------------------------------------------------------------------
213 -- |------------------------< update_element_outcome >------------------------|
214 -- ----------------------------------------------------------------------------
215 PROCEDURE update_element_outcome
216 (p_validate in number default hr_api.g_false_num
217 ,p_effective_date in date
218 ,p_comp_element_outcome_id in number
219 ,p_object_version_number in out nocopy number
220 ,p_competence_element_id in number default hr_api.g_number
221 ,p_outcome_id in number default hr_api.g_number
222 ,p_date_from in date default hr_api.g_date
223 ,p_date_to in date default hr_api.g_date
224 ,p_attribute_category in varchar2 default hr_api.g_varchar2
225 ,p_attribute1 in varchar2 default hr_api.g_varchar2
226 ,p_attribute2 in varchar2 default hr_api.g_varchar2
227 ,p_attribute3 in varchar2 default hr_api.g_varchar2
228 ,p_attribute4 in varchar2 default hr_api.g_varchar2
229 ,p_attribute5 in varchar2 default hr_api.g_varchar2
230 ,p_attribute6 in varchar2 default hr_api.g_varchar2
231 ,p_attribute7 in varchar2 default hr_api.g_varchar2
232 ,p_attribute8 in varchar2 default hr_api.g_varchar2
233 ,p_attribute9 in varchar2 default hr_api.g_varchar2
234 ,p_attribute10 in varchar2 default hr_api.g_varchar2
235 ,p_attribute11 in varchar2 default hr_api.g_varchar2
236 ,p_attribute12 in varchar2 default hr_api.g_varchar2
237 ,p_attribute13 in varchar2 default hr_api.g_varchar2
238 ,p_attribute14 in varchar2 default hr_api.g_varchar2
239 ,p_attribute15 in varchar2 default hr_api.g_varchar2
240 ,p_attribute16 in varchar2 default hr_api.g_varchar2
241 ,p_attribute17 in varchar2 default hr_api.g_varchar2
242 ,p_attribute18 in varchar2 default hr_api.g_varchar2
243 ,p_attribute19 in varchar2 default hr_api.g_varchar2
244 ,p_attribute20 in varchar2 default hr_api.g_varchar2
245 ,p_information_category in varchar2 default hr_api.g_varchar2
246 ,p_information1 in varchar2 default hr_api.g_varchar2
247 ,p_information2 in varchar2 default hr_api.g_varchar2
248 ,p_information3 in varchar2 default hr_api.g_varchar2
249 ,p_information4 in varchar2 default hr_api.g_varchar2
250 ,p_information5 in varchar2 default hr_api.g_varchar2
251 ,p_information6 in varchar2 default hr_api.g_varchar2
252 ,p_information7 in varchar2 default hr_api.g_varchar2
253 ,p_information8 in varchar2 default hr_api.g_varchar2
254 ,p_information9 in varchar2 default hr_api.g_varchar2
255 ,p_information10 in varchar2 default hr_api.g_varchar2
256 ,p_information11 in varchar2 default hr_api.g_varchar2
257 ,p_information12 in varchar2 default hr_api.g_varchar2
258 ,p_information13 in varchar2 default hr_api.g_varchar2
259 ,p_information14 in varchar2 default hr_api.g_varchar2
260 ,p_information15 in varchar2 default hr_api.g_varchar2
261 ,p_information16 in varchar2 default hr_api.g_varchar2
262 ,p_information17 in varchar2 default hr_api.g_varchar2
263 ,p_information18 in varchar2 default hr_api.g_varchar2
264 ,p_information19 in varchar2 default hr_api.g_varchar2
265 ,p_information20 in varchar2 default hr_api.g_varchar2
266 ,p_return_status out nocopy varchar2
267 -- ,p_datetrack_update_mode in varchar2 default hr_api.g_correction
268 ) is
269 --
270 -- Variables for API Boolean parameters
271 l_validate boolean;
272 --
273 -- Variables for IN/OUT parameters
274 l_object_version_number number;
275 --
276 -- Other variables
277 l_competence_element_id number;
278 l_comp_element_outcome_id number;
279 l_effective_date_to date;
280 l_datetrack_update_mode varchar2(10);
281 l_proc varchar2(72) := g_package ||'update_element_outcome';
282 Begin
283 hr_utility.set_location(' Entering:' || l_proc,10);
284 --
285 -- Issue a savepoint
286 --
287 savepoint update_element_outcome_swi;
288 --
289 -- Initialise Multiple Message Detection
290 --
291 hr_multi_message.enable_message_list;
292 --
293 -- Remember IN OUT parameter IN values
294 --
295 l_object_version_number := p_object_version_number;
296 --
297 -- Convert constant values to their corresponding boolean value
298 --
299 l_validate :=
300 hr_api.constant_to_boolean
301 (p_constant_value => p_validate);
302 --
303 -- Register Surrogate ID or user key values
304 --
305 --
306 -- Call API
307 --
308 -- Heena : Evaluating the possibility of not using p_datetrack_update_mode.
309 -- Heena: In Enter New Level of competency, Outcome can be in Create as well as Update mode.
310 if (( HR_COMPETENCE_ELEMENT_SWI.g_competence_element_id is not null) and
311 (HR_COMPETENCE_ELEMENT_SWI.g_session_id= ICX_SEC.G_SESSION_ID)) then
312 l_competence_element_id := HR_COMPETENCE_ELEMENT_SWI.g_competence_element_id;
313 l_datetrack_update_mode := 'UPDATE';
314 else
315 l_competence_element_id := p_competence_element_id;
316 l_datetrack_update_mode := 'CORRECT';
317 end if;
318
319 if ( l_datetrack_update_mode = 'CORRECT') then
320
321 hr_comp_element_outcome_api.update_element_outcome
322 (p_validate => l_validate
323 ,p_effective_date => p_effective_date
324 ,p_comp_element_outcome_id => p_comp_element_outcome_id
325 ,p_object_version_number => p_object_version_number
326 ,p_competence_element_id => p_competence_element_id
327 ,p_outcome_id => p_outcome_id
328 ,p_date_from => p_date_from
329 ,p_date_to => p_date_to
330 ,p_attribute_category => p_attribute_category
331 ,p_attribute1 => p_attribute1
332 ,p_attribute2 => p_attribute2
333 ,p_attribute3 => p_attribute3
334 ,p_attribute4 => p_attribute4
335 ,p_attribute5 => p_attribute5
336 ,p_attribute6 => p_attribute6
337 ,p_attribute7 => p_attribute7
338 ,p_attribute8 => p_attribute8
339 ,p_attribute9 => p_attribute9
340 ,p_attribute10 => p_attribute10
341 ,p_attribute11 => p_attribute11
342 ,p_attribute12 => p_attribute12
343 ,p_attribute13 => p_attribute13
344 ,p_attribute14 => p_attribute14
345 ,p_attribute15 => p_attribute15
346 ,p_attribute16 => p_attribute16
347 ,p_attribute17 => p_attribute17
348 ,p_attribute18 => p_attribute18
349 ,p_attribute19 => p_attribute19
350 ,p_attribute20 => p_attribute20
351 ,p_information_category => p_information_category
352 ,p_information1 => p_information1
353 ,p_information2 => p_information2
354 ,p_information3 => p_information3
355 ,p_information4 => p_information4
356 ,p_information5 => p_information5
357 ,p_information6 => p_information6
358 ,p_information7 => p_information7
359 ,p_information8 => p_information8
360 ,p_information9 => p_information9
361 ,p_information10 => p_information10
362 ,p_information11 => p_information11
363 ,p_information12 => p_information12
364 ,p_information13 => p_information13
365 ,p_information14 => p_information14
366 ,p_information15 => p_information15
367 ,p_information16 => p_information16
368 ,p_information17 => p_information17
369 ,p_information18 => p_information18
370 ,p_information19 => p_information19
371 ,p_information20 => p_information20
372 );
373
374 /* hr_comp_element_outcome_api.update_element_outcome
375 (p_validate => l_validate
376 ,p_effective_date => p_effective_date
377 ,p_comp_element_outcome_id => p_comp_element_outcome_id
378 ,p_object_version_number => p_object_version_number
379 ,p_competence_element_id => p_competence_element_id
380 ,p_outcome_id => p_outcome_id
381 ,p_date_from => p_date_from
382 ,p_date_to => p_date_to
383 ,p_attribute_category => p_attribute_category
384 ,p_attribute1 => p_attribute1
385 ,p_attribute2 => p_attribute2
386 ,p_attribute3 => p_attribute3
387 ,p_attribute4 => p_attribute4
388 ,p_attribute5 => p_attribute5
389 ,p_attribute6 => p_attribute6
390 ,p_attribute7 => p_attribute7
391 ,p_attribute8 => p_attribute8
392 ,p_attribute9 => p_attribute9
393 ,p_attribute10 => p_attribute10
394 ,p_attribute11 => p_attribute11
395 ,p_attribute12 => p_attribute12
396 ,p_attribute13 => p_attribute13
397 ,p_attribute14 => p_attribute14
398 ,p_attribute15 => p_attribute15
399 ,p_attribute16 => p_attribute16
400 ,p_attribute17 => p_attribute17
401 ,p_attribute18 => p_attribute18
402 ,p_attribute19 => p_attribute19
403 ,p_attribute20 => p_attribute20
404 ,p_information_category => p_information_category
405 ,p_information1 => p_information1
406 ,p_information2 => p_information2
407 ,p_information3 => p_information3
408 ,p_information4 => p_information4
409 ,p_information5 => p_information5
410 ,p_information6 => p_information6
411 ,p_information7 => p_information7
412 ,p_information8 => p_information8
413 ,p_information9 => p_information9
414 ,p_information10 => p_information10
415 ,p_information11 => p_information11
416 ,p_information12 => p_information12
417 ,p_information13 => p_information13
418 ,p_information14 => p_information14
419 ,p_information15 => p_information15
420 ,p_information16 => p_information16
421 ,p_information17 => p_information17
422 ,p_information18 => p_information18
423 ,p_information19 => p_information19
424 ,p_information20 => p_information20
425 );*/
426 else -- if (p_datetrack_update_mode =hr_api.g_update) then
427 -- Heena: We do not end date the outcode.
428 -- We want to maintain history by end-dating the previous row and inserting a new Row.
429 -- This is date Track update
430 -- l_effective_date_to:=p_date_from - 1;
431 -- End-date the existing row
432 /*hr_comp_element_outcome_api.update_element_outcome(
433 p_comp_element_outcome_id => p_comp_element_outcome_id
434 ,p_object_version_number => p_object_version_number
435 ,p_date_to =>l_effective_date_to
436 ,p_effective_date => p_effective_date
437 );*/
438 -- Add new row
439 hr_comp_element_outcome_api.create_element_outcome
440 (p_validate => l_validate
441 ,p_effective_date => p_effective_date
442 ,p_competence_element_id => l_competence_element_id
443 ,p_outcome_id => p_outcome_id
444 ,p_date_from => p_date_from
445 ,p_date_to => p_date_to
446 ,p_attribute_category => p_attribute_category
447 ,p_attribute1 => p_attribute1
448 ,p_attribute2 => p_attribute2
449 ,p_attribute3 => p_attribute3
450 ,p_attribute4 => p_attribute4
451 ,p_attribute5 => p_attribute5
452 ,p_attribute6 => p_attribute6
453 ,p_attribute7 => p_attribute7
454 ,p_attribute8 => p_attribute8
455 ,p_attribute9 => p_attribute9
456 ,p_attribute10 => p_attribute10
457 ,p_attribute11 => p_attribute11
458 ,p_attribute12 => p_attribute12
459 ,p_attribute13 => p_attribute13
460 ,p_attribute14 => p_attribute14
461 ,p_attribute15 => p_attribute15
462 ,p_attribute16 => p_attribute16
463 ,p_attribute17 => p_attribute17
464 ,p_attribute18 => p_attribute18
465 ,p_attribute19 => p_attribute19
466 ,p_attribute20 => p_attribute20
467 ,p_information_category => p_information_category
468 ,p_information1 => p_information1
469 ,p_information2 => p_information2
470 ,p_information3 => p_information3
471 ,p_information4 => p_information4
472 ,p_information5 => p_information5
473 ,p_information6 => p_information6
474 ,p_information7 => p_information7
475 ,p_information8 => p_information8
476 ,p_information9 => p_information9
477 ,p_information10 => p_information10
478 ,p_information11 => p_information11
479 ,p_information12 => p_information12
480 ,p_information13 => p_information13
481 ,p_information14 => p_information14
482 ,p_information15 => p_information15
483 ,p_information16 => p_information16
484 ,p_information17 => p_information17
485 ,p_information18 => p_information18
486 ,p_information19 => p_information19
487 ,p_information20 => p_information20
488 ,p_comp_element_outcome_id => l_comp_element_outcome_id
489 ,p_object_version_number => p_object_version_number
490 );
491 end if;
492
493 --
494 -- Convert API warning boolean parameter values to specific
495 -- messages and add them to Multiple Message List
496 --
497 --
498 -- Convert API non-warning boolean parameter values
499 --
500 --
501 -- Derive the API return status value based on whether
502 -- messages of any type exist in the Multiple Message List.
503 -- Also disable Multiple Message Detection.
504 --
505 p_return_status := hr_multi_message.get_return_status_disable;
506 hr_utility.set_location(' Leaving:' || l_proc,20);
507 --
508 exception
509 when hr_multi_message.error_message_exist then
510 --
511 -- Catch the Multiple Message List exception which
512 -- indicates API processing has been aborted because
513 -- at least one message exists in the list.
514 --
515 rollback to update_element_outcome_swi;
516 --
517 -- Reset IN OUT parameters and set OUT parameters
518 --
519 p_object_version_number := l_object_version_number;
520 p_return_status := hr_multi_message.get_return_status_disable;
521 hr_utility.set_location(' Leaving:' || l_proc, 30);
522 when others then
523 --
524 -- When Multiple Message Detection is enabled catch
525 -- any Application specific or other unexpected
526 -- exceptions. Adding appropriate details to the
527 -- Multiple Message List. Otherwise re-raise the
528 -- error.
529 --
530 rollback to update_element_outcome_swi;
531 if hr_multi_message.unexpected_error_add(l_proc) then
532 hr_utility.set_location(' Leaving:' || l_proc,40);
533 raise;
534 end if;
535 --
536 -- Reset IN OUT and set OUT parameters
537 --
538 p_object_version_number := l_object_version_number;
539 p_return_status := hr_multi_message.get_return_status_disable;
540 hr_utility.set_location(' Leaving:' || l_proc,50);
541 end update_element_outcome;
542 -- ----------------------------------------------------------------------------
543 -- |------------------------< delete_element_outcome >------------------------|
544 -- ----------------------------------------------------------------------------
545 PROCEDURE delete_element_outcome
546 (p_validate in number
547 ,p_comp_element_outcome_id in number
548 ,p_object_version_number in out nocopy number
549 ,p_return_status out nocopy varchar2
550 ) is
551 --
552 -- Variables for API Boolean parameters
553 l_validate boolean;
554 --
555 -- Variables for IN/OUT parameters
556 l_object_version_number number;
557 --
558 -- Other variables
559 l_proc varchar2(72) := g_package ||'delete_element_outcome';
560 Begin
561 hr_utility.set_location(' Entering:' || l_proc,10);
562 --
563 -- Issue a savepoint
564 --
565 savepoint delete_element_outcome_swi;
566 --
567 -- Initialise Multiple Message Detection
568 --
569 hr_multi_message.enable_message_list;
570 --
571 -- Remember IN OUT parameter IN values
572 --
573 l_object_version_number := p_object_version_number;
574 --
575 -- Convert constant values to their corresponding boolean value
576 --
577 l_validate :=
578 hr_api.constant_to_boolean
579 (p_constant_value => p_validate);
580 --
581 -- Register Surrogate ID or user key values
582 --
583 --
584 -- Call API
585 --
586 hr_comp_element_outcome_api.delete_element_outcome
587 (p_validate => l_validate
588 ,p_comp_element_outcome_id => p_comp_element_outcome_id
589 ,p_object_version_number => p_object_version_number
590 );
591 --
592 -- Convert API warning boolean parameter values to specific
593 -- messages and add them to Multiple Message List
594 --
595 --
596 -- Convert API non-warning boolean parameter values
597 --
598 --
599 -- Derive the API return status value based on whether
600 -- messages of any type exist in the Multiple Message List.
601 -- Also disable Multiple Message Detection.
602 --
603 p_return_status := hr_multi_message.get_return_status_disable;
604 hr_utility.set_location(' Leaving:' || l_proc,20);
605 --
606 exception
607 when hr_multi_message.error_message_exist then
608 --
609 -- Catch the Multiple Message List exception which
610 -- indicates API processing has been aborted because
611 -- at least one message exists in the list.
612 --
613 rollback to delete_element_outcome_swi;
614 --
615 -- Reset IN OUT parameters and set OUT parameters
616 --
617 p_object_version_number := l_object_version_number;
618 p_return_status := hr_multi_message.get_return_status_disable;
619 hr_utility.set_location(' Leaving:' || l_proc, 30);
620 when others then
621 --
622 -- When Multiple Message Detection is enabled catch
623 -- any Application specific or other unexpected
624 -- exceptions. Adding appropriate details to the
625 -- Multiple Message List. Otherwise re-raise the
626 -- error.
627 --
628 rollback to delete_element_outcome_swi;
629 if hr_multi_message.unexpected_error_add(l_proc) then
630 hr_utility.set_location(' Leaving:' || l_proc,40);
631 raise;
632 end if;
633 --
634 -- Reset IN OUT and set OUT parameters
635 --
636 p_object_version_number := l_object_version_number;
637 p_return_status := hr_multi_message.get_return_status_disable;
638 hr_utility.set_location(' Leaving:' || l_proc,50);
639 end delete_element_outcome;
640
641 Procedure process_api
642 ( p_document in CLOB
643 ,p_return_status out nocopy VARCHAR2
644 ,p_validate in number default hr_api.g_false_num
645 ,p_effective_date in date default null
646 )
647 IS
648 l_postState VARCHAR2(2);
649 l_return_status VARCHAR2(1);
650 l_commitElement xmldom.DOMElement;
651 l_object_version_number number;
652 l_parser xmlparser.Parser;
653 l_CommitNode xmldom.DOMNode;
654 l_proc varchar2(72) := g_package || 'process_api';
655
656 BEGIN
657
658 hr_utility.set_location(' Entering:' || l_proc,10);
659 hr_utility.set_location(' CLOB --> xmldom.DOMNode:' || l_proc,15);
660
661 l_parser := xmlparser.newParser;
662 xmlparser.ParseCLOB(l_parser,p_document);
663 l_CommitNode := xmldom.makeNode(xmldom.getDocumentElement(xmlparser.getDocument(l_parser)));
664
665 hr_utility.set_location('Extracting the PostState:' || l_proc,20);
666
667 l_commitElement := xmldom.makeElement(l_CommitNode);
668 l_postState := xmldom.getAttribute(l_commitElement, 'PS');
669 l_object_version_number := hr_transaction_swi.getNumberValue(l_CommitNode,'ObjectVersionNumber');
670
671 if l_postState = '0' then
672
673 create_element_outcome
674 (p_validate => p_validate
675 ,p_effective_date => p_effective_date
676 ,p_competence_element_id => hr_transaction_swi.getNumberValue(l_CommitNode,'CompetenceElementId',null)
677 ,p_outcome_id => hr_transaction_swi.getNumberValue(l_CommitNode,'OutcomeId',null)
678 ,p_date_from => hr_transaction_swi.getDateValue(l_CommitNode,'DateFrom',null)
679 ,p_date_to => hr_transaction_swi.getDateValue(l_CommitNode,'DateTo',null)
680 ,p_attribute_category => hr_transaction_swi.getVarchar2Value(l_CommitNode,'AttributeCategory',null)
681 ,p_attribute1 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute1',null)
682 ,p_attribute2 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute2',null)
683 ,p_attribute3 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute3',null)
684 ,p_attribute4 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute4',null)
685 ,p_attribute5 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute5',null)
686 ,p_attribute6 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute6',null)
687 ,p_attribute7 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute7',null)
688 ,p_attribute8 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute8',null)
689 ,p_attribute9 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute9',null)
690 ,p_attribute10 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute10',null)
691 ,p_attribute11 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute11',null)
692 ,p_attribute12 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute12',null)
693 ,p_attribute13 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute13',null)
694 ,p_attribute14 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute14',null)
695 ,p_attribute15 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute15',null)
696 ,p_attribute16 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute16',null)
697 ,p_attribute17 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute17',null)
698 ,p_attribute18 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute18',null)
699 ,p_attribute19 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute19',null)
700 ,p_attribute20 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute20',null)
701 ,p_information_category => hr_transaction_swi.getVarchar2Value(l_CommitNode,'InformationCategory',null)
702 ,p_information1 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information1',null)
703 ,p_information2 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information2',null)
704 ,p_information3 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information3',null)
705 ,p_information4 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information4',null)
706 ,p_information5 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information5',null)
707 ,p_information6 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information6',null)
708 ,p_information7 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information7',null)
709 ,p_information8 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information8',null)
710 ,p_information9 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information9',null)
711 ,p_information10 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information10',null)
712 ,p_information11 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information11',null)
713 ,p_information12 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information12',null)
714 ,p_information13 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information13',null)
715 ,p_information14 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information14',null)
716 ,p_information15 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information15',null)
717 ,p_information16 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information16',null)
718 ,p_information17 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information17',null)
719 ,p_information18 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information18',null)
720 ,p_information19 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information19',null)
721 ,p_information20 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information20',null)
722 ,p_comp_element_outcome_id => hr_transaction_swi.getNumberValue(l_CommitNode,'CompElementOutcomeId',null)
723 ,p_object_version_number => l_object_version_number
724 ,p_return_status => l_return_status
725 );
726 elsif l_postState = '2' then
727 update_element_outcome
728 (p_validate => p_validate
729 ,p_effective_date => p_effective_date
730 ,p_comp_element_outcome_id => hr_transaction_swi.getNumberValue(l_CommitNode,'CompElementOutcomeId')
731 ,p_object_version_number => l_object_version_number
732 ,p_competence_element_id => hr_transaction_swi.getNumberValue(l_CommitNode,'CompetenceElementId')
733 ,p_outcome_id => hr_transaction_swi.getNumberValue(l_CommitNode,'OutcomeId')
734 ,p_date_from => hr_transaction_swi.getDateValue(l_CommitNode,'DateFrom')
735 ,p_date_to => hr_transaction_swi.getDateValue(l_CommitNode,'DateTo')
736 ,p_attribute_category => hr_transaction_swi.getVarchar2Value(l_CommitNode,'AttributeCategory')
737 ,p_attribute1 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute1')
738 ,p_attribute2 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute2')
739 ,p_attribute3 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute3')
740 ,p_attribute4 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute4')
741 ,p_attribute5 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute5')
742 ,p_attribute6 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute6')
743 ,p_attribute7 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute7')
744 ,p_attribute8 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute8')
745 ,p_attribute9 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute9')
746 ,p_attribute10 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute10')
747 ,p_attribute11 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute11')
748 ,p_attribute12 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute12')
749 ,p_attribute13 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute13')
750 ,p_attribute14 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute14')
751 ,p_attribute15 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute15')
752 ,p_attribute16 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute16')
753 ,p_attribute17 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute17')
754 ,p_attribute18 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute18')
755 ,p_attribute19 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute19')
756 ,p_attribute20 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Attribute20')
757 ,p_information_category => hr_transaction_swi.getVarchar2Value(l_CommitNode,'InformationCategory')
758 ,p_information1 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information1')
759 ,p_information2 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information2')
760 ,p_information3 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information3')
761 ,p_information4 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information4')
762 ,p_information5 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information5')
763 ,p_information6 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information6')
764 ,p_information7 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information7')
765 ,p_information8 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information8')
766 ,p_information9 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information9')
767 ,p_information10 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information10')
768 ,p_information11 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information11')
769 ,p_information12 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information12')
770 ,p_information13 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information13')
771 ,p_information14 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information14')
772 ,p_information15 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information15')
773 ,p_information16 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information16')
774 ,p_information17 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information17')
775 ,p_information18 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information18')
776 ,p_information19 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information19')
777 ,p_information20 => hr_transaction_swi.getVarchar2Value(l_CommitNode,'Information20')
778 ,p_return_status => l_return_status
779 -- ,p_datetrack_update_mode => hr_transaction_swi.getVarchar2Value(l_CommitNode,'DatetrackUpdate',hr_api.g_correction)
780 );
781
782 elsif l_postState = '3' then
783
784 delete_element_outcome
785 (p_validate => p_validate
786 ,p_comp_element_outcome_id => hr_transaction_swi.getNumberValue(l_CommitNode,'CompElementOutcomeId')
787 ,p_object_version_number => l_object_version_number
788 ,p_return_status => l_return_status
789 );
790
791 end if;
792
793 p_return_status := l_return_status;
794
795 hr_utility.set_location('Exiting:' || l_proc,40);
796
797
798 END process_api;
799
800 end hr_comp_element_outcome_swi;