Wie kann man in ABAP ein dynamisches Dropdown aus einer SAP Tabelle für die SAP GUI erstellen?
Gegeben sei die Tabelle /TEST/TABELLE
mit den Feldern A
(soll als Schlüssel im Dropdown auftauchen) und B
(soll als Text im Dropdown auftauchen).
Zunächst solltest Du in Deinem Code Folgendes definieren:
TYPE-POOLS vrm.
Weiterhin benötigst Du folgende Variablen:
DATA your_table TYPE TABLE OF /TEST/TABELLE. " Repräsentant Deiner internen Tabelle.
DATA wa_your_table TYPE /TEST/TABELLE. " Working-Area für Deiner internen Tabelle (für SELECT).
" Für Dropdown
DATA l_value TYPE vrm_value.
DATA t_values TYPE vrm_values.
PARAMETER dropdown(100) AS LISTBOX VISIBLE LENGTH 40 OBLIGATORY.
Das Dropdown baust Du nun folgendermaßen auf:
INITIALIZATION.
SELECT A B INTO TABLE your_table FROM /TEST/TABELLE.
LOOP AT your_table INTO wa_magic_tab.
l_value-key = wa_your_table-A.
l_value-text = wa_your_table-B.
APPEND l_value TO t_values.
ENDLOOP.
" Dropdown zusammenbauen
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'DROPDOWN'
values = t_values
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
START-OF-SELECTION.