2014년 10월 8일 수요일

ABAP 한글 출력 길이 조정



PERFORM CUT_STRING USING LV_DESC 20 CHANGING LV_TEXT1 LV_TEXT2.



FORM CUT_STRING  USING    I_ZPKRE  I_LEN  CHANGING O_TEXT1 O_TEXT2.

  DATA : LV_LEN     TYPE I,
         LV_LEN2    TYPE I,
         LV_TLEN    TYPE I.

  CLEAR : LV_LEN , LV_LEN2 , LV_TLEN , O_TEXT1 ,O_TEXT2 .

  O_TEXT1   = I_ZPKRE.
  O_TEXT2   = O_TEXT1.
  LV_LEN2   = I_LEN - 1 .
  LV_TLEN   = STRLEN( O_TEXT1 ).


  DO 40 TIMES.

" 출력될문자열의 실제 길이 확인
    CALL METHOD CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH
      EXPORTING
        FIELD = O_TEXT1
      RECEIVING
        LEN   = LV_LEN.

    IF LV_LEN <= I_LEN.
      EXIT.
    ELSE.
      O_TEXT1  = O_TEXT1+0(LV_LEN2).
      LV_LEN2 = LV_LEN2 - 1 .
    ENDIF.
  ENDDO.

  LV_LEN     = STRLEN( O_TEXT1 ).
  LV_TLEN    = LV_TLEN - LV_LEN.
  O_TEXT2    = O_TEXT2+LV_LEN(LV_TLEN).

ENDFORM.                    " CUT_STRING

댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.