好吧,今天同事让做个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 + .
ENDLOOP.
IF lv_time > .
CONCATENATE z_msg '项目' z_stpob-posnr '组件重复/' INTO z_msg.
ENDIF.
ENDLOOP. MESSAGE z_msg TYPE 'E'.
RETURN.
* EXIT.
ENDMETHOD.

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

函数:CS_BT_STPOB_UPDATE

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

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

最新文章

  1. SQL中SET和SELECT赋值的区别
  2. NPOI读取Excel 数据 转。。。
  3. iOS -数据库网络之xml解析之第三方解析XML
  4. apache日志文件太大的问题
  5. mysql 触发器,insert,auto字段竟然一样....
  6. vsftp的设置选项
  7. 【Web】throw和throws的区别和用法。
  8. [转载] Netty
  9. c# winform 窗体之间的传参
  10. JSP自定义标签配置
  11. ubuntu15.04下sublime text不能输入中文的解决
  12. 解决can&#39;t connect to redis-server
  13. 2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(监听Wi-Fi和APP的数据)
  14. [原]CentOS 7 chrony 笔记
  15. caffe-windows环境配置(github上官方BVLC/caffe的推荐配置方法详解)
  16. VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)
  17. debian之apt源
  18. node.js压缩版 Windows安装
  19. 强大的json工具:fastJson
  20. Android 虚拟多开系列一——技术调研

热门文章

  1. jquery获取当前时间
  2. 线程入门之join方法
  3. MyEclipse启动Tomcat服务器时老是跳到Debug调试上
  4. 保存会话数据——session学习
  5. 【T-SQL系列】常用函数—聚合函数
  6. equals()和hashcode()
  7. Could not initialize class sun.awt.X11GraphicsEnvironment
  8. python下载地址
  9. JavaSE复习_10 多线程复习
  10. embed object以及video标签的区别以及使用