zoukankan      html  css  js  c++  java
  • BOM创建修改(CS01,CS02)保存时增强BADI[BOM_UPDATE]

    1, BADI ‘BOM_UPDATE’介绍

    SE18,查看BADi BOM_UPDATE,Chage_AT_SAVE就是BOM创建和修改保存时触发的方法,也就是CS01,CS02保存时触发

    输入参数:

    2, 实例业务场景

    公司实际业务过程中,设计变更比较频繁,导致BOM的组件也要经常修改更新,在用CS02进行更新时,组件太多无法人工检查是否重复很费时费力。因此,考虑在更新BOM(增加组件情况)时做个检查,看新维护进去的组件是否已存在。

    对应代码:

    测试:

    CS02维护BOM组件时,保存后触发方法CHANGE_AT_SAVE,如果检查有重复,抛出错误消息。

    3, 其他

    可以看到方法CHANGE_AT_SAVE只有输入参数,没有输出参数,所以在这个方法中不能直接修改BOM中的相关信息。但是可以通过修改内存来变通的修改,

    比如下面代码:修改BOM的展开类型(Explosion type):

        DATA: STPOB TYPE STPOB.
        DATA: FIELD_NAME(30) VALUE '(SAPLCSBT)O1-STPOB[]'.
        FIELD-SYMBOLS: <TABLE> TYPE TABLE.
    
        ASSIGN (FIELD_NAME) TO <TABLE>.
    
        LOOP AT <TABLE> INTO STPOB.
          STPOB-DSPST = <span class="L1S33">'Z2'</span>.  "Explosion type
          <span class="L1S52">MODIFY</span> <TABLE> <span class="L1S52">FROM</span> STPOB.
        ENDLOOP.

    跨程序修改全局变量详细参照--通过Field-symbols跨程序抽取或修改全局变量值

    以上。

  • 相关阅读:
    钞票与选票之争
    poj1066--Treasure Hunt(规范相交)
    mmc生产任务分配问题
    Linux学习杂记
    UVA 10026 Shoemaker&#39;s Problem
    【12c】root container 和 pdb 的一些差别
    Configuring HDFS High Availability
    字符串替换
    一张图搞懂分布式大型站点的前世今生
    HDU1874畅通project续 dijkstra&amp;&amp;floyd
  • 原文地址:https://www.cnblogs.com/datie/p/11435444.html
Copyright © 2011-2022 走看看