안녕하세요~~~ 오랜만에 글 올립니다.~
다름이 아니라
ALV 에서 layout 의 EDIT 옵션을 사용하였습니다.
그래서 ALV 출력시 모든 필드 들이 수정이 가능하게 나옵니다.
이 후에 막히는 부분이 있어서요..
ALV 화면에서 수정하고 SAVE를 누르게 되면..
DATA가 변경적용된 인터널테이블의 값을 가져오고 싶습니다.
즉 ALV 에 보여지는 그대로의 Data 죠...
이 값을 받아와 DB 에 적용을 하고 싶은데요...
필드가 몇개 안된다면.....필드단위로 하면 될텐데...
그거도 아니라서요...부탁드리겠습니다..
다 알려주지 않아도..힌트라도 조금 주시면 감사하겠습니다.
가을이 되었는데......많이 덥습니다.~~ 더위 조심하세요^^
댓글 2
-
icarus
2008.09.19 00:20
-
페리
2008.09.19 17:14
save 눌렸을때 아래 로직을 넣어주시면 될거 같아요.
data: l_valid type c.
* 변경값 체크
call method g_grid->check_changed_data
importing
e_valid = l_valid.
* 변경되면 modify.
if l_valid eq 'X'.
loop at itab into lv_itab.
modify itab from lv_itab.
endloop.
call method g_grid1->refresh_table_display.
endif.
제가 정확히 이해했는지 모르겠는데, 우선 제가 이해한대로 말씀드리면,,,
인터널테이블의 칼럼에 chg(01) 칼럼 추가하고,
ALV 의 Data_changed 이벤트에서 데이터가 변경될 경우 변경된 Row의 chg 칼럼값을 X로 modify 해 주고...
저장 버튼을 클릭하면 인터널테이블의 chg 칼럼값이 X 인 데이터만 추려서 저장하면 될거 같은데요...