ABAP에서 문자열의 선행(앞) 또는 후행(뒤)의 공백을 제거 하는 방법


SAP의 ABAP 프로그램을 작성할 때 문자열 처리는 다양한 형식으로 이루어지고 있습니다.
SAP만의 특징인 ALPHA Conversion이 대표적이라고 할 수 있습니다.
그 외에 문자열 자르기나 문자열 치환 등도 자주 사용하는 문자열 처리 방법들 중에 하나 입니다.

이 글에서 소개할 내용은 문자열의 선행이나 후행, 즉 문자열의 앞,뒤의 공백을 제거하거나 문자열 사이에 있는 공백을 제거하는 방법에 대해 알아보겠습니다.

ABAP에서 문자열의 선행(앞) 또는 후행(뒤)의 공백을 제거 하는 방법

아래 캡쳐 화면은 [CONDENSE], [SHIFT — LEFT DELETING LEADING], [SHIFT — RIGHT DELETING TRAILING]를 사용하여 문자열의 앞(선행) 또는 뒤(후행)의 공백을 제거하거나 문자열 사이의 공백을 제거하는 ABAP 프로그램의 실행 결과 화면입니다.

ABAP에서 문자열의 선행(앞) 또는 후행(뒤)의 공백을 제거 하는 방법

▼ 아래 Source는 위의 실행 결과에 대한 실제 ABAP 프로그램 소스 입니다.

DATA: S_TEXT(50) VALUE ‘ Welcome to gseek.pe.kr   ‘,
         I_LENGTH TYPE I.
 
WRITE:/ ‘** 앞,뒤 공백이 하나씩 있는 원본 텍스트’.
I_LENGTH = STRLEN( S_TEXT ).
WRITE:/ ‘S_Text :’, S_TEXT.
WRITE:/ ‘Length :’, I_LENGTH.
SKIP 1.
 
WRITE:/ ‘** CONDENSE 사용’.
S_TEXT = ‘ Welcome to gseek.pe.kr   ‘.
CONDENSE S_TEXT.
I_LENGTH = STRLEN( S_TEXT ).
WRITE:/ ‘S_Text :’, S_TEXT.
WRITE:/ ‘Length :’, I_LENGTH.
SKIP 1.
 
WRITE:/ ‘** CONDENSE — NO-GAPS 사용’.
S_TEXT = ‘ Welcome to gseek.pe.kr   ‘.
CONDENSE S_TEXT NO-GAPS.
I_LENGTH = STRLEN( S_TEXT ).
WRITE:/ ‘S_Text :’, S_TEXT.
WRITE:/ ‘Length :’, I_LENGTH.
SKIP 1.
 
WRITE:/ ‘** SHIFT — LEFT DELETING LEADING 사용’.
S_TEXT = ‘ Welcome to gseek.pe.kr   ‘.
SHIFT S_TEXT LEFT DELETING LEADING SPACE.
I_LENGTH = STRLEN( S_TEXT ).
WRITE:/ ‘S_Text :’, S_TEXT.
WRITE:/ ‘Length :’, I_LENGTH.
SKIP 1.
 
WRITE:/ ‘** SHIFT — RIGHT DELETING TRAILING 사용’.
S_TEXT = ‘ Welcome to gseek.pe.kr   ‘.
SHIFT S_TEXT RIGHT DELETING TRAILING SPACE.
I_LENGTH = STRLEN( S_TEXT ).
WRITE:/ ‘S_Text :’, S_TEXT.
WRITE:/ ‘Length :’, I_LENGTH.
 

SAP ABAP에서 CONDENSE 문을 사용하여 문자열의 공백을 제거하기

ABAP에서 문자열의 선행과 후행의 공백을 제거하는 명령어는 CONDENSE 입니다.

사용되는 구문 : CONDENSE text [NO-GAPS].

NO-GAPS를 뒤에 붙이게 되면 문자열의 단어 사이의 공백까지 모두 제거하게 됩니다. 자재 번호, 문서 번호와 같이 마스터 코드 성격의 텍스트는 NO-GAPS를 붙여서 텍스트의 모든 공백을 제거해서 사용하는 것이 좋습니다.

SAP ABAP에서 SHIFT~LEFT, SHIT~RIGTH 문을 사용하여 선행 또는 후행 공백 제거하기

문자열의 선행 공백을 제거하기 위해 [SHIFT ~ LEFT DELETING LEADING SPACE] 구문을 사용할 수 있습니다.
– 위의 예제 결과에서 볼 수 있듯이 선행 뿐만 아니라 후행의 공백도 제거된 것을 볼 수 있습니다.

문자열의 후행 공백을 제거하기 위해 [SHIFT ~ RIGTH DELETING TRAILING SPACE] 구문을 사용할 수 있습니다.
– 위의 예제 결과에서 볼 수 있듯이 후행의 공백이 제거되고 선행에는 변수 선언할 때 지정한 자리 수 만큼 선행에 공백을 채워 전체 자릿수를 맞추게 됩니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기