{"id":18304,"date":"2020-07-21T09:08:39","date_gmt":"2020-07-21T07:08:39","guid":{"rendered":"https:\/\/erlebe-software.de\/?p=18304"},"modified":"2021-12-20T10:51:39","modified_gmt":"2021-12-20T09:51:39","slug":"wie-sie-eine-excel-datei-vom-sap-backend-zu-sapui5-transportieren","status":"publish","type":"post","link":"https:\/\/erlebe-software.de\/fiori\/wie-sie-eine-excel-datei-vom-sap-backend-zu-sapui5-transportieren\/","title":{"rendered":"Wie Sie eine Excel-Datei vom SAP-Backend zu SAPUI5 transportieren"},"content":{"rendered":"\n

Arbeiten Sie im SAP- System mit eigens generierten Excel-Dateien und wollen in Zukunft auf SAPUI5 \/ Fiori umsteigen? Dann werden Sie wahrscheinlich früher oder später vor der Herausforderung stehen, diese Excel-Dateien aus dem Backend in das SAPUI5-Frontend zu transportieren. Dieser Artikel zeigt anhand eines praktischen Beispiels, wie Sie eine solche Excel erst zerlegen, dann per OData-Funktionsimport übermitteln und anschließend in JavaScript wieder zusammensetzen können.Im Backend werden wir die ABAP Library abab2xlsx<\/a> verwenden, im Frontend die Community Edition der JavaScript Library SheetJS<\/a>.<\/p>\n

Schritte im DDIC und der SEGW<\/h2>\n

Als Erstes wird im DDIC eine Struktur erstellt, die später als Rückgabetyp für einen OData<\/a> Function Import dienen wird. Diese Struktur benötigt mindestens ein Feld für den Dateinamen und ein weiteres String-Feld für die in das Format Base64 konvertierte Excel-Datei.<\/p>\n

\"DDIC<\/a>

DDIC Struktur für OData Rückgabetyp<\/p><\/div>\n

Anschließend wird in der SEGW in einem OData-Service ein komplexer Typ angelegt, in dem die zuvor erstellte Struktur als ABAP-Strukturtyp angegeben wird.<\/p>\n

\"SEGW<\/a>

SEGW Komplexer Typ für Excel-Datei<\/p><\/div>\n

Als Nächstes legen wir in unserem Service einen Funktionsimport an. Dieser kann später aus SAPUI5 aufgerufen werden und schickt dann eine Excel-Datei an das Frontend. Als Rückgabetyp hat dieser unseren zuvor angelegten komplexen Typ. Sie können für den Funktionsimport natürlich auch noch Parameter definieren, allerdings verzichten wir hier aus Gründen der Einfachheit darauf.<\/p>\n

\"SEGW<\/a>

SEGW Funktionsimport<\/p><\/div>\n

Anschließend speichern und Laufzeitobjekte erzeugen.<\/p>\n

\"Unser<\/div>

Whitepaper: Anwendungsentwicklung mit SAPUI5 und Gateway<\/h3><\/div>

\n\t\t\t\t\tErfahren Sie hier alle Vorteile von SAPUI5 und Gateway.\t\t\t\t<\/p><\/div><\/div>

Jetzt anfordern<\/a><\/div><\/div>

Whitepaper: Anwendungsentwicklung mit SAPUI5 und Gateway<\/h3>