Show TOC

Dokumentation zur VorgehensweiseBesonderheiten der Programmierung Dieses Dokument in der Navigationsstruktur finden

 

Die im folgenden beschriebenen Punkte sollten Sie beim Schreiben entfernter Funktionsbausteine beachten.

Vorgehensweise

Parameter deklarieren

Wenn bei normalen (nicht entfernten) Funktionsbausteinen eine Parameterdefinition sich nicht auf ein ABAP Dictionary-Feld bezieht, nimmt der Parameter zur Laufzeit den Datentyp des Aktualparameters an. Einem entfernten Funktionsbaustein steht diese Information jedoch nicht zur Verfügung. Daher müssen Sie alle Parameterfelder eines entfernten Funktionsbausteins als Bezugsfelder definieren, d.h. mit LIKE auf ein ABAP Dictionary-Feld Bezug nehmen. (Dies gilt für IMPORT, EXPORT, CHANGING und TABLES-Parameter.)

Bei Zeichenstrukturen oder -feldern müssen die Parameter des Aufrufers nicht so lang sein wie sie das gerufene Programm erwartet. Wenn Eingangsparameter kürzer sind, füllt RFC sie einfach mit Leerzeichen auf. Das bedeutet, dass die ABAP Dictionary-Definition von Zeichenparametern bei Aufrufer und aufgerufenem Programm nicht absolut identisch sein müssen. Allerdings dürfen die Parameter des Aufrufers nicht länger sein als auf der gerufenen Seite erwartet.

Funktionsbausteine für transaktionale Ausführung

Achtung Achtung

Wenn Sie Funktionsbausteine schreiben, die transaktional aufgerufen werden sollen, müssen Sie zwei Einschränkungen beachten:

  • Transaktionale Aufrufe können keine Parameterwerte zurückliefern. Geben Sie daher in der Schnittstelle eines solchen Funktionsbausteins keine EXPORT-Parameter an.

  • Transaktional laufende Funktionsbausteine können keine Rückrufe ausführen: Zu dem Zeitpunkt, zu dem ein Rückruf das Ursprungssystem erreichen würde, kann der Kontext des Aufrufers schon längst beendet sein.

Ende der Warnung.
Ausnahmen

Ausnahmen lösen Sie in einem entfernten Funktionsbaustein genauso aus wie in einem lokal gerufenen Funktionsbaustein.

Da das System die Ausnahmen COMMUNICATION_FAILURE und SYSTEM_FAILURE intern auslöst, müssen Sie sich in Ihrem Funktionsbaustein darum nicht kümmern.

Aufrufe anderer RFC-Funktionen

Wie jeder normale Funktionsbaustein kann ein entfernter Funktionsbaustein andere entfernte Funktionsbausteine aufrufen.

Insbesondere kann ein entfernter Funktionsbaustein die Rückruffunktionalität verwenden, um Funktionsbausteine aufzurufen, die im selben System laufen wie der ursprüngliche Aufrufer.

Detaillierte Informationen zu Rückrufen zwischen SAP-Systemen finden Sie unter RFC-Funktionen zurückrufen.