cancel
Showing results for 
Search instead for 
Did you mean: 

A R/3 Userid is getting locked frequently

Former Member
0 Kudos

Dear All,

A R/3 Userid is getting locked frequently. I have reset the password for this ID very recently.

I suppose there is a RFC connection which define old password and after resetting password is problem is happen. Please help me to trace that connection. I am already removed login detail from all the RFCs. But still this problem is persisting. Is there any process to trace this userid was locked through which RFCs

Thanks & Regards

Sandeep Nayak

TataSteel

0657-21-45756,

+91-9931570606

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

first thing is it happening only for one ID or many, if it happening for only on ID then in that case, we have the scenario as if it is happening because of any RFC or any background job then you will get error for that in SM37.

So, check the error in SM37 you will the reason.

if it still not resolving then do let me know in detail what exactly happening.

Ashwajit

Former Member
0 Kudos

Hello

If users get locked, from SU01 you can unlock them.

Use SU10 to mass lock/unlock the users.

Use address data or authorisation data to get a list of users - select the ones you want and

click transfer.

Once this is done click on lock or unlock.

You can also use transaction code EWZ5 to mass lock/unlock the users

or

Execute program EWULKUSR in SE38

or

Set a profile parameter (login/failed_user_auto_unlock) to unlock at midnight the locked users.

or

REPORT zreusrlock.

DATA: time_limit TYPE sy-datum.

DATA: days TYPE i VALUE 40.

time_limit = sy-datum - days.

UPDATE usr02 SET uflag = 64 WHERE trdat < time_limit.

If you don't want to specify the time in the program, you can use SE38 to schedule it as a daily background job with the date and time.

or

Probably the easiest way would be to write a sqlplus SQL script that sets all the UFLAG fields in table USR02 to 64 EXCEPT for the BNAMEs you don't want locked. When you are done, you can do the same again but change the UFLAG field to 0.

The SQL statement would look like:

update SAPR3.USR02 set UFLAG = 64 where MANDT = <client number> and BNAME != <don't lock user 1>

AND BNAME != <don't lock user 2>;

You can replace != with <> if you want. To run this from an OS command line, you would type:

Unix/Oracle 8---> sqlplus internal @<SQLpath+SQLname>

NT/Oracle 8.0---> plus80 internal @<SQLpath+SQLname>

NT/Oracle 8.1---> sqlplus internal @s<SQLpath+SQLname>

Unix/Oracle 9:--> sqlplus /nolog @<SQLpath+SQLname>

NT/Oracle 9-----> sqlplus /nolog @<SQLpath+SQLname>

In UNIX you can cron the script to schedule it. In NT you can schedule it as a task.

or

This is another method to UNLOCK ALL users.

Start Oracle Server manager (I assume you are on Oracle)

connect internal

update sapr3.usr02 set uflag='0' where mandt='399';

When users are locked, the uflag is set to 64.

Finish, just query to check.

select bname, uflag from sapr3.usr02 where mandt='399';

Please note that unlocking users from low level (like Oracle sqlplus) should be used as last resort. Frequent use of low level access may tempt you to use on other things.

Regards