ABAP 换行符,TAB KEY 替换方式

本文介绍了ABAP中换行符、TABKEY等的表示方式,包括如何在数据文件输出时使用TABKEY进行字段分割,并讨论了这些符号在DB中的保存形式以及置换处理的方法。
  * 46C以下的版本:
  DATA: l_string TYPE string.
  DATA: l_enter  TYPE string VALUE '0D0A'.  "回车
  CONSTANTS: l_tab TYPE x VALUE '09'.
  * 470以上的版本:
*TAB分隔符
  CLASS cl_abap_char_utilities DEFINITION LOAD.
  CONSTANTS: l_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
所有字符在下面的类中:
cl_abap_char_utilities=>horizontal_tab — 09
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=>CR_LF(1)
cl_abap_char_utilities=>CR_LF 1(1)
从EXCEl文件中传上的文件的回车符就是cl_abap_char_utilities=>CR_LF 1(1)
****************************************************另一篇博文
ABAP中有关于换行符,TAB KEY等 收藏


① 换行符,TAB KEY等的表示
在数据文件输出的时候,有时候需要使各个字段间用TAB KEY进行分割。
那么,TAB KEY在ABAP中是如何表示的,就是写入一个TAB KEY吗?
事实上,在类对象CL_ABAP_CHAR_UTILITIES中已经事先定义好了如换行符,TAB KEY等。
CR_LF 换行符
HORIZONTAL_TAB 水平方向的TAB KEY
VERTICAL_TAB 竖直方向的TAB KEY
FORM_FEED 改页
例: CONCATENATE COL1 COL2 CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB INTO …


② 换行符,TAB KEY等在DB中保存
换行符,TAB KEY等在SAP的DB中被存为“#“。
虽然被保存为#,但在报表中仍能正常显示。


③ 换行符,TAB KEY等的置换处理
换行符,TAB KEY等的置换不能简单的用REPLACE命令进行处理。
正确的处理如下:
CALL FUNCTION 'NLS_GET_FRONTEND_CP'
EXPORTING
LANGU = SY-LANGU
IMPORTING
FRONTEND_CODEPAGE = CPCODEPAGE
EXCEPTIONS
ILLEGAL_SYST_CODEPAGE = 1
NO_FRONTEND_CP_FOUND = 2
INTERNAL_OR_DB_ERROR = 3
OTHERS = 4.


CALL FUNCTION 'SCP_REPLACE_STRANGE_CHARS'
EXPORTING
INTEXT = INTEXT
INTER_CP = CPCODEPAGE
REPLACEMENT = 32
IMPORTING
OUTTEXT = OUTTEXT
EXCEPTIONS
INVALID_CODEPAGE = 1
CODEPAGE_MISMATCH = 2
INTERNAL_ERROR = 3
CANNOT_CONVERT = 4
FIELDS_NOT_TYPE_C = 5
OTHERS = 6.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值