码迷,mamicode.com
首页 > 其他好文 > 详细

去除SAP中的一些特殊字符

时间:2018-05-06 13:35:56      阅读:518      评论:0      收藏:0      [点我收藏+]

标签:har   ica   function   简单的   frontend   去除   style   code   报表   

① 换行符,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中的一些特殊字符

标签:har   ica   function   简单的   frontend   去除   style   code   报表   

原文地址:https://www.cnblogs.com/wangxiaowen/p/8997760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!