• PHP und SAPRFC

    von am 4. Oktober 2008

    Die PHP-Extension SAPRFC wurde ab 2001 von Eduard Koucky entwickelt und steht zurzeit in der Version 1.4.1 unter saprfc.sourceforge.net zum Download bereit. SAPRFC übernimmt quasi die Middleware-Aufgaben des SAP BC und ermöglicht PHP einen direkten Zugriff auf die SAP-Funktionsbausteine. Dies klingt interessant und funktioniert auch. Es gibt aber mindestens drei Probleme, die beim Einsatz von SAPRFC zu beachten sind:

    1. Die Entwicklung von SAPRFC ist/war eine One-man-show. Die version 1.4.1 ist von Ende 2005 und scheint aktuell nicht mehr weiterentwickelt zu werden. Im SAP Community Network gibt es einen Beitrag in dem darauf hingewiesen wird, dass Eduard Koucky für die Weiterentwicklung nicht mehr zur Verfügung steht.
    2. Die Sourcen müssen immer gegen die aktuelle PHP-Version kompiliert werden, ansonsten gibt PHP eine Warnung aus: “saprfc: Unable to initialize module”. Da hilft nur a) selber kompilieren oder b) warten – zumindest für die meisten Windows-User, bis die passende DLL auf Sourceforge.net zum Download bereitsteht. Die DLL für PHP 5.2.5 ist dort gar nicht zu finden und auf die DLL für PHP 5.2.6 mussten die Anwender einige Wochen warten.
    3. Für SAPRFC werden auch SAP-Sourcen benötigt: Für Linux das SAPSDK und unter Windows die librfc32.dll. Letztere ist aber auf jedem System verfügbar auf dem auch ein SAPGUI installiert ist. Man findet sie meist unter c:\windows\system32.

    Natürlich steht dem auch ein entsprechender Vorteil gegenüber: man benötigt kein Drittsystem, für das ggf. Lizenzkosten zu zahlen sind, um PHP mit SAP zu verbinden, sondern PHP hat direkten Zugriff auf alle RFC-fähigen Funktionsbausteine. Wenn nun (z.B. statt des SAP BC) SAPRFC zum Einsatz kommen soll, sind zumindest die folgenden zwei Dinge zu beachten:

    1. Es gibt keine Zwischenschicht, die die SAP-Daten aufbereitet und transformiert. Somit gibt es auch kein XML zu verarbeiten, sondern SAPRFC liefert ein numerisches Array, das für jeden SAP-Datensatz eine PHP-stdClass enthält.
    2. Damit PHP mit SAP sprechen kann, wird im Skript/der Applikation ein SAP-User mit Passwort benötigt. Dies wird von den SAP-Admins u. U. gar nicht gerne gesehen und erfordert einen besonderen Schutz auf der PHP-Seite, damit keine Unbefugten Zugriff auf die Zugangsdaten bekommen.

    Für das Kompilieren der Extension sei auf die Anleitung auf der SAPRFC-Homepage verweisen. Wer nun gespannt auf den ersten Beispielcode gewartet hat, wird hier nun leider enttäuscht sein. Es gibt einen sehr guten Artikel in der PHP|Architect vom Dezember 2004 dem nichts hinzuzufügen ist. Man kann damit recht schnell erste Erfolgserlebnisse erzielen. Der einzige Punkt ist, dass der Code noch in schicke PHP5-Klassen verpackt werden sollte – wie der Autor Jason Simmons auch selber anmerkt.

    Links

    SAPRFC Homepage
    http://saprfc.sourceforge.net/

    Integrating SAP with PHP – PHP|Architect 12-2004 – frei verfügbar bei sap.com
    http://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/a5d5b6f6-0301-0010-4fae-f3b91bcfd642

    The SAP Developer’s Guide to PHP – Buch bei SAP Press von Craig Cmehil zu SAPRFC
    http://www.sap-hefte.de/katalog/hefte/titel/gp/titelID-1150?GalileoSession=14173940A3szcCsB7UA

    SAP Developer Network / SAP Community Network
    https://www.sdn.sap.com/

    Beiträge von Eduard Koucky im SAP Developer Network
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.SDNBusinessCard?u=pnUnWGO89iK%2BB4zJJe5hfQ%3D%3D

    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.