WHEN 'TOGGLE'.
LOOP AT flights-cols INTO cols WHERE index GT 2.
*cols 는 Column Number of Form
IF cols-screen-input = '0'.
cols-screen-input = '1'.
ELSEIF cols-screen-input = '1'.
cols-screen-input = '0'.
ENDIF.
MODIFY flights-cols FROM cols INDEX sy-tabix.
*sy-tabix는 internal table, current line index
ENDLOOP.
WHEN 'SORT_UP'.
READ TABLE flights-cols INTO cols WITH KEY selected = 'X'.
IF sy-subrc = 0.
SORT itab STABLE BY (cols-screen-name+10) ASCENDING.
cols-selected = ''.
MODIFY flights-cols FROM cols INDEX sy-tabix.
ENDIF.
WHEN 'SORT_DOWN'.
READ TABLE flights-cols INTO cols WITH KEY selected = 'X'.
SORT itab STABLE BY (cols-screen-name+10) DESCENDING.
cols-selected = ''.
MODIFY flights-cols FROM cols INDEX sy-tabix.
WHEN 'DELETE'.
READ TABLE flights-cols INTO cols WITH KEY selected = '1'.
IF sy-subrc = 0.
LOOP AT itab INTO demo_conn WHERE mark = 'X'.
DELETE itab.
ENDLOOP.
ENDIF.
ENDCASE.
도출된 테이블의 값들에 대해 TOGGLE, 정렬, 삭제등에 관련된 로직인데
전체적인 흐름이 이해가 잘 안가서요;;;
해석좀 부탁드려요;;; 간단하게라도;;ㅠ
댓글 4
-
SAP폐인
2008.12.27 23:48
디버깅 해보심이 더 좋을것으로 생각됩니다. 참고로 Command의 기능은 아시니 분석도 어렵지 않을 것으로 판단되어집니다. -
우락부락
2008.12.29 19:42
네 디버깅은 해봤었는데 세부적인 구문이 이해가 안 가서요..
1. 위에서 cols부분을 디버깅 해보면 structured field라고 해서 조회가 되는데 디버깅 상에서는 조회가 가능하지만
se11 에서 조회해보면 그냥 field라고만 나와요 꼭 디버깅에서만 조회를 해야하는지와??
2. GT2 라는 구문의 뜻을 정확히 모르겠습니다..ㅠ
다시말해서 LOOP AT flights-cols INTO cols WHERE index GT 2.
<--요 구문이 제대로 이해가 가지 않습니다.ㅠ -
Gerrard
2008.12.29 20:02
flights-cols LOOP을 돌면서 cols이라는 에 레코드의 값을 옮기는거죠
WHERE가 붙어서 INDEX가 2보다 클 경우에만이라는 조건이 붙은거임..
-
우락부락
2008.12.29 20:06
네 답변감사요 그런데 structured field 라는 부분 조회를 어디서 해야할지요??ㅠ