* Type für Listbox-Inhalt
TYPES: ty_it_listbox TYPE STANDARD TABLE OF vrm_value WITH DEFAULT KEY.
* Merker für Kommando für ListBox-Change
DATA: lv_ucomm TYPE sy-ucomm.
* Listbox auf dem Selektionsbild mit Kommando LB_CHG
* TYPE / Länge des Typs hat Einfluss auf key
PARAMETERS: p_lst TYPE char1 AS LISTBOX VISIBLE LENGTH 20 USER-COMMAND lb_chg.
INITIALIZATION.
* Listbox vorbelegen
DATA(it_lb) = VALUE ty_it_listbox( ( key = 'A' text = 'Punkt 1' )
( key = 'B' text = 'Punkt 2' )
( key = 'C' text = 'Punkt 3' ) ).
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_LST'
values = it_lb
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
* Vorselektion
IF lines( it_lb ) > 0.
p_lst = p_lst[ 1 ]-key.
ENDIF.
AT SELECTION-SCREEN.
* hier das User-Kommando merken
lv_ucomm = sy-ucomm.
IF sy-ucomm EQ 'LB_CHG'.
...
ENDIF.
AT SELECTION-SCREEN OUTPUT.
* bei Ausgabe auf das gemerkte User-Kommando reagieren
CASE lv_ucomm.
WHEN 'LB_CHG'.
LOOP AT SCREEN INTO DATA(wa).
...
MODIFY SCREEN FROM wa.
ENDLOOP.
ENDCASE.