去除SAP中的一些特殊字符

Posted china_wangxiaowen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去除SAP中的一些特殊字符相关的知识,希望对你有一定的参考价值。

① 换行符,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.                    " REMOVE_CR_L

 

以上是关于去除SAP中的一些特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

Python中的去除字符串中的空格和特殊字符的方法都有哪些呢?

java去除字符串中的特殊符号或指定的字符

bash中的引用

如何去除文件名中的特殊字符

如何在 PHP 中去除特殊的引号字符?

这里的这些小符号怎么打出来 php 怎么去除 或者 替换掉 这些特殊字符?