Variante 1 (ein Wert mit GET_DYNP_VALUE)
PARAMETERS: p_test TYPE char32 DEFAULT 'Test123'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_test.
DATA(lv_value) = VALUE char255( ).
* sy-repid und sy-dynnr müssen beim Auslesevorgang auch im akt. Ereignis vorhanden sein, sonst Exception
CALL FUNCTION 'GET_DYNP_VALUE'
EXPORTING
i_field = 'P_TEST'
i_repid = sy-repid
i_dynnr = sy-dynnr
CHANGING
o_value = lv_value.
MESSAGE lv_value TYPE 'I'.
Variante 2 (mehrere Werte mit DYNP_VALUES_READ)
PARAMETERS: p_test TYPE char32 DEFAULT 'Test123'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_test.
* Tabelle mit Feldern / GUI-Elementen, die ausgelesen werden sollen
DATA(it_dyn_read) = VALUE dynpread_tabtype( ( fieldname = 'P_TEST' ) ).
* sy-repid und sy-dynnr müssen beim Auslesevorgang auch im akt. Ereignis vorhanden sein, sonst Exception
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid " sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = it_dyn_read
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc = 0.
IF lines( it_dyn_read ) > 0.
MESSAGE it_dyn_read[ 1 ]-fieldvalue TYPE 'I'.
ENDIF.
ENDIF.