复制 ALV 之负号提前

作者:ABAP老白 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, 开发

场景:

用户一般Ctrl+C复制ALV数据到Excel处理,如果有负数的数值,负号在数值的后面,Excel不认识,要费劲巴拉的一个个改正,苦不堪言!

本程序功能:

在ALV复制数据后,直接更改剪贴板里面的数据,把负号提到前面,然后直接在Excel粘贴就可以了。如果有逗号作为千分位符,也一并去掉。

程序逻辑:

获取剪贴板数据后,根据制表符分割字段,如果字段包含

** 0123456789 , . \- **

之外的字符,说明不是数值,跳过;否则,判断最后的一个字符是不是负号“-”,如果不是,跳过;如果是负号,则把这个负号挪到数值前面,同时把里面的千分位符去掉,例如:23,345.58-

变成 -23345.58。依次处理所有行,处理完毕把处理过的数据再粘贴到剪贴板,就可以直接在Excel粘贴了。

爱心提示:

把事务码放到收藏夹里面,用户只要双击一下就OK了。

复制 ALV 之负号提前 - 封面图
复制 ALV 之负号提前 - 封面图

双击一下:

复制 ALV 之负号提前 - 封面图
复制 ALV 之负号提前 - 封面图

代码:

因为微信公众号编辑器又不能保持字体颜色和缩进的格式了,代码变的一团糟,所以还是贴图。代码可以去QQ群(15881589)找。

复制 ALV 之负号提前 - 封面图
复制 ALV 之负号提前 - 封面图
复制 ALV 之负号提前 - 封面图
复制 ALV 之负号提前 - 封面图
ABAP老白

关于作者:ABAP老白

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

来源说明:本文内容由「复制ALV之负号提前.md」整理生成,仅用于内部技术分享与学习交流。