事务码 SU21 可以用来维护权限对象,但是它有一个致命缺陷,就是必须先找对象分类,然后双击进入某个分类才可以看到具体权限对象,如果我们不知道权限对象在哪个分类里,查找就很困难了。
下面的程序直接读出所有的权限对象,显示到 LIST 中,用系统工具栏上的搜索功能就可以快速查找所需的权限对象。
- REPORT zsu21 LINE-SIZE 86.
- TABLES: tobj, tobjt.
- DATA: itvl type i.
- FORMAT COLOR 1.
- WRITE:/1 sy-vline, 3 'Object'(c01), 14 sy-vline, 16 'Description'(c02), 78 sy-vline, 80 'Class', 86 sy-vline.
- ULINE.
- itvl = 0.
- FORMAT INTENSIFIED OFF.
- SELECT * FROM tobj.
- IF itvl EQ 0.
- FORMAT COLOR 4.
- ELSE.
- FORMAT COLOR 2.
- ENDIF.
- SELECT SINGLE * FROM tobjt WHERE object = tobj-objct AND langu = sy-langu.
- WRITE:/1 sy-vline, 3 tobj-objct, 14 sy-vline, 16 tobjt-ttext, 78 sy-vline, 80 tobj-oclss, 86 sy-vline.
- HIDE: tobj-objct.
- itvl = 1 - itvl.
- ENDSELECT.
- ULINE.
- CLEAR tobj.
- AT LINE-SELECTION.
- IF tobj-objct EQ space.
- CALL FUNCTION 'SUSR_ADD_OBJECT'
- EXPORTING
- OBJECT = ' '
- OCLASS = ' '
- EU_MODE = ' '
- * IMPORTING
- * OBJECT =
- * OCLASS =
- .
- ELSE.
- CALL FUNCTION 'SUSR_SHOW_OBJECT'
- EXPORTING
- object = tobj-objct
- eu_mode = 'X'.
- ENDIF.