ABAP 去除字符串某个字段(去掉的金额逗号例子)

ABAP 去除字符串某个字段(去掉的金额逗号例子)

实际程序中,我们有很多需求是要把excel的数据导入SAP数据之中去,但是这金额是带有千分位逗号的,比如(2,602,568.71)如果要把这个值赋值给金额字段,那程序会直接报错。

解决方法一 :解决数据源头上的问题,直接把数据的格式换成数值。

解决方式二:在ABAP代码上进行数据处理和校验(业务有时候就是那么无理取闹)
1.先上代码

"基本思路的方法。
DATA: lv_je TYPE string VALUE '2,602,568.71' .
DO 10 TIMES.
  REPLACE  ','  INTO   lv_je WITH ``.    "注意要用 `` ,而不是 ''.如果是''会有空格。
  SEARCH lv_je FOR ','.
  IF sy-subrc <> 0.
    EXIT.
  ENDIF.
ENDDO.

"成熟的方法(请使用这种)
REPLACE ALL OCCURRENCES OF  ','   IN  金额字段  WITH  ``. 

输入:2,602,568.71
结果:2602568.71
在这里插入图片描述

其中做十次循环,是因为每一次 replace每次 只能去掉一个逗号,当所有的逗号都去除的时候,退出DO循环。
注意:replace 的用法: REPLACE 被代替字段 INTO 字符串 WITH 代替字段。

另外补充:REPLACE ALL OCCURRENCES OF ‘,’ IN lv_je WITH ‘’. 可以不用循环完全替代。是评论区老哥的提醒
在这里插入图片描述

分享使我快乐。
参考链接:
ABAP删除字符串某字符-以秉

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值