查看用户缺失权限
业务顾问反馈用户前台操作权限缺失,通过SU53可以查看用户执行事务时被卡控的权限对象和权限值
第一个框是执行的事务码,第二个框是检查的权限对象、字段和检查的值
背景
选择屏幕上有三个字段,业务需要使用自定义权限对象将同一个选择屏幕的不同功能分配给用户(比如A用户有查看数据的权限,但没有维护&删除数据权限;B用户只有删除数据权限)
创建步骤
1. SE11新建域及数据元素
新建自定义字段的目的是为了使用域来定义用户权限
SE11新建ZDM_AUTH数据元素
保存并激活域
再新建数据元素ZEL_AUTH
2.SU20创建权限字段
SU20创建权限字段
命名权限字段
数据元素输入上一步的自定义数据元素
选择使用数据元素的搜索帮助(分配权限时才会有域当中的字段)
2.SU21创建权限类&对象
SU21创建权限类
SU21创建权限对象
命名权限对象名
填写描述
填入上一步创建的权限类
回车之后即可对下方的权限字段进行编辑,填入上一步创建的权限字段即可
保存后业务即可在给角色分配权限时使用上述自定义权限对象
程序检查权限对象:
*&---------------------------------------------------------------------*
*& Form frm_auth_check
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_auth_check .
IF p_par = 'X'.
AUTHORITY-CHECK OBJECT 'ZPP001'
ID 'ZPP_R001' FIELD '1'.
ENDIF.
IF p_chi = 'X'.
AUTHORITY-CHECK OBJECT 'ZPP001'
ID 'ZPP_R001' FIELD '2'.
ENDIF.
IF p_edt = 'X'.
AUTHORITY-CHECK OBJECT 'ZPP001'
ID 'ZPP_R001' FIELD '3'.
ENDIF.
IF SY-SUBRC NE 0.
MESSAGE s062(zpp001) DISPLAY LIKE 'E'. " 您没有使用该功能权限
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM.