
ALV를 쓰는 모습..

오늘은 PERFORM refresh_alv_0100. 에 대해서 배워봅시다.
MODULE set_alv_0100 OUTPUT. IF go_con IS INITIAL. PERFORM set_alv_0100 USING go_con go_alv. ENDIF. PERFORM display_alv_0100. ENDMODULE.기존의 경우는 이렇게 썼지만
MODULE set_alv_0100 OUTPUT. IF go_con IS INITIAL. PERFORM set_alv_0100 USING go_con go_alv. PERFORM display_alv_0100. ELSE. PERFORM refresh_alv_0100. ENDIF. ENDMODULE.오늘 배운건 refresh_alv_0100. 을 통해 이렇게 썼다.
refresh_alv_0100.은 이렇게 생겼다.
1. is_stable (ls_stable)
타입: lvc_s_stbl
설명: ALV를 새로고침할 때 현재 사용자가 보고 있는 ALV 화면의 상태를 유지하도록 제어하는 데 사용됩니다.
ls_stable-row = 'X': 행(row) 상태를 유지하도록 설정합니다. 예를 들어, 사용자가 특정 행을 선택해 놓았을 경우, 새로고침 후에도 해당 행이 선택된 상태로 남아있게 됩니다.
ls_stable-col = 'X': 열(column) 상태를 유지하도록 설정합니다. 예를 들어, 사용자가 특정 열을 정렬하거나 필터링한 경우, 새로고침 후에도 이 설정이 유지됩니다.
이 설정을 통해 ALV의 상태를 안정적으로 유지하면서 데이터를 갱신할 수 있습니다.
2. i_soft_refresh
타입: CHAR(1)
설명: 소프트 새로고침(Soft Refresh) 옵션을 제어하는 플래그입니다.
'X' 값이 지정되면, 소프트 새로고침을 수행합니다. 소프트 새로고침은 데이터를 갱신하되, ALV의 화면 레이아웃이나 상태에 큰 영향을 주지 않도록 합니다.
이 방법은 화면 깜박임이나, 사용자 인터페이스가 리셋되는 것과 같은 현상을 줄여줄 수 있습니다.