RFC-Trigger
Über den RFC-Trigger lösen angebundene SAP®-Systeme Datentransfers im OPC Router aus. SAP®-seitig muss dazu in der Transaktion SM59 ein entsprechender Eintrag angelegt werden.
Dialogübersicht

Der Screenshot zeigt die Auswahl der SAP®-Anbindung sowie die Konfiguration von Programm-ID, Gateway-Service, Funktion und Parametern.
Konfiguration
| Eigenschaft | Beschreibung |
|---|---|
| SAP-Anbindung | Hier stehen alle im Bereich Plug-ins erstellten SAP®-Anbindungen zur Auswahl. Sollte die gewünschte Anbindung noch nicht vorhanden sein, können Sie diese im Plug-ins-Bereich als SAP®-Anbindung bereitstellen. |
| Programm-ID | Programm-ID, mit der am SAP®-System die Destination aufgerufen wird, identisch mit der Programm-ID in der Transaktion SM59. |
| Gateway-Service | RFC-Protokoll: Eingabe des Gateways, zum Beispiel sapgw00 (SAP Gateway 0). NetWeaver RFC-Protokoll: Angabe des Ports (3300 + Id für Basic-Authentifizierung, 4800 + Id für SNC-Authentifizierung). |
| Funktion | Im SAP®-System definierte Funktion, die diesen Trigger auslöst. |
| Timeout | Zeitspanne, nach der der OPC Router bei andauernder Aufgabe eine Timeout-Meldung an das SAP®-System sendet. |
| Ausgabe | Setzen Sie dieses Feld, wenn Sie eine Ausgabe als JSON erhalten möchten. |
| Eingabe (Reiter „Input“) | Parameter, die das aufrufende SAP®-System beim Auslösen an den OPC Router übergibt (Import-Parameter des Funktionsbausteins). |
| Ausgabe (Reiter „Output“) | Parameter, die der OPC Router nach Ausführung der Verbindung an das aufrufende SAP®-System zurückgibt (Export-Parameter des Funktionsbausteins). |
| Tabellen (Reiter „Tables“) | Tabellenparameter, die in beide Richtungen verwendet werden – sie können Daten in den Aufruf übergeben und (geänderte) Daten an SAP® zurückliefern. |
| JSON-Format kopieren | Kopiert ein JSON-Dokument in die Zwischenablage, dessen Struktur dem Funktionsaufruf entspricht. |
Eingabe, Ausgabe und Tabellen
Ein RFC-Funktionsbaustein besitzt eine feste Schnittstelle aus Parametern. Beim RFC-Trigger übernimmt der OPC Router die Rolle des aufgerufenen Bausteins – Sie definieren dessen Schnittstelle daher über drei Reiter:
- Input: Werte, die das SAP®-System beim Aufruf an den OPC Router übergibt. Sie stehen anschließend in der Verbindung zur Verfügung.
- Output: Werte, die der OPC Router nach Ablauf der Verbindung an das SAP®-System zurückgibt. Diese werden in der Verbindung gefüllt.
- Tables: Tabellen (mehrzeilige Datenstrukturen), die in beide Richtungen verwendet werden können.
Legen Sie in jedem Reiter die benötigten Parameter an, indem Sie einen Namen vergeben und den Datentyp wählen. Neben einfachen Typen sind auch STRUCTURE (eine Struktur mit mehreren Feldern) und ITAB (eine interne Tabelle) möglich. Über „Bearbeiten“ definieren Sie bei diesen Typen die einzelnen Felder; eine Verschachtelung ist nicht möglich.
Bei CHAR- und NUM-Feldern legen Sie die erwartete Länge über „Bearbeiten“ fest. Die Standardlänge ist 0; wurde sie nicht geändert, erscheint beim Schließen des Dialogs ein entsprechender Hinweis.
Der Aufruf eines nicht existierenden Funktionsbausteins führt zwangsläufig zur Deregistrierung des Servers im SAP®-Gateway. Die Registrierung kann nicht weiterverwendet werden und muss erneut durchgeführt werden, was sich in ERP-Connect durch einen Serverneustart äußert.
Einmal gegenüber der NetWeaver-Library bekannt gemachte Funktionen können nicht wieder gelöscht werden. Das gilt für den gesamten Prozess, über alle SAP®-Systeme und RFC-Server hinweg. Sie können also Name und Typ der Import-/Export-/Tables-Parameter eines per RFC-Server aufgerufenen Funktionsbausteins ebenso wenig nachträglich ändern wie die Existenz des Bausteins selbst. Nehmen Sie keine Änderungen vor, während der OPC Router-Dienst läuft. Bei Änderungen muss immer vollständig veröffentlicht werden.
Rückgabeparameter
Wenn das SAP®-System den Funktionsbaustein aufruft, führt der OPC Router die zugehörige Verbindung aus und gibt anschließend ein Ergebnis an das aufrufende SAP®-System zurück. Über den Rückgabeparameter TRANSFER_OK erkennt das SAP®-System, ob der Transfer erfolgreich war:
| Name | Beschreibung |
|---|---|
| TRANSFER_OK | 1 = OK: Erfolgreicher Transfer der Verbindung. 2 = Aborted: Der Transfer wurde von einem Transferobjekt abgebrochen, zum Beispiel wenn eine Tabelle für ein Datenbank-Transferobjekt keine Daten enthielt. 3 = Error: Während der Ausführung des Transfers trat ein Fehler auf. Die Anfrage muss später erneut gesendet werden und darf vom angebundenen System nicht als abgeschlossen markiert werden. |
Registrieren Sie den Funktionsnamen in GROSSBUCHSTABEN (zum Beispiel Z_TRIGGER): SAP® übergibt Funktionsbausteinnamen großgeschrieben, und der OPC Router gleicht sie zeichengenau ab – eine kleingeschriebene Registrierung wird nicht gefunden. Die Programm-ID wird ebenfalls zeichengenau (unter Beachtung der Groß-/Kleinschreibung) ausgewertet und muss exakt mit dem Eintrag in der SAP®-Transaktion SM59 übereinstimmen; Großschreibung ist üblich und empfohlen, aber nicht zwingend. Der SAP®-seitige Aufruf lautet:
Call function '<FUNKTIONSNAME>' destination '<SAP-DESTINATION>'.
Die Kombination von Host (SAP-Anbindung), Gateway und Programm-ID muss eindeutig sein. Die Programm-ID selbst kann mehrfach verwendet werden – aber nur mit verschiedenen Gateways/Hosts.
Beispiel
Einstellungen am RFC-Trigger:
| Eigenschaft | Konfiguration |
|---|---|
| SAP-Anbindung | <SAP-Anbindung>, über die die relevante Funktion erreicht wird. |
| Programm-ID | INRAYTRIGGER |
| Gateway-Service | Gateway-Service des SAP®-Systems, zum Beispiel 3302 |
| Funktion | TRIGGERFUNKTION |
Korrespondierende SAP®-Einstellungen, SM59:
Die Programm-ID INRAYTRIGGER wurde in der SAP®-Transaktion SM59 angelegt.
| Eigenschaft | Konfiguration |
|---|---|
| Destination | OPCROUTER |
| Verbindungstyp | T TCP/IP |
| Aktivierungsart | Registriertes Serverprogramm |
| Programm-ID | INRAYTRIGGER |
| Gateway-Host | (kein Eintrag!) |
| Gateway-Service | (kein Eintrag!) |
Durch den synchronen Funktionsaufruf innerhalb eines Programms, Funktionsbausteins oder Dialogs in SAP® wird der Datentransfer aktiv vom SAP®-System ausgelöst:
Call function 'TRIGGERFUNKTION' destination 'OPCROUTER'.