Thursday, July 26, 2012

How to change User Password when FRM-40200:Field is protected against update Error comes in Oracle EBS Application

How to change User Password when FRM-40200:Field is protected against update Error comes in Oracle EBS Application:
==================================================================================================================

        In the below example I'm using form based method for changing User's password,as form based method is the fasted  and most recommended method to create the user and change the password for 'n' number of users in Oracle E-Business Suite Application,other method is you can go to 'User Management' responsibility which already explained in my previous posts under Apps DBA tasks Label and from Oracle Database also from backend using PL/SQL Package which I will explain as the other method
step in last to avoid confusion.

To Resolve FRM-40200:


Step 1:Login to Oracle EBS Database as 'Apps' User

update fnd_user set USER_GUID=null where user_name='E123456';
  
    1 row updated.
  
    SQL> commit
         ;
  
    Commit complete.
  
 
Step 2:Login to Oracle EBS Home page as 'sysadmin' user or User having 'System Administrator' Responsibility

Navigate to System Administrator=>Security:User=>Define form page

A Users form page will open which display Username and all the details:

Press F11 key

Type Username:%E123456%

Press ctrL+F11 key

Enter  password:welcome
Verify password:welcome


press F11

Do you want to save the changes

click 'Yes'

FRM-40400 Transaction is complete 1 record applied and saved

save the changes click OK.


Step 3:Request user to change password on First Login


Enter old password:
Enter your own new password:


Note:Password should be atleast 5 character long

Other Method to create user and change password:

The following script can be used to create a user in Oracle EBS.

DECLARE
l_responsibility_id NUMBER;
l_application_id NUMBER;
l_user_id NUMBER := fnd_global.user_id;
x_user_id NUMBER;
l_password VARCHAR2 (2000) := 'welcome123';
BEGIN
apps.hr_user_acct_internal.create_fnd_user (p_user_name => 'operations',
p_password => l_password,
p_employee_id => NULL,
p_user_id => x_user_id,
p_user_start_date => SYSDATE,
p_email_address => NULL,
p_description => NULL,
p_password_date => NULL
);
DBMS_OUTPUT.put_line (x_user_id);

IF x_user_id IS NOT NULL
THEN
UPDATE fnd_user
SET password_lifespan_days = 90
WHERE user_id = x_user_id;

COMMIT;
END IF;
END;
/



Happy Apps DBA learning.....



Best regards,

Rafi.

















No comments:

Post a Comment