제일 많이 사용하지만 그럴수록 손에 익어서 점점
어? 이게 지금 뭐가 다르더라..! 하는 TYPE / TABLE OF/ LIKE / LINE OF 를 정리해보았습니다.
처음 배울 때는 직접 그림을 그려가며 이해했었는데,
프로젝트를 하면서 top에서는 같은 구조로 사용하다보니 개념을 까먹고 사용하고 있는 것 같아서 한번 정리 하고 싶었어요 !
✏️1. TYPE / LIKE
키워드 | 역할 | 예시 | 설명 |
TYPE | 데이터 타입 기준으로 선언 | DATA lv_num TYPE i. | “정수형 변수”처럼 타입 이름을 기준으로 변수 생성 |
LIKE | 기존 변수나 필드의 속성을 복사 | DATA lv_num2 LIKE lv_num. | 이미 존재하는 변수의 구조나 타입을 그대로 따라감 |
- TYPE → 타입 정의 기준
- LIKE → 실제 변수(또는 필드) 기준
✏️ 2. TABLE OF / LINE OF
구분 | 의미 | 예시 | 설명 |
TABLE OF | 내부 테이블을 정의할 때 | TYPE TABLE OF zsmk01ap02 | ztstudent 구조를 여러 줄로 담는 테이블 생성 |
LINE OF | 내부 테이블의 “한 줄 구조”를 참조 | LIKE LINE OF gt_alv_0100 | 내부테이블의 한 줄 구조 복사 |
- TABLE OF → “전체 표(리스트)”
- LINE OF → “그 표의 한 줄(Row)”
✏️ 3. 로직으로 이해하기
DATA : gs_alv_0100 TYPE zsmk01ap02, "한 줄 구조(Structure)
gt_alv_0100 TYPE TABLE OF zsmk01ap02. "내부 테이블(Structure 여러 개)
변수명 | 의미 | 예시 |
gs_alv_0100 | zsmk01ap02 구조로 된 한 줄(Row) | 엑셀의 한 행 |
gt_alv_0100 | 같은 구조를 여러 줄 담는 내부 테이블 | 엑셀 전체 시트 |
✏️ 4. 이런 조합으로 사용할 수 있어요
구문 | 설명 | 사용 위치 |
TYPE TABLE OF zstruct | 구조 기반 테이블 선언 | 내부테이블 선언 시 |
LIKE LINE OF itab | itab의 한 줄 구조 따라감 | 워크에리어 선언 시 |
TYPE LINE OF itab | itab의 한 줄 구조 타입만 참조 | 타입 선언 시 (변수 아님) |
TYPE은 “타입 정의 기준”,
LIKE는 “이미 존재하는 변수 기준”.
TABLE OF는 “리스트(표)”,
LINE OF는 “그 리스트의 한 줄(Row)”.
🍅 5. 조금 더 쉽게 이해하자면,
- TYPE → 기준: 데이터 타입(Data Element, Structure)
- LIKE → 기준: 이미 만들어진 변수(Variable, Field)
(1) 예시 — TYPE
DATA gv_num TYPE i. "정수형 변수
DATA gv_char TYPE c LENGTH 10. "문자형 변수
TYPE은 "이런 타입으로 새로 만들어줘" 라는 뜻
→ 타입 이름(i, c, d 등)이나 딕셔너리 객체(Data Element, Structure)를 직접 지정함
(2) 예시 — LIKE
DATA gv_name TYPE c LENGTH 10.
DATA gv_copy LIKE gv_name.
LIKE는 "저 변수랑 똑같이 만들어줘"라는 뜻.
→ gv_name이 어떤 타입·길이든 그대로 따라감.
(3) 예시 — 딕셔너리 구조체를 사용 할 때는
" 딕셔너리 구조 ZSMK01AP02를 기준으로 변수 선언
" ZSMK01AP02은 Structure Table
DATA gs_ap1 TYPE zsmk01ap02. "TYPE: 구조체 자체를 기준으로 만듦
DATA gs_ap2 LIKE gs_ap1. "LIKE: 이미 만든 gs_ap1을 그대로 복사
구분 | 기준 | 의미 |
TYPE zsmk01ap02 | 딕셔너리 구조체 | SAP에 정의된 구조를 기반으로 생성 |
LIKE gs_ap1 | 기존 변수(gs_ap1) | gs_ap1과 완전히 동일한 형태로 생성 |
(4) 예시 — 내부 테이블에서 함께 쓰는 경우
DATA: gt_ap TYPE TABLE OF zsmk01ap02, "내부테이블 (인터널테이블)
gs_ap LIKE LINE OF gt_ap. "한줄구조 (워크에리아/스트럭쳐/구조체)
- TYPE TABLE OF → 이 구조를 테이블로 만들어줘!
- LIKE LINE OF →그 테이블의 한줄 구조랑 똑같이 만들어줘!
(5) 예시 정리
구분 | 기준 | 사용 목적 |
TYPE | 데이터 타입 / 구조체 이름 | 타입(형태)을 지정해 새로 만듦 |
LIKE | 이미 선언된 변수 / 필드 | 그 변수의 속성을 복사함 |
TABLE OF | 구조 전체를 테이블로 | 내부 테이블 생성 |
LINE OF | 테이블의 한 행 구조 | 워크에리어 생성 |
'ABAP' 카테고리의 다른 글
[ABAP]DB _ CRUD 3 (0) | 2025.08.30 |
---|---|
[ABAP]DB _ CRUD 2 (0) | 2025.08.30 |
[ABAP] CLEAR는 언제 하는게 좋을까요? (0) | 2025.08.30 |
[ABAP-ALV] 선택된 행에서 정보 가져오기 (0) | 2025.08.28 |
[ABAP-ALV] 신호등 LAYOUT (0) | 2025.08.28 |