从SAP中查找BADI
生活随笔
收集整理的這篇文章主要介紹了
从SAP中查找BADI
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通過st05跟蹤,badi對應(yīng)的數(shù)據(jù)表為 SXS_INTER, SXC_EXIT, SXC_CLASS 和 SXC_ATTR,而這些表都是通過視圖V_EXT_IMP 和 V_EXT_ACT來查詢的。
1、打開運(yùn)行事務(wù)碼: ST05 選擇“table buffer trace”而不是常用的"SQL trace"
2、activate trace(開始跟蹤)
3、運(yùn)行事務(wù)碼:me21n
4、創(chuàng)建一個(gè)采購訂單,保存
5、deactivate trace(結(jié)束跟蹤)
6、點(diǎn)擊display trace,在出來的選擇條件中: objects中輸入:V_EXT_IMP和V_EXT_ACT;在 operations中輸入“OPEN”
7、查詢
通過查詢的結(jié)果可以看出,視圖V_EXT_IMP的BADI的接口類名字都是以IF_EX_開頭的,其中IF_EX_之后的就是對應(yīng)BADI接口的定義
事務(wù)代碼是SE18,SE19,SE80可以查看增強(qiáng)點(diǎn)
***方法一**************************************** 通過SE30,運(yùn)行TCODE后,點(diǎn)Evaluate后,查看運(yùn)行時(shí)間分析評估:命中清單。 找以“exit”開頭的SAP程序,如:EXIT_SAPLIE01_007, 這個(gè)FUNCTION就是TCODE提供的一個(gè)出口。 至于如何查看這個(gè)增強(qiáng)是屬于哪個(gè)SMOD,能夠查閱 MODSAP這個(gè)表(SAP Enhancements). ***方法二**************************************** 通過SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函數(shù)來找, 在函數(shù)的最后一行打個(gè)斷點(diǎn),再運(yùn)行TCODE的,如果有增強(qiáng)則會(huì)跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME字段對應(yīng)的值,此值就是就是要找的出口, 再去SE11中通過MODSAP來查看出口對就的是那個(gè)SMOD, 接下來就可以在CMOD中創(chuàng)建增強(qiáng)組了,把找到的增強(qiáng)填入, 最后根據(jù)實(shí)際的業(yè)務(wù)進(jìn)行處理。 以上的兩種方法是用來找第二代增強(qiáng)。 ***方法三**************************************** 找BADI的方法。 先運(yùn)行SE24,查看類對象CL_EXITHANDLER, 在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一個(gè)斷點(diǎn)。 接下來運(yùn)行事務(wù)代碼,當(dāng)有BADI是將會(huì)被執(zhí)行,這時(shí)在DEBUG模式下,會(huì)進(jìn)入類CL_EXITHANDLER 的GET_INSTANCE 方法,按F6執(zhí)行這個(gè)方法之后,點(diǎn)參數(shù)EXIT_NAME查看其對應(yīng)的值,所有的方法實(shí)現(xiàn)都在此類對象中,此時(shí)就是我們所要找的BADI。 實(shí)現(xiàn)BADI的方法 進(jìn)入SE19,選擇Create Implementation中的Classic BADi 另一種方法(跟上面的差不多) 查找源程序,在程序中查找代碼段 CL_EXITHANDLER => GET_INSTANCE 就可以找到該程序所用到的BADI。 ***方法四**************************************** 通過開發(fā)類找出口 以ME21N事務(wù)代碼為例,進(jìn)入TCODE后,選擇點(diǎn)系統(tǒng) -》狀態(tài) -》程序名稱,雙擊后進(jìn)入到程序中,再點(diǎn)菜單欄中的 轉(zhuǎn)到 -》屬性,找到開發(fā)類的名稱,比如ME21N的開發(fā)類是‘ME’。 如果是打出口,則到SMOD事務(wù)代碼中,點(diǎn) 加強(qiáng)邊的按紐,在開發(fā)類中輸入‘ME’,回車后就會(huì)顯示出所有的出口。 找BADI也是同樣的過程,只是到SE18中去確定BADI 不過此方法找出來的出口,不是針對某個(gè)程序的出口,而是把開發(fā)類所對應(yīng)的出口全找出口,所以 還要通過自己的判斷找到所需求的出口 ******************************************* 增強(qiáng)相關(guān)函數(shù)和表格 Function: [1].DYNP_VALUES_READ [2]. MODX_ALL_ACTIVE_MENUENTRIES(菜單增強(qiáng)) [3].MODX_FUNCTION_ACTIVE_CHECK(出口函數(shù)增強(qiáng)) [4].MODX_MENUENTRY_ACTIVE_CHECK(菜單增強(qiáng)) [5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增強(qiáng))總結(jié)
以上是生活随笔為你收集整理的从SAP中查找BADI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跟单信用证统一惯例
- 下一篇: 三星Galaxy S4 刷入CWM Re