HRMS Update Employee’s Hire Date
Hi guys today we will explain HRMS Update Employee’s Hire Date
DECLARE v_api_error VARCHAR2 (5000); v_error_msg VARCHAR2 (5000) := NULL; p_person_id NUMBER; ---------------------------------- p_validate BOOLEAN; p_effective_date DATE; p_warn_ee VARCHAR2 (5000); BEGIN FOR hr_data IN (SELECT * FROM XX_emps where emp_old_no not in( '2013' , '580789')) -- WHERE NVL (xx.emp_data, 'T_Error') 'Done') LOOP BEGIN p_validate := FALSE; SELECT person_id, effective_start_date INTO p_person_id, p_effective_date FROM per_all_people_f WHERE attribute1 = hr_data.emp_old_no AND effective_end_date > SYSDATE; hr_change_start_date_api.update_start_date (p_validate => p_validate, p_person_id => p_person_id, p_old_start_date => p_effective_date, p_new_start_date => to_date(hr_data.hire_date,'DD-MM-RRRR'), p_update_type => 'E', p_warn_ee => p_warn_ee ); UPDATE xx_emps SET error_msg = null, status = 'Done' WHERE emp_old_no = hr_data.emp_old_no; EXCEPTION WHEN OTHERS THEN p_validate := NULL; p_effective_date := NULL; p_person_id := NULL; v_api_error := NULL; v_error_msg := NULL; v_api_error := SQLERRM; v_error_msg := v_api_error; UPDATE xx_emps SET error_msg = v_error_msg, status = 'Error' WHERE emp_old_no = hr_data.emp_old_no; COMMIT; END; COMMIT; END LOOP; END;