Header Ads

ad728
  • Breaking News

    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.

    No comments

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