EXIT出口的查找:
方法一:
第一步:通過SE30,輸入TCODE(例如ME21N),執行EXCUTE,前臺創建一張采購訂單,點擊TIMES頁簽,查找EXIT開頭的SAP程式,


第二步:這些function就是tcode提供的一個出口,可以通過SE11查詢MODSAP表,查看該出口屬于哪一個SMOD,


方法二:
第一步:通過SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函式來找,
在函式的最后一行打個斷點,再運行TCODE(例如ME21N),如果有增強則會跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME欄位對應的值,此值就是就是要找的出口,

第二步:這些function就是tcode提供的一個出口,可以通過SE11查詢MODSAP表,查看該出口屬于哪一個SMOD,

第三步:找到合適的出口,通過TCODE-CMOD創建專案,將SMOD分配增強里,根據業務需求進行開發即可,
如果碰到增強已經屬于其他專案,則可以其他專案里進行開發,
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,
不過此方法找出來的出口,不是針對某個程式的出口,而是把開發類所對應的出口全找出口,所以還要通過自己的判斷找到所需求的出口


轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/2323.html
標籤:SAP
