ABAP:CS01/CS02/CS03 BOM创建/修改保存前增强

BADI:BOM_UPDATE

复制代码
  METHOD if_ex_bom_update~change_at_save.

******ADD BY ZJ 20231108 校验存储地点是否为空 S
    IF sy-tcode EQ 'CS01' OR sy-tcode EQ 'CS02' OR sy-tcode EQ 'CS03'.

      LOOP AT delta_stpob INTO DATA(ls_stpob) WHERE vbkz EQ 'U' OR vbkz EQ 'I'.
        SELECT COUNT(*)
          FROM mara AS a
         INNER JOIN marc AS b
            ON a~matnr EQ b~matnr
         WHERE b~lgpro = ''
           AND b~rgekz = '1'
           AND a~matkl EQ '331001'
           AND a~matnr EQ ls_stpob-idnrk.
        IF sy-subrc EQ 0 AND ls_stpob-lgort IS INITIAL.
          MESSAGE '组件料号' && ls_stpob-idnrk && ':' && '存储地点不能为空' TYPE 'E'.
        ENDIF.
        CLEAR:ls_stpob.
      ENDLOOP.
    ENDIF.
******ADD BY ZJ 20231108 校验存储地点是否为空 S
  ENDMETHOD.
复制代码

 

posted @   阿胖的阿多  阅读(410)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示