ABAP 字符串换行符处理

今天发现BW系统从K3系统数据库抽取会计科目的描述时,转换出错。

从监控器上看是值2KO 845 412D#有问题,但不知道有什么问题,检查后感觉是符号#的问题。

在转换中添加代码,替换#,发现没有起任何作用。

REPLACE '#' IN RESULT WITH ''.

检查字符串中发现字符串中的# 十六进制是0D00,一般的#符号是2300,这里基本确定从K3抽取过来的#不是正常的#符号,而且字符串中的换行符或者回车。

调整代码,先获取SAP的换行符,再替换字符串中的符号。

DATA LS_CHAR TYPE C.
LS_CHAR = CL_ABAP_CHAR_UTILITIES=>CR_LF.  " 获取换行符
REPLACE LS_CHAR IN RESULT WITH ''.

测试后替换成功。

 

ABAP 字符串换行符处理

全文结束