Interne Tabelle in HTML-Format konvertieren

In diesem Artikel zeige ich Dir, wie man in der Programmiersprache ABAP einfach eine interne Tabelle in ein HTML-Format konvertieren kann. Generell kannst Du den Funktionsbaustein WWW_ITAB_TO_HTML für eine Konvertierung verwenden. Aber es gibt auch eine einfache Alternative hierfür.

Interne Tabelle in HTML-Format konvertieren

Interne Tabelle in HTML-Format konvertieren – Eigene Klasse

Die Konvertierung kann einfach über eine eigene ABAP-Klasse realisiert werden. Folgenden ABAP-Quellcode kannst Du als Vorlage hierfür nutzen.

CLASS lcl_converter DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS itab_to_html
      IMPORTING
        it_table    TYPE ANY TABLE
      RETURNING
        VALUE(html) TYPE string.
ENDCLASS.

CLASS lcl_converter IMPLEMENTATION.
  METHOD itab_to_html.
    DATA: lt_field TYPE TABLE OF string,
          lv_field TYPE string,
          lv_num   TYPE i.
    FIELD-SYMBOLS:
          <fs_field> TYPE any.

    html = '<table border="1">'.

    LOOP AT it_table ASSIGNING FIELD-SYMBOL(<fs_line>).
      CLEAR: lv_num, lt_field.

      DO.
        lv_num = lv_num + 1.
        ASSIGN COMPONENT lv_num OF STRUCTURE <fs_line> TO <fs_field>.
        IF sy-subrc NE 0.
          EXIT.
        ENDIF.
        lv_field = <fs_field>.
        APPEND lv_field TO lt_field.
      ENDDO.

      html = html && '<tr><td>' && concat_lines_of( table = lt_field sep = '</td><td>' ) && '</td></tr>'.
    ENDLOOP.

    html = html && '</table>'.

  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  SELECT * FROM scarr INTO TABLE @DATA(lt_scarr).
  DATA(html) = lcl_converter=>itab_to_html( it_table = lt_scarr ).

  cl_demo_output=>write_html( html ).

  cl_demo_output=>display( ).

Interne Tabelle in HTML-Format konvertieren – XML-Transformation

In dem Beispielprogramm DEMO_ST_TABLE wird gezeigt, wie man mit Hilfe einer XML-Transformation jede beliebige interne Tabelle in ein HTML-Format konvertieren kann.

DATA: BEGIN OF carrier_wa,
        carrid   TYPE scarr-carrid,
        carrname TYPE scarr-carrname,
        url      TYPE scarr-url,
      END OF carrier_wa,
      carrier_tab LIKE TABLE OF carrier_wa,
      xml         TYPE xstring,
      html        TYPE string.

SELECT *
       FROM scarr
       INTO CORRESPONDING FIELDS OF TABLE @carrier_tab.

" Konvertierung mittels XML-Transformation
CALL TRANSFORMATION demo_st_table
                    SOURCE carriers = carrier_tab
                    RESULT XML html
                    OPTIONS xml_header = 'NO'.
cl_demo_output=>write_html( html ).

cl_demo_output=>display( ).

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar