日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

SAP BADI应用

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP BADI应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SAP BADI應用

1.定義BADI
???????? 1) T-Code:? SE18???? Business Add-In Define.

?? 2) 輸入要創建的BADI的名字,點擊"Create"。

?? 3) 輸入BADI的描述性文本,在"Interface"選項卡上輸入接口的名字,也可以采用SAP建議的接口的名字。同時,BADI類也??????? 會被創建。

???? 例如:對于BADI "ZTEST",SAP會建議"ZIF_EX_TEST"作為接口的名字,"ZCL_EX_TEST"作為類的名字。

?? 4) 保存BADI。

?? 5) 雙擊接口的名字,會跳轉到Class Builder界面,在這里你可以定義接口的方法。

?? 6) 保存并激活接口。

2.實現BADI
???????? 1) T-Code:? SE19???? Business Add-In Implementation
???????? 2) 輸入BADI實現的名字,點擊"Create"。
???????? 3) 輸入BADI定義的名字。
???????? 4) 輸入實現的描述性文本,在"Interface"選項卡上輸入實現類的名字??梢圆捎肧AP建議的名字。

??? 例如:"ZIMPTEST",SAP會建議"ZCL_IM_IMPTEST"。

?? 5) 保存實現。

?? 6) 雙擊某一方法名會跳轉到Class Builder界面,在這里你可以添加代碼來重定義接口方法。

?? 7) 激活實現。

3. 程序中調用BADI

1) 先用類型參照引用出要調用的BADI
????? 2) 實例化BADI
????? 3) 實例化后就可以任意調用BADI 中的方法了。

REPORT? ZZW_BAPI_01???????????????????????????????????????????????? .

data exit type ref to ZIF_EX_ZW_BD_TEST.

call method cl_exithandler=>get_instance
???? changing
??????? instance = exit.

call method exit->Z_ZW_01.

==》
badi 小記
BADI作為SAP的第三代用戶出口,他的應用也越來越廣泛,但如何找到合適的badi是許多abap程序員的困惑。我這里就介紹一下我個人的應用的經驗,供大家參考。

1、badi對象的信息存儲在SXS_INTER, SXC_EXIT, SXC_CLASS 和SXC_ATTR 這四個表中(參見SECE包);

2、sap程序都會調用cl_exithandler=>get_instance來判斷對象是否存在,并返回實例;其實get_instance就是對上述幾個表和他們的視圖(V_EXT_IMP 和 V_EXT_ACT)進行查詢和搜索。

3、基于這個機理,我查用ST05來監控一個TCODE來跟蹤,然后選擇查找有關上述幾個表和視圖的操作,就可獲得相關BADI。

4、se18 查找接口,se19 實現接口就可以實現用戶增強。
示例:用LE_SHP_DELIVERY_PROC控制跨月Cancel

METHOD IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_HEADER .
data : thismonth(2) type c.
data : wa_likp type line of SHP_LIKP_T.
data : wa_log type line of SHP_BADI_ERROR_LOG_T.
clear ct_log[],thismonth.
thismonth = sy-datum+4(2). "----->這一個月的月份
loop at it_xlikp into wa_likp.
check IS_V50AGL-WARENAUSG_STORNO ='X'."--->代表作GI cancel
if wa_likp-WADAT_IST+4(2) < thismonth.
wa_log-VBELN = cs_likp-vbeln.
wa_log-MSGTY = 'E'. "錯誤信息
wa_log-MSGID = 'ZDN_ERROR'. "這一個class要自己建
wa_log-MSGNO = '001'.
append wa_log to ct_log. "Error log寫入
endif.
endloop.
ENDMETHOD.

轉載于:https://www.cnblogs.com/panjun-Donet/archive/2011/01/03/1924933.html

總結

以上是生活随笔為你收集整理的SAP BADI应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。