📘 READ TABLE 문이란?

READ TABLE은 내부 테이블에서 특정 레코드 1개만 "직접" 읽어올 때 사용하는 명령어다.

보통 LOOP AT은 전체를 돌면서 하나씩 처리하지만, READ TABLE은 특정 조건을 만족하는 한 줄만 딱 골라서 읽고 싶을 때 사용된다.

 

📌 기본 문법

인덱스로 읽기 (가장 빠름)

READ TABLE itab01 INDEX 5.

- 내부테이블 itab01의 5번째 줄을 읽어와서 헤더라인에 넣는다.

- 가장 빠른 방식이다.

- 몇번째 줄에 있는 지 정확하게 알아야한다.

 

키로 읽기 (일반적)

READ TABLE itab01 WITH KEY employee = '1234567'.
  • employee가 '1234567'인 행을 찾아서 헤더 라인에 넣음.
  • 일반적으로는 KEY를 사용해서 찾는 경우가 더 많음.
  • 주의점!*
    • 고유하지 않은 키일 경우, 예를 들어 surname = 'Smith' 같은 경우 → 해당하는 첫 번째 레코드만 읽혀짐. → 나머지 'Smith'들이 있더라도 읽히지 않음.

 

예시

 

READ TABLE itab01 INDEX 3.
" 3번째 행을 읽는다.

READ TABLE itab01 WITH KEY employee = '1234567'.
" employee 필드가 '1234567'인 행을 읽는다.

 

READ TABLE itab01 WITH KEY employee = '1234567'.
IF sy-subrc = 0.
  WRITE: '찾았습니다!'.
ELSE.
  WRITE: '해당 직원 없음!'.
ENDIF.

 

 

- 인덱스는 성능을 위한 빠른 검색이 필요할 때 쓰는 것이다.

- 그에 맞게, 특정 값을 알고 있으면 전체를 반복할 필요없이 빠르게 값을 찾을 수 있디.

 

따란@

 

+ Recent posts