안녕하세요.
귀차니즘 레이나입니다.
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