本文共 1027 字,大约阅读时间需要 3 分钟。
① 换行符,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中被存为“#“。
虽然被保存为#,但在报表中仍能正常显示。
如果是Excle中有换行, 则被存储为双引号.
换行符,TAB KEY等的置换处理
换行符,TAB KEY等的置换不能简单的用REPLACE命令进行处理。
正确的处理如下:
FORM remove_cr_lf USING p_str. DATA: tcodepage TYPE cpcodepage. CALL FUNCTION 'NLS_GET_FRONTEND_CP' EXPORTING langu = sy-langu fetype = 'MS' IMPORTING frontend_codepage = tcodepage 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 = p_str inter_cp = tcodepage replacement = 32 " 等于space, ASC IMPORTING outtext = p_str EXCEPTIONS invalid_codepage = 1 codepage_mismatch = 2 internal_error = 3 cannot_convert = 4 fields_not_type_c = 5 OTHERS = 6. ENDFORM.