DECLARE
lc_user_name FND_USER.USER_NAME%TYPE := 'GK0714';
lc_sex PER_ALL_PEOPLE_F.SEX%TYPE := 'M';
lc_first_name PER_ALL_PEOPLE_F.FIRST_NAME%TYPE := 'Gaurav';
lc_last_name PER_ALL_PEOPLE_F.LAST_NAME%TYPE := 'Kumar';
lc_employee_number PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE;
ln_person_id PER_ALL_PEOPLE_F.PERSON_ID%TYPE;
ln_assignment_id PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE;
ln_object_ver_number PER_ALL_ASSIGNMENTS_F.OBJECT_VERSION_NUMBER%TYPE;
ln_asg_ovn NUMBER;
ld_per_effective_start_date PER_ALL_PEOPLE_F.EFFECTIVE_START_DATE%TYPE;
ld_per_effective_end_date PER_ALL_PEOPLE_F.EFFECTIVE_END_DATE%TYPE;
lc_full_name PER_ALL_PEOPLE_F.FULL_NAME%TYPE;
ln_per_comment_id PER_ALL_PEOPLE_F.COMMENT_ID%TYPE;
ln_assignment_sequence PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_SEQUENCE%TYPE;
lc_assignment_number PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_NUMBER%TYPE;
lb_name_combination_warning BOOLEAN;
lb_assign_payroll_warning BOOLEAN;
lb_orig_hire_warning BOOLEAN;
ln_user_id FND_USER.USER_ID%TYPE;
lc_return_status VARCHAR2(1);
ln_msg_count NUMBER;
lc_msg_data VARCHAR2(5000);
lc_msg_dummy VARCHAR2(5000);
lc_output VARCHAR2(5000);
ln_resource_id JTF_RS_RESOURCE_EXTNS.RESOURCE_ID%TYPE;
lc_resource_number JTF_RS_RESOURCE_EXTNS.RESOURCE_NUMBER%TYPE;
ln_responsibility_id NUMBER;
ln_application_id NUMBER;
BEGIN
BEGIN
hr_employee_api.create_employee
( p_hire_date => SYSDATE,
p_business_group_id => fnd_profile.value_specific('PER_BUSINESS_GROUP_ID'),
p_last_name => lc_last_name,
p_first_name => lc_first_name,
p_sex => lc_sex,
p_employee_number => lc_employee_number,
p_person_id => ln_person_id,
p_assignment_id => ln_assignment_id,
p_per_object_version_number => ln_object_ver_number,
p_asg_object_version_number => ln_asg_ovn,
p_per_effective_start_date => ld_per_effective_start_date,
p_per_effective_end_date => ld_per_effective_end_date,
p_full_name => lc_full_name,
p_per_comment_id => ln_per_comment_id,
p_assignment_sequence => ln_assignment_sequence,
p_assignment_number => lc_assignment_number,
p_name_combination_warning => lb_name_combination_warning,
p_assign_payroll_warning => lb_assign_payroll_warning,
p_orig_hire_warning => lb_orig_hire_warning
);
DBMS_OUTPUT.PUT_LINE ('Person has created with Name :'||lc_full_name);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('Error While creating the Employee :'||SQLERRM);
END;
IF (ln_person_id IS NOT NULL) THEN
BEGIN
fnd_user_pkg.updateuser
( x_user_name => lc_user_name,
x_owner => '',
x_employee_id => ln_person_id
);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('Error While updating the User Name :'||SQLERRM);
ROLLBACK;
END;
BEGIN
SELECT user_id
INTO ln_user_id
FROM fnd_user
WHERE user_name = lc_user_name;
SELECT responsibility_id, application_id
INTO ln_responsibility_id, ln_application_id
FROM fnd_responsibility_vl
WHERE responsibility_name = 'CRM Administrator';
END;
BEGIN
fnd_global. apps_initialize (ln_user_id, ln_responsibility_id, ln_application_id);
jtf_rs_resource_pub.create_resource
( p_api_version => 1.0,
p_category => 'EMPLOYEE',
p_start_date_active => SYSDATE,
p_source_id => ln_person_id,
p_user_id => ln_user_id,
p_user_name => lc_user_name,
p_resource_name => lc_full_name,
p_source_number => lc_employee_number,
p_source_name => lc_full_name,
p_source_first_name => lc_first_name,
p_source_last_name => lc_last_name,
p_source_business_grp_id => fnd_profile.value_specific('PER_BUSINESS_GROUP_ID'),
x_return_status => lc_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lc_msg_data,
x_resource_id => ln_resource_id,
x_resource_number => lc_resource_number
);
IF (lc_return_status <> 'S') THEN
BEGIN
FOR i IN 1 .. ln_msg_count
LOOP
fnd_msg_pub.get (i, fnd_api.g_false, lc_msg_data, lc_msg_dummy);
lc_output := (TO_CHAR (i) || ': ' || lc_msg_data);
END LOOP;
dbms_output.put_line('Error :'||lc_output);
END;
ROLLBACK;
ELSE
dbms_output.put_line('Resource imported sucessfully.');
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('Error While importing the Resource :'||SQLERRM);
ROLLBACK;
END;
END IF;
END;
/