SAP 中如何尋找增強 (2)

方法一、利用TCODE尋找增強(第二代的增強)
執行一個程序(源代碼後附),在選擇屏幕處輸入你所需要增強的程序TCODE,執行後,就會出現一個列表,那裏就有關於如何增強這個的絕大部分SMOD增強。

 

 

方法二、利用系統函數尋找

MODX_FUNCTION_ACTIVE_CHECK

在這個FUNCTION的代碼最後添加一個斷點。執行需要增強的TCODE,如果有增強,就會自動跳入DEBUG界面。在DEBUG界面,查看f_tab字段,這裏面所顯示的Smod就是關於這個TCODE所有的增強項目的列表。這些增強都是屬於EXIT_XXXXXX_XXX這種形式。

至於如何查看這個增強是屬於哪個SMOD,可以自己查閱 MODSAP這個表(SAP Enhancements).

這是第二代增強。

還有一些FUNCTION供參考:

[1].DYNP_VALUES_READ

[2]. MODX_ALL_ACTIVE_MENUENTRIES(菜單增強)

[3].MODX_FUNCTION_ACTIVE_CHECK(出口函數增強)

[4].MODX_MENUENTRY_ACTIVE_CHECK(菜單增強)

[5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增強)

這些的使用方法和上述的一樣,可以針對各種情況尋找增強。

 

方法三、從程序代碼中找
在需要增強的事務裏面,打開SYSTEM——》status,雙擊進入PROGRAM,查看所有的subroutines, 重點觀察所有形似 userexit_******* 這種,由描述來確定合適的需要增強的FORM。這裏是第一代的增強。

 

方法四、針對BADI的增強
轉摘自網上

1、badi對象的信息存儲在SXS_INTER, SXC_EXIT, SXC_CLASS 和SXC_ATTR 這四個表中。

2、sap程序都會調用cl_exithandler=>get_instance來判斷對象是否存在,並返回實例;其實get_instance就是對上述幾個表和他們的視圖(V_EXT_IMP 和 V_EXT_ACT)進行查詢和搜索。

3、基於這個機理,我查用ST05來監控一個TCODE來跟蹤,然後選擇查找有關上述幾個表和視圖的操作,就可獲得相關BADI。

 4、se18 查找接口,se19 實現接口就可以實現用戶增強。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章