本教程前面的步骤,我们已经介绍了如何编辑 SAP ALV 报表里的某一列数据:

  • 70. 利用 ALV 实现增删改查系列之二:仅让 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-4