The Linux open source operating system, or Linux OS, is a freely distributable, cross-platform operating system based on Unix

Thursday, August 4, 2016

How to change User Name or Login name of Oracle EBS users

How to change User Name or Login name of Oracle EBS users

If you want to implement Single Sign On (SSO) Or you need to standardize username to match oracle username with Active Directory usernames, oracle provided a simple API to accomplish this task. However it works fine when done from ERP Application front end but to update all the user names is a tedious job or we can use some tools like data loader to change the usernames from the front end.

Using APPS.FND_USER_PKG API to change the username as well as update the related WF tables.

1. Collect the list of users

Identify the active users from fnd_user excluding seeded users.

SQL> SELECT user_name
FROM fnd_user
WHERE end_date IS NOT NULL
AND user_name NOT IN
('SYSADMIN',
'AUTOINSTALL',
'GUEST',
'IEXADMIN',
'OP_SYSADMIN',
'ASGUEST',
'IRC_EXT_GUEST',
'IRC_EMP_GUEST',
'PORTAL30',
'PORTAL30_SSO',
'XML_USER');

2. Modify the user name

Execute the below procedure to change the user name.

SQL> BEGIN
fnd_user_pkg.change_user_name (x_old_user_name => 'OLDUSERNAME',
x_new_user_name => 'NEWUSERNAME'
);

COMMIT;
END;
/

3. Update WF_NOTIFICATIONS.receipient_role with new user names.

After changing the username, users cannot find their old notifications in the worklist.

Execute the below procedure to update the user name.

SQL> exec WF_MAINTENANCE.PropagateChangedName('OLDUSERNAME','NEWUSERNAME');

(4) Execute the following query to find out if the usernames in WF_NOTIFICATIONS were changed

SQL> select notification_id, begin_date, end_date, mail_status, status,recipient_role
from wf_notifications
where recipient_role in ('OLDUSERNAME');

Above query should not supposed to return any rows for old user names.

5. Verify the change

SQL> select user_name, end_date from fnd_user where user_name='NEWUSERNAME';
USER_NAME |END_DATE
------------------|---------
NEWUSERNAME |

SQL> select user_name, role_name from wf_local_user_roles where user_name='NEWUSERNAME';
USER_NAME |ROLE_NAME
-----------------------|-------------------------------------
NEWUSERNAME |FND_RESP|SQLGL|MS_GL|STANDARD
NEWUSERNAME |FND_RESP|SYSADMIN|SYSTECH|STANDARD
NEWUSERNAME |FND_RESP|SYSADMIN|SYSTEM_ADMINISTRATOR|STANDARD

The new user name is being accepted at login. Checked few old transactions created by the user for verification.

0 comments :

Post a Comment

Note: Only a member of this blog may post a comment.