|
댓글 5
-
activeman
2009.08.25 22:08
-
요요
2009.08.25 22:08
SPLIT L_STRING AT CL_ABAP_CHAR_UTILITIES=>NEWLINE INTO TABLE I_DATA.
이 부분에서 개인적으로 는 CL_ABAP_CHAR_UTILITIES=>NEWLINE 대신
CL_ABAP_CHAR_UTILITIES=>CR_LF 를 사용해 보시는 것이 어떨지요.. ^^;;
테스트 환경이 되면 좋겠지만 그렇지 못해서 확인을 못해드리네요. ^^;
제 생각에는 CL_ABAP_CHAR_UTILITIES=>CR_LF 가 크기 2
CL_ABAP_CHAR_UTILITIES=>NEWLINE 크기 1 인데
CL_ABAP_CHAR_UTILITIES=>CR_LF 로 되어있는 것을
CL_ABAP_CHAR_UTILITIES=>NEWLINE 으로 SPLIT 되면서 글자가
짤렸을 것 같은 생각이 드네요.
아마도 NEWLINE 과 Carriage return, Line feed 값 둘중에 하나가 같은 값이 아닐까 생각되네요.
해당 부분
REPLACE ALL OCCURRENCES OF CL_ABAP_CHAR_UTILITIES=>CR_LF IN LV_FIELD WITH ''.
이부분을
REPLACE ALL OCCURRENCES OF : CL_ABAP_CHAR_UTILITIES=>CR_LF(1) IN LV_FIELD WITH '',
CL_ABAP_CHAR_UTILITIES=>CR_LF+1(1) IN LV_FIELD WITH ''.
로 바꿔보셔도 될 것 같은 생각이 드네요. ^^
잘 해결되시길 바랍니다.
-
헐크호간
2009.08.25 22:16
캐릭터유틸 값으로 안되면요..
#이라는게... 눈에 안보이는 아스키 코드일텐데요...
16진수로 읽어서 무슨값인지 확실히 확인하신다음..
호라이즌탈 탭이라면 '09',
캐리지리턴이면 '0D',
라인피드면 '0A' 일텐데요...
이중에 없으면 아스키코드표 보고 찾으셔서..헥사를 캐릭터로 바꾸신다음에 공백으로 리플레이스 해주시면 됩니다.
-
꽃순이
2009.08.25 22:26
정말 다들 감사합니다 ㅠ_ㅠ.. REPLACE ALL OCCURRENCES OF : CL_ABAP_CHAR_UTILITIES=>CR_LF(1) IN LV_FIELD WITH ''
이걸로 해결했습니다.. 정말 감사합니다...
-
헐크호간
2009.08.25 23:26
CR_LF(1) 이렇게 해서 된다고 하면...유니코드 문제도 고려하셔야 합니다..
업로드 함수를 뭘로 사용하셨는지요?
혹시 CALL METHOD CL_CUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME = FILENAME
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = '#'
CHANGING
DATA_TAB = ITAB.
혹시 딘프로에서 사용하는 함수와 같다면 이렇게 한번 해보세요..
그리고 파일은 유니코드 텍스트로 저장하시구요.
즐밥하세요..