ABAP고수님들~~~~~^^
DATA t_spfli TYPE TABLE OF spfli.
DATA t_sflight TYPE TABLE OF sflight.
DATA sflight_wa TYPE sflight.
SELECT * FROM sflight AS f
INTO CORRESPONDING FIELDS OF TABLE t_sflight
WHERE EXISTS
( SELECT * FROM spfli
WHERE carrid = f~carrid
AND connid = f~connid ).
LOOP AT t_sflight INTO sflight_wa.
WRITE / sflight_wa-carrid.
ENDLOOP.
여기서 AND connid = f~connid 이부분, 없어도 되죠???
그리고 굳이 결과 값에 connid 값도 나타내고 싶으면 소스를 어떻게 바꿔야 할까요?
댓글 3
-
모르니
2013.06.18 12:12
-
쿠쿠스마일
2013.06.18 13:12
where절은 데이터를 가져올때의 조건을 적어주는 구문인데요. 조건이 바뀌면 당연히 가지고 오는 값도 바뀌겠죠..??; 그래서
질문하신님이 말씀하신 구문을 지우면 가지고오는 데이터가 달라질것같네요.
결과값을 나타내는건 LOOP WRITE ENDLOOP 인데,
위에서는 carrid 만 write 해주고 있고 connid도 나타내고 싶으미면 connid도 write해주셔야 합니다.
-
baishui
2013.06.18 14:32
답변 감사합니다 많은 도움 되었습니다 ~^0^
AND connid = f~connid 부분을 없애시면 결과같이 바뀌어서 나올것 같습니다.
( SELECT * FROM spfli WHERE carrid = f~carrid ) . 으로 바꾸시면 확인하실수 있으실겁니다.
WRITE : / sflight_wa-carrid, sflight_wa-connid.
로 수정하시면 connid 값도 나옵니다.