READ TABLE은 ABAP 프로그래밍에서 내부 테이블에서 데이터를 검색하는 데 사용되는 기본 명령어입니다. 이 명령어는 다양한 조건에 따라 테이블 항목을 읽고 처리할 수 있게 해줍니다.
READ TABLE itab [INTO wa | ASSIGNING <fs>]
[WITH KEY key = value...]
[WITH TABLE KEY key = value...]
[INDEX idx]
[BINARY SEARCH]
[TRANSPORTING field1 field2...]
[COMPARING field1 field2...]
[REFERENCE INTO dref].
DATA: BEGIN OF itab OCCURS 0,
carrid TYPE s_carr_id,
connid TYPE s_conn_id,
cityfrom TYPE s_from_city,
cityto TYPE s_to_city,
END OF itab.
DATA: wa LIKE LINE OF itab.
* 특정 키를 사용한 검색
READ TABLE itab INTO wa WITH KEY carrid = 'LH' connid = '0400'.
IF sy-subrc = 0.
WRITE: / 'Record found:', wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ELSE.
WRITE: / 'Record not found'.
ENDIF.
* 특정 인덱스 위치의 항목 읽기
READ TABLE itab INTO wa INDEX 5.
IF sy-subrc = 0.
WRITE: / '5번째 항목:', wa-carrid, wa-connid.
ENDIF.
* 테이블이 carrid 필드로 정렬되어 있다고 가정
SORT itab BY carrid.
* 이진 검색 수행
READ TABLE itab INTO wa WITH KEY carrid = 'LH' BINARY SEARCH.
IF sy-subrc = 0.
WRITE: / '이진 검색 결과:', wa-carrid, wa-connid.
ENDIF.
FIELD-SYMBOLS: <fs> LIKE LINE OF itab.
* 필드 심볼에 할당
READ TABLE itab ASSIGNING <fs> WITH KEY carrid = 'LH'.
IF sy-subrc = 0.
* 직접 필드 심볼 내용 수정 가능
<fs>-cityfrom = 'FRANKFURT'.
WRITE: / '수정된 값:', <fs>-carrid, <fs>-connid, <fs>-cityfrom.
ENDIF.
대용량 테이블을 처리할 때는 다음 사항을 고려하세요:
READ TABLE은 ABAP 프로그래밍에서 가장 기본적이고 중요한
테이블 처리 명령어 중 하나이며, 효율적인 데이터 접근을 위한 다양한 옵션을 제공합니다.