ZINVAILD_CHAR_CONVERSION_EXIT



Data g_field(200type .
DATA:  g_len TYPE i,g_index TYPE i.
DATAg_c(1TYPE c.

FIELD-SYMBOLS<fs_tmp> TYPE X.
FIELD-SYMBOLS<fs_conv> TYPE C.

  g_field g_input.
*1. 去除非法字符
  IF NOT g_field IS INITIAL .
    TRANSLATE g_field TO UPPER CASE.
    TRANSLATE g_field USING '#' .
    TRANSLATE g_field USING '!' .
    TRANSLATE g_field USING '&' .

    CONDENSE g_field NO-GAPS.
    DESCRIBE FIELD g_field LENGTH g_len IN CHARACTER MODE.

    DO g_len TIMES .
      g_index sy-index 1.
      g_c g_field+g_index(1).

      ASSIGN g_c TO <fs_tmp> CASTING .
      IF <fs_tmp> '2100' OR <fs_tmp> '6000'
                  OR <fs_tmp> '0A00' OR <fs_tmp> '0B00'
                  OR <fs_tmp> '0C00' OR <fs_tmp> '0D00'
                  OR <fs_tmp> '0E00' OR <fs_tmp> '0F00'
                  OR <fs_tmp> '2300' OR <fs_tmp> '0000'
                  OR <fs_tmp> '0100' OR <fs_tmp> '0200'
                  OR <fs_tmp> '0300' OR <fs_tmp> '0400'
                  OR <fs_tmp> '0500' OR <fs_tmp> '0600'
                  OR <fs_tmp> '0700' OR <fs_tmp> '0800'
                  OR <fs_tmp> '0900' OR <fs_tmp> '1000'
                  OR <fs_tmp> '1100' OR <fs_tmp> '1200'
                  OR <fs_tmp> '1300' OR <fs_tmp> '1400'
                  OR <fs_tmp> '1500' OR <fs_tmp> '1600'
                  OR <fs_tmp> '1700' OR <fs_tmp> '1800'
                  OR <fs_tmp> '1900' OR <fs_tmp> '8000'
                  OR <fs_tmp> '8100' OR <fs_tmp> '8200'
                  OR <fs_tmp> '8300' OR <fs_tmp> '8400'
                  OR <fs_tmp> '8500' OR <fs_tmp> '8600'
                  OR <fs_tmp> '8700' OR <fs_tmp> '8800'
                  OR <fs_tmp> '8900' OR <fs_tmp> '9000'
                  OR <fs_tmp> '9100' OR <fs_tmp> '9200'
                  OR <fs_tmp> '9300' OR <fs_tmp> '9400'
                  OR <fs_tmp> '9500' OR <fs_tmp> '9600'
                  OR <fs_tmp> '9700' OR <fs_tmp> '9800'
                  OR <fs_tmp> '9900' OR <fs_tmp> '0D0A' .
        g_field+g_index(1'' "置空
      ENDIF .
    ENDDO .
  ENDIF.

  CONDENSE g_field NO-GAPS"压缩掉字符间的空格
  g_result g_field.
****************************************************************************************



LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
    CALL FUNCTION 'ZINVAILD_CHAR_CONVERSION_EXIT'
      EXPORTING
       G_INPUT        <SOURCE_FIELDS>-BWTAR
    IMPORTING
      G_RESULT       <SOURCE_FIELDS>-BWTAR .
ENDLOOP.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值