Facebook
Twitter
Google+
Kommentare
0

PHP und SAPRFC

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 Middl

eware-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+B4zJJe5hfQ==

zp8497586rq
Über den Autor

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 et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur 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 et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur 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 et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen