본문 바로가기

SAP/ABAP

저장하기 전에 ALV Data Changed Event 강제로 수행하기

ALV 에서 데이터를 입력하다 보면 엔터키를 치거나 셀에서 포커스가 빠져나가야 Data Changed 이벤트를 타는데 앞의 두 행위(?) 하지 않고 저장을 해 버릴 경우 데이터를 인식하지 못하고 저장이 되게 된다.

 

그럴때 SAVE 를 수행하기 전에 아래의 로직을 추가하면 강제로 Data Changed Event 가 수행되면서 Internal Table 에 ALV 의 변경된 데이터가 잘 반영되게 된다. 

 

data : lv_valid, lv_refresh.

call method go_grid->check_changed_data
	importing
    	e_valid = lv_valid
    changing
    	c_refresh = lv_refresh.

 

SAP 에서는 엔터만 잘 쳐도 절반은 먹고 들어가는데 웹에 익숙한 사람들은 SAP GUI 가 왜 이렇게 구리냐고 한다.

아무튼 엔터만 잘쳐도 이런 로직은 넣지 않아도 될텐데.. 이런게 있는 것을 보면 예전이나 지금이나 엔터 안치는 사람들이 많은가 보다.