cancel
Showing results for 
Search instead for 
Did you mean: 

Password Change Program - Sample Code

Former Member
0 Kudos

Dear guys,

Does anybody have sample code of changing password in ERP 600?

Your help will be highly appreciated and rewarded

Thanks and regards,

Calvin.

Accepted Solutions (0)

Answers (2)

Answers (2)

andr_siegling
Participant
0 Kudos

Hi Calvin,

you have to change the the above mentioned report: The field BCODE has to be replaced by the field PASSCODE in USR02 for the basis release 7.0.

Another option ist to use SUSR_USER_CHANGE_PASSWORD_RFC funtion module - depends on, what you plan to do.

Regards,

André

Former Member
0 Kudos

Hi Choi,

Can you be more specific?, which password you want to change? is it in ABAP side? or Java side? where?

If it's sap* it's simple, give a search in SDN

Regards,

Hari.

Former Member
0 Kudos

Dear Hari.

For ABAP side.

Regards,

Calvin

Former Member
0 Kudos

Hi Calvin,

Logon to SQL then use

delete from <SID>.USR02 where BNAME='SAP*' and MANDT='<client number>'

Then set login/no_automatic_user_sapstar = 0 in Instance profile.

Restart the system.

You will be allowed to logon to the system using SAP* and password pass.

Regards,

Hari.

PS: Points are welcome.

Former Member
0 Kudos

Hello Calvin ,

I found one code /report which meats your requirement .

Options 1:

Create the Program in any other Client and run it with SAP* User.

It will set the SAP* Password same as in your current client.

REPORT Z_SAP_USER_PASSWORD_SET.

  • Run this progam as sap* in cient xxx. The user you specify

  • as a parameter, will have the same, client xxx password set in every

  • client

  • where it exists.

TABLES: USR02, T000.

DATA: PASSWD LIKE USR02-BCODE.

PARAMETERS: USER LIKE USR02-BNAME.

SELECT SINGLE * FROM USR02 WHERE BNAME = USER.

IF SY-UNAME <> 'SAP*'.

WRITE: / 'Only SAP* is allowed to run this program'. EXIT.

ENDIF.

IF SY-SUBRC <> 0.

WRITE: / USER, 'user does not exist!'. EXIT. "No template user

ENDIF.

PASSWD = USR02-BCODE.

CLEAR USR02.

WRITE: / 'The password of', USER, 'updated in client:'.

SELECT * FROM T000 WHERE MANDT <> '066' AND MANDT <> SY-MANDT.

SELECT * FROM USR02 CLIENT SPECIFIED WHERE MANDT = T000-MANDT AND

BNAME = USER.

WRITE: / USR02-MANDT.

USR02-BCODE = PASSWD.

USR02-LTIME = SY-UZEIT.

USR02-BCDA1 = USR02-BCDA2 = USR02-BCDA3 = SY-DATUM.

USR02-BCDA4 = USR02-BCDA5 = SY-DATUM.

UPDATE USR02 CLIENT SPECIFIED.

ENDSELECT.

ENDSELECT.

Options 2:

You can logon as DDIC and change the SAP* password

Options 3:

You can also delete SAP* user in client 000. It will default its password to PASS.

In SQL

SELECT * FROM USR02 WHERE BNAME='SAP*' AND MANDT='000'

Run query to check return. Change Select to Delete and run again.

Options 4:

Aren't you supposed to use DDIC to install hotpacks?

However, some prefer to use other users besides ddic.

How to reset ddic & sap* passowrds on client 000

I install sapr3 4.7 and on WIN 2003& orale Db and after installation I set the the passwords for SAP* & DDIC on client 000 then I forget it. Pls help me how to reset them to login to the system by client 000& i in form u i can login with 001 & 066

=====

    1. Rest the password of 'sap*' in client 000

    2. Log on to oracle database using sqlplus.

sqlplus / nolog

SQL>connect /as sysdba

SQL>update <SchemaOwner>.USR01 set bname='SAP1' where bname='SAP' and MANDT=000;

    1. [ e.g.: update SAPR3.USR01 set bname='SAP1' where bname='SAP' and MANDT=000; ]

    2. [e.g. : update SAP<SID>.USR01 set bname='SAP1' where bname='SAP' and MANDT=000;]

SQL>commit;

SQL>exit

    1. This will reset the user SAP* in client 000 . After loggin in client with user SAP* change the passwords for other users.

    1. You can user client number of your respective client.

    1. Please note do not reset any other user than SAP* with this method.

http://www.sap-basis-abap.com/bc/forgot-password-for-user-id-sap-in-client-000.htm

Regards ,

Santosh Karadkar

Former Member
0 Kudos

Thanks guys.

What I want is the report program which can reset the user password in WAS ABAP. Does anybody have some sample program?

Regards,

Calvin.

Former Member
0 Kudos

Hello Calvin ,

I think you can use this report to reset the password in WAS ABAP .

Create the Program in any other Client and run it with SAP* User.

It will set the SAP* Password same as in your current client.

REPORT Z_SAP_USER_PASSWORD_SET.

  • Run this progam as sap* in cient xxx. The user you specify

  • as a parameter, will have the same, client xxx password set in every

  • client

  • where it exists.

TABLES: USR02, T000.

DATA: PASSWD LIKE USR02-BCODE.

PARAMETERS: USER LIKE USR02-BNAME.

SELECT SINGLE * FROM USR02 WHERE BNAME = USER.

IF SY-UNAME <> 'SAP*'.

WRITE: / 'Only SAP* is allowed to run this program'. EXIT.

ENDIF.

IF SY-SUBRC <> 0.

WRITE: / USER, 'user does not exist!'. EXIT. "No template user

ENDIF.

PASSWD = USR02-BCODE.

CLEAR USR02.

WRITE: / 'The password of', USER, 'updated in client:'.

SELECT * FROM T000 WHERE MANDT <> '066' AND MANDT <> SY-MANDT.

SELECT * FROM USR02 CLIENT SPECIFIED WHERE MANDT = T000-MANDT AND

BNAME = USER.

WRITE: / USR02-MANDT.

USR02-BCODE = PASSWD.

USR02-LTIME = SY-UZEIT.

USR02-BCDA1 = USR02-BCDA2 = USR02-BCDA3 = SY-DATUM.

USR02-BCDA4 = USR02-BCDA5 = SY-DATUM.

UPDATE USR02 CLIENT SPECIFIED.

ENDSELECT.

ENDSELECT.

Regards ,

Santosh Karadkar