SAP MM ME21N\ME22N\ME23N隐藏不需要的订单类型

创建采购订单时隐藏不需要的订单类型

后台配置了很多订单类型,希望某些订单类型不被用户看到,以防止在日常业务中错误地选择订单类型。
同时,有些订单类型为某一公司业务专用,应限制只有需要的人看到。
存在两种方案:

权限管理

权限对象
采购订单中的凭证类型:M_BEST_BSA
采购订单中的采购组:M_BEST_EKG
采购订单中的采购组织:M_BEST_EKO
采购订单中的工厂:M_BEST_WRK

通过事务码 PFCG 查询 ME21N对应的角色
在这里插入图片描述
得到角色列表
在这里插入图片描述
显示角色信息,显示权限数据
在这里插入图片描述
点击跟踪,找到权限对象,进行配置即可
在这里插入图片描述

增强

找到函数 DD_SHLP_GET_HELPMETHOD

点击增强按钮后,出现创建、更改按钮
在这里插入图片描述
创建增强,并将下列代码写入即可

DATA: LS_SHLP_SELOPT TYPE DDSHSELOPT.
  IF ( SY-TCODE = 'ME21N' OR SY-TCODE = 'ME22N' OR SY-TCODE = 'ME23N' ) AND shlp-SHLPNAME = 'H_T161'.
    IF SY-SUBRC = 0.
      SELECT ZNMMT053~BSART  FROM ZNMMT053
        WHERE ZNMMT053~ACTIVE  = 'Y'
        INTO TABLE @DATA(LT_ZNMMT053).
      IF SY-SUBRC EQ 0.
        LOOP AT LT_ZNMMT053 INTO DATA(LS_ZNMMT053).
          LS_SHLP_SELOPT-SHLPNAME = 'H_T161'.
          LS_SHLP_SELOPT-SHLPFIELD = 'BSART'.
          LS_SHLP_SELOPT-SIGN = 'I'.
          LS_SHLP_SELOPT-OPTION = 'EQ'.
          LS_SHLP_SELOPT-LOW = LS_ZNMMT053-BSART.
          APPEND LS_SHLP_SELOPT TO SHLP-SELOPT.
          CLEAR LS_SHLP_SELOPT.
        ENDLOOP.
      ENDIF.
       ENDIF.
  ENDIF.

表ZNMMT053 结构如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值