ABAP-MB51选择屏幕和输出ALV增强客户物料字段

1、外挂表创建
在这里插入图片描述
2、给表MSEG增强字段KDMAT
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、SPRO-IMG-物料管理-库存管理和实际库存-报表-定义物料凭证列表的字段选择 这里添加刚新增的字段
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、包含程序RM07DOCS_GENERATED增强
在这里插入图片描述
在这里插入图片描述
5、在子程序DATA_SELECTION_NEW中增强筛选逻辑
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

IF SY-TCODE = 'MB51'.
    IF KDMAT IS NOT INITIAL.
      "如何客户物料筛选条件存在值,则需要做筛选逻辑处理
      DATA:GT_ZMMTMIGOFLD_D TYPE TABLE OF ZMMTMIGOFLD_D,
           GS_ZMMTMIGOFLD_D TYPE ZMMTMIGOFLD_D.
      SELECT
        *
        FROM ZMMTMIGOFLD_D
        INTO TABLE GT_ZMMTMIGOFLD_D
        WHERE ZMMTMIGOFLD_D~KDMAT IN KDMAT.
        "进行对应的筛选条件赋值,即MBLNR、MJAHR、ZEILE
        LOOP AT GT_ZMMTMIGOFLD_D INTO GS_ZMMTMIGOFLD_D.
          MBLNR-LOW = GS_ZMMTMIGOFLD_D-MBLNR.
          MBLNR-SIGN = 'I'.
          MBLNR-OPTION = 'EQ'.
          APPEND MBLNR.
          CLEAR MBLNR.
          MJAHR-LOW = GS_ZMMTMIGOFLD_D-MJAHR.
          MJAHR-SIGN = 'I'.
          MJAHR-OPTION = 'EQ'.
          APPEND MJAHR.
          CLEAR MJAHR.
          ZEILE-LOW = GS_ZMMTMIGOFLD_D-ZEILE.
          ZEILE-SIGN = 'I'.
          ZEILE-OPTION = 'EQ'.
          APPEND ZEILE.
          CLEAR ZEILE.
          CLEAR GS_ZMMTMIGOFLD_D.
        ENDLOOP.
        "清空客户物料字段值
        CLEAR KDMAT[].
    ENDIF.
  ENDIF.

6、在子程序DATA_SELECTION中增强筛选逻辑
在这里插入图片描述

7、在子程序DATA_SELECTION_VIA_MATNR中增强筛选逻辑
在这里插入图片描述

8、在子程序DATA_SELECTION_VIA_BUDAT 中增强筛选逻辑
在这里插入图片描述

9、在子程序build_runtimetable赋值逻辑
在这里插入图片描述

IF SY-TCODE = 'MB51'.
  DATA:GT_ZMMTMIGOFLD_D2 TYPE TABLE OF ZMMTMIGOFLD_D,
       GS_ZMMTMIGOFLD_D2 TYPE ZMMTMIGOFLD_D.
  IF ITAB[] IS NOT INITIAL.
    SELECT
    *
    FROM ZMMTMIGOFLD_D
    INTO TABLE GT_ZMMTMIGOFLD_D2
    FOR ALL ENTRIES IN ITAB[]
    WHERE MBLNR = ITAB-MBLNR
      AND MJAHR = ITAB-MJAHR
      AND ZEILE = ITAB-ZEILE.
      LOOP AT ITAB.
        READ TABLE GT_ZMMTMIGOFLD_D2 INTO GS_ZMMTMIGOFLD_D2 WITH KEY MBLNR = ITAB-MBLNR  MJAHR = ITAB-MJAHR ZEILE = ITAB-ZEILE.
        IF  SY-SUBRC = 0.
          ITAB-KDMAT = GS_ZMMTMIGOFLD_D2-KDMAT.
        ENDIF.
        MODIFY ITAB.
        CLEAR ITAB.
      ENDLOOP.
  ENDIF.
ENDIF.

10、实现结果截图:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值