<?xml version="1.0" encoding="UTF-8"?> <MITARBEITER> <MANDT/> <BUKRS/> <ID/> <ANREDE>Herr</ANREDE> <VORNAME>Hans</VORNAME> <NACHNAME>Mustermann</NACHNAME> <STRASSE>Musterstrasse</STRASSE> <PLZ>09090</PLZ> <ORT>Musterort</ORT> </MITARBEITER>
Das folgende Beispiel beschreibt schrittweise das Erstellen einer XSL-Transformation anhand einer neu angelegten DDIC-Struktur. Nach jedem Schritt sollte entsprechend gespeichert und falls nötig die Arbeit auch aktiviert werden.
Schritt 1
Falls noch keine zu transformierenden Strukturen (Tabellen / Strukturen) im Data Dictionary (DDIC) vorhanden sind, so müssen diese mit der Transaktion (TA) SE11 entsprechend angelegt werden.
Schritt 2
Mit der Transaktion XSLT_TOOL kann die benötigte XSL-Transformation angelegt werden.
Schritt 3
Die zuvor erstellte Strutkur (vgl. Schritt 1) kann nun in der neu angelegten Transformation eingebunden werden. Nach dem Öffnen der Transformation sollte ein “Default-XSL” folgender Form vorhanden sein:
Schritt 4
In dieser Übersicht kann nun ein neues Wurzel-Element erstellt udn verknüpft werden. Mit einem Klick auf die Rechte Maustaste > “Neue Wurzel einfügen” kann ein neues Element eingebunden werden.
Nach dem Erstellen des neuen Wurzel-Elementes mit dem gewünschten Typ sollte die komplette Struktur des zuvor erstellten DDICs sichtbar sein:
Einfaches Drag&Drop ermöglicht nun die Erstellung der Transformation. Hierzu einfach den jeweiligen Knoten aus dem linken Fenster (Datenwurzeln) in das rechte Fenster (Simple Transformation) ziehen.
Die nun dargestellten Felder können nach belieben editiert werden. Nicht benötigte Felder können einfach aus dem rechten Fenster mit einfachen Klicks gelöscht werden. Das zu löschende Element auswählen, rechte Maustaste > “Knoten löschen” klicken und schon wird das Feld entfernt und nicht mit generiert.
Ein Doppelklick auf die neu erstellte Transformation sollte nun folgende XSL-Transformation darstellen:
Quelltext der erzeugten XSL-Transformation:
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates"
xmlns:ddic="http://www.sap.com/abapxml/types/dictionary"
xmlns:def="http://www.sap.com/abapxml/types/defined">
<tt:root name="MITARBEITER" type="ddic:Z86H6D_MA"/>
<tt:template>
<MITARBEITER>
<MANDT tt:value-ref=".MITARBEITER.MANDT"/>
<BUKRS tt:value-ref=".MITARBEITER.BUKRS"/>
<ID tt:value-ref=".MITARBEITER.ID"/>
<ANREDE tt:value-ref=".MITARBEITER.ANREDE"/>
<VORNAME tt:value-ref=".MITARBEITER.VORNAME"/>
<NACHNAME tt:value-ref=".MITARBEITER.NACHNAME"/>
<STRASSE tt:value-ref=".MITARBEITER.STRASSE"/>
<PLZ tt:value-ref=".MITARBEITER.PLZ"/>
<ORT tt:value-ref=".MITARBEITER.ORT"/>
</MITARBEITER>
</tt:template>
</tt:transform>
Fazit
Die Eingangs dargestellte XML-Datei kann nun eingelesen und verarbeitet werden. Die entsprechenden Daten werden in die Datenbank-Tabelle bzw. -Struktur je nach Wunsch geschrieben.
Dieses einfache Beispiel verdeutlicht die Schrittfolge zur Erstellung einer XSLT anhand einer DDIC-Struktur. Je komplexer die abzubildende Struktur ist, desto mehr manueller Nacharbeit bedarf die passende XSLT. Das Generieren einer komplexen, verschachtelten DDIC-Struktur schlug leider mehrfach fehl. Aber vielleicht wird das in zukünftigen SAP Releases behoben.








