안녕하세요.
LOOP AT itab.
WRITE : / sy-vline, 5(7) itab-carrid,
sy-vline, 15(7) itab-connid,
sy-vline, 25(10) itab-fldate,
sy-vline, 38(18) itab-price,
sy-vline.
(WRITE : /sy-uline.)
HIDE : itab-carrid, itab-connid, itab-fldate, itab-seatsmax, itab-seatsocc.
ENDLOOP.
AT LINE SELECTION.
WRITE : / sy-vline, (7) itab-carrid,
sy-vline, (7) itab-connid,
sy-vline, (10) itab-fldate,
sy-vline, (7) itab-seatsmax,
sy-vline, (7) itab-seatsocc,
sy-vline.
위와 같이 LOOP을 돌려서 ITAB의 필드를 뿌려준 후 특정라인을 더블클릭해서 그 값의 정보만 뿌리고자 하는데,
위처럼 로직을 작성했을때는 동작이 잘 됩니다. 그런데...
write를 할때 라인사이사이에 uline을 넣어주면
at line selection. 에서 새로 더블클릭한 라인을 읽어오지 못하고,
맨마지막에 뿌려진 header에 올려져 있는 값을 뿌립니다.
그러니 물론 header를 지운 후 at line selection을 타면 아무값도 뿌리지 못하고요.
왜 uline하나때문에 되고 안되고 하는지 이해를 못하겠어서 질문드립니다.
댓글 4
-
모모
2008.05.16 20:32
-
CoolGuy
2008.05.16 21:53
먼저 HIDE를 시키고난후~ SY-ULINE을 그어주면 됩니다!!
모모님 정석답변이시네요^^
-
SkyDream
2008.05.16 22:03
write로 출력한 화면의 라인을 더블클릭하면,
해당 라인을 write후 hide 시킨 필드의 value를 hide시킨 필드로 다시 읽어 옵니다.
질문하신 분의 소스처럼
WRITE : /sy-uline.
HIDE : itab-carrid, itab-connid, itab-fldate, itab-seatsmax, itab-seatsocc.
와 같은 순서로 hide를 했을 경우에는
라인(sy-uline) 출력후 hide를 한 결과가 되므로
출력된 라인(sy-uline)을 더블클릭 해야 hide 시킨 필드 값을 읽어오게 됩니다.
모모님의 답변처럼
hide문의 위치를 조정하시면 됩니다.
HIDE : itab-carrid, itab-connid, itab-fldate, itab-seatsmax, itab-seatsocc.
WRITE : /sy-uline.
-
크리스~
2008.05.21 03:42
도움이 많이 되었습니다.
수정전
WRITE : /sy-uline.
HIDE : itab-carrid, itab-connid, itab-fldate, itab-seatsmax, itab-seatsocc.
수정후
HIDE : itab-carrid, itab-connid, itab-fldate, itab-seatsmax, itab-seatsocc.
WRITE : /sy-uline.