DATA: o_alv TYPE REF TO cl_salv_table.
DATA: lv_layout_key TYPE salv_s_layout_key.
PARAMETERS: p_alvlay TYPE slis_vari.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_alvlay.
lv_layout_key-report = sy-repid.
p_alvlay = cl_salv_layout_service=>f4_layouts( lv_layout_key )-layout.
START-OF-SELECTION.
DATA: o_alv_layout TYPE REF TO cl_salv_layout.
...
lv_layout_key-report = sy-repid.
o_alv_layout = o_alv->get_layout( ).
o_alv_layout->set_key( lv_layout_key ).
o_alv_layout->set_initial_layout( p_alvlay ).