아직 많이 부족한 초짜 개발자가 이렇게 질문드립니다 .
아시는분은 답변좀 부탁드릴께요~
제가 ALV(CLASS)에서 특정 다수 필드에 특정 셀에 수정모드를 하기위해서
아래와 같이 소스를 작성했는데요. ( 아래는 두개의 필드를 수정모드 하는 로직입니다. )
※ SELF 필드와 RENT 필드는 CBO 테이블에 있습니다.
LOOP AT GT_DATA1 WHERE CHECK = 'X'.
LV_TABIX = SY-TABIX.
CLEAR GT_DATA1-CELTAB[].
LS_STYLE-FIELDNAME = 'SELF'.
LS_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED. ( STYLE_ENABLED )
APPEND LS_STYLE TO GT_DATA1-CELTAB.
CLEAR LS_STYLE.
LS_STYLE-FIELDNAME = 'RENT'.
LS_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
APPEND LS_STYLE TO GT_DATA1-CELTAB.
MODIFY GT_DATA1 INDEX LV_TABIX.
ENDLOOP.
그런데 ITAB_ILLEGAL_SORT_ORDER 라는 덤프가 떨어지는데 왜 오류가 나는지 잘 모르겠어요~
물론 STYLE 타입은 LVC_S_STYL ( SORTED TABLE ) 입니다.
아시는분은 답변 부탁드리겠습니다 (__)
댓글 4
-
특정단어
2010.05.04 00:43
-
페리
2010.05.04 00:55
fieldname이 'R'이 'S'보다 먼저 와야합니다. (sort table)
반대로 넣어주시고 해보세용~
LOOP AT GT_DATA1 WHERE CHECK = 'X'.
LV_TABIX = SY-TABIX.
CLEAR LS_STYLE.
LS_STYLE-FIELDNAME = 'RENT'.
LS_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
APPEND LS_STYLE TO GT_DATA1-CELTAB.
CLEAR GT_DATA1-CELTAB[].
LS_STYLE-FIELDNAME = 'SELF'.
LS_STYLE-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED. ( STYLE_ENABLED )
APPEND LS_STYLE TO GT_DATA1-CELTAB.
MODIFY GT_DATA1 INDEX LV_TABIX.
ENDLOOP.
-
래피드
2010.05.04 01:21
헛..두분답변 모두 감사드립니다~~ 패리님 그럼 필드명은 알파벳 순으로 넣어야된다는 말씀이시죠?
허미.. 그런게 또있네요..
해결됬어요 ~ 답변 감사합니다~~~~ 아 속편해~
-
아바바바
2010.08.04 01:49
insert 하세요 . 그럼 알파벳 순으로 않하셔도 됩니다 .
sorted table에는 append 대신에 insert 를 쓰시는 게 속 편합니다.
Syntax Diagram
APPEND
Effect
For the individual table types, appending is done as follows:
Exceptions
Non-Catchable Exceptions
Runtime Error: ITAB_ILLEGAL_SORT_ORDER: