[SAP/ABAP] FOR ALL ENTIRES 주의점, 데이터가 사라졌을 때

FOR ALL ENTIRES는 SELECT 한 결과 필드를 자동으로 중복제거한다.

EX)

SELECT DOCID ITEMID DOCCAT FROM ZTABLE
 INTO CORRESPONDING FIELD OF TABLE GT_TAB
 FOR ALL ENTRIES IN LT_RESULT
WHERE DOCID  = LT_RESULT-DOCID 
 AND  ITEMID = LT_RESULT-ITEMID 
 AND  DOCCAT = LT_RESULT-DOCCAT.
  • ZTABLE DB
  • FOR ALL ENTRIES 후

DOCID ITEMID DOCCAT 으로 중복제거 되는걸 확인 할 수 있다.

SELECT DOCID ITEMID DOCCAT SEQ FROM ZTABLE
 INTO CORRESPONDING FIELD OF TABLE GT_TAB
 FOR ALL ENTRIES IN LT_RESULT
WHERE DOCID  = LT_RESULT-DOCID 
 AND  ITEMID = LT_RESULT-ITEMID 
 AND  DOCCAT = LT_RESULT-DOCCAT

- 결과값 

중복제거 안됨!

FOR ALL ENTIRES를 쓸 땐 KEY 값으로 SELECT 하자!

Add a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다