ABAP Program에서 Data Object 선언시 일반적으로 TYPE 또는 LIKE를 많이 사용한다.
ABAP을 오랫동안 접하면 크게 어려운 부분은 아니지만
ABAP을 배우는 단계라면 많이들 헷갈려 하는 부분이다.
개념만 잘 잡고 있으면 절대 어려운 게 아니니 한번 정리 해보도록 하겠다.
결론부터 말하자면,
TYPE과 LIKE의 차이는 Data Object 선언시 TYPE 또는 LIKE 뒤에
Data Object와 Data Type 중 어느 것을 reference 하는지 차이 라고 볼 수 있다.
앞에서 Data Object와 Data Type에 대해 포스팅하였으니
이 2가지의 기본 개념을 를 정확히 이해하고 있어야 한다.
2020/07/21 - [ABAP Basic/개념 정리] - Data Object
2020/07/21 - [ABAP Basic/개념 정리] - Data Type
- Data Object : 실제 메모리 공간에 할당된 존재 .
- Data Type : 메모리 공간을 차지 않고 Data Object를 정의하기 위한 하나의 템플릿.
영어사전에서 TYPE과 LIKE의 뜻을 찾아보면
TYPE 은 형태, 틀, 종류 등으로 정의하고 있고
LIKE 는 '~와 같은', '~와 비슷한' 등으로 정의되며 어느 한 대상(실체)과 비교해서 사용하게 된다.
구문의 뜻으로 보면 TYPE 뒤에는 Data Type이 오고,
LIKE 뒤에는 Data Object가 사용되어 지는 것을 유추해 볼 수 있다.
이 때, 예외적으로 Data Type 중 일부가 LIKE 구문 뒤에 사용할 수 있는데
ABAP Dictionary에 Structure Type / Table / Classic View 가 이에 해당한다.
SAP 에서 과거에는 사용가능하도록 만들어 놓았지만 SAP ABAP도 버젼업이 되면서
LIKE 는 Data Object인 경우에만 사용하라고 권고 하고 있다.
ABAP Editor에서 F1 도움말 키를 눌러 LIKE에 대한 도움말을 찾아보면
하위 내용과 같이 Notes 부분에 명시되어 있다.
추가로 CLASS 같은 OO( Object-Oriented) 개념에서는 TYPE 만 사용 가능하다.
정리하면,
TYPE은 뒤에 Data Type을 reference 할 때 사용
LIKE는 뒤에 Data Object를 reference 할 때 사용
'ABAP Basic Lv. > Concept' 카테고리의 다른 글
|ABAP 개념정리| AT NEW, AT LAST, AT FIRST, AT END OF (0) | 2022.07.04 |
---|---|
|ABAP 개념정리| Table Work Area (0) | 2020.09.16 |
|ABAP 개념정리| Data Type (0) | 2020.09.08 |
|ABAP 개념정리| Data Object (0) | 2020.09.07 |
|ABAP 개념정리| Module Pool vs Executable Program (0) | 2020.09.04 |