SELECT FROM mara
FIELDS *
INTO TABLE @DATA(it_mara)
UP TO 10 ROWS.
IF sy-subrc = 0.
* Table: Beschreibung
DATA(o_tdesc) = CAST cl_abap_tabledescr( cl_abap_tabledescr=>describe_by_data( it_mara ) ).
* Row: Beschreibung
DATA(o_sdesc) = CAST cl_abap_structdescr( o_tdesc->get_table_line_type( ) ).
* Key Fields
DATA(it_keyflied_list) = o_sdesc->get_ddic_field_list( ).
* nur die Keyfields zurückgeben
DELETE it_keyflied_list WHERE keyflag <> abap_true.
cl_demo_output=>write_data( it_keyflied_list ).
cl_demo_output=>write_data( it_mara ).
* HTML-Code vom Demo-Output holen
DATA(lv_html) = cl_demo_output=>get( ).
* Daten im Inline-Browser im SAP-Fenster anzeigen
cl_abap_browser=>show_html( EXPORTING title = 'Key-Fields'
html_string = lv_html
container = cl_gui_container=>default_screen ).
* cl_gui_container=>default_screen erzwingen
WRITE: space.
ENDIF.