SAP Business Connector
Der SAP Business Connector ist eine – ursprünglich zugekaufte und umgelabelte – Komponente die den HTTP/XML-basierten Datenaustausch mit SAP R/3-Systemen ermöglichen soll. Das SAP BC wurde Kunden kostenfrei zur Verfügung gestellt und benötigt eine Java Laufzeitumgebung.
In der Regel liegt es nicht im Einflussbereich des PHP-Entwicklers, ob ein solches System im Unternehmen zum Einsatz kommt. Wenn es aber schon da ist, kann man es auch nutzen. Um mit PHP mittels BC auf einen Funktionsbaustein im SAP zugreifen zu können müssen im Wesentlichen zwei Dinge gegeben sein:
<ol>
<li>Der Funktionsbaustein muss remotefähig sein. Dazu muss für den jeweiligen im SAP nur ein Häkchen gesetzt werden, damit er sich per RFC ansprechen lässt.</li>
<li>Für jeden Baustein muss im SAP BC ein Mapping erstellt werden. Dort wird festgelegt, wie die SAP-Daten auf das Zielformat abgebildet werden. Mögliche Zielformate sind XML, HTML, WML und HDML. Es lässt sich noch ein Envelope (z.B. SOAP) auswählen, Zugriffsrechte festlegen uvm.. Eine gute Idee ist es auch im Mapping als Codierung UTF-8 festzulegen.<!–more–></li>
</ol>
Auf PHP-Seite stellt sich die Verbindung dann als einfacher HTTP-Request an den SAP BC dar, dessen Ergebnis z.B. mit file_get_contents() entgegengenommen wird. Ein Aufruf sieht z.B. so aus:
http://[sapbc_server]:5555/invoke/[project_name]/GET_INVOICE?KUNNR=0123456789
Aufgerufen wird nicht der Baustein selbst, sondern die URL entspricht dem Pfad zum und den Namen des dafür angelegten Mappings (hier: GET_INVOICE). Die vom SAP-Funktionsbaustein erwarteten Eingangsparameter werden einfach als GET-Parameter mit übergeben.
War der Aufruf erfolgreich, so erhält man XML-Daten zur Weiterverarbeitung. Man kann zum Beispiel einfach den Envelope wegschmeißen und den Body der Nachricht per SimpleXML durchgehen. Im Fehlerfall bekommt man ein HTML-Seite mit einer Art Java-Stacktrace zurück.
Ändert sich die Ausgabestruktur des Funktionsbausteins, so muss diese Änderung natürlich auch im Mapping des SAP BC nachgezogen werden. Falls trotzdem noch die alten Datenstrukturen bei PHP ankommen, ist im SAP BC noch der sog. DDIC-Cache zu löschen, da einmal aufgebaute Strukturen zwischengespeichert werden.
Zur Zeit werden vom SAP BC die Versionen 4.6, 4.7 und 4.8 unterstützt. Eigentlich sollte das Produkt nach Version 4.7 eingestellt und die Anwender zum Umstieg auf das kostenpflichtige Nachfolgeprodukt SAP XI bewegt werden. Da dies für einigen Unmut unter den Anwendern sorgte, wurde nun doch mit SAP BC 4.8 ein Nachfolger mit einem deutlich in der Zukunft liegenden Wartungsende herausgebracht.
Hier die Wartungsenden:
SAP Business Connector 4.6: 31. Dezember 2008
SAP Business Connector 4.7: 31. Dezember 2009
SAP Business Connector 4.8: 31. März 2016
<strong>Links</strong>
iX, 9/2002, Seite 131
Innige Beziehung – Business Connector: Universelles XML-Interface für SAP
<a href=“http://www.heise.de/kiosk/archiv/ix/2002/9/131″>http://www.heise.de/kiosk/archiv/ix/2002/9/131</a>
SAP Hinweis 571530 – Verfügbarkeit von SAP Business Connector
(Account für SAP Service Marketplace erforderlich)
<a href=“http://www.service.sap.com/sap/support/notes/571530″>http://www.service.sap.com/sap/support/notes/571530</a>
SAP Hinweis 1094412 – Freigabe und Supportstrategie für SAP Business Connector 4.8
(Account für SAP Service Marketplace erforderlich)
<a href=“http://www.service.sap.com/sap/support/notes/1094412″>http://www.service.sap.com/sap/support/notes/1094412</a>