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

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

时间:2023-11-19 11:35:31浏览次数:20  
标签:报表 删除 改查 增删 ABAP 试读 ALV

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

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

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

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

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

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

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

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

下面是正文

最后的效果如下:

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

标签:报表,删除,改查,增删,ABAP,试读,ALV
From: https://www.cnblogs.com/sap-jerry/p/17841767.html

相关文章

  • C#使用SqlSugar操作MySQL数据库实现简单的增删改查
    ......
  • 关于SAP ABAP ALV开发的吐槽
    我认为ALV开发时ABAPer第二无聊的工作,非必要千万别做,浪费青春;实在要做也要提高效率少花时间在ALV展示上,集中精力处理后台逻辑。常见的callFM或者OO+Dialog的实现方式,都要手动设置fieldcat、layout,挺烦人的。我比较喜欢用SAP标准的SALV类来做,或者使用国外大神封装的FastAL......
  • 随笔:Mysql增删改查
    id,name,age,sex,score增加两条数据:insertintotable_studentvalues(0,'name1',age1,'sex1',score1),(1,'name2',age2,'sex2',score2);将name1中的age1更新为age3:updatetable_studentsetage=age3whereid=0;删除name1的记录de......
  • 问题解答:SAP OData V2 和 V4 里针对日期类型的字段进行过滤操作(filter)的正确语法试
    我的知识星球里有朋友咨询一个问题:我测试了一个S/4HANAcloud的purchaseorder的API,这个是ODATAV4格式的。在对CreationDate做filter后运行有报错Invalidparametertypeusedwithfunction'eq'.对datetime字段做filter,一直搞不清楚格式。请帮忙看一下。本文就安排这......
  • 面向对象的 ABAP 里,全局类和局部类有什么区别,以及各自使用场合试读版
    本教程之前的文章,第一次介绍了ABAP面向对象编程领域的类,实例,方法等概念。20.面向对象的ABAP编程初探-什么是类,实例,和Public方法在ABAP很多帮助文档里,我们都能看到SAP在提到类的时候,总是将GlobalClass(全局类)和LocalClass(局部类,有时也称本地类,内部类)相提并论。......
  • ABAP None-Class-Based 异常处理的一些局限性介绍试读版
    本教程前一篇文章,我们已经学习了ABAP里Non-Class-Based异常的使用方法:113.ABAP异常处理(ExceptionHandling)-什么是Non-Class-Based异常从历史上来说,SAPABAP先有Non-Class-Based异常,再有Class-Based异常的解决方案。从道理上分析,前者必定有一些使用上的缺陷,......
  • 增删改查
     数据库的一些操作:一:数据库的操作1:创建数据库语法格式:createdatabase数据库名;mysql>createdatabasetest;QueryOK,1rowaffected(0.00sec)mysql>showdatabases;+--------------------+|Database|+--------------------+|informat......
  • Dalvik虚拟机是在Linux内核上面运行的吗?为什么能执行安卓APK程序?
    Dalvik虚拟机确实是在Linux内核之上运行的。它是安卓系统的关键组件,专门设计来执行APK文件中的代码。这里是它的工作原理和一个生活中的例子:工作原理:基于Linux内核:安卓系统基于Linux内核,这为安卓设备提供了底层功能,如硬件抽象、网络通信、安全机制等。Dalvik虚拟机:在Linux......
  • 安卓系统执行APK程序为什么需要ART或者Dalvik虚拟,原理是什么
    安卓系统执行APK程序需要ART(AndroidRuntime)或者以前的Dalvik虚拟机,主要是因为安卓应用大多数是用Java语言编写的,而Java是一种需要虚拟机来执行的语言。下面我会分别解释虚拟机的原理和为什么需要它们,以及提供一个生活中的例子来帮助理解。 ###虚拟机的原理: 1......
  • 现在的安卓12或者是安卓13用的是什么虚拟机ART还是Dalvik?举个比喻
    Android5.0(Lollipop)及以后的版本使用的是ART(AndroidRuntime)虚拟机,而不是早期版本中使用的Dalvik虚拟机。从Android4.4(KitKat)开始,ART就作为一个实验性的特性出现,并在随后的版本中取代了Dalvik。 要用一个生活中的例子来比喻的话,我们可以把虚拟机想象成一家咖啡店的咖啡机。......