• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

狼升空

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

增强之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>. (一般情况下为你这个实施中的接口名) 。

 

posted on 2012-10-27 20:37  狼升空  阅读(4145)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3