Listpopup mit Auswahl
Mit diesem Funktionsbaustein können Sie eine Liste zur Auswahl übergeben. Ausserdem können Sie einen Titel als Überschrift über der Liste definieren. Zudem gibt es die Möglichkeit einen eigenen Status zu setzen und die Funktionscodes über eine Callback-Routine auszuwerten.
|
Der Funktionsbaustein kann eine Liste ausgeben, aus der genau ein Eintrag ausgewählt werden kann oder aber mehrere Einträge. Bei mehreren Einträgen kann man noch festlegen, wieviele Einträge maximal erlaubt sind.
Das folgende Coding stellt eine Liste dar, aus der maximal zwei Einträge ausgewählt werden dürfen.
*** Variablen
DATA:
BEGIN OF T_HEAD OCCURS 0,
LINE(100),
END OF T_HEAD,
T_LIST LIKE T_HEAD OCCURS 0 WITH HEADER LINE,
T_MARK LIKE T_HEAD OCCURS 0 WITH HEADER LINE.
START-OF-SELECTION.
*** Überschrift
APPEND ‘Listüberschrift Zeile 1’ TO T_HEAD.
APPEND ‘Listüberschrift Zeile 2’ TO T_HEAD.
*** Tabelleneinträge zur Asuwahl
APPEND ‘1Eins’ TO T_LIST.
APPEND ‘2Zwei’ TO T_LIST.
APPEND ‘3Drei’ TO T_LIST.
APPEND ‘4Vier’ TO T_LIST.
APPEND ‘5Fünf’ TO T_LIST.
*** Popup anzeigen
CALL FUNCTION ‘RH_LISTPOPUP’
EXPORTING
TITLE = ‘Auswahlfenster’
MARK_MODE = 1
MARK_MAX = 2
FULLSCREEN = ‘ ‘
CUCOL = 5
CUROW = 5
VISIBLE_OFFSET = 1 “Erstes Zeichen nicht ausgeben
VISIBLE_LENGTH = 20 “20 Zeichen der Tabelle ausgeben
TABLES
PAGE_HEADER = T_HEAD
LIST = T_LIST
MARKED_LINES = T_MARK
EXCEPTIONS
LIST_EMPTY = 1
WRONG_MARK_MODE = 2
F15 = 3
OTHERS = 4.
IF SY-SUBRC = 0 AND NOT T_MARK[] IS INITIAL.
*** Es wurde eine Auswahl getroffen:
LOOP AT T_MARK.
WRITE: / T_MARK-LINE.
ENDLOOP.
ELSE.
*** Es wurde keine Auswahl getroffen
WRITE: / ‘Keine Auswahl getroffen.’.
ENDIF.
Alternative
Ähnlich funktionieren tut der Baustein G_DISPLAY_SELECTION_DYNPRO
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024