利用 ALV 实现增删改查系列之四:如何捕捉 SAP ABAP ALV 报表行项目删除时抛出的事件试读版
  TMsmPi2GqyyN 2023年11月30日 29 0

这个教程 ALV 系列的前三篇文章如下:

  • 69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态
  • 70. 利用 ALV 实现增删改查系列之二:仅让 ALV 报表某一列允许被编辑
  • 72. 利用 ALV 实现增删改查系列之三:如何给 SAP ABAP ALV 报表的修改功能添加自定义校验逻辑

笔者的知识星球有朋友提问:

我想请教一下 如何在 cl_gui_alv_grid 的标准删除按钮 (&LOCAL&DELETE_ROW)上做增强呢? 比如我想点删除行的时候让它报个提示

利用 ALV 实现增删改查系列之四:如何捕捉 SAP ABAP ALV 报表行项目删除时抛出的事件试读版_增删改查

本文就来解答这个问题,我们使用的源代码在下面这篇文章的基础上做修改:

  • 69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态

我们可以打开第 69 篇文章创建的 ABAP 报表 ZDEMO_EDIT_ALV1, 然后右键,选择菜单的 Copy 项,拷贝一个新的 ABAP 报表出来。但是注意这个 Copy 菜单只能帮助我们拷贝 ABAP 程序的源代码,对于 Screen 和 GUI Status 这些无法自动拷贝,我们只能在新的 ABAP 程序里,手动重建 Screen 和 GUI Status.

利用 ALV 实现增删改查系列之四:如何捕捉 SAP ABAP ALV 报表行项目删除时抛出的事件试读版_增删改查_02

拷贝好 ABAP 报表之后,执行,我们应该会看到下面的界面。目前点击 ALV 报表自带的删除按钮(Delete Row)之后:如果当前 ALV 没有选中任意一行,则默认第一行数据会被删除;如果存在被选中行,则被选中行被删除。

利用 ALV 实现增删改查系列之四:如何捕捉 SAP ABAP ALV 报表行项目删除时抛出的事件试读版_增删改查_03

目前的删除行为,点击上图的 Delete Row 按钮后,行项目会立即被删除。如何实现笔者知识星球里那位朋友提出的增加删除提示的需求呢?

我在网络上搜索了一下,发现针对这个捕捉 ALV 报表标准工具栏删除按钮的点击事件需求,存在很多技术文章,但都写得似是而非,所以专门写一篇文章。

下面是正文。

最后的效果如下:

利用 ALV 实现增删改查系列之四:如何捕捉 SAP ABAP ALV 报表行项目删除时抛出的事件试读版_增删改查_04

本步骤使用到的完整源代码在此处。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月30日 0

暂无评论

推荐阅读
TMsmPi2GqyyN