SAP/Function

RKD_WORD_WRAP : 스트링을 글자수 대로 테이블로 잘라주는 함수

그녀는애교쟁이 2015. 3. 3. 09:36
반응형

ABAP에서 한글을 자르는 것은 참으로 위험 부담이 있다. 글자를 2byte 씩으로 인식을 하기 때문에 그냥 byte로 잘랐다가는 한글이 깨지는 상황이 발생할 수 있다. 그리고 길이를 재도 한글은 2자리 영문은 1자리로 인식해서 합쳐져서 나오기 때문에 한글과 영문이 섞여 있다면 자리수 대로 나누기가 어렵다. 


그래서 오늘 포스팅 할 함수는 스트링을 테이블로 변환해 주는 함수이다.  RKD_WORD_WRAP한글이든 영문이든 스티링을 글자수를 지정한 테이블에 잘라서 넣어주는 함수 이다. 함수에 TEXTLINE 에 스티링을 넣으면 OUT_LINE1, OUT_LINE2, OUT_LINE3 가 나오고 ( 아마도 첫줄 요약 용도로 사용하라는 의미 같다. ) 그리고 OUT_LINES 테이블에 글자가 잘려서 들어가 있다.




TEXTLINE, DELIMITER, OUTPUTLEN 을 지정할 수 있다. 기존에 자리수를 고정으로 자르다 보면 오류가 많이 발생했다.




OUTLINE1, OUTLINE2, OUTLINE3 외 OUTLINES 테이블의 결과값이 출력된다.




OUTLINES 테이블은 위와 같이 글자 수에따라 잘라서 테이블을 구성해 준다.


이 외에도 스트림 테이블을 LONG TEXT 용 테이블로 변환해 주는 함수도 있고, ASCII로 변환해주는 함수도 있다. 프로그래밍을 하는데 중요한 스트링을 다루는 함수는 잘 알아 놓는게 좋겠다. 많이 사용하기도 하고 스트링 노가다를 줄이는 길이다.