SAP ABAP标准搜索帮助增强,增加工厂权限筛选数据

本文档详细介绍了如何在SAP中通过修改程序LSDSDF03,针对ME21N交易代码的供应商字段筛选功能进行工厂权限对象F_LFA1_BUK的限制。通过循环遍历源表并进行权限检查,删除无权访问的记录,实现了按工厂权限过滤供应商列表的目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:增强点逻辑ME21N供应商字段筛选时(即F4功能),需对以下红框处5个页签做工厂权限对象限制:F_LFA1_BUK
在这里插入图片描述
解决方法如下:

SE38进入程序:LSDSDF03
找到perform:form map_itab_to_record_tab

 DATA: LV_VKORG TYPE VKORG.
  FIELD-SYMBOLS: <LFS_VKORG> TYPE VKORG,
                 <LFS_BUKRS> TYPE BUKRS,
                 <LFS_EWERK> TYPE M_KREDM-EWERK,   
                 <LFS_EKORG> TYPE M_KREDE-EKORG,   
                 <LFS_VSTEL> TYPE VSTEL.
  TYPES: BEGIN OF LTY_TVKO,
           BUKRS TYPE BUKRS,     "公司代码
           VKORG TYPE VKORG,     "销售组织
         END OF LTY_TVKO.
  DATA: LT_TVKO TYPE TABLE OF LTY_TVKO.
IF SY-TCODE = 'ME21N'.
    LOOP AT SOURCE_TAB.
      "工厂 搜索帮助
      I = SY-TABIX.
      ASSIGN COMPONENT 'BUKRS' OF STRUCTURE SOURCE_TAB TO <LFS_BUKRS>.
      IF <LFS_BUKRS> IS ASSIGNED.
        AUTHORITY-CHECK OBJECT 'F_LFA1_BUK'
        ID 'BUKRS' FIELD <LFS_BUKRS>
        ID 'ACTVT' DUMMY.
        IF SY-SUBRC NE 0.
          DELETE SOURCE_TAB INDEX I.
        ENDIF.
      ELSE.
        ASSIGN COMPONENT 'EKORG' OF STRUCTURE SOURCE_TAB TO <LFS_EKORG>.
        IF <LFS_EKORG> IS ASSIGNED.
          IF SY-SUBRC EQ 0.
            AUTHORITY-CHECK OBJECT 'F_LFA1_BUK'
            ID 'EKORG' FIELD <LFS_EKORG>
            ID 'ACTVT' DUMMY.
            IF SY-SUBRC NE 0.
              DELETE SOURCE_TAB INDEX I.
            ENDIF.
          ENDIF.
        ELSE.
          ASSIGN COMPONENT 'EWERK' OF STRUCTURE SOURCE_TAB TO <LFS_EWERK>.
          IF <LFS_EWERK> IS ASSIGNED.
            AUTHORITY-CHECK OBJECT 'F_LFA1_BUK'
            ID 'EWERK' FIELD <LFS_EWERK>
            ID 'ACTVT' DUMMY.
            IF SY-SUBRC EQ 0.
              DELETE SOURCE_TAB INDEX I.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDLOOP.
  ENDIF.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值