本教程前面的步驟,我們已經介紹瞭如何編輯 SAP ALV 報表裡的某一列資料:
如下圖 Airfare 和 Capacity 列所示。然而實際的開發專案中,我們肯定不會允許使用者對這些列進行隨心所欲的修改,必定要增添一些自定義校驗邏輯,以免在系統產生一些髒資料。本文向大家介紹如何為 SAP ABAP ALV 報表某一列的編輯功能,增加自定義校驗邏輯。
先看一下本文實現的效果。我們允許使用者在 ALV 報表上修改航班的 Occupied 即已經賣出去的座位個數,顯然這個個數不能超過航班最大允許的座位數,即不能超過前一列 Capacity 的值。
我們把上圖第一行的 375,改成3750,然後回車,觸發如下的自定義校驗邏輯,錯誤訊息顯示:The number of seats occupied exceeds the capacity of the plane 747-400
同時,我手動把 Plane Type 列的 747-400 改成 747-401,也會收到另一條錯誤訊息:Entry 747-401 does not exist in SAPLANE (check entry)
下面是這些自定義校驗的詳細實現步驟。