Remote Function Call (RFC)

Auf ein SAP-System greift man am schnellsten über einen Remote Function Call zu (RFC).

Was ist ein RFC?

Bei einem RFC handelt es sich um einen entfernten Prozedur-Aufruf – wie man bei einer Programmiersprache eine Funktion oder Prozedur aufruft, erfolgt auch der Aufruf eines RFC – nur eben entfernt auf einem anderen System.

Anlage einer RFC-Abfrage

Wählen Sie eine neue Abfrage vom Typ Remote Function Call. Vergeben Sie zunächst einen sprechenden Namen und wählen eine gültige SAP-Verbindung aus:

SAPRFC_Name

 

Anschließend wählen Sie über den RFC-Suchen-Dialog den gewünschten Baustein aus:

SAPRFC_ChooseRFC

 

In den Grunddaten wählen Sie außerdem – wie bei allen Abfragetypen – die Anzahl der maximal zurückzugebenden Zeilen sowie die Aktualisierungsfrequenz in Sekunden. Beachten Sie Folgendes:

In BizBoard können Sie später auf alle Parameter der Abfrage zugreifen – also auch auf alle Tables (siehe später). Die Max-Rows-Eigenschaft bezieht sich auf die Anzahl der Zeilen, die maximal an ein Excel-Worksheet zurückgegeben werden, NICHT aber auf die Anzahl der Zeilen, die von SAP zurückgegeben werden. Diese Anzahl lässt sich in vielen RFC-Bausteinen separat durch eigene Parameter steueren.

SAPRFC_Grunddaten

Aufbau eines RFC

Jeder RFC hat dieselbe grundsätzliche Struktur. Er besteht aus

  • Import-Parametern
  • Export-Parametern
  • Tabellen

Bei Im/Export-Parameter handelt es sich um skalare Parameter oder eine Struktur (ähnlich eines struct), die an SAP übergeben oder von SAP als Rückgabe empfangen werden. Bei Im/Export-Parametern kommt es häufig zu Missverständnissen, welche Parameter die Rückgabewerte sind und welche die Übergabeparameter. BizBoard betitelt die Parameter aus Sicht von BizBoard: Export sind daher die SAP-Import-Parameter. Zur Eindeutigkeit wurde dies in den Tabellenreitern nochmals hinterlegt:

SAPRFC_ReiterTitel

 

Export-Parameter – skalar

Übergabe-Parameter an SAP werden mit den Export-Parametern übergeben:

SAPRFC_Export

 

In der Spalte Value können die Parameter fix übergeben werden – achten Sie hierbei auf die SAP-Formatierung, beispielsweise beim Datum auf das Format yyyyMMdd. In der Spalte Alias können Sie dem Parameter außerdem einen Alternativen Namen geben. Warum Sie hier einen Alias vergeben können finden Sie hier.

Export-Parameter – Struktur

Bei einem Export-Parameter kann es sich auch um eine Struktur handeln. Für die Vorstellung ist eine Struktur nichts anderes als eine Zeile einer Tabelle. Handelt es sich bei einem Parameter um eine Struktur, können die Daten der Felder nicht mehr in der Spalte Value der Export-Parameter gepflegt werden. Dafür gibt es rechts neben der Parameter-Matrix eine weitere Matrix – die Struktur-Matrix. Markieren Sie links den gewünschten Parameter vom Typ einer Struktur. Im rechten Teil werden die Daten der Struktur angezeigt:

SAPRFC_Export_Structure

 

Wie bei den skalaren Parametern auf der linken Seite können die Felder der Struktur sowie deren Alias auf der rechten Seite gepflegt werden.

Import-Parameter

Bei Import-Parameter gelten die selben Regeln, wie bei den Export-Parameter – außer, dass hier die Spalte Value fehlt. Es handelt sich hier um die Rückgabewerte von SAP. Die Werte werden daher von SAP gefüllt:

SAPRFC_Import

 

Tabellen als Rückgabewerte

Jeder RFC kann beliebig viele Tabellen definieren, in denen unbeschränkt Daten entweder an SAP übermittelt oder von SAP zurückgegeben werden. Dabei sieht ma einer Tabelle üblicherweise nicht an, ob es sich um Übergabe- oder Rückabe-Werte handelt (hier sei auf die jeweilige Dokumentation des RFC verwiesen).

SAPRFC_Tabellen

 

Im linken Teil werden die verfübaren Tabellen angezeigt. Nach Auswahl einer gewünschten Tabelle wird auf der rechten Seite die Struktur einer Tabellenzeile angezeigt. Hier lassen sich für die spätere Darstellung in BizBoard wieder über eine Alias-Spalte die Namen der Spalten ändern.

Tabellen als Übergabe an SAP

Bei manchen RFC-Aufrufen können Tabellenzeilen als Übergabeparameter an SAP übermittelt werden – beispielsweise zur Selektion der Ergebnismenge:

SAPRFC_TableRow

 

Zur Anlage einer neuen Zeile in einer Tabelle markieren Sie diese und wählen im mittleren Bereich die Schaltfläche “+”. In der unteren Matrix erscheint eine neue Tabellenzeile. Ändern Sie hier die Werte ab wie gefordert. Über die Schaltfläche “+” können Sie beliebig viele Tabellenzeilen anlegen – über die Schaltfläche “-” entsprechend wieder Löschen.

Übernahme der Werte in BizBoard

Anders als bei anderen Abfragetypen kommen bei einer RFC-Abfrage viele Werte in Frage, die in BizBoard dargestellt werden können. Bei einer Anlage eines Datenbereichs in BizBoard bietet Ihnen ein Dialog daher alle Import, alle Export und alle Table-Parameter an, deren Daten angezeigt werden sollen. Möchten Sie mehrere Datenbereiche anlegen, wird die Abfrage trotzdem nur einmal ausgeführt – die Datenbereiche greifen nur auf unterschiedliche Daten der selben Abfrage zu.

Posted in: BizBoard Connectors | SAP