Dynpro 0100 im Screenpainter definieren
Textfeld vom Typ Listbox einfügen
Variablendefinition im Top-Include des Reports/Modulpools
* globaler Bezeichner für Listbox definieren, dieser muss namensgleich dem
* Bezeichner des Screenpainter-Elements (Listbox) sein
* Über diesen Bezeichner erfolgt der Zugriff aus dem Code heraus
* --> beim Programmstart wird dieser automatisch dem Screenpainter-Elements
* (Listbox) zugeordnet
DATA: lb_listbox TYPE char255.
* globale Liste für Listboxwerte
DATA: it_lb_values TYPE vrm_values.
Dynpro 0100 PBO -> Initialisierung der Listbox
PROCESS BEFORE OUTPUT.
MODULE status_0100.
...
MODULE status_0100 OUTPUT.
* Werteliste für Listbox initialisieren
it_lb_values = VALUE vrm_values( ( key = 'A' text = 'Wert1' )
( key = 'B' text = 'Wert2' )
( key = 'C' text = 'Wert3' ) ).
* Werteliste der Listbox setzen
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'LB_LISTBOX'
values = it_lb_values
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
* Vorauswahl für die Listbox treffen, entsprechenden Key setzen
lb_listbox = 'A'.
ENDMODULE.
Dynpro 0100 PAI -> Auslesen der Listbox-Auswahl
PROCESS AFTER INPUT.
MODULE user_command_0100.
...
MODULE user_command_0100 INPUT.
DATA(lv_lb_text) = VALUE char255( ).
* Text aus der Listbox anhand des Keys ermitteln
TRY.
lv_lb_text = it_lb_values[ key = lb_listbox ]-text.
CATCH cx_root.
ENDTRY.
...
ENDMODULE.