關於EXIT和BADI加強的查找

EXIT出口的查找:函數

方法一:spa

第一步:經過SE30,輸入TCODE(例如ME21N),執行EXCUTE,前臺建立一張採購訂單。點擊TIMES頁籤,查找EXIT開頭的SAP程序。code


 

 

 第二步:這些function就是tcode提供的一個出口,能夠經過SE11查詢MODSAP表,查看該出口屬於哪個SMOD。對象


 

 

 

 

 

方法二:blog

第一步:經過SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函數來找。事務

在函數的最後一行打個斷點,再運行TCODE(例如ME21N),若是有加強則會跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME字段對應的值,此值就是就是要找的出口,開發


 

 

 

  第二步:這些function就是tcode提供的一個出口,能夠經過SE11查詢MODSAP表,查看該出口屬於哪個SMOD。io

 

 

第三步:找到合適的出口,經過TCODE-CMOD建立項目,將SMOD分配加強裏,根據業務需求進行開發便可。function

若是碰到加強已經屬於其餘項目,則能夠其餘項目裏進行開發。程序


BADI的查找:

 

 

第一步:執行TCODE-SE24,查看類對象CL_EXITHANDLER,。

在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一個斷點。

 

 

第二步:接下來運行事務代碼例如(ME21N),當有BADI是將會被執行,這時在DEBUG模式下,

會進入類CL_EXITHANDLER 的GET_INSTANCE 方法,按F6執行這個方法以後,點參數EXIT_NAME查看其對應的值,全部的方法實現都在此類對象中,此時就是咱們所要找的BADI。


第三步:進入SE19,選擇Create Implementation中的Classic BADI


利用開發類找加強。

第一步:以ME21N事務代碼爲例,進入TCODE後,選擇點系統 ->狀態 ->雙擊事務代碼->程序名稱,

雙擊後進入到程序中,再點菜單欄中的 轉到 ->屬性,找到開發類的名稱,好比ME21N的開發類是‘ME’。

 

 

 

 第二步:

若是是找出口,則到SMOD事務代碼中,點 增強邊的按紐,在開發類中輸入‘ME’,回車後就會顯示出全部的出口。
找BADI也是一樣的過程,只是到SE18中去肯定BADI。
不過此方法找出來的出口,不是針對某個程序的出口,而是把開發類所對應的出口全找出口,因此還要經過本身的判斷找到所需求的出口
相關文章
相關標籤/搜索