ABAP 을 공부하고 있는 생초보 입니다.
책을 보며 공부하던 중에,(예제를 따라하던 중에^^;;)
예제 4-2-1에서
①
DATA : itab TYPE STANDARD TABLE OF sflight,
wa LIKE LINE OF itab.
SELECT *
INTO CORRESPONDING FIELDS OF wa
FROM sflight
WHERE carrid EQ 'LH'.
WRITE : / wa-carrid, wa-connid.
ENDSELECT.
②
DATA : itab TYPE STANDARD TABLE OF sflight,
wa LIKE LINE OF itab.
SELECT *
INTO CORRESPONDING FIELDS OF itab FROM sflight
WHERE carrid EQ 'LH'.
IF sy-subrc EQ 0.
LOOP AT itab INTO wa.
WRITE : / wa-carrid, wa-connid.
ENDLOOP.
ENDIF.
이렇게 두가지가 있는데 ① 번 값의 결과가 책에 나와 있는 결과와 달라서 질문 올리구요,
(WRITE 에서 두개가 있는데 : wa-carrid, wa-connid 왜 결과 값에 4개가 나오죠?? 전 두개 나오던데...ㅜ.ㅜ)
② 번의 소스에서는 select * 부분에서 오류가 나오는데 오류의 내용은
(You cannnot use an internal table as a work area.)입니다
왜 이런 오류가 뜨는건지...^^;;;
전문가님들의 답변 부탁드립니다..(--) (__) 꾸벅
댓글 3
-
모르니
2013.06.14 19:56
-
baishui
2013.06.14 23:28
저는 LH 0400, LH0450, LH0455, LH3577, LH9981 이런 식으로 다섯개가 나오는데
책에서는 결과 값이 LH 0400 FRANKFURT NEW YORK, LH 0402 FRANKFRUT NEW YORK, LH 2402 FRANKFRUT BERLIN, LH 2407 BERLIN FRANKFRUT 이렇게 나와 있어서....^^;;;
-
빅드래곤
2013.07.09 21:40
항공사ID와 운항연결ID 2개 필드값이 나오는게 맞고요. 결과값은 사용자마다 생성한 TEST데이타 양이 달라서 그럴수 있으니 SE11에서 직접 테이블 조회해서 결과값 확인하시면 되겠네요.
2번 소스에서는 INTO CORRESPONDING FIELDS OF TABLE itab FROM sflight
로 수정하시면 될듯하고
1번은 잘 모르겠네요.
저는 LH 0400, LH 0401, LH 0402, LH 2402, LH 2407 다섯개가 나옵니다.