ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 去除字段末尾的半个汉字乱码[abap]

去除字段末尾的半个汉字乱码[abap]

原创 Linux操作系统 作者:LUNHO 时间:2012-11-09 13:04:22 0 删除 编辑
SPAN { font-family: "Fixedsys"; font-size: 21pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style. italic; color: #808080; } .L1S32 { color: #3399FF; } .L1S33 { color: #4DA619; } .L1S52 { color: #0000FF; }

REPORT  ztest  LINE-SIZE  255.
TABLES: lfa1.
DATA:
      lr_conv_ci TYPE REF TO cl_rpe_convert,
      vis.

DATA: BEGIN OF it_lfa1 OCCURS 0,
      lifnr     LIKE lfa1-lifnr,
      name1     LIKE lfa1-name1,
END OF it_lfa1.

SELECT-OPTIONS: s_lifnr  FOR lfa1-lifnr.

START-OF-SELECTION.

  CREATE OBJECT lr_conv_ci.
  SELECT  lifnr name1
                  FROM lfa1
                  INTO TABLE it_lfa1
                 WHERE lifnr IN s_lifnr.
  SORT it_lfa1 BY lifnr.
  LOOP AT it_lfa1.
    PERFORM frm_data_process USING it_lfa1-name1 vis.
    IF vis = 'E'.
      CONDENSE it_lfa1-name1.
      WRITE:/ it_lfa1-lifnr, ' ', it_lfa1-name1.
    ENDIF.
  ENDLOOP.

*&---------------------------------------------------------------------*
*&      Form  frm_data_process
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_data_process USING p_name1 p_vis.
  DATA: l_vislen      TYPE i,
        l_xislen      TYPE i,
        l_pos         TYPE i,
        l_string      TYPE string,
        l_last_char   TYPE xstring.
  CLEAR p_vis.
  SHIFT p_name1 RIGHT DELETING TRAILING space.
  l_pos = STRLEN( p_name1 ) - 1.

  CALL FUNCTION 'NLS_VISUAL_CHARLEN'
    EXPORTING
      str        = p_name1+l_pos(1)
    IMPORTING
      len_visual = l_vislen.

  MOVE p_name1+l_pos(1)  TO l_string.
  CALL METHOD lr_conv_ci->string_to_xstring
    EXPORTING
      input  = l_string
    IMPORTING
      output = l_last_char.
  l_xislen = XSTRLEN( l_last_char ).
  IF l_vislen <= 1 AND l_xislen > 2.
    MOVE 'E'        TO p_vis.
    SHIFT p_name1 RIGHT BY 1 PLACES.
  ENDIF.

ENDFORM.                    " frm_data_process

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/90790/viewspace-748801/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-11-09

  • 博文量
    1
  • 访问量
    2749