引言
項目中可能常用的增強點是USMD_RULE_SERVICE來實現復雜的校驗邏輯,除此之外,SAP對BP主數據還提供了以下的實現方式。
方法1-替換ERP校驗類
眾所周知,BP存在復雜的ERP校驗,主要通過類CL_MDG_BS_FND_BP_CHECK(子類)或CL_MDG_BS_ECC_BP_CHECK(父類)實現,通過繼承這兩個類其中的一個(子類優先),實現客制的校驗邏輯,然后通過隱式增強類CL_MDG_BS_BP_CHECK_FACTORY的方法GET_CHECK_CLASS_NAME,替換為自己的Z class即可;需要注意的是,在Z class中,重定義的方法必須實現對super class的調用,否則會失去標準校驗。
方法2-自定義MDG處理類
MDG BP在底層的交互,會調用實現特定接口IF_MDG_BS_BP_ACCESS_HANDLER的類(handler class)實現,標準清單如下。
上圖可觀察到自定義的處理類 Z*,繼承標準類CL_MDG_BS_ECC_HANDLER即可;然后在SM30中維護視圖V_MDG_BS_BP_HDL。
后記
本文自參考NOTE:2308424 - MDG-BP/C/S: Implementing Custom Validations,更多詳細信息請查看SAP幫助網站。