天天看點

SAP ABAP maintanence view的資料校驗機制Subject: RE: Validate data in maintanence view

Subject: RE: Validate data in maintanence view

SM30的Maintenance View是通過SE11裡面的工具生成的,所有的顯示和增删改查的邏輯都是自動生成的代碼,通常這些代碼在和Maintenance View同名的Function Group裡面。

Function Group: CRMV_PR_SUBSTRAC

同時SAP提供了一些事件可以加到Maintenance View讓USER可以自定義一些邏輯,進入上面的Table Maintenance Generator之後,再進入下面的Menu:

Maintenance View支援事件:

http://help.sap.com/saphelp_47x200/helpdata/en/91/ca9f0ea9d111d1a5690000e82deaaa/frameset.htm

每個事件是一個Sub Routine, 工具自動生成的代碼預留了調用這些Sub Routine的地方,其中有一個事件是’Before Save Data to Database’,我覺得這個事件是最适合驗證資料的地方.

把驗證邏輯寫完之後,可以驗證使用者輸入的資料是否和Allow Product Set type Change裡面的資料沖突,也可以提示使用者Error Message.

Input data.

Save

現在的問題是,Save之後,使用者正在編輯的行灰掉了,不能重新點選Change繼續編輯,隻能回退,取消Save.

我研究得出的原因是,系統生成打代碼調用了使用者自定義的事件之後,不管結果如何,都會執行後續的邏輯,是以Screen無法停留在剛才的狀态。而且所有的控制都是由系統生成代碼完成,USER無法幹預。

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。

繼續閱讀