WebRFC-ProgrammierungUm WebRFCs zu programmieren, verwenden Sie das WebRFC Gateway Interface, eine Programmierschnittstelle, mit der Sie HTML-gestützte Internet-Anwendungen entwickeln können
Das WebRFC Gateway Interface:
● liefert die Grundlage für Anwendungen, mit denen Web-Benutzer auf Informationen im SAP-System über Internet oder Intranet zugreifen können.
● ermöglicht Entwicklern, eigene Anwendungen zu schreiben, die Informationen aus dem SAP-System im Internet-Stil darstellen.
Das WebRFC Gateway Interface nutzt die Technologie der Remote Function Calls (RFC), um HTML-Seiten dynamisch mit Funktionsbausteinen zu generieren.
Jede WebRFC-Anwendung besteht aus mindestens einem Internet-fähigen Funktionsbaustein, der eine standardisierte Schnittstelle hat und im Internet über eine URL-Adresse erreichbar ist
Die Technologie, die hinter dem Internet steht, ermöglicht es, alle Arten von Informationen auf einheitliche Weise abzurufen und für den Anwender in einem Web-Browser darzustellen. An diesem Vorgang sind zwei Komponenten beteiligt:
● HTTP-Server (HTTP=HyperText Transfer Protocol), die Daten vom Server zum Browser des Benutzers übertragen
● URL-Adressen (URL=Uniform Resource Locators), über die die eigentlichen Daten angesprochen werden
Obwohl Web-Server für die Übertragung von Dokumenten konzipiert sind, sind sie selbst nicht in der Lage, Daten abzurufen oder zu verarbeiten. Daher ist ein weiterer Mechanismus erforderlich, der die Client-Anfragen verarbeitet, HTML-Seiten (HyperText Markup Language) dynamisch erzeugt und die Informationen in einem Web-Browser anzeigt. Diese Funktion wird von verschiedenen Support-Schnittstellen erfüllt wie z.B.:
● Common Gateway Interface (CGI)
● Microsoft Information Server API (ISAPI)
● Netscape Server API (NSAPI)
CGI zählt zu den momentanen technischen Standards zur Verbindung externer Anwendungen mit Informationsservern. Es definiert die Schnittstelle zwischen dem HTTP-Server und den serverseitigen Gateway-Programmen, die als CGI-Skripte bezeichnet werden. Diese Programme können Benutzereingaben verarbeiten, Daten aus einer Datenbank oder sonstigen Quelle holen und zur Laufzeit aus diesen Daten HTML-Seiten generieren.
Der CGI-Standard:
● Legt fest, wie eine Client-Anfrage vom HTTP-Server an das CGI-Skript übergeben und wie die Ergebnisdaten zurückgegeben werden
● Definiert die Syntax, die regelt, wie Parameter von Client-Anfragen in URLs gestellt werden.
● Gibt die Ergebnisse an das Client-Programm in Form eines Datenstroms zurück. Dabei kann es sich um eine HTML-Seite oder sonstige binäre Daten handeln (Bild, Ton, Video), die in einem Web-Browser dargestellt werden können.
Im Falle binärer Daten sendet das CGI-Skript einen Identifizierungsstring, um dem Web-Browser das Datenformat mitzuteilen. Es gibt eine Standardliste mit den Formatidentifizierungsstrings für die meisten binären Datenformate. Sie ist bekannt unter dem Namen Multiple Internet Mail Extension (MIME).
Das WebRFC Gateway Interface ermöglicht es ABAP-Entwicklern, WebRFC-Anwendungen mit Funktionsbausteinen anstelle von CGI-Skripten zu schreiben.
Die Verbindung zwischen dem HTTP-Server und dem SAP-System wird vom SAP Internet Transaction Server (ITS) sichergestellt, der als generisches CGI-Programm für das WebRFC fungiert. Die folgende Abbildung, die auch andere Support-Schnittstellen wie Internet Server API (ISAPI) und Netscape API (NSAPI) umfasst, veranschaulicht diesen Vorgang:
Zugriff auf SAP-Systeme über den Internet Transaction Server (ITS)
Wenn Sie Web-Seiten mit URLs einrichten, die auf das SAP-System verweisen, und ein Internet-Benutzer durch Auswahl eines solchen Links eine Anfrage startet, läuft die Verarbeitung wie folgt ab:
...
1. Der HTTP-Server leitet die Anfrage an den ITS weiter.
2. Der ITS kommuniziert mit dem SAP-System über Remote Function Call (RFC).
3. Im SAP-System wird die Anfrage von einem Dispatcher-Programm empfangen und verarbeitet.
Alle Parameter in der URL werden an eine interne Tabelle übergeben. Einer dieser Parameter enthält den Namen des aufzurufenden Funktionsbausteins und ist daher obligatorisch.
Obwohl ein Funktionsbaustein in der Regel als Einstiegspunkt fungiert, können andere Funktionen über Links in generierten HTML-Seiten aufgerufen werden. Diese HTML-Seiten können selbst wiederum Links auf andere Ziele im Web enthalten.
4. Der aufgerufene Funktionsbaustein wertet die Parameter aus, holt und verarbeitet die Daten und gibt die Ergebnisse als HTML-Seite zurück.
Zusammenspiel von ITS und SAP-System

