ABAP中权限对象的效验
前言: SAP系统针对用户所处的不同角色,设置了相应的权限对象,一个角色只能在他所拥有的权限范围内行使相应的权力,所以有时候在开发程序时,还需要验证当前访问程序的用户,它所具有的角色是否具有相应的权限。
案例:选择屏幕针对销售组织VKORG的效验
单值:P_VKORG
FORM FRM_AUTHORITY_CHECK.
"验证消息"
DATA: LV_MSG TYPE STRING.
"选择屏幕条件,权限控制"
"校验VKORG"
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD P_VKORG. "选择屏幕P_VKORG"
IF SY-SUBRC <> 0.
CONCATENATE '您没有销售组织' LT_VBAK-VKORG '的权限!' INTO LV_MSG .
MESSAGE LV_MSG TYPE 'S' DISLIKE 'E'.
ENDIF.
ENDFORM.
区间:S_VKORG
FORM FRM_AUTHORITY_CHECK.
DATA: LV_MSG TYPE STRING.
"对字段进行验证"
LOOP AT S_VKORG.
"选择屏幕条件,权限控制"
"校验VKORG"
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD S_VKORG-LOW.
IF SY-SUBRC <> 0.
CONCATENATE '您没有销售组织' LT_VBAK-VKORG '的权限!' INTO LV_MSG .
MESSAGE LV_MSG TYPE 'S' DISLIKE 'E'.
ENDIF.
ENDLOOP.
ENDFORM.
觉得博主的文章对你有帮助的,动动鼠标一键三连,激励博主写出更多精彩文章!