通过call function 'WS_DOWNLOAD'进行数据下载时,文本中往往可能存在英文双引号“、换行符或者回车,导致下载到EXCEL里面的数据被无故换行,所以在数据写入前,需要先将相关字符串里面的这些特殊字符进行处理,比如删除(删除当然会改变文本)
下面就是做的一个删除的动作
46C以下的版本:
DATA: gc_result(50) type c.
constants: con_tab type x value '09'.
*CONCATENATE 'text01' con_tab 'text02' con_tab 'text03' into gc_result.
470以上的版本:
class cl_abap_char_utilities definition load.
constants: c_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
*CONCATENATE 'text01' c_tab 'text02' c_tab 'text03' into gc_result.
REPLACE c_tab WITH '' INTO GV_SGTXT. "替换GV_SGTXT里面的特殊符号
在ABAP开发中,还存在其他特殊字符的使用情况,我们一块来了解一下:
类cl_abap_char_utilities中的特殊字符列表如下:
cl_abap_char_utilities=>horizontal_tab — 09 TAB符
cl_abap_char_utilities=>CR_LF ———-- 0D0A 回车换行
cl_abap_char_utilities=>VERTICAL_TAB —- 0B 垂直制表符
cl_abap_char_utilities=>NEWLINE —---- 0A 换行
cl_abap_char_utilities=>FORM_FEED —--- 0C 换页
cl_abap_char_utilities=>BACKSPACE —---08 退格符
CL_ABAP_CHAR_UTILITIES=>BYTE_ORDER_MARK_LITTLE-----(utf-16le')的文件头
CL_ABAP_CHAR_UTILITIES=>BYTE_ORDER_MARK_UTF8-------(utf-8)的文件