제가 말그래도 초보인데요
체인지 이벤트에서 입력값을 체크해주거든요
그래서 에러가 나면 화면상에 입력안되게 하고 싶은데
제가 입력한 값이
DATA : ls_mod_cells TYPE lvc_s_modi.
ls_mod_cells-fieldname
ls_mod_cells-value
ls_mod_cells-row_id
제가 입력한필드가 있으면 그필드명이 필드네임에 들어가고 값이 벨류에 인덱스가 로우에 들어가거든요
그리고
CALL METHOD er_data_changed->modify_cell
EXPORTING i_row_id = ls_mod_cells-row_id
* i_fieldname = 'MARK'
* i_value = 'X'.
i_fieldname = ls_mod_cells-fieldname
i_value = ls_mod_cells-value.
이메소드를 써야지 값이 바뀌는 걸루 알고있는데 제가 이메소드 타기전에 lvc_s_modi 를 클리어해줬거든요
그래도 값이 바뀝니다 체크는 되고 에러메세지만 뜨고 값이 들어가있어서 진행이 안되요
고수님들 선배님들 좀 도와주십시요 부탁드립니다
댓글 6
-
kkamui
2008.07.17 18:16
ls_mod_cells 를 클리어 해줘야 되지 않나요?? ^^;;; -
초초보보
2008.07.17 18:59
아이쿠 실수했네요 ls_mod_cells 이거 클리어 해줬는데 위에 잘못썻네요 그거 클리어해줘도 값이 들어가네요 ㅠㅠ -
kkamui
2008.07.17 19:24
data lv_val like ls_mod_cells-value.
clear lv_val.
CALL METHOD rr_data_changed->modify_cell
EXPORTING
i_row_id = ls_mod_cells-row_id
i_fieldname = ls_mod_cells-fieldname
i_value = lv_val .
혹시나 전체를 다 클리어 해줘서 작업대상이 없어서 그런건 아닌지??? 밸류값만 클리어 해주고 함 해보세요 ^^
-
초초보보
2008.07.18 01:34
ㅠㅠ 그래도 안되네요 아 이것만 해결하면 되는데 안되네요 미치
-
지의
2008.07.18 17:38
화면에 변경 된 값 반영하기.
CALL METHOD g_grid_01->check_changed_data
IMPORTING
e_valid = l_valid_01.
l_valid_01 에 X 가 들어오면 된거임.
수고하세요.
-
지의
2008.07.18 17:43
아.. class CL_GUI_ALV_GRID 에 있는거임.