Laufzeitumgebung (Java-Mappings)
Über die Laufzeitumgebung für Java-Mappings führt der Integration Server (beziehungsweise das PCK) Java-Mapping-Programme aus. Sie können zusätzlich zur Mapping-API weitere Standard-Bibliotheken des SAP J2EE-Servers in hochgeladenen Java-Mapping-Programmen nutzen.
Sie verwenden das
SAP NetWeaver
Developer Studio.
Um ein Mapping-Programm in ihrer Java-Entwicklungsumgebung schreiben zu können, muss die Java-Laufzeitumgebung (JRE) des SAP J2EE Servers mit der JRE-Version Ihrer Java-Entwicklungsumgebung konsistent sein.
Die Mapping-Laufzeit-Umgebung besteht aus folgenden Laufzeitkomponenten:
● Der Java Laufzeitumgebung (JRE) des SAP J2EE Servers.
● Der Mapping-API (siehe: Java-Mapping)
●
sapxmltoolkit
Das SAP XML Toolkit for Java beinhaltet eine Implementierung von
JAXP.

Mit der Version 5 des Java Development Kits wird die Verwendung des SAP XML Toolkit obsolet. Weitere Informationen: XSLT Mapping.
●
com.sap.mw.jco
Der SAP Java Connector erlaubt es ABAP-APIs aus dem Java Mapping heraus
aufzurufen. Die zugehörige Javadoc-Dokumentation finden Sie im SAP Developer Network unter der Adresse https://www.sdn.sap.com/irj/sdn/javadocs
(SDN-User nötig).
●
com.sap.tc.Logging
Der SAP Logging Service bietet eine Integration mit dem SAP Web AS
Management-Werkzeugen. Die zugehörige Javadoc-Dokumentation finden Sie im
SAP Developer Network unter der Adresse
https://www.sdn.sap.com/irj/sdn/javadocs
(SDN-User nötig).
Java-Programme, die in einem Importierten Archiv hochgeladen werden, können Klassen aus dem JRE, aus der Mapping-API und diesen drei Standardbibliotheken verwenden.

