增強之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