SAP ABAP 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, 工具自動生成的代碼預(yù)留了調(diào)用這些Sub Routine的地方,其中有一個事件是’Before Save Data to Database’,我覺得這個事件是最適合驗證數(shù)據(jù)的地方.
把驗證邏輯寫完之后,可以驗證用戶輸入的數(shù)據(jù)是否和Allow Product Set type Change里面的數(shù)據(jù)沖突,也可以提示用戶Error Message.
Input data.
Save
現(xiàn)在的問題是,Save之后,用戶正在編輯的行灰掉了,不能重新點擊Change繼續(xù)編輯,只能回退,取消Save.
我研究得出的原因是,系統(tǒng)生成打代碼調(diào)用了用戶自定義的事件之后,不管結(jié)果如何,都會執(zhí)行后續(xù)的邏輯,所以Screen無法停留在剛才的狀態(tài)。而且所有的控制都是由系統(tǒng)生成代碼完成,USER無法干預(yù)。
要獲取更多Jerry的原創(chuàng)文章,請關(guān)注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的SAP ABAP maintanence view的数据校验机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Business Applica
- 下一篇: SAP新一代全栈开发工具:SAP Bus