[ABAP] FOR ALL ENTRIES IN

SAPCO·2023년 12월 14일
0

- [ABAP]

목록 보기
9/18

0. 도입

인터널 테이블에 담겨 있는 데이터와 관련된 것만 데이터베이스 테이블에 가져오려면 FOR ALL ENTRIES IN 기능을 사용한다.

1. 설명

  • 구문
SELECT f1 f2 f3 ... fn
  INTO CORRESPONDING FIELDS OF <wa>
  FROM <dbtab>
  FOR ALL ENDTRIES IN <itab>
 WHERE <cond>.

WHERE의 <cond> 연산자를 이용하여 인터널 테이블의 각 레코드와 데이터베이스의 레코드와 비교한다.
<cond>에서 비교되는 각 컬럼은 비교되는 데이터베이스의 칼럼 타입 및 크기와 일치해야한다.

<itab>이 비어있으면 FOR ALL ENTRIES IN은 무시되고 모든 레코드가 읽혀진다.
<itab>의 필드는 LIKE BETWEEN IN과 같은 연산자와 함께 사용할 수 없다.

  • ex
DATA : BEGIN OF itab_zhmstr OCCURS 0.
	INCLUDE STRUCTURE zhmstr.
DATA : END OF itab_zhmstr.

DATA : BEGIN OF itab_zhdet OCCURS 0.
	INCLUDE STRUCTURE zhdet.
DATA : END OF itab_zhdet.

SELECT *
  INTO CORRESPONDING FIELDS OF TABLE itab_zhmstr
  FROM zhmstr
 WHERE gender = 'F'
 
SELECT zhdet~idno zhdet~phone zhdet~blood1 zhdet~region
  INTO CORRESPONDING FIELD OF TABLE itab_zhdet
  FROM zhdet
  FOR ALL ENTRIES IN itab_zhmstr
 WHERE zhdet~idno = itab_zhmstr-idno.
profile
SAP CO

0개의 댓글