>안녕하세요.
>제가 DATA 중 기존 선택된 데이타는 SPACE로 하는 기능을 추가하려고
>CL_ALV_CHANGED_DATA_PROTOCOL 이용을 하려는데 이 클래스 같은경우는
>DATA_CHANGED 이벤트 시에 값이 들어오는데..
>이벤트 말고 CREAT로 해서 다시 값을 받을 수 잇는 방법이 없는지 궁금합니다.
>찾아봐도 능력이 안되어서 그런지.. 도처히 못 찾겠네요..
>
>아시는 분은 답변 부탁드립니다.^^
>
>문의하고 저도 찾을 터이니 찾게 되면 올려놓을께요~
* Internal Value Control Use
* 보여진 리스트 값을 원하는 값으로 변경할 수 있도록 도와주는
* 메소드를 이용할 때 사용되는 변수
DATA: L_TABIX TYPE I.
DATA: LT_DELTA_CELLS TYPE LVC_T_MODI,
LS_DELTA_CELLS TYPE LVC_S_MODI.
LOOP AT RR_DATA_CHANGED->MT_GOOD_CELLS INTO LS_MOD_CELLS.
CASE LS_MOD_CELLS-FIELDNAME.
WHEN 'MARK'.
LOOP AT GT_LIST WHERE MARK EQ 'X'.
L_TABIX = SY-TABIX.
IF L_TABIX NE LS_MOD_CELLS-ROW_ID.
CLEAR GT_LIST-MARK.
LS_DELTA_CELLS-ROW_ID = L_TABIX.
LS_DELTA_CELLS-FIELDNAME = 'MARK'.
LS_DELTA_CELLS-VALUE = GT_LIST-MARK.
INSERT LS_DELTA_CELLS INTO TABLE LT_DELTA_CELLS.
ENDIF.
CLEAR GT_LIST.
ENDLOOP.
CALL METHOD G_ALV_GRID->SET_DELTA_CELLS
EXPORTING
IT_DELTA_CELLS = LT_DELTA_CELLS.
ENDCASE.
ENDLOOP.
해결되어서 제가 답변 올립니다.
설명이 이상하게 되어있어서.. 찾기 힘들었어요~
도움되면 추천 해주세요~~~~
상기의 Loop 문 안에서 아래와 같이 Modify_cell 메소드 호출해도 될 거 같은데요,,,
rr_data_changed->modify_cell( i_row_id =
ls_mod_cells-row_id
i_fieldname = 'MARK'
i_value = ls_mod_cells-value ).