• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
^ω^SAp傻X^o^
博客园    首页    新随笔    联系   管理    订阅  订阅
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

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

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

 

^_^很多人都把资料锁进了note里,以后还怎么百度呢^_^
posted on 2016-03-10 18:17  ^ω^SAP傻X^o^  阅读(2187)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3