본문 바로가기
SAP/ABAP

(Query) ENDSELECT

by Radler 2022. 4. 28.

 

<언제 사용?>

Into 구문의 결과가 저장되는 곳이 인터널 테이블이 아니라 필드 또는 Work Area일 때, 마지막에 사용.

인터널 테이블에 PACKAGE SIZE를 설정할 때.

 

<의미>

조건에 해당하는 값을 모두 읽어 올 때까지 Loop를 수행한다.

 

<단점>

Select ~ Endselect 구문이 반복 수행될 때마다 AS와 DB간 인터페이스가 수행되므로 비효율적.

SELECT *
FROM sflight
INTO gs_wa
WHERE carrid = 'AA'.

WRITE :/ gs_wa-carrid, gs_wa-connid.

ENDSELECT.

 

한 번에 데이터를 인터널테이블에 저장하는 아래가 더 효율적.

SELECT *
FROM sflight
INTO TABLE gt_itab
WHERE carrid = 'AA'.

LOOP AT gt_itab INTO gs_wa.
WRITE :/ gs_wa-carrid, gs_wa-connid.
ENDLOOP.

 

<나만의 표현으로 정리>

ENDSELECT는 직전까지의 구문을 LOOP시켜라 라는 의미이며, 왠만해서는 쓰지 말아라.

 

 

<참고>

Easy ABAP 2.0 기본 이론과 실무 예제로 새롭게 꾸민 [ 개정판 ] 김성준 저 | 프리렉 | 2012년 07월 25일

'SAP > ABAP' 카테고리의 다른 글

(ALV) EASY_SPLLITER  (0) 2022.05.15
(SCREEN) SSCRFIELDS  (0) 2022.05.15
(ALV) ALV-1  (0) 2022.05.15
(STUDY) ABAP 자율 스터디 모임_1주차 발표자료  (0) 2022.05.09
(FM) F4IF_INT_TABLE_VALUE_REQUEST  (0) 2022.04.28