Show TOC

Dokumentation zur VorgehensweiseDatentypen erweitern (CCTS/frei modelliert) Dieses Dokument in der Navigationsstruktur finden

 

SAP-Anwendungen können es Kunden erlauben, den Quellcode der Anwendung modifikationsfrei zu erweitern damit kundenspezifische Anforderungen erfüllt werden können, die über die Standard-Auslieferung hinaus gehen. Die Anwendungen können hierfür beispielsweise Business Add-Ins (BAdIs) verwenden. Darüber hinaus können Kunden Datentyp-Erweiterungen für Datentypen der Klassifikation frei modellierter Datentyp oder aggregierter Datentyp im ES Repository definieren. Wenn die dort entwickelten Service-Interfaces für den Austausch von Messages genutzt werden, können die Kunden mit Hilfe dieser Erweiterungen zusätzliche Daten mit einer Message übermitteln, auf die sie dann zum Beispiel über BAdIs zugreifen.

Voraussetzungen

Kunden oder Partner müssen Datentyp-Erweiterungen in einer eigenen Software-Komponentenversion und einen eigenen Namensraum anlegen. Diese Software-Komponentenversion muss auf der SAP-Software-Komponentenversion basieren, in der der zu erweiternde Datentyp definiert ist.

Weitere Informationen: Zusätzliche Softwareabhängigkeiten definieren.

Hinweis Hinweis

Der ES Builder erkennt Änderungen an bereits importierten Software-Komponentenversionen nicht. Wenn Sie also nachträglich Abhängigkeiten zwischen Software-Komponentenversionen definieren, die bereits importiert wurden, müssen Sie die überliegende Software-Komponentenversion nochmals in den ES Builder importieren. Bereits angelegte Objekte gehen dabei nicht verloren.

Ende des Hinweises.

Vorgehensweise

  1. Legen Sie eine Datentyp-Erweiterung an.

  2. Weisen Sie der Datentyp-Erweiterung einen Datentyp der Klassifikation frei modellierter Datentyp oder aggregierter Datentyp aus einer unterliegenden Software-Komponentenversion zu. Solche Datentypen sind im Navigationsbaum im Zweig Basis-Objekte Ihrer Software-Komponentenversion sichtbar.

  3. Der ES Builder belegt das Feld XML-Namensraum automatisch mit dem Namensraum Ihrer Datentyp-Erweiterung. Falls erwünscht, können Sie hier einen anderen XML-Namensraum eintragen. Mit dem XML-Namensraum vermeiden Sie Namenskonflikte zwischen Kundenfeldern und nachträglich von SAP ergänzten Feldern.

  4. Erfassen Sie auf der Registerkarte Erweiterungs-Definition die Felder und Attribute, die zusätzlich auf oberster Ebene hinzugefügt werden sollen. Es stehen ihnen die gleichen Funktionen wie beim XSD-Editor zur Verfügung, mit den folgenden Einschränkungen:

    • Sie können Elemente und Strukturen auf obersten Hierarchielevel als Unterelement des Wurzelelements einfügen

    • Sie können Attribute für das Wurzelelement oder ihre eingefügten Elemente definieren

    • Elemente und Attribute auf dem obersten Hierarchielevel können Sie nur als optionale Felder anlegen, alle anderen mit einer beliebigen Häufigkeit

    • Für neu eingefügte Elemente oder Attribute können Sie eigene Facetten in der Spalte Details festlegen. Für Felder von SAP-Datentypen ist dies nicht möglich.

      Hinweis Hinweis

      Für Datentyp-Erweiterungen von aggregierten Datentypen gelten zusätzlich die gleichen Einschränkungen wie für aggregierte Datentypen selbst, sie können also nur auf Core-Datentypen und andere aggregierte Datentypen verweisen.

      Ende des Hinweises.

    Auf der Registerkarte XSD-Definition können Sie sich die Darstellung in XSD anschauen.

Ergebnis

Der erweiterte Datentyp wird auf der Registerkarte Erweiterter Datentyp angezeigt.

Weitere Informationen

Verwendung von Datentyp-Erweiterungen in ABAP

Um eine Datentyp-Erweiterung zu verwenden, legen Sie mit der ABAP-Proxy-Generierun Proxy-Objekte für die Datentyp-Erweiterung im Anwendungssystem an. (Beziehen Sie sich dabei auf die kundenspezifische Software-Komponentenversion.) Die ABAP-Proxy-Generierung bildet Datentyp-Erweiterungen auf APPEND-Strukturen im ABAP Dictionary ab.

Hinweis Hinweis

Die ABAP-Proxy-Generierung legt keine generischen BAdIs im Anwendungssystem für den Zugriff auf die APPEND-Strukturen an.

Ende des Hinweises.
Verwendung von Datentyp-Erweiterungen in Java

Es gibt kein Erweiterungskonzept in Java. Sie können nichtsdestotrotz Proxies für Service-Interfaces nachgenerieren, die auf Datentyp-Erweiterungen verweisen.

Die Elemente und Attribute der Erweiterung werden zwar von der Generierung erkannt, aber nicht besonders behandelt. Die generierten Objekte lassen keine Rückschlüsse zu, welche Klassen oder Attribute von der Datentyp-Erweiterung stammen. Es gibt also keine eigenen Java-Objekte für Erweiterungen.

Die Java-Proxy-Generierung kann nur Proxy-Objekte aus Service-Interfaces erzeugen. Gibt es mehrere Datentyp-Erweiterungen zu einem Datentyp, legt die Generierung einfach Proxy-Objekte für alle Datentyp-Erweiterungen an.

Die Java-Proxy-Generierung ist Teil des SAP NetWeaver Developer Studio.