TYPES: ty_it_fields TYPE STANDARD TABLE OF sval WITH DEFAULT KEY.
DATA: lv_ret TYPE char1.
* field_attr:
*
* space - normale Helligkeit, eingabebereit
* 01 - hell, eingabebereit
* 02 - normale Helligkeit, nicht eingabebereit
* 03 - hell, nicht eingabebereit
* 04 - nicht anzeigen
* Eingabefelder
DATA(it_fields) = VALUE ty_it_fields( ( tabname = 'BKPF' fieldname = 'BUDAT' value = sy-datum field_obl = abap_true )
( tabname = 'BKPF' fieldname = 'BLART' field_obl = abap_true )
( tabname = 'MARA' fieldname = 'MATNR' fieldtext = 'MarNr' field_attr = '01' value = '00001' ) ).
* Eingabedialog
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
popup_title = 'Werteeingabe'
IMPORTING
returncode = lv_ret
TABLES
fields = it_fields
EXCEPTIONS
error_in_fields = 1
OTHERS = 2.
* Auswertung
IF sy-subrc = 0.
CASE lv_ret.
WHEN space.
LOOP AT it_fields ASSIGNING FIELD-SYMBOL(<fs_line>).
WRITE: / <fs_line>-tabname, <fs_line>-fieldname, <fs_line>-fieldtext, <fs_line>-field_obl, <fs_line>-value.
ENDLOOP.
WHEN 'A'.
WRITE: / 'Abbruch.'.
WHEN OTHERS.
WRITE: / 'Fehler.'.
ENDCASE.
ELSE.
WRITE: / sy-subrc.
ENDIF.