方法一*************************************
通過se30,執行tcode後,點evaluate後,檢視執行時間分析評估:命中清單。
找以「exit」開頭的sap程式,如:exit_saplie01_007,
這個function就是tcode提供的乙個出口。
至於如何檢視這個增強是屬於哪個smod,能夠查閱 modsap這個表(sap enhancements).
方法二*************************************
通過se37中的:modx_function_active_check 函式來找,
在函式的最後一行打個斷點,再執行tcode的,如果有增強則會跳入debug介面,在debug介面中,檢視l_funcname欄位對應的值,此值就是就是要找的出口,
再去se11中通過modsap來檢視出口對就的是那個smod,
接下來就可以在cmod中建立增強組了,把找到的增強填入,
最後根據實際的業務進行處理。
以上的兩種方法是用來找第二代增強。
方法三*************************************
找badi的方法。
先執行se24,檢視類物件cl_exithandler, 在其方法:get_instance的14行( call method cl_exithandler=>get_class_name_by_inte***ce)打上乙個斷點。
接下來執行事務**,當有badi是將會被執行,這時在debug模式下,會進入類cl_exithandler 的get_instance 方法,按f6執行這個方法之後,點引數exit_name檢視其對應的值,所有的方法實現都在此類物件中,此時就是我們所要找的badi。
實現badi的方法
進入se19,選擇create implementation中的classic badi
另一種方法(跟上面的差不多)
查詢源程式,在程式中查詢**段 cl_exithandler => get_instance
就可以找到該程式所用到的badi。
方法四*************************************
通過開發類找出口
以me21n事務**為例,進入tcode後,選擇點系統 -》狀態 -》程式名稱,雙擊後進入到程式中,再點選單欄中的 轉到 -》屬性,找到開發類的名稱,比如me21n的開發類是『me』。
如果是打出口,則到smod事務**中,點 加強邊的按紐,在開發類中輸入『me』,回車後就會顯示出所有的出口。
找badi也是同樣的過程,只是到se18中去確定badi
不過此方法找出來的出口,不是針對某個程式的出口,而是把開發類所對應的出口全找出口,所以
還要通過自己的判斷找到所需求的出口
幾種增強的查詢方法
方法一 通過se30,執行tcode後,點evaluate後,檢視執行時間分析評估 命中清單。找以 exit 開頭的sap程式,如 exit saplie01 007,這個function就是tcode提供的乙個出口。至於如何檢視這個增強是屬於哪個smod,能夠查閱 modsap這個表 sap en...
SAP中的幾個增強
這幾個只是我這個專案用到的幾個增強,分享一下 形式發票需要傳給別的系統,增強 cmod sdvfx009 描述 開票憑證處理kidono 付款參照號 exit saplv60a 001,include zxvvfu09。研發內部訂單對應研發產品唯一性檢查,增強 cmod coopa 01 描述 內部...
SAP的BADI型別增強的學習方法
什麼是badi?它的學名是business add ins 翻譯一下可能是 業務載入項。什麼是badi?看上去有點像bapi,實際上二者完全是兩個東西。什麼是badi?它是sap的一種很新的增強方式。sap有哪些增強方式呢?我覺得這部分很重要,我們要嚴謹的介紹yi xi一下。怎樣才能做到嚴謹呢?其實...