TYPES: BEGIN OF ty_mara,
matnr TYPE mara-matnr,
ernam TYPE mara-ernam,
END OF ty_mara.
DATA: it_mara TYPE TABLE OF ty_mara.
DATA: it_return TYPE TABLE OF ddshretval.
PARAMETERS: p_matnr TYPE mara-matnr.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.
CLEAR: it_mara.
SELECT matnr, ernam FROM mara
INTO CORRESPONDING FIELDS OF TABLE @it_mara
UP TO 20 ROWS
ORDER BY matnr.
* F4-Hilfe mit Übergabe der anzuzeigenden Werte in interner Tabelle
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR' " Spalte der internen Tabelle bei value_tab
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_MATNR' " Name des Dynpro-Feldes für die automatische Werterückgabe
value_org = 'S' " Werteübergabe: C: zellenweise, S: strukturiert
window_title = 'Auswahl'
TABLES
value_tab = it_mara " Übergabe-Tabelle mit Werten für die Anzeige und Auswahl
return_tab = it_return " Rückgabe-Tabelle mit den ausgewählten (geklickten) Elementen
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc = 0.
IF lines( it_return ) > 0.
MESSAGE it_return[ 1 ]-fieldval TYPE 'S'.
ENDIF.
ENDIF.