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删除字符串某字符-以秉


版权声明:本文为lmf496891416原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。