Loading

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.
posted @ 2021-11-10 14:26  Gjboy666  阅读(357)  评论(0编辑  收藏  举报