You are on page 1of 5

CREATEORREPLACEPROCEDUREAPPS.

xx_add_compt_element_prc(
errbufOUTVARCHAR2,
retcodeOUTNUMBER
)

+======================================================================
+
|Oracleort.com|
||

+======================================================================
+
|
|
|
|
|MODULENAME:apps.xx_add_compt_element_prc
|
|ORIGINALAUTHOR:FaisalSharif:faisal@oracleport.com
|
|DATE:09Mar2011
|
|DESCRIPTION:InterfaceforloadingCompetencyProfilefor
|
|Employees
|
|
|
|
|

+======================================================================
+
IS
l_competence_element_idNUMBER(20);
l_comp_object_version_numberNUMBER;
lv_person_idNUMBER(20);
lv_business_group_idNUMBER(20);
l_competence_idNUMBER(20);
statusVARCHAR2(50);
errorVARCHAR2(500);
lv_rating_level_idNUMBER(20);
l_competence_nameVARCHAR2(200);
l_total_recordsNUMBER(20):=0;
l_error_rec_cntNUMBER(20):=0;
l_total_succ_recordsNUMBER(20):=0;
|LoadDatafromcustomTable|
CURSORcomp_cur
IS
SELECTTRIM(employee_number)employee_number,
TRIM(competency_name)competency_name,
TRIM(proficiency_level)proficiency_level,

TRIM(date_from)date_from,TRIM(date_to)date_to
FROMxx_comp_prf_stg_tab
WHEREv_statusISNULLORv_status='E';
BEGIN
DBMS_OUTPUT.put_line

('##############################################################');
DBMS_OUTPUT.put_line('DATAINTERFACEFORCOMPETENCEELEMENT');
DBMS_OUTPUT.put_line

('##############################################################');
fnd_file.put_line(fnd_file.LOG,
'StartTime:'
||TO_CHAR(SYSDATE,'DDMONYYYYHH:MI:SS')
);
FORcomp_ptrINcomp_cur
LOOP
l_total_records:=l_total_records+1;
status:='S';
error:='';
DBMS_OUTPUT.put_line('InsideLoop');
BEGIN
SELECTperson_id,business_group_id
INTOlv_person_id,lv_business_group_id
FROMper_all_people_f
WHEREemployee_number=TRUNC(comp_ptr.employee_number)
ANDTO_DATE('31OCT2010')BETWEENeffective_start_dateAND
effective_end_date;
DBMS_OUTPUT.put_line('person_id:'||lv_person_id);
DBMS_OUTPUT.put_line('business_group_id:'||
lv_business_group_id);
EXCEPTION
WHENNO_DATA_FOUND
THEN
l_error_rec_cnt:=l_error_rec_cnt+1;
status:='E';
error:='ErrorOccuredatPerson_ID'||SUBSTR(SQLERRM,1,
200);
DBMS_OUTPUT.put_line
('ErroratPerson_idand
Business_group:'
||SUBSTR(SQLERRM,2,250)
);
END;
IFstatus='S'
THEN
BEGIN
SELECTcompetence_id
INTOl_competence_id

FROMper_competences
WHERENAME=comp_ptr.competency_name;
EXCEPTION
WHENOTHERS
THEN
l_error_rec_cnt:=l_error_rec_cnt+1;
status:='E';
error:=
'ErrorOccuredcompetence_id'||SUBSTR(SQLERRM,1,
200);
DBMS_OUTPUT.put_line('competenceiderror:');
END;
DBMS_OUTPUT.put_line('Competence_id:'||l_competence_id);
ENDIF;
IFstatus='S'
THEN
BEGIN
SELECTrating_level_id
INTOlv_rating_level_id
FROMper_rating_levels
WHEREstep_value=comp_ptr.proficiency_level
ANDrating_scale_id='1001'
ANDbusiness_group_id=81;
EXCEPTION
WHENOTHERS
THEN
l_error_rec_cnt:=l_error_rec_cnt+1;
status:='E';
error:=
'ErrorOccuredatratinglevel'
||SUBSTR(SQLERRM,1,200);
DBMS_OUTPUT.put_line('Proficiencyratingerror:'
||SUBSTR(SQLERRM,1,200)
);
END;
DBMS_OUTPUT.put_line('Rating_id:'||lv_rating_level_id);
ENDIF;
IFstatus='S'
THEN
BEGIN
DBMS_OUTPUT.put_line('EnteringAPI');
hr_competence_element_api.create_competence_element
(p_validate=>FALSE,
p_competence_element_id=>
l_competence_element_id,
p_object_version_number=>
l_comp_object_version_number,
p_type=>'REQUIREMENT',

p_business_group_id=>
lv_business_group_id,
p_competence_id=>l_competence_id,
p_proficiency_level_id=>lv_rating_level_id,
p_person_id=>lv_person_id,
p_effective_date=>TO_DATE('31OCT
2010'),
p_effective_date_from=>comp_ptr.date_from,
p_effective_date_to=>comp_ptr.date_to
);
COMMIT;
status:='S';
error:='Success';
l_total_succ_records:=l_total_succ_records+1;
EXCEPTION
WHENOTHERS
THEN
l_error_rec_cnt:=l_error_rec_cnt+1;
DBMS_OUTPUT.put_line('ErrorinCompetenceAPI:'
||SUBSTR(SQLERRM,1,255)
);
error:='ErrorAtAPI'||SUBSTR(SQLERRM,1,250);
status:='E';
END;
ENDIF;
UPDATExx_comp_prf_stg_tab
SETv_status=status,
v_error=error
WHEREemployee_number=comp_ptr.employee_number
ANDcompetency_name=comp_ptr.competency_name;
COMMIT;
ENDLOOP;
fnd_file.put_line
(fnd_file.LOG,
'*****************************SummaryforCompetenceProfile
Upload*****************'
);
fnd_file.put_line(fnd_file.LOG,
'TotalRecordsprocessed:'||l_total_records
);
fnd_file.put_line(fnd_file.LOG,
'TotalRecordssuccessfullyLoaded:'
||l_total_succ_records
);
fnd_file.put_line(fnd_file.LOG,
'TotalRecordswhichhaserror:'||
l_error_rec_cnt
);
fnd_file.put_line(fnd_file.LOG,
'EndTime:'

||TO_CHAR(SYSDATE,'DDMONYYYYHH:MI:SS')
);
fnd_file.put_line
(fnd_file.LOG,

'**********************************************End**********************
************'
);
ENDxx_add_compt_element_prc;
/

You might also like