• 增强之BADI修改VL02N屏幕字段


    SE18查看badi LE_SHP_DELIVERY_PROC.
    我们会发现系统对这个badi有实现了一个类.下面我们会参考这个类的方法实现我们的需求.如图.

    1.SE19创建badi LE_SHP_DELIVERY_PROC的实现: ZI_SHP_DELIVERY_PROC.
    再创建增强实现: ZIM_SHP_DELIVERY_PROC.之后如下图,比较它与SE18的区别.

    2.双击接口类型的方法: CHANGE_FIELD_ATTRIBUTES. 实现它,代码如下:
    method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_FIELD_ATTRIBUTES.
    data: ls_field_attributes type shp_screen_attributes,
    ls_xvbup
    type vbupvb.
    if is_likp-vbeln = '0080003022'.
    ls_field_attributes
    -name = 'LIPSD-G_LFIMG'. "屏幕字段为交货数量,修改其属性为不可输入.
    ls_field_attributes
    -input = 0.
    append ls_field_attributes to ct_field_attributes.
    endif.
    endmethod.

    *******************************************************例2

    初次写BADI,如图,我是如下步骤:

    1、找到系统VL02N的BADI,“DELIVERY_PUBLISH”;
    2、在SE19下创建“ZDELIVERY_PUBLISH”;
    3、双击“PUBLISH_BEFORE_COMMIT”中写入图二的测试代码;
    4、激活程序,设置断点;

    然后在VL02N中执行发货过账操作,但是程序无法在断点处停顿,请问是不是哪个步骤丢失了?

    BADI是不是找到后,加进去代码就可以使用?

    你要定义一个实例来调用这个类接口。比如:
    data: L_object type ref to <class_name>. (一般情况下为你这个实施中的接口名) 。

  • 相关阅读:
    美国商业经济金融发展史
    英国商业经济金融发展史
    NIO入门
    eclipse的debug
    一些待深入的问题
    Django REST Framework(一) Serializer和ModelSerializer
    同步/异步/阻塞/非阻塞/BIO/NIO/AIO各种情况介绍
    为了后端掌握的粗浅前端
    前后端分离之JWT用户认证
    Redis
  • 原文地址:https://www.cnblogs.com/huangjianisgood/p/2742765.html
Copyright © 2020-2023  润新知