펑션 alv 이구요 ..
어떤 필드 하나를 필드 카탈로그에서 edit , CHECKBOX 선언해주었구요..
데이타 체인지 이벤트를 타게 해서!!!!!
LOOP AT RR_DATA_CHANGED->MT_GOOD_CELLS INTO LS_MOD_CELLS.
CASE LS_MOD_CELLS-FIELDNAME.
WHEN 'CHECK'.
CLEAR GT_LIST.
READ TABLE GT_LIST INDEX LS_MOD_CELLS-ROW_ID.
CALL METHOD RR_DATA_CHANGED->GET_CELL_VALUE
EXPORTING
I_ROW_ID = LS_MOD_CELLS-ROW_ID
I_FIELDNAME = 'CHECK'
IMPORTING
E_VALUE = L_CHECK.
CASE L_CHECK.
WHEN 'X'.
READ TABLE GT_LIST WITH KEY CHECK = 'X'.
IF SY-SUBRC = 0.
READ TABLE GT_LIST INDEX LS_MOD_CELLS-ROW_ID.
CALL METHOD RR_DATA_CHANGED->MODIFY_CELL
EXPORTING
I_ROW_ID = LS_MOD_CELLS-ROW_ID
I_TABIX = LS_MOD_CELLS-TABIX
I_FIELDNAME = 'check'
I_VALUE = ''.
MESSAGE S997 WITH '한건씩만 처리 가능합니다!!.'.
ELSE.
GT_LIST-CHECK = 'X'.
MODIFY GT_LIST INDEX LS_MOD_CELLS-ROW_ID.
ENDIF.
WHEN ' '.
GT_LIST-CHECK = ''.
MODIFY GT_LIST INDEX LS_MOD_CELLS-ROW_ID.
ENDCASE.
ENDCASE.
ENDLOOP.
이렇게 해주었는데요..한건씩만 체크 가능하도록...
그런데 저 부분에서 메세지는 뿌려지지만
화면상에서 체크 했던게 그대로 체크되어 있습니다 ㅠㅠ
두건을 체크하면 메세지가 나오면서 다시 체크했던걸 없애는 방법이 없을까요??
화면 refresh 하는 메소드를 추가해 보십시요.
즐밥하세요..