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
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.
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.