쌓고 쌓다
[ABAP] COLLECT 사용법 본문
COLLECT 키워드

Structure를 Internal Table에 넣을때
COLLECT <Structure> INTO <Internal> 구문을 사용할 수 있다.
COLLECT 키워드는 키 필드를 기준으로 다른 필드들의 누적 값을 계산한다.
키 필드는 필드중에서 Character로 된 필드가 키 필드가 된다.
Numeric도 키 필드가 된다.
Numeric은 숫자로 이뤄진 Char이다.
문자형 수치 데이터를 위해 존재한다.
예제를 들어보면
이름(Char)과 나이(Numc)를 기준으로
몇시간을 공부했는지 HOURS 필드와
며칠을 공부했는지 DAYS 필드가 존재한다.
이름과 나이를 키 필드로 누적 공부 시간과 일 수를 계산해보자.
COLLECT 동작 방식
먼저, 텍스트로 COLLECT 키워드의 동작 방식을 이해해보자.
"이름 나이 공부시간 공부일수" 필드를 갖는 Internal Table의 현재 상태는 다음과 같다.
이름 | 나이 | 공부시간 | 공부일수 |
이승민 | 26 | 5 | 1 |
여기에 다음 Structure를 Internal Table에 COLLECT 키워드를 사용하면 어떻게 될까?
<Structure>
"이승민 26 2 1"
26살 이승민이 2시간을 1일 공부한 내용을 추가한다면
다음과 같은 Internal Table 상태가 된다.
이름 | 나이 | 공부시간 | 공부일수 |
이승민 | 26 | 7 | 2 |
이름과 나이를 키 필드로 공부시간과 공부일수에 누적 값으로 추가된다
기존에 공부시간 5, 공부일수 1에
공부시간 2 공부일수 1을 더했으므로
공부시간 7, 공부일수 2가 된다.
COLLECT 예제

이름, 나이, 공부시간, 공부 일 수 필드를 갖는 Structure와 Internal Table을 선언한다.
COLLECT "이승민 26 5 1"

COLLECT "이승민 26 2 1"

Internal Table 결과
CL_DEMO_OUTPUT=>DISPLAY( GT_STUDY ).

'SAP > ABAP' 카테고리의 다른 글
[ABAP] Instance Constructor (클래스 생성자) (0) | 2025.02.11 |
---|---|
[ABAP] Functional Method (0) | 2025.02.10 |
[ABAP] Database View (0) | 2025.02.08 |
[ABAP] Search Help(F4) 생성 (0) | 2025.02.07 |
[ABAP] ALV UPDATE 또는 DELETE 후 새로고침 (0) | 2025.02.07 |