Drop-Down-Listfelder
Die Drop-Down-Listfelder können in einem einfachen Report programmiert werden. Wenn zu dem Datenelement, auf das der PARAMETER referiert, in der Domäne Festwerte hinterlegt sind, dann belegt das System die Wertfelder automatisch mit den Festwerten. Auch Datenelemente, an denen eine explizite Suchhilfe angebunden ist, werden entsprechend befüllt.
Auf den Wechsel in einem Drop-Down-Listfeld kann reagiert werden, indem man die Option “USER-COMMAND” mit gibt.
Die folgenden Funktionsbausteine können Sie verwenden, um die Wertelisten in den Drop-Down-Feldern zu modifizieren:
ID’s ermitteln VRM_GET_IDS
Werte setzen VRM_SET_VALUES
Werte lesen VRM_GET_VALUES
Werte löschen VRM_DELETE_VALUES
Werte auffrischen VRM_REFRESH_VALUES
Ein Demoprogramm von der SAP: DEMO_DYNPRO_DROPDOWN_LISTBOX
REPORT zzdropdown.
TYPE-POOLS vrm. DATA: lt_values TYPE vrm_values, ls_value TYPE vrm_value, lv_key(40) TYPE n. PARAMETERS: p_list TYPE NUM02 AS LISTBOX VISIBLE LENGTH 30 USER-COMMAND list, p_spras TYPE spras AS LISTBOX VISIBLE LENGTH 30. INITIALIZATION. *-- Hier wird die Liste mit Werten gefüllt: PERFORM add_value USING: 'Deutschland', 'Italien ', 'Dänemark ', 'Schweden ', 'Holland '. *-- Setzen der Werte für das Feld P_LIST CALL FUNCTION 'VRM_SET_VALUES' EXPORTING id = 'P_LIST' values = lt_values. AT SELECTION-SCREEN. IF sy-ucomm = 'LIST'. *** Ausgabe des ausgewählten Parameters READ TABLE lt_values INTO ls_value INDEX p_list. MESSAGE S000(OO) with ls_value-text. ENDIF. *---------------------------------------------------------------------* * FORM add_value * *---------------------------------------------------------------------* FORM add_value USING f_text. STATICS lv_key. ADD 1 TO lv_key. ls_value-key = lv_key. ls_value-text = f_text. APPEND ls_value TO lt_values. ENDFORM.
Ergebnis
Und so sieht’s aus:
Die Drop-Down-Listboxen in Aktion |
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024
Ein Fehler in der Codeformatierung. Es müssen normale ‘ verwendet werden.