쌓고 쌓다

[ABAP] SELECT, INTO CORRESPONDING FIELDS OF 본문

SAP/ABAP

[ABAP] SELECT, INTO CORRESPONDING FIELDS OF

승민아 2025. 1. 15. 20:52

기본 SELECT ~ FROM ~ INTO 문법

SELECT <fields> FROM <table> INTO <target> WHERE <condition>

fields : 가져올 컬럼

table : 가져올 테이블

target : 읽어온 것을 어디다 저장할 것인지

condition : 어떤 ROW를 가져올 것인지 조건

 

FROM과 INTO절의 위치는 바뀔 수 있다.

 

SELECT SINGLE

단건 조회로 "SELECT SINGLE"를 사용한다.

결과가 단건이 아니라면 랜덤으로 한개를 가져오기에

순서는 보장 못한다.

 

"SELECT *" 는 모든 필드를 가져오는것으로

* 대신에 "SELECT FIELD1 FIELD2 ... " 형태로 가져오길 원하는 필드를 작성해도 된다.

 

단, SELECT절에 명시한 필드의 순서대로 값을 가져오고

INTO에 작성한 Structure 필드에 그 순서대로 들어감을 주의하자.

 

"WHERE 테이블 필드 = value"

왼쪽에 테이블 컬럼명을, 오른쪽에 원하는 값을 넣는다.

 

INTO에 Work Area를 넣어주면 된다.

이 Work Area에 값이 저장된다.

 

INTO CORRESPONDING FIELDS OF 

이전의 INTO는 SELECT에 작성한 필드 값 순서대로

INTO 절의 Structure에 값이 들어갔다.

 

INTO의 Structure 필드에 맞춰 SELECT 순서를 작성하기 번거로우므로

CORRESPONDING FIELDS OF로 필드명을 비교하여 같은곳에 넣을 수 있다.

 

여러건 데이터 조회

"SELECT ~ ENDSELECT"로 여러건의 데이터를 각각 읽어올 수 있다.

SELECT ~ ENDSELECT 구문안에 INTO 절에 명시한 Work Area로 작업이 가능하다.

 

sy-dbcnt : SELECT ~ ENDSELECT안에서 사용하여 몇번째 레코드인지 값을 받을 수 있다.

 

위와 같이 "SELECT ~ INTO TABLE (Internal Table) FROM ~ " 구문으로

Internal Table에 읽어온 값들을 한번에 넣을 수 있다. 

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

[ABAP] Status Icon  (0) 2025.01.14
[ABAP] Input Check  (0) 2025.01.13
[ABAP] Check Box, Radio Button  (0) 2025.01.13
[ABAP] GUI TITLE, GUI STATUS  (0) 2025.01.12
[ABAP] Screen 이동 (SET SCREEN, CALL SCREEN)  (0) 2025.01.12
Comments