• PHP und SAP BC

    von am 2. Oktober 2008

    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:

    1. 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.
    2. 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.

    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

    Links

    iX, 9/2002, Seite 131
    Innige Beziehung – Business Connector: Universelles XML-Interface für SAP
    http://www.heise.de/kiosk/archiv/ix/2002/9/131

    SAP Hinweis 571530 – Verfügbarkeit von SAP Business Connector
    (Account für SAP Service Marketplace erforderlich)
    http://www.service.sap.com/sap/support/notes/571530

    SAP Hinweis 1094412 – Freigabe und Supportstrategie für SAP Business Connector 4.8
    (Account für SAP Service Marketplace erforderlich)
    http://www.service.sap.com/sap/support/notes/1094412

    Frank Giesselmann-Wilms

    „Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores ...

    Zum Profil von Frank Giesselmann-Wilms

    Keine Kommentare »

    Noch keine Kommentare

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.