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

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

TCode: SU21

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

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

TCode:SE38

TYPES: BEGIN OF ty_check_au,
         werks TYPE mseg-werks,
       END OF ty_check_au.

DATA: wa_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_dev) WITH wa_check_au-werks.
    ENDIF.
    CLEAR wa_check_au.
  ENDLOOP.

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

TCode: SE93

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

TCode: SU22、SU24

注:SU24操作同SU22.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值