SAP密碼找回(包括SAP*和DDIC)


BASIS忘記了SAP*和DDIC的密碼……

多方查詢資料

多是直接連接數據庫,對USR02表里的數據進行操作。

研究了一下午,找到了一個辦法。前提是在其他CLIENT有能登陸的用戶,權限為SAP_ALL,並且可以進行開發。

SE38,自建程序,復制下面的代碼。激活。執行,完成。

原理是 將SAP中 USR02 ust04 usrbf2 的數據拷貝至000集團。

這樣就將用戶和權限復制到了000集團,可以直接使用該用戶名和密碼登陸000了。

代碼如下:

*&---------------------------------------------------------------------*
*& Report Z_CHANGE_DDIC_PASSWD
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z_CHANGE_DDIC_PASSWD.
data t_usr02 like usr02 OCCURS 0 WITH HEADER LINE.
data t_ust04 like ust04 occurs 0 with HEADER LINE.
data t_usrbf2 like usrbf2 occurs 0 with HEADER LINE.
tables usr02.

SELECTION-SCREEN BEGIN OF BLOCK BL_1 WITH FRAME TITLE TEXT1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (10) TEXT2.
SELECTION-SCREEN POSITION 20.
PARAMETERS s_bname LIKE usr02-bname OBLIGATORY.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (10) TEXT3.
SELECTION-SCREEN POSITION 20.
PARAMETERS S_mandt like usr02-mandt OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BL_1.

INITIALIZATION.
TEXT1 = '請輸入:'.
TEXT2 = '復制用戶名'.
TEXT3 = '目標客戶端'.

START-OF-SELECTION.

select * into t_usr02 from usr02 where BNAME = s_bname.
ENDSELECT.
t_usr02-mandt = S_mandt.
modify usr02 CLIENT SPECIFIED from t_usr02 .
commit work.

select * into table t_ust04 from ust04 where bname = s_bname.
loop at t_ust04.
t_ust04-mandt = S_mandt.
modify ust04 CLIENT SPECIFIED from t_ust04.
commit work.
endloop.

select * into table t_usrbf2 from usrbf2 where bname = s_bname.
loop at t_usrbf2.
t_usrbf2-mandt = S_mandt.
modify usrbf2 CLIENT SPECIFIED from t_usrbf2.
commit work.
endloop.

write: 'complete!'.

測試如下:

 

 

 

 然后在000 client登陸,登陸成功修改密碼 即可。

 

 wechat&Mobile: 18616021346 專注於SAP運維、升級、遷移


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM