Variante 1 ( refresh_table_display )
DATA: o_alv TYPE REF TO cl_gui_alv_grid.
...
DATA: lv_stable TYPE lvc_s_stbl.
lv_stable-row = 'X'.
lv_stable-col = 'X'.
o_alv->refresh_table_display( is_stable = lv_stable ).
Variante 2 ( set_scroll_info_via_id, set_current_cell_via_id )
DATA: o_alv TYPE REF TO cl_gui_alv_grid.
...
* Scrollbalken und Cursorposition im Gitter auslesen
DATA: lv_row_no TYPE lvc_s_roid.
DATA: lv_row_info TYPE lvc_s_row.
DATA: lv_col_info TYPE lvc_s_col.
o_alv->get_scroll_info_via_id( IMPORTING
es_row_no = lv_row_no
es_row_info = lv_row_info
es_col_info = lv_col_info ).
DATA: lv_row_no2 TYPE lvc_s_roid.
DATA: lv_row_id2 TYPE lvc_s_row.
DATA: lv_col_id2 TYPE lvc_s_col.
o_alv->get_current_cell( IMPORTING
es_row_id = lv_row_id2
es_col_id = lv_col_id2
es_row_no = lv_row_no2 ).
o_alv->refresh_table_display( ).
* Scrollbalken und Cursorposition im Gitter auf die alte Position setzen
o_alv->set_scroll_info_via_id( is_row_info = lv_row_info
is_col_info = lv_col_info
is_row_no = lv_row_no ).
o_alv->set_current_cell_via_id( is_row_id = lv_row_id2
is_column_id = lv_col_id2
is_row_no = lv_row_no2 ).
Weiterführende Infos: Link