94:
95: --
96: begin
97: --
98: hr_utility.set_location('Entering:'|| l_proc, 10);
99:
100: l_comp_element_outcome_id := p_comp_element_outcome_id;
101:
102: --
103: -- Issue a savepoint
104: --
105: savepoint create_element_outcome;
106:
107: hr_utility.set_location(l_proc, 20);
108:
109: --
110: -- Truncate the time portion from all IN date parameters
111: --
174: -- End of before hook process (create_element_outcome)
175: --
176: end;
177:
178: hr_utility.set_location(l_proc, 30);
179: --
180: -- Process Logic
181: --
182:
235: ,p_comp_element_outcome_id => l_comp_element_outcome_id
236: ,p_object_version_number => l_object_version_number
237: );
238:
239: hr_utility.set_location(l_proc, 40);
240:
241: --
242: --
243: -- Call After Process hook for create_element_outcome
305: -- End of after hook process (create_element_outcome)
306: --
307: end;
308:
309: hr_utility.set_location(l_proc, 50);
310: --
311: -- Call update_competence_element to update the status to ACHIEVED
312: -- If all required outcome are achieved
313: --
314: select competence_id into l_competence_id
315: from per_competence_outcomes
316: where outcome_id = p_outcome_id;
317:
318: hr_utility.trace('l_competence_id : ' || l_competence_id);
319:
320: l_max_date_from := per_ceo_bus.check_outcome_achieved(
321: p_effective_date => l_effective_date
322: ,p_competence_element_id => p_competence_element_id
323: ,p_competence_id => l_competence_id
324: );
325: --
326: if (l_max_date_from is not NULL) then
327: hr_utility.set_location(l_proc, 60);
328: hr_utility.trace('l_max_date_from : ' || l_max_date_from);
329: open csr_competence_element;
330: fetch csr_competence_element into l_party_id, l_person_id, l_type ,
331: l_status,lv_object_version_number;
324: );
325: --
326: if (l_max_date_from is not NULL) then
327: hr_utility.set_location(l_proc, 60);
328: hr_utility.trace('l_max_date_from : ' || l_max_date_from);
329: open csr_competence_element;
330: fetch csr_competence_element into l_party_id, l_person_id, l_type ,
331: l_status,lv_object_version_number;
332: if csr_competence_element%FOUND then
330: fetch csr_competence_element into l_party_id, l_person_id, l_type ,
331: l_status,lv_object_version_number;
332: if csr_competence_element%FOUND then
333: close csr_competence_element;
334: hr_utility.set_location(l_proc, 70);
335: if l_status is NULL or l_status <> 'ACHIEVED' then
336: hr_utility.set_location(l_proc, 80);
337: hr_competence_element_api.update_competence_element
338: (p_effective_date => l_effective_date
332: if csr_competence_element%FOUND then
333: close csr_competence_element;
334: hr_utility.set_location(l_proc, 70);
335: if l_status is NULL or l_status <> 'ACHIEVED' then
336: hr_utility.set_location(l_proc, 80);
337: hr_competence_element_api.update_competence_element
338: (p_effective_date => l_effective_date
339: ,p_competence_element_id => p_competence_element_id
340: ,p_status => 'ACHIEVED'
351: fnd_message.raise_error;
352: end if;
353: end if;
354:
355: hr_utility.set_location(l_proc, 90);
356:
357: --
358: -- When in validation only mode raise the Validate_Enabled exception
359: --
361: then
362: raise hr_api.validate_enabled;
363: end if;
364: --
365: hr_utility.set_location(l_proc, 100);
366: --
367: -- Set OUT parameters
368: --
369: p_comp_element_outcome_id := l_comp_element_outcome_id;
368: --
369: p_comp_element_outcome_id := l_comp_element_outcome_id;
370: p_object_version_number := l_object_version_number;
371: --
372: hr_utility.set_location(' Leaving...:' ||l_proc, 110);
373: --
374: exception
375: --
376: when hr_api.validate_enabled then
387: --
388: p_comp_element_outcome_id := null;
389: p_object_version_number := null;
390: --
391: hr_utility.set_location(' Leaving....:'||l_proc, 120);
392: --
393: when others then
394: --
395: -- A validation or unexpected error has occurred
395: -- A validation or unexpected error has occurred
396: --
397: ROLLBACK TO create_element_outcome;
398: --
399: hr_utility.set_location(' Leaving......:'||l_proc, 130);
400: --
401: p_comp_element_outcome_id := null;
402: p_object_version_number := null;
403: --
476:
477: --
478: begin
479: --
480: hr_utility.set_location('Entering:'|| l_proc, 10);
481: --
482: lv_object_version_number := p_object_version_number;
483:
484: --
485: -- Issue a savepoint
486: --
487: savepoint update_element_outcome;
488:
489: hr_utility.set_location(l_proc, 20);
490:
491: --
492: -- Truncate the time portion from all IN date parameters
493: --
563: -- End of before hook process (update_element_outcome)
564: --
565: end;
566:
567: hr_utility.set_location(l_proc, 30);
568: --
569: -- Process Logic
570: --
571:
631: -- Assign the out parameters.
632: --
633: p_object_version_number := l_object_version_number;
634:
635: hr_utility.set_location(l_proc, 40);
636:
637: --
638: --
639: -- Call After Process hook for update_comp_element_outcome
708: then
709: raise hr_api.validate_enabled;
710: end if;
711: --
712: hr_utility.set_location(l_proc, 50);
713: --
714: -- Set OUT parameters
715: --
716: p_object_version_number := l_object_version_number;
714: -- Set OUT parameters
715: --
716: p_object_version_number := l_object_version_number;
717: --
718: hr_utility.set_location(' Leaving:' ||l_proc, 60);
719: --
720: exception
721: --
722: when hr_api.validate_enabled then
732: -- when validation only mode is being used.)
733: --
734: p_object_version_number := p_object_version_number;
735: --
736: hr_utility.set_location(' Leaving:'||l_proc, 70);
737: --
738: when others then
739: --
740: -- A validation or unexpected error has occurred
742: rollback to update_element_outcome;
743: --
744: p_object_version_number := lv_object_version_number;
745: --
746: hr_utility.set_location(' Leaving:'||l_proc, 80);
747: --
748: raise;
749: --
750: end update_element_outcome;
790: --
791: l_object_version_number per_comp_element_outcomes.object_version_number%TYPE;
792: --
793: begin
794: hr_utility.set_location('Entering:'|| l_proc, 10);
795:
796: lv_object_version_number := p_object_version_number;
797:
798: --
817: ,p_hook_type => 'BP'
818: );
819: end;
820:
821: hr_utility.set_location(l_proc, 20);
822:
823: open csr_get_competence_element_id;
824: fetch csr_get_competence_element_id into l_competence_element_id;
825: close csr_get_competence_element_id;
832: (p_comp_element_outcome_id => p_comp_element_outcome_id
833: ,p_object_version_number => l_object_version_number
834: );
835:
836: hr_utility.set_location(l_proc, 30);
837:
838: --
839: -- Call After Process User Hook
840: --
850: ,p_hook_type => 'AP'
851: );
852: end;
853:
854: hr_utility.set_location(l_proc, 40);
855:
856: --
857: -- Call update_competence_element to update the status to IN_PROGRESS
858: --
861: fetch csr_competence_element into l_party_id, l_person_id, l_type ,
862: l_status,ll_object_version_number;
863: if csr_competence_element%FOUND then
864: close csr_competence_element;
865: hr_utility.set_location(l_proc, 50);
866: if l_status <> 'IN_PROGRESS' then
867: hr_competence_element_api.update_competence_element
868: (p_effective_date => sysdate
869: ,p_competence_element_id => l_competence_element_id
880: fnd_message.set_token('STEP','5');
881: fnd_message.raise_error;
882: end if;
883:
884: hr_utility.set_location(l_proc, 60);
885:
886: p_object_version_number := l_object_version_number;
887: --
888: -- When in validation only mode raise the Validate_Enabled exception
895: -- Set all output arguments (returned by some dt modes only)
896: --
897: p_object_version_number := l_object_version_number;
898:
899: hr_utility.set_location(' Leaving:'||l_proc, 100);
900: exception
901: when hr_api.validate_enabled then
902: hr_utility.set_location(' Leaving...:'||l_proc, 70);
903: --
898:
899: hr_utility.set_location(' Leaving:'||l_proc, 100);
900: exception
901: when hr_api.validate_enabled then
902: hr_utility.set_location(' Leaving...:'||l_proc, 70);
903: --
904: -- As the Validate_Enabled exception has been raised
905: -- we must rollback to the savepoint
906: --
912: --
913: p_object_version_number := null;
914: --
915: when others then
916: hr_utility.set_location(' Leaving...:'||l_proc, 80);
917: --
918: -- A validation or unexpected error has occured
919: --
920: rollback to delete_element_outcome;