서브 필드는 필드 내의 특정 위치에 있는 문자를 참조하여 데이터를 처리하는 방식이다.
이를 통해 필드 내의 특정 위치에서부터 원하는 만큼의 문자를 참조하거나 수정 가능하다.
서브 필드는 필드 내에서 특정 위치의 문자를 참조하거나 수정할 수 있는 기능이다.
이를 통해 필드 전체를 다루는 것이 아니라, 필요한 특정 부분만을 참조하여 데이터를 처리할 수 있다.
서브 필드는 ABAP에서 특정 필드의 일부를 참조할 수 있는 기능이다.
예를 들어, 전화번호 필드에서 국가 코드를 추출하거나, 전화번호의 특정 부분을 가져오는 등의 작업을 할 수 있다.
변수명+시작위치(길이)
다음은 서브 필드를 사용하여 전화번호에서 국가 코드와 전화번호를 추출하고 수정하는 예제이다.
* 예제
DATA: int_telephone_num(17) TYPE C, " 국제 전화번호 필드 선언
contry_code(3) TYPE C LENGTH, " 국가 코드 필드 선언
telephone_num(14) TYPE C LENGTH. " 전화번호 필드 선언
int_telephone_num = '+44-(0)207-123456'. " 국제 전화번호 값 할당
WRITE int_telephone_num. " 전체 국제 전화번호 출력
SKIP. " 한 줄 띄우기
" 서브 필드를 사용하여 국가 코드와 전화번호 추출
country_code = int_telephone_num(3). " 앞 3자리를 국가 코드로 저장
telephone_num = int_telephone_num+4(13). " 4번째 문자부터 13자를 전화번호로 저장
" 추출된 국가 코드와 전화번호 출력
WRITE / country_code.
WRTIE / telephone_num.
" 국가 코드의 두 번째와 세 번째 문자를 '01'로 변경
country_code+1(2) = '01'.
" 수정된 국가 코드 출력
WRITE / 'Updated Country Code: ', country_code.
" 실행 결과
International Telephone: +44-(0)207-123456
Country Code: +44
Telephone Number: (0)207-123456
Updated Country Code: +01
서브 필드는 SAP 프로그램에서 매우 자주 사용된다. 전체 필드를 다루지 않고도 특정 부분만을 참조하거나 수정할 수 있기 때문에, 메모리를 절약하고 코드를 더 간결하게 작성할 수 있다.
이를 통해 새로운 변수를 추가로 생성하지 않아도 되며, 서브 필드를 이용해 필요한 부분만을 처리할 수 있다.
서브 필드는 문자열이나 고정 길이 필드를 다룰 때 특히 유용하며, 국제 전화번호, 주소, 사용자 입력 값 등에서 부분적으로 데이터를 처리하는 데 자주 사용된다.