/* Formatted on 10/7/2020 2:59:50 PM (QP5 v5.277) */
DECLARE
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;
CURSOR l_data
IS
SELECT person_id,
(SELECT person_type_id
FROM PER_PERSON_TYPES
WHERE USER_PERSON_TYPE = xpc.PERSON_TYPE_NAME)
person_type_id,
(SELECT assignment_id
FROM per_all_assignments_f
WHERE person_id = xpc.person_id
AND effective_end_date > SYSDATE)
assignment_id,
employee_number,
first_name,
last_name,
full_name,
date_of_birth,
start_date,
EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE,
SEX,
EMAIL_ADDRESS,
ORIGINAL_DATE_OF_HIRE,
context_value,
banka_kodu,
sube_kodu,
hesap_no,
iban_no,
global_name,
local_name,
party_id,
new_person_id
FROM XX.XX_PERSON_CREATE_TMP xpc
WHERE new_person_id is null;
BEGIN
FOR n_data IN l_data
LOOP
hr_employee_api.create_employee ( -- Input data elements
-- ------------------------------
p_hire_date => n_data.EFFECTIVE_START_DATE,
p_business_group_id => fnd_profile.value_specific (
'PER_BUSINESS_GROUP_ID'),
p_last_name => n_data.last_name,
p_first_name => n_data.first_name,
p_middle_names => NULL,
p_sex => NVL(n_data.sex,'M'),
p_employee_number => n_data.employee_number,
p_date_of_birth => n_data.date_of_birth,
p_person_type_id => n_data.person_type_id,
p_email_address => n_data.email_address,
p_attribute_category => n_data.context_value,
p_attribute1 => NVL(n_data.banka_kodu,hr_api.g_varchar2),--
p_attribute2 => NVL(n_data.sube_kodu,hr_api.g_varchar2),
p_attribute3 => NVL(n_data.hesap_no,hr_api.g_varchar2),
p_attribute4 => NVL(n_data.iban_no,hr_api.g_varchar2),
-- Output data elements
-- --------------------------------
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);
IF ln_person_id is not null THEN
DBMS_OUTPUT.PUT_LINE (
ln_person_id
|| ','
|| ln_assignment_id
|| ','
|| ln_object_ver_number
|| ','
|| ln_asg_ovn
|| ','
|| ld_per_effective_start_date
|| ','
|| ld_per_effective_end_date
|| ','
|| lc_full_name);
UPDATE XX.XX_PERSON_CREATE_TMP
SET new_person_id = ln_person_id,
new_assignment_id = ln_assignment_id
WHERE person_id = n_data.person_id;
COMMIT;
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
DBMS_OUTPUT.put_line (SQLERRM);
END;
/
No comments:
Post a Comment