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

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

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

时间: 2024-12-20 07:36:23

BOM组件物料重复检查的相关文章

Oracle EBS-SQL (BOM-5):检查有BOM但物料状态为NEW的物料.sql

select DISTINCT     msi.segment1 成品编码    ,msi.description 成品描述    ,msi.item_type 物料类型    ,msi.inventory_item_status_code 状态    ,msi.build_in_wip_flag 允许制造from    INV.MTL_SYSTEM_ITEMS_B msi,    apps.BOM_BILL_OF_MATERIALS bom,    apps.BOM_INVENTORY_COM

ZPPR101-批量更改BOM组件

************************************************************************ Title : ZPPR101 ** Application : PP ** Subject : 批量更改BOM组件 ** Requested by : PP ** Execution : any time ** Ref no: : B221 ** Author : rainy ** Req Date : 20150701 **************

销售订单BOM组件分配(CP_BD_DIRECT_INPUT_PLAN_EXT)

转自:http://www.baidusap.com/abap/function/520 1, 销售订单BOM组件分配前台操作 Tcode:CA02,输入物料,工厂,销售订单以及行项目,回车进入下一屏幕 点击组件分配按钮 选中要分配的行,点击 new assignment按钮,输入operation 保存. 2, CP_BD_DIRECT_INPUT_PLAN_EXT参数介绍 可以通过调用函数CP_BD_DIRECT_INPUT_PLAN_EXT实现销售订单BOM的组件分配,函数参数如下: 1,

增强:MB1A物料价格检查

INCLUDE:MM07MFP0_PICKUP_AUSFUEHREN FORM:pickup_ausfuehren这是MB1A的PAI的逻辑流里的字段检查 在FORM开始的地方: IF MSEG-MATNR IS NOT INITIAL AND MSEG-BWART = '531'. DATA:S_MSEG TYPE MSEG. DATA: LV_STPRS TYPE MBEW-STPRS, LV_VERPR TYPE MBEW-VERPR. DATA LV_MESSAGE(100) TYPE

二、制作BOM表格--物料表格--Bill of Materials

公司会根据这个表格进行相关元器件的采购--以及后期的贴片上彩 操作: .dsn--Tools--Bill of Materials 出现如下对话框--默认设置--勾选--使用Excel打开 顺序--数量--位号--值 对应--四项条目--大括号里面--系统里面相关的一些关键字--系统根据这些关键字--调用一些值--显示在Excel表格里 可根据需要--进行更改--如:显示封装 若出现如下错误--说明Excel窗口没有关闭--关闭后可正常生成

SSH+Ajax实现用户名重复检查

1.struts.xml设置 <package name="default" namespace="/" extends="json-default"><!--用ajax要此extends--> <action name="userJSON_checkname" class="ssh.action.UserAction" method="checkName"

SSH+Ajax实现用户名重复检查(二)

1.另外一种更常用的js表达方式: var user = { inintEvent: function(){ $("input[name='user.User_LogName']").unbind("blur"); /*移动开输入框的时候就会响应,user.User_LogName为输入框的名字*/ $("input[name='user.User_LogName']").bind("blur", function(){ us

20170524 委外采购的物料BOM

目标:找委外采购订单BOM, 我的方法:1.直接在电脑中搜索关键字:2.到系统中找数据查询3.委外采购订单系统如何操作? 数据怎么做, 实施: 结果:MDBAEKET, "采购订单项目计划行 相关:mdpa MDBA ***物料主数据BOM 表:STKO/SKPO MAST 函数:M61LMD_LIST_PO_COMPONENTSMD_LIST_PO_COMPONENTS_ALV EKETMDBA **外包采购订单BOM组件带不出生产仓储地点的原因 这个在逻辑是在SAP里面写死的,可以通过DEB

物料BOM和生产订单BOM的区别

物料BOM和生产订单BOM的区别[@[email protected]] 一般企业生产部在SAP创建生产订单的时候,就会产生一个生产订单BOM,这里的生产订单BOM是读取的物料BOM. 由于其它原因,需要修改成品的某几个零部件,在创建订单的时候,就可以修改订单BOM,物料BOM不会受任何的影响. 其实在生产订单的BOM读取完物料BOM之后就与物料BOM没有任何的关系了,下达订单之后,物料BOM订单BOM已经没有任何联系了,所以生产过程当中的物料消耗都与订单BOM有关系了.