SAP_ABAP_BADI AND NEW BADI
BADI是business add-in的縮寫。它是一種新的功能增強(qiáng)概念,使用面向?qū)ο蠹夹g(shù)。實(shí)現(xiàn)BADI要用到接口、實(shí)施類以及方法等面向?qū)ο蟮母拍睢?br /> BADI增強(qiáng)實(shí)現(xiàn)過程:首先定義BADI實(shí)現(xiàn),為BADI實(shí)現(xiàn)指定一個(gè)接口→然后創(chuàng)建一個(gè)實(shí)施類來實(shí)現(xiàn)這個(gè)接口→最后在實(shí)施類的相應(yīng)方法中編寫代碼實(shí)現(xiàn)業(yè)務(wù)邏輯。
CLASS BADI的實(shí)現(xiàn)步驟:
1、SE19輸入BADI名字,比如MB_MIGO_BADI,單擊按鈕“創(chuàng)建實(shí)現(xiàn)”,在彈出的對話框中輸入BADI實(shí)現(xiàn)的名字和描述,比如ZMB_MB_MIGO_BADI,(自動(dòng))為BADI實(shí)現(xiàn)指定一個(gè)接口(IF_EX+BADI名);
2、創(chuàng)建一個(gè)實(shí)施類來實(shí)現(xiàn)這個(gè)接口(ZCL_IM_BADI名);
3、在實(shí)施類的相應(yīng)方法中編寫代碼實(shí)現(xiàn)業(yè)務(wù)邏輯。
NEW BADI的實(shí)現(xiàn)步驟:
1、SE19輸入增強(qiáng)點(diǎn)名字,比如MB_MIGO_BADI,單擊按鈕“創(chuàng)建實(shí)現(xiàn)”,在彈出的對話框中輸入增強(qiáng)實(shí)現(xiàn)的名字和描述,比如ZMB_MB_MIGO_BADI_NEW,(自動(dòng))為BADI實(shí)現(xiàn)指定一個(gè)接口(IF_EX+BADI名);
2、創(chuàng)建一個(gè)實(shí)施類來實(shí)現(xiàn)這個(gè)接口(ZCL_IM_BADI名);
3、在實(shí)施類的相應(yīng)方法中編寫代碼實(shí)現(xiàn)業(yè)務(wù)邏輯。
ECC 6.0中,新建CLASS BADI會(huì)自動(dòng)移植到NEW BADI,實(shí)現(xiàn)步驟:
1、SE19輸入BADI名字,比如MB_MIGO_BADI,單擊按鈕“創(chuàng)建實(shí)現(xiàn)”,在彈出的對話框中輸入BADI實(shí)現(xiàn)的名字和描述,比如ZMB_MB_MIGO_BADI,(自動(dòng))為BADI實(shí)現(xiàn)指定一個(gè)接口(IF_EX+BADI名);
2、創(chuàng)建一個(gè)實(shí)施類來實(shí)現(xiàn)這個(gè)接口,ZCL_IM_BADI名;
3、保存,提示已移植BADI實(shí)現(xiàn),回車,在彈出的對話框中,單擊創(chuàng)建按鈕,創(chuàng)建NEW BADI(增強(qiáng)實(shí)現(xiàn)),輸入增強(qiáng)實(shí)現(xiàn)的名字和描述,比如ZMB_MIGO_BADI_NEW;
4、保存激活NEW BADI;
5、刪除剛創(chuàng)建的BADI實(shí)現(xiàn);
6、在NEW BADI(增強(qiáng)實(shí)現(xiàn))中的執(zhí)行類的相應(yīng)方法中寫代碼實(shí)業(yè)務(wù)邏輯。
BADI和NEW BADI的區(qū)別:
1、CLASS BADI用call method獲取BADI,CALL METHOD CL_EXITHANDLER=>GET_INST CHANGING INSTANCE = badi_name
NEW BADI不能用call method獲取BADI,要用GET BADI badi_name;
2、CLASS BADI用CALL METHOD調(diào)用BADI中的方法 CALL METHOD badi_name->method EXPORTING LGORT = wa_lgort;
NEW BADI用CALL BADI調(diào)用BADI中的方法 CALL BADI badi_name->method EXPORTING LGORT = wa_lgort;
3、NEW BADI中新增了ENHANCEMENT SPOT增強(qiáng)點(diǎn)、ENHANCEMENT SECTION以及隱式增強(qiáng)點(diǎn)的概念。
總結(jié)
以上是生活随笔為你收集整理的SAP_ABAP_BADI AND NEW BADI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查找badiexit
- 下一篇: JAVA中JDK环境变量配置