zoukankan      html  css  js  c++  java
  • ABAP 中的换行符以及日期格式的特殊情况

    1、换行符

    当通过EXCEL上传获取数据的时候,常常会无意中带有换行符,换行符在DEBUG的时候我们会看到其会在字符串前后家双引号记忆在字符串后加#,也就是会变成“XXX#”这样,当然你通过CA等方式判断是否包含#这个字符的时候,是会判断失败的,那要怎么判断呢

    做如下定义:

    DATA: crlf(2TYPE c.

    crlf = cl_abap_char_utilities=>cr_lf.

    crlf其实就是换行符,debug可以看到其是两个#,也就是##,然后再通过lv_str ca crlf的方式去判断,就会判断成功

    如果需要去除#,则需要如下FORM,当然这个FORM也只能将带#的字符串中的#变成空格,所以如果要变成纯字符串,还需要对其中的空格及双引号进行处理

    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.

    2、日期的特殊情况

    当通过EXCEL上传导入日期格式的数据时,系统常常会将数据变成既不是INITIAL又不是’00000000‘,DEBUG看到的却是空值,通过CLEAR处理则会变成’00000000‘

    所以这个时候如何判断这个日期字段是否有值呢,就只能用  lv_date = ''来判断了,这个就会判断成功

    感觉很神奇

  • 相关阅读:
    pycharm中快捷键的使用
    Python中用format函数格式化字符串的用法
    Python eval()函数的用法
    python中的字符数字之间的转换函数
    python_控制台输出带颜色的文字方法
    Alpha通道是什么意思,和rgb通道有什么区别
    转载-【深度学习】深入理解Batch Normalization批标准化
    深度卷积网络-Inception系列
    微调Inception V3网络-对Satellite分类
    h5模型文件转换成pb模型文件
  • 原文地址:https://www.cnblogs.com/jingqing/p/9437132.html
Copyright © 2011-2022 走看看