Show TOC

RFC-Consumer für Consumer-Mappings mit einzelnem Ziel anlegenLocate this document in the navigation structure

Verwendung

Mit RFC-Consumern rufen Sie Funktionsbausteine in anderen Systemen mittels eines Web-Services auf. Dies ist nützlich, wenn das Provider-System nur eine RFC-Infrastruktur hat, die nicht über Web-Services angebunden werden kann, oder wenn die Anwendungslogik bereits über RFC bereitgestellt wurde und nicht als Web-Service angeboten wird.

Ein RFC-Consumer wird im Prinzip genauso angelegt wie ein (Web)-Service-Consumer. Der Unterschied besteht darin, das Sie bei einem RFC-Consumer den aufzurufenden Funktionsbaustein angeben. Der Benutzer, der den Funktionsbaustein aufruft, muss die notwendige Berechtigung haben. Das Berechtigungsobjekt S_RFC kann für die Berechtigungsprüfung gepflegt werden. Wenn die Berechtigung fehlschlägt, erscheint ein SAP-GUI-Popup (Standardverhalten für alle RFCs).

Sie müssen einen Service-Consumer als Quell-Consumer für ein Consumer-Mapping mit einzelnem Ziel und den RFC-Consumer als Ziel-Consumer verwenden. Anderenfalls ist es nicht möglich, den RFC-Consumer zu konfigurieren. Weitere Informationen zu Consumer-Mappings mit einzelnem Ziel finden Sie unter Mit Consumer-Mappings arbeiten.

Jede Operation eines RFC-Consumers basiert auf einem RFC-fähigen Funktionsbaustein. Wenn ein RFC-Consumer angelegt wird, können optionale Parameter des Funktionsbausteins aus der RFC-Operation ausgeschlossen werden. Wenn der RFC-Consumer aktiviert wird, wird eine ABAP-Connector-Klasse (ACO) generiert, die zur Laufzeit zum Aufruf des Funktionsbausteins verwendet wird.

Weitere Informationen finden Sie unter SAP ABAP Connector.

Vorgehensweise

Mit dem Assistenten für Enterprise Services erstellen Sie einen Envelope für den RFC-Consumer. Die Operationen fügen Sie dann im Proxy-Editor hinzu.

  1. Legen Sie einen RFC-Consumer mit dem Assistenten für Enterprise Services an.

    Weitere Informationen finden Sie unter Assistent für Enterprise Services.

    Ein leerer RFC-Consumer ohne Operationen wird im Proxy-Editor geöffnet. Sie können ihn sichern und später Operationen hinzufügen oder mit den nächsten Schritten weitermachen.

  2. Auf dem Register Detailansicht im Proxy-Editor wählen Sie den obersten Knoten aus und geben das Interface-Muster und (optional) die Sicherheitsstufe an.

  3. Klicken Sie mit der rechten Maustaste auf den obersten Knoten und wählen Sie Operation hinzufügen im Kontextmenü.

    Der Assistent für Enterprise Services wird geöffnet. Geben Sie im Assistenten den RFC-Funktionsbaustein an, auf dem die Operation des RFC-Consumers basieren soll. Sie können entweder eine lokale Datei verwenden oder die RFC-Destination (optional) und den Namen des Funktionsbausteins eingeben. Wenn Sie keine RFC-Destination angeben, muss der Funktionsbaustein im lokalen System verfügbar sein.

    Weitere Informationen, wie Sie eine Datei aus einer ABAP-Connector-Klasse anlegen, finden Sie unter Generating Static Proxies.

    Die ABAP-Connector-Klasse des Funktionsbausteins wird als RFC-Operation im Proxy-Editor angezeigt. Die Importing-Parameter aus der ACO-Klasse werden zu einer Request-Message zusammengefasst; die Exporting-Parameter bilden die Response-Message, die Ausnahmen die Fault-Message(s). Changing-Parameter aus der ACO-Klasse werden ebenfalls in die Request- und Response-Messages aufgenommen. Eventuelle Tables-Parameter aus dem Originalfunktionsbaustein werden in der ACO-Klasse in Changing-Parameter umgewandelt.

    Weitere Informationen finden Sie unter SAP ABAP Connector.

    Weitere Operationen können Sie auf dieselbe Art hinzufügen.

  4. Geben Sie für jeden optionalen Parameter des Funktionsbausteins an, ob Sie ihn in den generierten RFC-Consumer aufnehmen möchten. Standardmäßig werden alle optionalen Parameter aufgenommen.

  5. Sichern und aktivieren Sie den RFC-Consumer.

    Anschließend wird eine ABAP-Connector-Klasse für den Funktionsbaustein erstellt.

Operation neu generieren

Wenn ein Funktionsbaustein im Originalsystem geändert wird und der RFC-Consumer diese Änderungen nachvollziehen soll, können Sie die Operation neu generieren, die darauf basiert.

  1. (Optional) Prüfen Sie, ob die Operation durch eine Neugenerierung geändert wird, indem Sie mit der rechten Maustaste auf eine Operation im Register Detailansicht klicken und Neugenerier. prüfen im Kontextmenü wählen.

    Der Assistent für Enterprise Services wird geöffnet, um die Signatur des Funktionsbausteins abzurufen.

  2. (Optional) Geben Sie den Funktionsbaustein im Assistenten an.

    Wenn Sie die Signatur eines Funktionsbausteins auf der ersten Seite des Assistenten verwenden, wird der richtige Funktionsbaustein auf der Folgeseite angeboten. Sie können die Signatur des Funktionsbausteins auch aus einer lokalen Datei holen. Wenn Sie den Assistenten abschließen, wird der Funktionsbaustein geprüft, und die Ergebnisse werden im unteren Abschnitt des Proxy-Editors angezeigt.

  3. Auf dem Register Detailansicht im Proxy-Editor klicken Sie mit der rechten Maustaste auf einen Operationsknoten und wählen Neu generieren aus dem Kontextmenü aus.

    Beachten Sie, dass Sie sich im Bearbeitungsmodus befinden müssen, um die Neugenerierung anzustoßen.

    Der Assistent für Enterprise Services wird geöffnet.

  4. Geben Sie den Funktionsbaustein im Assistenten an. Wenn Sie den Assistenten abschließen, wird die RFC-Operation neu generiert und im Proxy-Editor angezeigt.

  5. Sichern und aktivieren Sie den RFC-Consumer.

Ergebnis

Sie können einen RFC-Consumer als Ziel-Consumer eines Operationsmappings verwenden.

Weitere Informationen

Operationsmapping anlegen

SAP ABAP Connector