Bei der Verwendung von JRE-Klassen in Ihren Java-Mapping-Programmen gelten die gleichen Programmiereinschränkungen wie für Enterprise Java Beans (EJBs). Hierzu gehören beispielsweise die folgenden (eine genaue Beschreibung findet sich in der jeweils gültigen EJB-Spezifikation):
● Laden Sie keine JDBC-Treiber, um sie direkt zu benutzen. Verwenden Sie statt dessen die Mapping-Lookup-API (siehe: Mapping-Lookups) oder den JDBC Connector Service der SAP J2EE-Engine.
● Schreiben Sie nicht direkt in beziehungsweise lesen Sie nicht direkt aus Dateien über das Paket java.io.
● Verwenden Sie in Ihren Klassen keinen Class Loader.
● Rufen Sie innerhalb eines Java-Mapping-Programms weder java.lang.System.exit() noch java.lang.System.setProperties() auf.
● Erzeugen oder nutzen Sie keine Threads.
● Benutzen Sie keine Netzwerk-Sockets.
Beachten Sie außerdem unbedingt die Einführungshinweise und Einschränkungen unter Java-Mapping.
Die Mapping-Laufzeitumgebung wird durch die Software-Komponentenversion und den Namensraum des auszuführenden Java-Mappings mitbestimmt. Zudem hat die Umgebung eine bestimmte Suchreihenfolge beim Laden der Klassen. Findet die Mapping-Laufzeitumgebung eine Klasse in einem Pfad, wird die Suche beendet und die nachfolgenden Pfade ignoriert. Es werden folgende Pfade in der hier angegebenen Reihenfolge durchsucht:
...
1. Die Pfade der JRE des J2EE Servers
2. Pfad, in dem die Mapping API abgelegt ist und der Pfad der Standardbibliotheken (SAP XML Toolkit, SAP Java Connector, SAP Logging Service), siehe oben.
3. Importierte Archive, die in dem gleichen Namensraum und der gleichen Software-Komponentenversion wie das auszuführende Java-Mapping liegen,
4. Importierte Archive, die in dem gleichen Namensraum und in einer unterliegenden Software-Komponentenversion liegen,
5. Importierte Archive, die in anderen Namensräumen der Software-Komponentenversion liegen,
6. Importierte Archive, die in anderen Namensräumen aber in unterliegenden Software-Komponentenversionen liegen.
Dabei ist zu beachten, dass eine Klasse nur dann aus den übrigen Namensräumen geladen werden kann, wenn sie dort eindeutig ist.
Die Mapping-Laufzeitumgebung des PCK kennt keine Software-Komponentenversion Daher werden weniger Pfade beim Laden der Klassen durchsucht. Findet die Mapping-Laufzeitumgebung eine Klasse in einem Pfad, wird die Suche beendet und die nachfolgenden Pfade ignoriert. Es werden folgende Pfade in der hier angegebenen Reihenfolge durchsucht:
...
1. Die Pfade der JRE des J2EE Servers.
2. Pfad, in dem die Mapping API abgelegt ist und der Pfad der Standardbibliotheken (SAP XML Toolkit, SAP Java Connector, SAP Logging Service), siehe oben.
3. Importierte Archive, die in dem gleichen Namensraum wie das auszuführende Java-Mapping liegen.
4. Importierte Archive, die in anderen Namensräumen wie das auszuführende Java-Mapping liegen.
Dabei ist zu beachten, dass eine Klasse nur dann aus den übrigen Namensräumen geladen werden kann, wenn sie dort eindeutig ist.
Um auf die Mapping-API in einem Java-Projekt des SAP NetWeaver Developer Studio zugreifen zu können, gehen Sie folgendermaßen vor:
...
1. Wählen Sie Properties im Kontext-Menü für das Java-Projekt, in dem Sie die Mapping-API einsetzen wollen.
2. Wählen Sie im Navigationsbaum Java Build Path und in diesem Bereich die Registerkarte Libraries.
3. Wählen Sie Add Variable.
4. Wählen Sie aus der Liste der Klassenpfad-Variablen die Variable SAP_SYSTEM_ADD_LIBS aus und wählen Sie Extend.
5.
Erweitern Sie die Variable um den
folgenden Pfad:
comp → SAP_XIAF → DCs → sap.com → com.sap.aii.mapping.lib.facade
→ _comp → gen → default → public → api → lib → java → com.sap.aii.mapping.api.filter.jar
...
Weitere Informationen zur Mapping-API (und der darin enthaltenen Lookup-API) finden Sie im SAP Developer Network unter der Adresse https://www.sdn.sap.com/irj/sdn/javadocs (SDN-User nötig) und im SAP NetWeaver Developer Studio unter
Help → Help Content → SAP NetWeaver Developer Studio Documentation → API Reference → SAP NetWeaver 7.10 for Process Integration → com.sap.aii.mapping.api.
Um die drei J2EE-Standardbibliotheken in den Klassenpfad des SAP NetWeaver Developer Studio aufzunehmen, gehen Sie folgendermaßen vor:
...
1. Rufen Sie für Ihr Eclipse-Projekt die Funktion Properties im Kontext-Menü auf.
2. Wählen Sie im Dialogfenster Properties für Ihr Projekt auf der linken Seite Java Build Path.
3. Wählen Sie auf der rechten Seite die Registerkarte Libraries.
4. Wählen Sie Add Variable.
5. Markieren Sie Im Dialogfenster New Variable Classpath Entry den Eintrag SAP_SYSTEM_ADD_LIBS und wählen Sie Extend.
6. Wählen Sie im folgenden Dialogfenster die gewünschte Jar-Datei über folgende Verzeichnispfade aus:
○ sapxmltoolkit
comp/ENGINEAPI/DCs/sap.com/sapxmltoolkit/_comp/gen/default/public/default/lib/java/
○ com.sap.mw.jco
comp/ENGINEAPI/DCs/sap.com/com.sap.mw.jco/_comp/gen/default/public/default/lib/java/
○ com.sap.tc.Logging
comp/ENGINEAPI/DCs/com.sap.tc.Logging/_comp/gen/default/public/default/lib/java/