Create Person Phone in Oracle apps HRMS:
Sample code:
DECLARE
err_code VARCHAR2 (50);
err_msg VARCHAR2 (1000);
l_phone_id per_phones.phone_id%TYPE;
l_object_version_number per_phones.object_version_number%TYPE;
CURSOR EMP_PHONE
IS
SELECT PHONE_NUMBER,
EMPLOYEE_NUMBER,
PERSON_ID,
SR
FROM --- temporary_phone_table
WHERE PERSON_ID IS NOT NULL AND LINE_STATUS <> 'INSERTED' OR LINE_STATUS IS NULL;
BEGIN
FOR REC IN EMP_PHONE
LOOP
BEGIN
hr_phone_api.create_phone (
p_date_from => TRUNC (SYSDATE),
p_date_to => NULL,
p_phone_type => 'M',
p_phone_number => REC.PHONE_NUMBER,
p_parent_id => REC.PERSON_ID,
p_parent_table => 'PER_ALL_PEOPLE_F',
p_validate => FALSE,
p_effective_date => SYSDATE,
p_object_version_number => l_object_version_number,
p_phone_id => l_phone_id
);
UPDATE ----temporary_phone_table
SET PHONE_ID = l_phone_id,
LINE_STATUS = 'INSERTED',
ERROR_TEXT = ''
WHERE EMPLOYEE_NUMBER = rec.EMPLOYEE_NUMBER AND SR = rec.SR;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
err_code := SQLCODE;
err_msg := SUBSTR (SQLERRM, 1, 200);
UPDATE ----temporary_phone_table
SET LINE_STATUS = 'ERROR',
ERROR_TEXT = err_code || ':' || err_msg
WHERE EMPLOYEE_NUMBER = rec.EMPLOYEE_NUMBER AND SR = rec.SR;
COMMIT;
DBMS_OUTPUT.put_line (SQLERRM);
END;
END LOOP;
END;
Sample code:
DECLARE
err_code VARCHAR2 (50);
err_msg VARCHAR2 (1000);
l_phone_id per_phones.phone_id%TYPE;
l_object_version_number per_phones.object_version_number%TYPE;
CURSOR EMP_PHONE
IS
SELECT PHONE_NUMBER,
EMPLOYEE_NUMBER,
PERSON_ID,
SR
FROM --- temporary_phone_table
WHERE PERSON_ID IS NOT NULL AND LINE_STATUS <> 'INSERTED' OR LINE_STATUS IS NULL;
BEGIN
FOR REC IN EMP_PHONE
LOOP
BEGIN
hr_phone_api.create_phone (
p_date_from => TRUNC (SYSDATE),
p_date_to => NULL,
p_phone_type => 'M',
p_phone_number => REC.PHONE_NUMBER,
p_parent_id => REC.PERSON_ID,
p_parent_table => 'PER_ALL_PEOPLE_F',
p_validate => FALSE,
p_effective_date => SYSDATE,
p_object_version_number => l_object_version_number,
p_phone_id => l_phone_id
);
UPDATE ----temporary_phone_table
SET PHONE_ID = l_phone_id,
LINE_STATUS = 'INSERTED',
ERROR_TEXT = ''
WHERE EMPLOYEE_NUMBER = rec.EMPLOYEE_NUMBER AND SR = rec.SR;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
err_code := SQLCODE;
err_msg := SUBSTR (SQLERRM, 1, 200);
UPDATE ----temporary_phone_table
SET LINE_STATUS = 'ERROR',
ERROR_TEXT = err_code || ':' || err_msg
WHERE EMPLOYEE_NUMBER = rec.EMPLOYEE_NUMBER AND SR = rec.SR;
COMMIT;
DBMS_OUTPUT.put_line (SQLERRM);
END;
END LOOP;
END;
0 comments: