안녕하세요.
예제 z03_02 가 잘 이해가 안가서요.
소스는 아래와 같습니다.
REPORT z03_02.
DATA: gt_itab TYPE STANDARD TABLE OF sflight,
gs_wa LIKE LINE OF gt_itab.
DATA: gs_line(72) TYPE c,
gt_list LIKE TABLE OF gs_line(72).
gs_line = 'CARRID CONNID'.
SELECT DISTINCT (gs_line) INTO TABLE gt_itab
FROM sflight.
IF sy-subrc EQ 0.
LOOP AT gt_itab INTO gs_wa.
WRITE: / gs_wa-carrid, gs_wa-connid.
ENDLOOP.
ENDIF.
결과는 아래와 같구요.
001 0000
006 0000
055 0000
078 0000
078 0000
079 0000
010 0000
169 0000
198 0000
040 0000
040 0000
040 0000
040 0000
040 0000
240 0000
240 0000
000 0000
000 0000
000 0000
001 0000
015 0000
098 0000
094 0000
350 0000
351 0000
351 0000
왜 결과가 이렇죠?
carrid 필드와 connid 필드에는 해당 데이터가 없는데요.
감사합니다.
댓글 4
-
sapjoy
2017.04.18 06:10
-
모카골드
2017.04.18 18:30
<style type="text/css"> SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } </style>
그런데 아래와 같이 수행하면 결과가 이렇습니다.
(sflight-carrid 의 내용은 알파벳인데 예제의 결과는 001 부터 351 까지 나오는 이유를 모르겠습니다.)
(sflight-connid 의 내용도 0000 이 없는것 같은데 프로그램 수행 결과는 0000 만 있는것도 잘 모르겠습니다.)
REPORT z03_02.
DATA: gt_itab TYPE STANDARD TABLE OF sflight,
gs_wa LIKE LINE OF gt_itab.
DATA: gs_line(72) TYPE c,
gt_list LIKE TABLE OF gs_line(72).
gs_line = 'CARRID CONNID'.
SELECT DISTINCT * INTO TABLE gt_itab
FROM sflight.
IF sy-subrc EQ 0.
LOOP AT gt_itab INTO gs_wa.
WRITE: / gs_wa-carrid, gs_wa-connid.
ENDLOOP.
ENDIF.다음과 같은 결과가 나옵니다.
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0017
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AA 0064
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0555
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0788
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0789
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
AZ 0790
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 0106
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1699
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
DL 1984
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0407
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
JL 0408
LH 0400
LH 0400
LH 0400
LH 0400
(중략)
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0002
SQ 0015
SQ 0015
SQ 0015
SQ 0015
SQ 0015
SQ 0015
SQ 0015
SQ 0015
SQ 0015
SQ 0015
LH 0402
LH 0402
LH 0402
LH 0402
LH 2402
LH 2402
LH 2402
LH 2402
-
sapjoy
2017.04.19 05:22
안녕하세요.
제가 예제를 잘못적었습니다. 아래와 같이 수정부탁드립니다.
REPORT z03_02.
DATA: gt_itab TYPE STANDARD TABLE OF sflight,
gs_wa LIKE LINE OF gt_itab.
DATA: gs_line(72) TYPE c,
gt_list LIKE TABLE OF gs_line(72).
gs_line = 'CARRID CONNID'.
SELECT DISTINCT (gs_line) INTO CORRESPONDING FIELDS OF TABLE gt_itab
FROM sflight.
IF sy-subrc EQ 0.
LOOP AT gt_itab INTO gs_wa.
WRITE: / gs_wa-carrid, gs_wa-connid.
ENDLOOP.
ENDIF. -
모카골드
2017.04.20 20:32
답변 감사합니다.
안녕하세요.
sflight 테이블에 데이터가 있으니 그렇게 나오는게 맞습니다.
다시 확인 부탁드립니다.