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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM