Connector für SAP Business Suite - Entwicklerhandbuch Teil 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 Portalkonfiguriert 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.
Auswahl der richtigen Technologie
SAP kann mit verschiedenen Techniken in Intrexx-Portale integriert werden:
- Fremddatengruppe
Auslesen und Ändern von SAP-Daten.
- Skripting
Verwendung der SAP-Integration mit Groovy-Skript in Prozessen oder mit Velocity in Applikationen. Lizenzierung: mindestens View & Write.
- Remote Services
Zugriff von SAP auf die Intrexx-Portal-Datenbank. Auslesen und Manipulation der Portaldaten innerhalb von Jobs u.ä. Lizenzierung: Developer API.
- Webservices
Technisch möglich ab einer SAP Basis 6.40. Sowohl in Intrexx als auch in SAP mit Einschränkungen verbunden.
- Single Sign On SAPGUI Integration
Einbindung von SAP-Internet-Seiten oder Aufruf der SAPGUI ohne erneute Anmeldung; Autorisierung der Portalanwender gegen SAP. Lizenzierung: Developer API.
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:
-
Get_MetaInfo
-
Get_List
-
Get_Detail
-
Modify
-
Delete
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.
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.
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.
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.
Weitere Informationen
Weitere Informationen
SAP Trust Manager SSO configuration
API Beschreibung Teil 1 - Übersicht
API Beschreibung Teil 2 - SAP Portal Plugin
API Beschreibung Teil 3 - Implementierung eigener Verarbeitungsmodule
API Beschreibung Teil 4 - Beispielcodings
Entwicklerhandbuch Teil 2 - Integrationsszenario SAP-Fremddatengruppe
Entwicklerhandbuch Teil 3 - Integrationsszenario Skripting
Entwicklerhandbuch Teil 4 - Personalisierter SAP Zugriff / Single Sign On (SSO)