BW特殊字符处理函数

FUNCTION zfm_bi_invlid_character.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     REFERENCE(STR_IN) TYPE  STRING
*"  EXPORTING
*"     REFERENCE(STR_OUT) TYPE  STRING
*"----------------------------------------------------------------------
  DATA: zbgms(1000TYPE .
  DATA: intbgms TYPE i.
  DATA: bufferbgms TYPE xstring,
        hex_00     TYPE VALUE '00',
        hex_01     TYPE VALUE '01',
        hex_02     TYPE VALUE '02',
        hex_03     TYPE VALUE '03',
        hex_04     TYPE VALUE '04',
        hex_05     TYPE VALUE '05',
        hex_06     TYPE VALUE '06',
        hex_07     TYPE VALUE '07',
        hex_08     TYPE VALUE '08',
        hex_09     TYPE VALUE '09',
        hex_0a     TYPE VALUE '0A',
        hex_0b     TYPE VALUE '0B',
        hex_0c     TYPE VALUE '0C',
        hex_0d     TYPE VALUE '0D',
        hex_0e     TYPE VALUE '0E',
        hex_0f     TYPE VALUE '0F',
        hex_10     TYPE VALUE '10',
        hex_11     TYPE VALUE '11',
        hex_12     TYPE VALUE '12',
        hex_13     TYPE VALUE '13',
        hex_14     TYPE VALUE '14',
        hex_15     TYPE VALUE '15',
        hex_16     TYPE VALUE '16',
        hex_17     TYPE VALUE '17',
        hex_18     TYPE VALUE '18',
        hex_19     TYPE VALUE '19',
        hex_1a     TYPE VALUE '1A',
        hex_1b     TYPE VALUE '1B',
        hex_1c     TYPE VALUE '1C',
        hex_1d     TYPE VALUE '1D',
        hex_1e     TYPE VALUE '1E',
        hex_1f     TYPE VALUE '1F',
        hex_sp     TYPE VALUE '20',
        conv1      TYPE REF TO cl_abap_conv_out_ce,
        conv2      TYPE REF TO cl_abap_conv_in_ce.

  zbgms = str_in.
 TRANSLATE zbgms TO UPPER CASE.
  intbgms strlen( zbgms ).

  conv1 = cl_abap_conv_out_ce=>create(
  encoding 'UTF-8'
  endian 'L'
  ).

  CALL METHOD conv1->writedata = zbgms n = intbgms ).
  bufferbgms = conv1->get_buffer).

*   用空格(hex_sp)替换字符(hex_0A)#和!@(hex_0D);介于 HEX00 和 HEX1F 之间的十六位格式的字符替换为空
  REPLACE ALL OCCURRENCES OF hex_00 IN bufferbgms WITH hex_sp IN BYTE 

转载于:https://www.cnblogs.com/xmqlv20081008/p/7815366.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值