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