SAP 工具箱数据删除工具

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Data Engineering, PP, SD, 开发, 数据工程, 生产, 系统管理, 销售分销
SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

前言

项目中可能会有需求删除表中的特定记录,尤其是自定义表的记录,项目前期可能因为各种原因导致自定义表存在无效数据,这些无效数据占用空间,并且可能影响程序逻辑.影响系统整体监控.

有很多方法可以删除这些数据, 最快的方法就是在SQL编辑中用DELETE 语句按指定条件删除.

但是,一旦删除条件考虑不周. 一时的爽快将会带来长时间的痛苦.

这种痛苦的经历触发了写一个数据删除工具的念头

**本文主要介绍一款数据删除工具**

思维导图

整理了数据删除的关键点

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

SE16N的缺陷

SE16N中包含了数据的删除功能. 对应查询出来的数据可以选中删除. 适用于少量数据的删除.删除内容有备份

SE16N对查询数据的全选删除受ALV缓存数据的影响, 不能一次性的完成操作. 之前还写过一篇文章介绍了SE16N的全选删除的改造.(该文章无法建立链接,

感兴趣的可以在公众号中查找)

数据删除工具

下面是数据删除工具的功能介绍

_**01** _

**计数**

根据输入的表,及删除条件, 计数. 可以用来检查删除条件是否正确. 同时通过计数大致判断删除条件是否正确.

后续考虑添加功能显示待删除数据的内容(该功能也可以用DB02的SQL编辑器实现)

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

_**02** _

**备份**

执行计数, 如果计数>0且勾选了存在备份表. 程序会生成一个处理日志, 同时创建备份表 <原表名>_<日志ID> . 把符合条件的原表数据写入备份表.

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

_**03** _

**删除**

先执行备份的过程, 成功的话,执行原表的删除动作

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

_**04** _

**日志**

根据查询条件查询日志内容.日志中详细记录了每次操作执行的步骤及这些步骤的SQL语句,

同时日志ALV清单中提供了功能完成备份表内容的回写及备份表的清空

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

_**05** _

**回写**

把日志表记录的备份表内容回写到原表中,如果没有错误发生, 日志记录添加回写标记

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

_**06** _

**清理**

因为备份表占用了一定的空间. 当确认备份表内容可以清理后, 可以使用这个功能清理掉备份表的内容,同时日志中标记备份表被删除

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

_**07** _

**日志表定义**

日志表记录相关的操作记录

SAP 工具箱数据删除工具 - 封面图
SAP 工具箱数据删除工具 - 封面图

关于工具的获取

免费方式: 分享朋友圈并截图发给作者. 并注明需要源代码(需要自行创建表,屏幕,等源代码无法覆盖的对象) 还是获取安装包(内核是传输请求).

付费方式: 随意打赏文章后联系作者索取源代码或安装包

> 关于安装包的使用详见链接 无峰,公众号:ABAP开发技巧 [ SAP工具箱之 ABAP安装程序V3.0

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247484922&idx=1&sn=521be895251d71a7fe35514fd45fb036&chksm=cf5dd8ccf82a51da04aeaa06f1017d618442b5bff5271f1a31011471de5e367a2f64303cff98&token=1626996525&lang=zh_CN#rd)

安装程序核心就是把传输请求导入系统, 如果安装过程出错, 可以用STMS完成导入功能.

免责申明

该工具使用者,如果因为失误(未勾选备份或手工清理了备份表)而导致的重要数据丢失并不可找回.责任请自负.

总结

数据删除工具需要使用者有一定的HANA SQL语句经验, 可以写简单或复杂WHERE 条件.

数据删除工具核心逻辑调用了HANA SQL语句快速完成数据的计数,备份,删除等操作. 这些语句可以在HANA SQL编辑器中直接执行.

工具只是把数据删除的相关操作整合到一起,记录了日志, 方便查询及执行.

备份表由数据库底层的语句创建, 数据字典中无法查看.

因为DB02中提供了SQL语句查询数据内容. 所以这个工具就没有包含显示数据内容的功能.

这可以作为后续的一个改进点,或者实现对DB02的SQL编辑器的调用.

**使用中发现什么问题或改进意见请不吝赐教**

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan

申请进入公众号讨论群提问或者参与话题讨论

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP工具箱数据删除工具.md」整理生成,仅用于内部技术分享与学习交流。