본문 바로가기
카테고리 없음

abap space character cl_abap_conv_in_ce 공백문자 hexa value 추출하여 처리하기

by 온레 2023. 8. 4.


안녕하세요.
귀차니즘 레이나입니다.

web에서 html 양식으로
데이타가 그대로 읽어와 sap에 저장되면
가끔 특수 공백들이 같이 저장 되게되죠.

그럴땐, 엑셀 다운할때 오류 날 수 있어요.

그래서
아래와같이
Unicod Hexa값을 확인해서
space처리 해주면 됩니다.
ABAP UCCP 처리




FORM convert_space USING p_str.

DATA : lv_00a0    TYPE syschar02,
      lv_2000    TYPE syschar02,
      lv_3000    TYPE syschar02,
      lv_len     LIKE sy-fleng,
lv_pos     LIKE sy-fdpos.

CLEAR : lv_00a0, lv_2000, lv_3000,  
lv_len, lv_pos.

“줄 바꿈 없는 공백 no-break space
    lv_00a0 = cl_abap_conv_in_ce=>uccp(‘00A0’).  

“space ; 0020 -> 2000 으로 인식
    lv_2000 = cl_abap_conv_in_ce=>uccp(‘2000’).

“와지 간격, 전각 공백 ideographic space
    lv_3000 = cl_abap_conv_in_ce=>uccp(‘3000’).


lv_len = strlen( p_str ). “탐색할 문자열 길이
lv_pos = lv_len.  “탐색할 위치

DO lv_len.
lv_pos = lv_pos - 1.“문자열 인덱스는 0~len-1

IF p_str+lv_pos(1) = lv_00a0 OR
      p_str+lv_pos(1) = lv_2000 OR
      p_str+lv_pos(1) = lv_3000.
              p_str+lv_pos(1) = space.“일반space처리
        ENDIF.
ENDDO.

“ 양끝 공백 제거
  CONDESE p_str.

ENDFORM.



특수 공백 Unicode값이
아래와 같이 더 있으니 참고 하세요.
Unicode LIST


출처 : 위키피디아

https://ko.m.wikipedia.org/wiki/%EA%B3%B5%EB%B0%B1_%EB%AC%B8%EC%9E%90

공백 문자 - 위키백과, 우리 모두의 백과사전

ko.m.wikipedia.org