ABAP COOIS组件增加BOM用途、备选物料清单和可选文本

该博客介绍了如何在COOIS中使用BAdi WORKORDER_INFOSYSTEM来增强ALV展示,增加了三个字段。通过检查订单组件(PPIOM000)并删除物料描述不正确的记录,然后从MAST和STKO表中检索相关信息,将BOM用途、备选及物料描述等字段添加到ALV显示中。整个过程涉及数据筛选、读取和修改。
摘要由CSDN通过智能技术生成

COOIS选择 清单组件时,ALV展示增加三个字段,主要找到增强点

  1. SE18—>BAdi名称,输入:WORKORDER_INFOSYSTEM
    在这里插入图片描述

  2. 顶端选择实施——概览,选择自定义的实施
    在这里插入图片描述

  3. 选择接口,方法:TABLES_MODIFY_LAY
    在这里插入图片描述

  4. 编写程序如下图

    IF is_tcoa-opcomp_sel = 'X'  ." AND ( lv_object = 'PPIOH000' OR lv_object = 'PPIOM000' ).
      "订单组件
      IF lv_object = 'PPIOM000'.
        "删除物料描述不正确的
        DELETE ct_ioopcomp WHERE matxt NOT IN lr_maktx.
        LOOP AT ct_ioopcomp INTO ls_ioopcomp .
          "BOM用途、备选
          SELECT afko~aufnr,mast~stlan,afko~stlal,mast~stlnr
          FROM mast
          INNER JOIN afko ON afko~stlnr = mast~stlnr
          INTO TABLE @DATA(lt_mast1)
                WHERE aufnr EQ @ls_ioopcomp-aufnr.
          SORT lt_mast1 BY aufnr .
          READ TABLE lt_mast1 INTO DATA(ls_mast1) INDEX 1.
          IF sy-subrc = 0.
            ls_ioopcomp-zstlan = ls_mast1-stlan.
            ls_ioopcomp-zstlal = ls_mast1-stlal.
          ENDIF.

          SELECT stlnr,stktx
          FROM stko
          INTO TABLE @DATA(lt_stko1)
                FOR ALL ENTRIES IN @lt_mast1
                WHERE stlnr = @lt_mast1-stlnr AND stlal = @lt_mast1-stlal.
          SORT lt_stko1 BY stlnr.
          READ TABLE lt_stko1 INTO DATA(ls_stko1) INDEX 1.
          IF sy-subrc = 0.
            ls_ioopcomp-zzstktx = ls_stko1-stktx.
          ENDIF.

          MODIFY ct_ioopcomp FROM ls_ioopcomp.
          CLEAR ls_ioopcomp.
        ENDLOOP .
      ENDIF.
    ENDIF.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程卓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值