[ABAP] Data Element, Domain

토마토·2024년 8월 10일
0

ABAP 기본

목록 보기
4/10

Data Element

테이블 필드의 타입과 길이를 지정하는 Object


Data Element의 Elementary Type는 두 가지 방식으로 지정할 수 있다

Built-in-type

Domain 없이 Data Element 자체에 테이블 필드의 속성(길이, 타입) 지정

  • Predefined type 이라고 부르기도 함

Domain

Data Element 선언 시 참조할 수 있는 가장 하위 레벨의 Object
Table Field는 Data Element를 참조하고 Data Element는 Domain을 참조

  • 테이블 필드의 타입과 길이 정해줌(기술적 속성 정의)
  • Field 에 들어오는 입력값을 제한하고자 사용됨
    ex. gender 입력 시 M F 외 다른 값 입력 제한
  • Data Element 는 Domain을 선택적으로 가질 수 있음

생성 순서

📌 DomainElementTable/Structure Field

  • Domain → Element → Table 방향으로 영향을 줌
  • Element에서 Domain 지정 가능하고 Table에서 Element 지정 가능하다
  • Domain은 Data Element에 영향을 주는데 해당 Data Element 사용하는 Table에도 영향을 주므로 가장 영향력이 크다
  • Data Element는 Domain 과 Table Field를 연결해 주는 역할

Built-in-type과 Domain 중 어떤걸 사용해야 할까요 ?

테이블 유지보수를 위해 Domain 사용하는 것이 좋다

Domain/Element 변경 시 해당 Object를 참조한 모든 Field의 값이 자동으로 변경
→ 테이블 유지보수 용이

Domain은 같은데 Data Element는 나눈 이유?

Description이 상이하기 때문

Data Element 생성

SE11에서 Data type 만들기

Data type 명 작성 → Create

Data element 선택

Short Description 작성 → Built in type 에 Data type, length 입력
(Domain 생성은 다음 챕터 참고)

Field Label 입력 → Active
✔️ Field Label은 Screen으로 화면에 보여질 때의 명칭이므로 유의해서 작성하기

생성한 Data element 입력 시 자동으로 Short Description값 바뀜

Table에서 바로 생성하기

SE11에서 Data Type으로 생성해도 되지만 Table에서 생성하는게 더 간편하다

Data element 필드에 Data element명 입력 후 더블클릭 시 동일하게 Change Data Element 화면 뜬다

생성한 Data Element명 수정하기

✔️ Copy → Rename
✔️ Element 명 을 잘못 입력한 경우 수정이 불가하므로, copy 해서 새로 만들어야 한다

data type 에 기존 Element 명 입력하고 copy 아이콘 클릭

기존 / 신규 Element명 입력

new 상태라서 active 하기

Domain 생성

Change Data Element 화면에서 Domain 명 입력 후 더블클릭

Data Element 저장

Domain 생성

Definition에서 Data Type, Length 지정

Value Range 입력

Content 에서 입력한 Value Range 확인 가능

대소문자 구문하기

ABAP은 항상 대문자
대소문자 구분은 Domain에 의해서 가능하다

Data type 에서 Data Element 생성

Data type → Domain 선택 → Domain명 입력 후 더블클릭

Case-sensitive 체크해서 대소문자 구분값 넣어주기

profile
멋쟁이 토마토

0개의 댓글