增强: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 C.

   CLEAR:LV_STPRS,LV_VERPR,LV_MESSAGE.
   SELECT SINGLE STPRS VERPR INTO (LV_STPRS,LV_VERPR) FROM MBEW WHERE MATNR = MSEG-MATNR AND BWKEY = MSEG-WERKS.
    IF LV_STPRS IS INITIAL AND LV_VERPR IS INITIAL.
      CONCATENATE LV_MESSAGE '物料:' MSEG-MATNR '价格为0' INTO LV_MESSAGE.
      MESSAGE LV_MESSAGE TYPE 'E'.
    ENDIF.
ENDIF.

字段可以直接F1,看到对应的屏幕字段,这里用临时变量,而且是在条件里面定义的,是不规范的,希望大家不要学^_^

说一下找这种增强的过程吧:

首先找BADI,用户出口。可以使用前面文章里的增强查找工具。

如果不行,找隐式增强:

在屏幕上F1找到对应的程序,和屏幕,字段级的检查就在PAI里找个地方。

如果是综合的或者保存是的检查,则要看看保存时都经过哪些FORM。。。这个比较蛋疼

原文地址:https://www.cnblogs.com/sapSB/p/6125415.html