SPLIT 명령어는 여타 다른 프로그래밍 언어에서와 유사하게, 필드의 내용을 특정 구분자를 기준으로 분리하여 여러 필드에 저장할 때 사용한다.
* 예제를 위한 변수 선언
DATA: mystring TYPE C LENGTH 30,
a1 TYPE C LENGTH 10, " 문자열이 분리되어 저장될 변수들
a2 TYPE C LENGTH 10,
a3 TYPE C LENGTH 10,
sep2 TYPE C LENGTH 2 VALUE '**'.
mystring = ' 1234** ABCD **6789'.
WRITE: / 'Original string: ', mystring.
SPLIT mystring AT sep2 INTO a1 a2 a3.
WRITE / a1.
WRITE / a2.
WRITE / a3.
* 결과
` 1234 `
` ABCD `
`6789J `
mystring = ' 1234** ABCD **6789J**WXYZ'.
SPLIT mystring AT sep2 INTO a1 a2 a3.
WRITE / a1.
WRITE / a2.
WRITE / a3.
* mystring 은 문자열이 세 개의 필드로 나뉘어지지만, 실제로는 네 개의 구분자를 기준으로 분리가 가능하다.
* 하지만 필드가 세 개만 선언되어 있기 때문에, 마지막 a3에는 나머지 문자열 6789**XYZ가 모두 저장된다.
* 결과
' 1234 '
' ABCD '
'6789**WXYZ'
만약 SPLIT 명령어를 사용할 때 구분자가 문자열에 포함되지 않으면, 전체 문자열이 첫 번째 필드에 저장되고 나머지 필드에는 공백이 들어간다.
mystring = 'NoSperatorHere'.
SPLIT mystring AT sep2 INTO a1 a2 a3.
* 이 경우 sep2 구분자가 문자열에 없기 때문에 전체 문자열이 a1 에 저장되고,
* a2, a3 는 공백으로 채워진다.