We can use the below API for changing the EBS(fnd_user) user password.
apps.fnd_user_pkg.changepassword
Sample Script:
DECLARE
v_user_name VARCHAR2 (100) := 'HSINGH';
v_new_password VARCHAR2 (100) := :NEWPASSWORD;
v_status BOOLEAN := NULL;
BEGIN
v_status := fnd_user_pkg.changepassword (v_user_name, v_new_password);
COMMIT;
DBMS_OUTPUT.put_line (
'Password is changed successfully for the user=> ' || v_user_name);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (
'Error encountered while restting password for user and the Error Detail is '
|| SQLERRM);
END;
The script can also be modified to reset bulk ebs user passworda. The below is a sample script, You need to modify as per you need.
Refer below syntax
DECLARE
v_status BOOLEAN;
CURSOR user_name_list
IS
SELECT user_name
FROM fnd_user
WHERE NVL (end_date, SYSDATE + 1) > SYSDATE
AND user_name NOT IN ('SYSADMIN',
'GUEST',
'XML_USER',
'APPSMGR',
'PORTAL30',
'PORTAL30_SSO');
BEGIN
FOR user_name_list IN c_user
LOOP
BEGIN
v_status :=
fnd_user_pkg.ChangePassword (
username => user_name_list.user_name,
newpassword => 'welcome123');
-- dbms_output.put_line('password successfully changed for' || user_name_list.user_name);
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (
'Error encountered while resetting password for users and the Error Detail is '
|| SQLERRM);
END;
END LOOP;
END;