Bei der WebRFC-Technologie ist jeder Funktionsbausteinaufruf vom Internet aus in einer URL eingebettet.

http://<mymachine:myport>/scripts/wgate/xgwfc/!?_FUNCTION=WWW_GET_REPORT&_REPORT=RDTEST01
Diese URL enthält einen Aufruf des Standardfunktionsbausteins WWW_GET_REPORT, der den Report RDTEST01 holt und ausführt.
Sie können Parameterwerte für den Funktionsbaustein in der URL angeben. Alternativ kann der Web-Browser die Parameterwerte aus den Benutzereingaben in einem HTML-Formular holen.
Alle Funktionsbausteine, die in WebRFC-Anwendungen verwendet werden, haben dieselbe standardisierte Schnittstelle.
Schnittstelle Web-fähiger Funktionsbausteine
TABLES-Parameter |
Funktion |
QUERY_STRING |
Diese Tabelle enthält alle URL-Parameter, die vom Web an einen Funktionsbaustein übergeben werden. |
HTML |
Diese Tabelle enthält eine HTML-Seite, die von dem aufgerufenen Funktionsbaustein erzeugt und an den Web-Browser zurückgegeben wird. Es können entweder HTML-Daten oder MIME-Daten (siehe unten), aber nicht beides gleichzeitig, zurückgegeben werden. Mit dem Parameter CONTENT_TYPE (siehe unten) können Sie dem Web-Browser das Format der Daten mitteilen. |
MIME |
Diese Tabelle enthält binäre Daten (z.B. Bilder), die vom aufgerufenen Funktionsbaustein geschickt und an den Web-Browser zurückgegeben werden. Es können entweder MIME-Daten oder HTML-Daten (siehe oben), aber nicht beides gleichzeitig, zurückgegeben werden. Mit dem Parameter CONTENT_TYPE (siehe unten) können Sie dem Web-Browser das Format der Daten mitteilen. |
|
|
CHANGING-Parameter |
Funktion |
CONTENT_TYPE |
Dieser Parameter gibt den Typ der Daten an, die in der HTML- oder MIME-Tabelle zurückgegeben werden. Der Wert von CONTENT_TYPE muss einer der dem Web-Browser bekannten Dateitypen sein. Wenn der Funktionsbaustein eine HTML-Tabelle zurückgibt, muss CONTENT_TYPE den Wert text/html enthalten. Gibt die Funktion eine MIME-Tabelle zurück, muss CONTENT_TYPE den korrekten Wert aus der Spalte Dateityp enthalten, z.B image/gif oder application/postscript. Enthält CONTENT_TYPE z.B. den Wert application/winword, ruft der Web-Browser Microsoft Word for Windows auf, um die Daten anzuzeigen. Voreinstellung für diesen Parameter ist text/html. |
CONTENT_LENGTH |
Dieser Parameter gibt die Länge der Daten an, die in der HTML- oder MIME-Tabelle zurückgegeben werden. Sie müssen einen Wert für binäre Daten setzen. |
RETURN_CODE |
Dieser Parameter gibt an, ob die RFC-Verbindung zu einem SAP-System nach einem Aufruf geschlossen und ob die ITS-Session beendet wird. Folgende Werte sind hier möglich: 0 - RFC-Verbindung nach diesem Aufruf schließen (Voreinstellung) 1 - RFC-Verbindung nach diesem Aufruf geöffnet lassen 2 - RFC-Verbindung und ITS-Session schließen |

Wenn Sie einen vorhandenen nicht Web-fähigen Funktionsbaustein anbinden möchten, müssen Sie einen Aufruferbaustein schreiben, der für die Umwandlung von der standardisierten Web-fähigen Schnittstelle in die vorhandene Schnittstelle sorgt.
Sie können den Funktionsbaustein WWW_MODEL_MODULE als Vorlage für Ihre Web-fähigen Funktionsbausteine verwenden.
Eine umfassende Beschreibung der RFC-Technologie und detaillierte Informationen zur RFC-Programmierung finden Sie unter RFC-Programmierung in ABAP.
Verwaltung der
WebRFC-Servicedatei
Diese Dokumentation beschreibt das WebRFC-Programmiermodell. Informationen über andere Programmiermodelle für die Implementierung von IACs finden Sie unter:
Programmierung von Web-Transaktionen