쌓고 쌓다

[ABAP] COLLECT 사용법 본문

SAP/ABAP

[ABAP] COLLECT 사용법

승민아 2025. 2. 10. 11:07

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
Comments