쌓고 쌓다
[ABAP] CREATE DATA, 동적 Internal Table에 Insert하기 본문
https://non-stop.tistory.com/870
지난 포스팅에서 동적 ALV 필드를 구성하는 코드 중에
ASSIGN COMPONENT하는 부분 CREAT DATA에 대해서 모르겠어서
이해할 수 있도록 단계적 필요 개념과 결과코드를 정리해 보았다.
CREATE DATA
변수를 참조하는 오브젝트를 생성하는 구문이다.

@DREF→* (역참조라고 부름) : CREATE DATA로 메모리 위치가 할당되면 그 값을 DREF가 갖게 된다. *로 가리키는 그 메모리 위치를 INTO절에 작성해서 결과를 받는 것이다.
DREF→필드명 : DFEF를 참조하여 값을 꺼냄

[TYPE|LIKE DTYPE]으로 타입을 지정하는 경우 자동으로 타입 변환된다.
예를 들어보자면

ANY 타입으로 선언했지만 SCARR 타입으로 지정할 수 있다.
필드 심볼 생성과 ASSIGN하는 법

CREATE DATA하고 필드 심볼에 할당하는 법

왜 데이터 참조(Data Reference)를 사용할때 필드 심볼을 사용하는 과정을
거쳐야하는지 몰랐었는데
다음과 같이 데이터 참조 변수를 동적으로 Generic Type으로 생성했을때
DATA dref TYPE REF TO DATA.
CREATE DATA dref TYPE ('PERSON').
dref->name = '홍길동'.
구조체의 필드에 접근하면 에러 메시지가 발생한다.
"This generic reference cannot be dereferenced (->) at the current statement position."
그래서 타입이 정해지지 않은 데이터 참조 변수는 필드 심볼을 활용해야한다.
동적 ITAB에 WA 만들어 Insert 하기
동적으로 구성된 Internal Table과
그 Internal Table의 WA를 만들어 Internal Table에 넣는 방법을 이제
이해할 수 있을 것이다.

'SAP > ABAP' 카테고리의 다른 글
| [ABAP] 동적 ALV 필드 구성 및 월별 주차 계산하기 (0) | 2026.01.03 |
|---|---|
| [ABAP] XML로 그래프 커스터마이징하여 그리기 (0) | 2025.12.28 |
| [ABAP] 'GFW_PRES_SHOW' 펑션으로 그래프 차트 쉽게 그리기 (1) | 2025.12.27 |
| [ABAP] SAP Memory, ABAP Memory 이해와 차이점 (0) | 2025.12.21 |
| [ABAP] 사용자 파라미터 (사용자 마스터 매개변수 ID) 테이블 (0) | 2025.12.21 |