Connector für SAP Business Suite - Entwicklerhandbuch Teil 1

Connector für SAP Business Suite

1. Voraussetzungen

Diese Dokumentation unterstützt Sie bei der Integration von SAP in Ihr Intrexx-Portal. Sie benötigen mindestens Intrexx 7 und SAP mit einem Basisrelease höher als 4.6x (z.B. SAP R/3 4.6c), um die hier beschriebenen Beispiele nachzuvollziehen. Der Connector für SAP Business Suite muss im Portal konfiguriert sein. Systeme, die auf SAP Gateway basieren, wie z.B. SAP CRM, SAP BW u.ä. werden ebenfalls technisch unterstützt. Die meisten Beispielszenarien basieren jedoch auf einem ERP-R/3-Datenmodell.

2. Auswahl der richtigen Technologie

SAP kann mit verschiedenen Techniken in Intrexx-Portale integriert werden:

3. Integration mit Fremddatengruppe

Intrexx verwendet bei der Anbindung von SAP-Datenbanken das Konzept der Fremddatengruppe. Direktes Lesen oder Schreiben auf die Datenbank des SAP-Systems würde die Grundkonzepte von SAP-Systemen wie Berechtigungen und Business Logiken unterwandern. Für den Connector für SAP Business Suite wurde deshalb der übliche Weg über RFC (Remote Function Calls) gewählt. Dafür wurde für SAP ein SAP Portal Plugin (SAPPOPI) entwickelt, das als Transport in die anzubindenden SAP-Systeme einzuspielen ist. Das SAPPOPI Plugin für SAP ab SAP R/3 4.6c ist frei verfügbar und kann auch für die Anbindung von anderen externen Systemen an SAP verwendet werden. Weitere Informationen zum Plugin finden Sie im SAP API Entwicklerhandbuch. Das SAPPOPI bietet eine schmale RFC-API, welche die wichtigsten API-Methoden für den Zugriff auf tabellenähnliche SAP-Objekte implementiert: Ein Intrexx-Portal leitet Zugriffe auf SAP-Fremddatengruppen über die SAP Middleware (SAP Java Connector) auf diese RFC-API um.



In SAP werden die Zugriffe über spezielle Handler verarbeitet.



Für den Zugriff auf Tabellen und Views steht ein generischer Handler zur Verfügung, der eine Einbindung von Tabellen bzw. Views in SAP ohne Programmierung ermöglicht. Damit ist z.B. die Anzeige des SAP-Kundenstammes (ERP Tabelle KNA1) in wenigen Minuten ohne Programmierung möglich. Reicht der Zugriff auf Tabellen und Views nicht aus oder soll schreibender Zugriff umgesetzt werden, kann das objektorientierte Erweiterungskonzept im SAP-Portal-Plugin verwendet werden. Das SAP API Entwicklerhandbuch enthält umfangreiche Informationen und Beispiele zur Implementierung solcher Handler.

4. Integration mit Skripting

Groovy-Skript bietet die besten Möglichkeiten, auf SAP BAPI-Funktionen bzw. RFC-fähige Funktionsbausteine zuzugreifen, ohne die Integration mit Fremddatengruppen nutzen zu müssen. Es steht ein Skript-Generator zur Verfügung, um die Implementierung des notwendigen Skripts zu beschleunigen. Gerade bei umfangreichen SAP-Funktionsbausteinen werden Fehler vermieden, da das notwendige Java-Coding zum Füllen umfangreicher SAP-Strukturen und -Tabellen automatisch generiert wird.

5. Integration mit Remote Services

Remote Services erlauben den Zugriff von SAP auf ein Intrexx-Portal. Mit dieser Funktionalität können z.B. die im Portal erfassten Informationen im Batchjob ausgelesen und in SAP verarbeitet werden. Alle schreibenden Zugriffe (Anlegen, Ändern, Löschen) von SAP auf das Portal stehen ebenfalls nur über die Remote Services zur Verfügung. Hier handelt es sich meistens um die Replikation von SAP-Objekten (z.B. Stammdaten) in entsprechende Intrexx-Datengruppen, wenn der Zugriff auf SAP mit Fremddatengruppen nicht gewünscht ist. Im einfachsten Fall wird ein Ereignis in SAP (z.B. Auftrag wird geändert) verwendet, um den aktuellen Status (z.B. "geliefert") in das Portal zu übertragen.

6. Integration mit Webservices

Die Verwendung von Webservices ist häufig mit konzeptionellen Einschränkungen oder Aufwand verbunden. Intrexx kann nahezu alle Webservices konsumieren. Es ist zu prüfen, an welchen Stellen Daten aus Webservices benötigt werden und wie diese in den Benutzeroberflächen eingebunden werden können. Hier stehen nicht alle Möglichkeiten zur Verfügung, die die Verwendung von Fremddatengruppen bietet. Als Anbieter von Webservices können alle Intrexx-Datengruppen verwendet werden. Das kann aber gleichzeitig eine Einschränkung sein, wenn die Daten nicht innerhalb von Datengruppen zur Verfügung stehen. Im SAP-Umfeld ist das Konsumieren von fremden Webservices immer mit Entwicklung verbunden, obwohl hier auch sehr viel generiert werden kann. Zu beachten ist aber, dass es zwischen den Basisreleases 6.40 bis 7.10 umfangreiche Änderungen gab, so dass mit Aufwand nach dem Einspielen von Support-Packages oder nach Upgrades zu rechnen ist. Als Konsument von SAP-Webservices kann evtl. auf den großen Bestand bereits verfügbarer SAP-Webservices zurückgegriffen werden (z.B. SAP ERP 2005 – ECC 6.0). Stehen keine nutzbaren Webservices zur Verfügung, so gilt das gleiche wie beim Konsumieren fremder Webservices.

3. Weitere Informationen

Entwicklerhandbuch Teil 2
API Entwicklerhandbuch