type과 like의 차이점
type과 like은 유사하면서 차이점이 존재한다.
type의 경우, A type B라고 가정했을 때
B는 필연적으로 type의 한 종류여야 한다.
like의 경우, C type D라고 가정했을 때,
D는 필연적으로 data 객체여야한다.
like line of
TYPES: BEGIN OF ty_temp,
ex1 type STRING,
ex2 type STRING,
END OF ty_temp.
DATA: st_temp type ty_temp.
example like line of st_temp.
TYPES로 선언한 부분은 구조체 type이고, DATA 부분의 첫줄은 st_temp라는 구조체 객체를 만든 것이다.
해당 st_temp를 like line of 하여 example를 선언하였는데,
좀더 찾아야할 부분이지만, example과 st_temp를 유기적(?)으로 연결시키는 방법이라고 한다.
단순히 type이나 like를 사용하는 것과는 차이점이 있다고 하니 좀 더 찾아보자.
occur 0과 WITH HEADER LINE 차이점
DATA: Test TYPE st_ex.
DATA: Test TYPE st_ex occurs 0.
1번째 명령어와 2번째 명령어의 차이점은?
2번째 명령어는 구조체 형태에서 BODY를 만드는 것, Header LINE은 없는 친구이다.
DATA : exam TYPE st_ex WITH HEADER LINE.
DATA : tb_exam TYPE TABLE OF st_ex WITH HEADER LINE.
1번째 명령어와 2번째 명령어의 차이점은?
1번째 명령어는 구조체의 객체를 만드는 과정
2번째 명령어는 테이블의 객체를 만드는 과정(인터널 테이블)
WITH HEADER LINE이란, TABLE TYPE일 때만 사용할 수 있는 것이다
그렇다면 실질적으로 HEADER LINE이란 무엇인가?
table 형태에서 Header line을 만드는 것이라고 볼 수 있는데, 이는 work area를 만드는 것과 일맥상통.
그렇다면 work area는 무엇인가?
예를 들어, LOOP AT 구문을 통해 인터널 테이블 내부에 있는 값들을 읽어내는 과정을 실행한다고 가정하자.
LOOP AT tb_ex into workarea.
tb_ex라는 인터널 테이블에서 읽은 값을 한 레코드씩 읽어서
workarea에서 처리하는 것이라고 생각하면 된다.
table 종류마다의 차이점?
standard table
- non unique key
hashed table
- unique key
sorted table
- unique 여부 선택 가능.
unique key란 겹치지 않는 고유한 값을 의미.
non - unique key는 겹칠 수 있는 고유한 값을 의미.
'ABAP' 카테고리의 다른 글
[12/11 - ABAP] data, 구조체, 인터널 테이블 (0) | 2023.12.12 |
---|