[ABAP] Interne Tabelle in XML wandeln und anzeigen

Variante 1 (Klassen)

DATA it_itab TYPE STANDARD TABLE OF mara.

SELECT * FROM mara INTO TABLE it_itab UP TO 10 ROWS.

DATA(o_writer_itab_xml) = cl_sxml_string_writer=>create( type = if_sxml=>co_xt_xml10 ).
CALL TRANSFORMATION id SOURCE values = it_itab RESULT XML o_writer_itab_xml.
DATA(itab_xml) = cl_abap_codepage=>convert_from( o_writer_itab_xml->get_output( ) ).

cl_abap_browser=>show_xml( xml_string = itab_xml
                           title      = 'Überschrift'
                           size       = cl_abap_browser=>large ).

Variante 2 (FuBa)

DATA lv_xml TYPE xstring.
DATA lo_dom TYPE REF TO if_ixml_document.
DATA it_itab TYPE STANDARD TABLE OF mara.

SELECT * FROM mara INTO TABLE it_itab UP TO 10 ROWS.

CALL TRANSFORMATION id SOURCE data_node = it_itab RESULT XML lv_xml.

CALL FUNCTION 'SDIXML_XML_TO_DOM'
  EXPORTING
    xml           = lv_xml
  IMPORTING
    document      = lo_dom
  EXCEPTIONS
    invalid_input = 1
    OTHERS        = 2.

IF sy-subrc = 0.
  CALL FUNCTION 'SDIXML_DOM_TO_SCREEN'
    EXPORTING
      document    = lo_dom
      title       = 'XML-Doc'
      encoding    = 'UTF-8'
    EXCEPTIONS
      no_document = 1
      OTHERS      = 2.

  IF sy-subrc = 0.

  ENDIF.
ENDIF.