• BOM组件物料重复检查


    好吧,今天同事让做个BOM组件物料重复检查

    网上有很多例子都是在保存的时候检查的,用的是BADI :BOM_UPDATE

    自己也试了一下,麻烦。。。。很麻烦。。。尤其是在重复检查的时候:

      METHOD if_ex_bom_update~change_at_save.
        DATA:z_stpob      TYPE LINE OF cs01_stpob_tab,
             z_stpob1     TYPE LINE OF cs01_stpob_tab,
             g_tab_bstpob TYPE TABLE OF stpob,
             g_tab_astpob TYPE TABLE OF stpob,
             z_msg        TYPE string,
             count1       TYPE i,
             count2       TYPE i.
        DATA:lv_time TYPE i.
    
        count1 = lines( delta_stasb ).
        count2 = lines( delta_stpob ).
    
    *    IF count2 > count1.
        LOOP AT delta_stpob INTO z_stpob.
    
          APPEND z_stpob TO g_tab_bstpob.
          IF sy-tabix <= count1.
          ELSE.
            APPEND z_stpob TO g_tab_astpob.
          ENDIF.
        ENDLOOP.
    
        LOOP AT g_tab_astpob INTO z_stpob.
          CLEAR:lv_time.
          LOOP AT g_tab_bstpob INTO z_stpob1 WHERE idnrk = z_stpob-idnrk.
            lv_time = lv_time + 1.
          ENDLOOP.
          IF lv_time > 1.
            CONCATENATE z_msg '项目' z_stpob-posnr '组件重复/' INTO z_msg.
          ENDIF.
        ENDLOOP.
    
    
        MESSAGE z_msg TYPE 'E'.
        RETURN.
    *    EXIT.
      ENDMETHOD.

    后来DEBUG标准程序,找到了个很适合的地方:

    函数:CS_BT_STPOB_UPDATE

    在程序最开始加段检查逻辑

    好了,检查完成。。。每输入一行组件,都会检查。。。完美

  • 相关阅读:
    python中的 if __name__ == "__main__": 语句的作用
    python的打包与解包
    python循环删除列表元素
    python字典键值对新增与修改的几种方法及差异总结
    python列表元素删除的几种方法以及差异总结
    python之redis(二)
    python之redis(一)
    python之mysql(四)
    python之mysql(三)
    python之mysql(二)
  • 原文地址:https://www.cnblogs.com/sapSB/p/5262916.html
Copyright © 2020-2023  润新知