SAP增強總結-第一代增強
1、SAP增強從用途來說分:A、資料元素增強;B、選單增強、C、螢幕增強;D、功能增強;
2、SAP增強從實現方式來說分:A 、第一代增強(增強嵌入標準程式中);B第二代增強(SMOD、CMOD);C、第三代增強(BADI);D、第四代增強(BTE);
3、其他相關增強:A、財務模組常用的替代和驗證;B、銷售模組常用的例程等;
實現某個用途採用何種實現方式,四代增強可能都不是萬能的,具體採用哪種方式實現,需要考慮實際情況(可能四種方式都能實現某個增強),以及程式設計師個人喜好選擇合適的增強方式。
各種增強例項:
1、第一代增強
最常用的就是銷售訂單螢幕增強及功能增強,增強點在程式SAPMV45A中有明顯標誌,見下圖
或檢視該程式子例程以USEREXIT_開頭的即為增強出口,這些出口就包含在上圖的INCLUDE程式中。
1.1 、銷售訂單行專案螢幕增強
程式SAPMV45A給使用者預留了兩個增強螢幕,訂單擡頭-附加資料B(螢幕號8309)和訂單專案-附加資料B(螢幕號8459)。首先需要將要增加的欄位(如PRODH)新增至資料表VBAP,SE11修改資料表VBAP,點APPEND STRUCTURE,新增資料元素,然後儲存、啟用資料表
然後在SAPMV45A程式中,將控制元件新增至螢幕8459
具體的控制邏輯可以在PBO和PAI中新增程式碼。
1.2 銷售訂單功能增強
在程式中找以USEREXIT_開頭的子程式,找合適的增強點(根據已積累經驗,如果是新手,只有一個一個試了)。以剛才螢幕增強為例,如果想對該欄位輸入有效性做判斷(當然該判斷可以在PAI中判斷),此控制是在銷售訂單儲存時,做有效性檢查。這需要對XVBAP、YVBAP、KOMK、KOMK、KOMV等通訊結構比較熟悉
然後儲存、啟用程式就可以看到增強的效果了。