[ABAP 개념] 왜 Data Element를 사용할까?
ABAP Dictionary에서 테이블 필드의 데이터 타입을 설정할 때, 우리는 두 가지 선택을 할 수 있다.
바로 Predefined Type(내장 유형)과 Data Element이다.
Predefined Type은 ABAP에서 제공되는 기본 타입이다.
우리가 아는 CHAR, DEC 등이 이에 속한다.
이 경우 테이블에서 바로 데이터 타입을 설정해줄 수 있다.
Data Element는 사용자가 정의하는 데이터 타입이며, 아래와 같은 정보를 가진다.
Data Element는 Elementary Type과 Reference Type 중 선택해서 생성할 수 있다.
Elementary Type은 Domain이나 Predefined Type을 사용하여 데이터 타입을 생성할 수 있고 Reference Type은 Class, Interface 등을 참조할 수 있다.
그러면 의문이 들 것이다.
오잉?
분명 테이블에서 Predefined Type이 있었는데 왜 Data Element에도 Predefined Type을 사용하지?
똑같이 ABAP에 정의된 타입을 가져다 쓰는데 왜 번거롭게 Data Element를 생성할까..?
이런 의문을 가진 사람들을 위해 이 글을 쓴다.
Data Element를 사용하는 이유!
빠밤~
1. 데이터 타입을 통합관리할 수 있다.
앞에서 살펴봤듯이 테이블에서 바로 Predefined Type으로 데이터 타입을 입력할 수 있다.
근데 굳이 Data Element에서 Predefined Type으로 데이터 타입을 설정하는 이유는 바로 Date Element를 사용하면 데이터 타입을 통합 관리할 수 있기 때문이다.
예를 들어 아래와 같이 사용자 ID의 데이터 타입을 Predefined Type로 설정했다고 해보자.
근데 갑자기 사용자 ID의 길이를 50으로 바꿔야 한다면??
테이블이 하나일 때는 한 번만 지우고 다시 입력해서 수정하면 된다.
그러나 회사의 경우 많은 테이블이 있고 그만큼 같은 유형의 필드들이 많을 것이다.
이를 전부 Predefined Type으로 정의해놨다면 50가지면 50번, 100가지면 100번의 수정이 필요하겠지.
하지만 Data Element를 사용했다면 수정해야 될 필드가 100개, 1000개, 10000개여도 아니 더어어어 많아도 단 한 번의 Data Element만 수정하면 된다.
이렇게 데이터 타입을 통합관리할 수 있다는 장점으로 Data Element를 사용하는 것이다.
2. 필드 라벨을 사용할 수 있다.
필드 라벨은 SAP의 ALV의 헤더에 들어가는 값이다.
ALV는 ABAP List Viewer로 리스트 화면에서 데이터를 조회하거나 조회된 데이터를 수정하는 목적으로 실무에서 많이 사용되는 프로그램이다.
여기서 테이블 상단에 ID, No. 등... 이 우리가 설정한 필드 라벨이라고 생각하면 된다.
데이터 타입을 Data Element로 설정하지 않고 Predefined Type으로 입력할 시 View에서 데이터를 조회할 때 이름이 +++로 표기된다고 한다.
3. Domain을 사용할 수 있다.
Data Element에서는 Domain으로 데이터 타입을 정할 수 있다.
Domain의 경우 SAP 사용 시 데이터에 대한 제약을 풀 수 있는 기능을 가지고 있다.
소문자 사용, 부호 사용 가능과 같이 Domain을 사용하면 사용하지 않았을 때 입력받지 못하는 값을 SAP GUI에서 입력할 수 있다.
또한 원래 알던 Domain의 기능인 Value Range 설정이 가능하다.
이에 대해서 더 자세히 알고 싶다면 아래 글을 참고하자.
[ABAP 개념] 왜 Domain를 사용할까?
https://jakim09.tistory.com/m/7 [ABAP 개념] 왜 Data Element를 사용할까? ABAP Dictionary에서 테이블 필드의 데이터 타입을 설정할 때, 우리는 두 가지 선택을 할 수 있다. 바로 Predefined Type(내장 유형)과..
jakim09.tistory.com
오늘의 공부 끝!