0% found this document useful (0 votes)
14 views3 pages

Api To Upload Emp Mobile Number

This document contains code to update employee contact details by creating phone records and updating a table. It loops through a cursor of employee data to create phone records and update a flag, handling exceptions.

Uploaded by

Mohsin Shariff
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

Api To Upload Emp Mobile Number

This document contains code to update employee contact details by creating phone records and updating a table. It loops through a cursor of employee data to create phone records and update a flag, handling exceptions.

Uploaded by

Mohsin Shariff
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

/* Formatted on 7/30/2023 9:26:10 AM (QP5 v5.

374) */
DECLARE
l_object_version_id NUMBER;
l_phone_id NUMBER;
v_count NUMBER;
l_err_msg VARCHAR2 (300);
BEGIN
FOR i
IN ( SELECT pap.employee_number,
pap.full_name,
pap.person_id,
pap.party_id,
'0' || tmp.mobile mobile,
ph.phone_number,
ph.phone_type
FROM per_all_people_f pap,
XX_UPDATE_EMAIL_PHONE tmp,
per_phones ph
WHERE pap.employee_number = tmp.empno
AND pap.party_id = ph.party_id(+)
-- AND tmp.flag = 'Y'
AND TRUNC (SYSDATE) BETWEEN pap.effective_start_date
AND pap.effective_end_date
AND ph.phone_number IS NULL
-- AND pap.employee_number = '2011073'
ORDER BY 1)
LOOP
hr_phone_api.create_phone (
p_date_from => '01-JUL-2023',
p_phone_type => 'M', --i.phone_type,
p_phone_number => i.mobile,
p_parent_id => i.person_id,
p_parent_table => 'PER_ALL_PEOPLE_F',
p_validate => FALSE,
p_effective_date => '01-JUL-2023',
p_party_id => i.party_id,
p_validity => NULL,
p_object_version_number => l_object_version_id,
p_phone_id => l_phone_id);
COMMIT;
DBMS_OUTPUT.put_line (
'Employee contact details uploaded in ERP:'
|| l_phone_id
|| '-'
|| i.employee_number);

BEGIN
BEGIN
UPDATE XX_UPDATE_EMAIL_PHONE
SET flag = 'M'
WHERE empno = i.employee_number;
EXCEPTION
WHEN OTHERS
THEN
l_err_msg := SQLERRM;

UPDATE XX_UPDATE_EMAIL_PHONE
SET flag = 'E', err_msg = l_err_msg
WHERE empno = i.employee_number;
END;

COMMIT;
EXCEPTION
WHEN OTHERS
THEN
l_err_msg := SQLERRM;
DBMS_OUTPUT.put_line ('Inner Exception: ' || l_err_msg);

UPDATE XX_UPDATE_EMAIL_PHONE
SET flag = 'E', err_msg = l_err_msg
WHERE empno = i.employee_number;

COMMIT;
END;
END LOOP;

COMMIT;
EXCEPTION
WHEN OTHERS
THEN
l_err_msg := SQLERRM;
DBMS_OUTPUT.put_line ('Main Exception: ' || l_err_msg);
END;

/************************update existing mobile


number**********************************/
/* Formatted on 7/26/2023 11:07:43 AM (QP5 v5.374) */
DECLARE
CURSOR c1 IS
SELECT pap.employee_number,
pap.full_name,
pap.person_id,
pap.party_id,
'0' || tmp.mobile mobile,
ph.phone_number,
ph.phone_type
FROM per_all_people_f pap, XX_UPDATE_EMAIL_PHONE tmp, per_phones ph
WHERE pap.employee_number = tmp.empno
AND pap.party_id = ph.party_id
AND tmp.flag = 'Y'
AND TRUNC (SYSDATE) BETWEEN pap.effective_start_date
AND pap.effective_end_date
AND ph.phone_number = '0' || tmp.mobile
-- AND pap.employee_number = '2011073'
ORDER BY 1;
BEGIN
FOR i IN c1
LOOP
UPDATE XX_UPDATE_EMAIL_PHONE
SET flag = 'M'
WHERE empno = i.employee_number;

COMMIT;
DBMS_OUTPUT.put_line ('Updated');
END LOOP;
END;

You might also like