如何为ABAP程序添加权限检查

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-09 02:59:59

一、确认权限对象,及其关联字段:

TCode: SU21

例如权限对象"M_MSEG_WMB",它关联字段为"WERKS",详见下图:

二、在ABAP代码中添加权限检查代码:

TCode:SE38

TYPESBEGIN OF ty_check_au,
         werks TYPE mseg-werks,
       END OF ty_check_au.

 

DATAwa_check_au TYPE ty_check_au,
      it_check_au TYPE TABLE OF ty_check_au.

 

AT SELECTION-SCREEN.
在此进行权限对象的检查

  SELECT
        werks
    FROM mseg
    INTO TABLE it_check_au
   WHERE mblnr IN s_mblnr AND
         werks p_werks
     AND mseg~bwart IN ('101','102','105','106')
       .

  LOOP AT it_check_au INTO wa_check_au.
    AUTHORITY-CHECK OBJECT 'M_MSEG_WMB'
             ID 'WERKS' FIELD wa_check_au-werks.
    IF sy-subrc <> 0.
      MESSAGE e030(zmm_devWITH wa_check_au-werks.
    ENDIF.
    CLEAR wa_check_au.
  ENDLOOP.

三、创建ABAP代码关联的TCode:

TCode: SE93

四、把ABAP代码关联的TCode与权限对象进行关联

TCode: SU22、SU24

注:SU24操作同SU22.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!