SAP RFC Funktionsbausteine
Einführung
Das zertifizierte RFC-Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR wird benötigt, um einen SAP System mit den dab SAP-Extraction Solutions zu verbinden. Die dab SAP-Extraction Solution Add-On wird dann im SAP System installiert.
Es wird außerdem ein SAP-Benutzerkonto benötigt, dem ein entsprechendes Berechtigungsprofil zugeordnet ist. Die folgenden Kapitel beschreiben die Installation des Funktionsbausteins sowie den Aufbau des erforderlichen Berechtigungsprofils.
Für die Erstinstallation des RFC-Moduls in Ihrem SAP verwenden Sie bitte die AOI-SAR-Datei. Wenn Sie das bestehende RFC-Modul aktualisieren möchten, verwenden Sie bitte die AOU-SAR-Datei.
Anforderungen
Unterstützte Lösungen
Die dab SAP-Extraction Solution kann mit folgenden SAP-Lösungen eingesetzt werden:
- SAP NetWeaver - 7.50 (SAP_BASIS 750) oder höher
- SAP ERP - 6.0 (ECC 6.0)
- SAP CRM - 7.0
- SAP SRM - 7.0
- SAP SCM - 7.0
- SAP EWM - 7.0
- Diese Liste ist nicht abschließend, andere auf SAP NetWeaver mit ABAP-Stack und RFC-Anbindung basierende Lösungen sind ebenfalls kompatibel.
- SAP S/4HANA - 1610 oder höher
- SAP S/4HANA Cloud, Extended Edition - alle Versionen
- SAP Cloud ERP Private oder SAP S/4HANA Cloud, Private Edition - alle Versionen
- RISE with SAP Ready: Unsere SAP Add-On ist offiziell für den Einsatz in RISE with SAP-Umgebungen (Private Cloud Edition) unterstützt und zertifiziert.
SAP Cloud ERP oder SAP S4/HANA Cloud, Public Edition unterstützt den Import von Add-Ons nicht und ist daher nicht kompatibel.
Erforderliche Transaktionen
Für die Installation des Add-On sollten Sie oder Ihre SAP-Basis Zugriff auf folgende Transaktionen haben (Version 0053 oder höher):
- SAINT - SAP Add-On Installationswerkzeug
- SPAM - Support Package Manager
Installation & Update
Installation
Für die Installation auf SAP Basis 740 oder höher wird Version 1.61 oder höher benötigt. Sie können diese im Customer Portal herunterladen.
Für die Installation auf SAP Basis 731 oder niedriger wird die Datei dabexp-sapconn-aoi-140.sar benötigt. Sie können diese hier herunterladen.
Hierfür sind besondere Berechtigungen erforderlich. Zum Einrichten des Add-On wird die Transaktion SAINT verwendet.
Nach dem Aufruf der Transaktion SAINT können Sie die SAR-Datei des Installationspakets (AOI) über das Menü installieren.
Klicken Sie in der Menüleiste auf Installation Package > Load Packages > From Frontend und wählen Sie die entsprechende SAR-Datei aus.

Wird das DABEXP-Paket nicht angezeigt, müssen Sie die Filter deaktivieren:

Falls eine Meldung bezüglich offener Datenextraktionsanforderungen erscheint, können Sie diese überspringen, da Add-On keine Datenstrukturen im SAP-System verändert.
Erscheint die Meldung, dass das Paket nicht signiert ist, kann diese ignoriert werden. Nur SAP-eigene Pakete sind signiert; Add-Ons von Drittanbietern erhalten keine Signatur.

Update
Wenn die Add-On bereits im SAP System installiert ist, können Sie die Add-On mit dem Upgrade-Paket (AOU) auf eine neue Version aktualisieren. Die Aktualisierungsprozedur entspricht der Installationsprozedur.
Für das Update auf SAP-Systemen mit Basis 740 oder höher wird die Datei dabexp-sapconn-aou-161.sar benötigt. Sie können die Datei im Customer Portal herunterladen.
Für das Update von SAP-Systemen mit Basis 731 oder niedriger wird die Datei dabexp-sapconn-aou-140.sar benötigt. Sie können die Datei hier herunterladen.
Berechtigungen
Die dab SAP-Extraction Solutions basieren auf den Sicherheitsmechanismen und dem Berechtigungskonzept des SAP System. Zusätzlich ist der Zugriff auf die Tabellen immer read-only. Um die dab SAP-Extraction Solution mit dem SAP System zu verbinden, wird ein Benutzer benötigt, dem eine Berechtigungsrolle mit den folgenden Berechtigungsobjekten zugeordnet ist.
Der SAP-Benutzer, den Sie für die Verbindung benötigen, kann einer der folgenden Typen sein:
- Dialog
- System
- Kommunikation
- Service
Zum Anlegen oder Ändern eines entsprechenden Benutzers benötigen Sie Berechtigungen für die folgenden Transaktionen:
- PFCG: Berechtigungsrolle anlegen oder pflegen
- SU01: Benutzer anlegen oder pflegen
Berechtigungen für den Betrieb des RFC-Bausteins
Hier haben Sie zwei Möglichkeiten: Berechtigung auf Funktionsgruppenebene oder auf Funktionsbausteinebene.
Das Berechtigungsobjekt S_RFC wird zur Autorisierung verwendet: Sie finden es unter der Berechtigungsklasse AAAB - Anwendungsübergreifende Berechtigungsobjekte > Berechtigungsobjekt S_RFC - Berechtigungsprüfung für RFC-Zugriff.
Berechtigung auf Funktionsgruppenebene
Die erste Möglichkeit ist die Autorisierung der jeweiligen Funktionsgruppen über RFC_TYPE auf FUGR (Funktionsgruppe).
Die folgende Tabelle enthält die entsprechenden Felder und Werte für das Berechtigungsobjekt S_RFC.
| Feld | Wert |
|---|---|
| ACTVT (Aktivität) | 16 (ausführen) |
| RFC_NAME (Name des zu schützenden RFC-Objekts) | /SDF/RI_CRM CMON RFC1 SYST /DABEXP/DAB_FUGR |
| RFC_TYPE (Typ des zu schützenden RFC-Objektes) | FUGR (Funktionsgruppe) |
Berechtigung auf Funktionsbausteinebene
Alternativ kann ab SAP NW 7.0 EHP 2 (SAP_BASIS 702) der RFC_TYPE auf FUNC (Funktionsbaustein) gesetzt werden.
Die folgende Tabelle enthält die entsprechenden Felder und Werte für das Berechtigungsobjekt S_RFC.
| Feld | Wert |
|---|---|
| ACTVT (Aktivität) | 16 (ausführen) |
| RFC_NAME (Name des zu schützenden RFC-Objekts) | /SDF/CMO_GET_INSTNO CMO_GET_INSTNO DDIF_FIELDINFO_GET RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB RFCPING /DABEXP/RFC_SAPCONNECTOR |
| RFC_TYPE (Typ des zu schützenden RFC-Objektes) | FUNC (Funktionsgruppe) |
Weitere erforderliche Funktionsbausteine
Neben dem Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR werden für den reibungslosen Betrieb weitere Module benötigt.
Die folgende Tabelle listet die Funktionsgruppe, die jeweiligen Module sowie deren Verwendungszweck auf:
| Funktionsgruppe | Funktionsbaustein | Verwendungszweck |
|---|---|---|
| /SDF/RI_CRM | /SDF/CMO_GET_INSTNO | Abfrage der Installationsnummer unter S4/HANA |
| CMON | CMO_GET_INSTNO | Abfrage der Installationsnummer |
| RFC1 | RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB | Überprüfung der Struktur und Existenz von RFC-Modulen |
| SDIFRUNTIME | DDIF_FIELDINFO_GET | Erforderlich für einen ordnungsgemäßen NetWeaver-RFC-Betrieb |
| SYST | RFCPING | Test der RFC-Verbindung |
| /DABEXP/DAB_FUGR | /DABEXP/RFC_SAPCONNECTOR | Abfrage der Tabelleninhalte |
Berechtigungen auf Tabellenebene
Tabellen können nur vollständig oder gar nicht autorisiert werden. Eine Einschränkung auf Tabelleninhalte, z. B. Buchungskreise, ist nicht möglich.
Sie können diese Berechtigungsobjekte verwenden, um Zugriffsberechtigungen auf die zu exportierenden Tabellendaten zu gewähren. Die Prüfung erfolgt mit dem Funktionsbaustein VIEW_AUTHORITY_CHECK.
Es gibt zwei verschiedene Möglichkeiten, die Tabellen entsprechend zu autorisieren – entweder über die Berechtigungsgruppe oder den Tabellennamen.
Wenn die Tabellenberechtigung über beide Berechtigungsobjekte erfolgt, wird die Berechtigung zunächst über S_TABU_DIS (Tabellenberechtigungsgruppe) geprüft. Schlägt diese Prüfung fehl, erfolgt die Berechtigungsprüfung über S_TABU_NAM (Tabellenname).
Wenn Sie auf Tabellenebene autorisieren, stellen Sie bitte sicher, dass die folgenden Tabellen ebenfalls autorisiert sind.
| Tabelle | Berechtigungsgruppe | Verwendungszweck |
|---|---|---|
| T000 | SS | Clients – Standardtabelle für den Konnektivitätstest |
| T001 | FC01 | Buchungskreise – Fallback-Tabelle für Konnektivitätstest |
| DD02L | ABAP Data Dictionary – Verfügbare Tabellen im System | |
| DD02T | ABAP Data Dictionary – Beschreibungstexte für Tabellen | |
| DD02V | ABAP Data Dictionary – Suche nach Tabellen in dab Nexus Package Studio | |
| DD03L | ABAP Data Dictionary – Verfügbare Felder im System | |
| DD03T | ABAP Data Dictionary – Verfügbare Beschreibungstexte für Felder | |
| DD04L | ABAP Data Dictionary – Erforderlich für Extraktion von FLTP-Datentypen | |
| NRIV | SC | Nummernkreisintervalle – Realtime-Objekte in dab Nexus |
| NRIVSHADOW | Lokale NRIV für Multiprozessormaschinen – Realtime-Objekte in dab Nexus | |
| TNRO | SS | Definition von Nummernkreisobjekten – Realtime-Objekte in dab Nexus |
Berechtigung über Tabellenberechtigungsgruppen
Berechtigungsklasse BC_A Basis – Administration→ Berechtigungsobjekt S_TABU_DIS
Damit wird auf Ebene der Tabellenberechtigungsgruppe definiert, auf welche Tabellen und wie zugegriffen werden darf. Die Berechtigungsgruppen werden im Parameter DICBERCLS eingetragen und die Zugriffsart über ACTVT definiert. Die Zuordnung einer Tabelle zu einer Berechtigungsgruppe finden Sie in der Tabelle TDDAT.
| Feld | Wert |
|---|---|
| ACTVT (Aktivität) | 03 (Anzeigen) |
| DICBERCLS (Berechtigungsgruppe) | * |
Berechtigung über Tabellennamen
Berechtigungsklasse BC_A Basis – Administration > Berechtigungsobjekt S_TABU_NAM
Damit wird auf Ebene des Tabellennamens festgelegt, auf welche Tabellen und wie zugegriffen werden darf. Die Tabellen werden im Parameter TABLE eingetragen und die Zugriffsart über ACTVT definiert.
| Feld | Wert |
|---|---|
| ACTVT (Aktivität) | 03 (Anzeigen) |
| TABLE (Tabelle) | * |
Test
Test des Funktionsbausteins
Nachdem der Funktionsbaustein wie oben beschrieben installiert wurde, kann mit der Transaktion SE37 ein Funktionstest mit dem Button Testen/Ausführen oder der Taste F8 durchgeführt werden.
Im ersten Dialog können die Importparameter eingegeben werden. In unserem Beispiel verwenden wir für das Feld QUERY_TABLE die Tabelle für Buchungskreise T001. Es kann jede Tabelle verwendet werden, auf die der aktuell angemeldete Benutzer Zugriff hat. Für den ersten Test sind keine weiteren Eingaben notwendig. Zum Starten des Tests klicken Sie auf den Ausführen-Button oder drücken die Taste F8.

Wurde der Funktionsbaustein fehlerfrei ausgeführt, erhalten Sie Ergebnistabellen. Das Ergebnis können Sie anzeigen, indem Sie auf das Symbol Detailanzeige neben der Anzahl der Einträge für TABL_FIELDS oder DATA klicken.

TABL_FIELDS enthält die Struktur der Felder in der abgefragten Tabelle:

DATA enthält die Datensätze der abgefragten Tabelle:

Test der RFC-Verbindung
Mit dem dab FunctionModuleTester können Sie prüfen, ob die Verbindung erfolgreich über RFC hergestellt werden kann. Weitere Hinweise finden Sie hier.
Deinstallation
- Öffnen Sie die Transaktion SAINT
- Klicken Sie auf den Reiter Deinstallierbare Komponenten, wählen Sie die Komponente DABEXT und klicken Sie auf Start
- Nach Bestätigung der Deinstallation wird die Komponente aus dem SAP System entfernt



SAP-Zertifizierungen
SAP zertifiziert keine Add-Ons mehr für ECC-Systeme. Das bedeutet, dass SAP das eigene Funktionsbaustein-Modul von dab für ECC-Systeme nicht mehr (re-)zertifizieren kann. Weitere Informationen finden Sie in diesem Blogpost von SAP.
Die Add-On ist für folgende Versionen zertifiziert – die aktuellen Zertifizierungen finden Sie jederzeit im SAP Certified Solutions Directory.
Versionshinweise
Version 1.71
- Anpassungen für SAP Clean Core Level B, das bedeutet, dass ausschließlich von SAP freigegebene APIs verwendet werden
- Anpassungen zu Importbedingungen: das Add-On kann auf SAP ECC, SAP S4/HANA und SAP BW/4HANA installiert werden
- Erweiterungen für das Extrahieren von Views mit nicht eindeutigen Primärschlüsseln (z. B. FAGLFLEXT): für dieses Feature ist ein zusätzliches Anwendungsupdate erforderlich
Version 1.61
- Beim Deinstallieren des Add-On konnten aufgrund fehlerhafter Objektinformationen nicht alle Objekte entfernt werden. Dies führte dazu, dass die Deinstallation abgebrochen wurde.
Version 1.60
- Zusätzlich zum Fix aus Version 110 wird nun auch die Auflösung von verschachtelten .INCLUDES mit Suffixen unterstützt. Konkret traten in der ACDOCA-Tabelle Probleme auf, weil das .INCLU-_PA Include einen Suffix enthält und zudem mit .APPEND erweitert wird. Mit diesem Fix wird der Suffix nun auch für die Felder im .APPEND angewendet.
Version 1.50
- Das Funktionsmodul wurde vorbereitet, um den Export von Langtexten aus der CLUSTD-Spalte in der STXL-Tabelle zu unterstützen
Version 1.40
- Letzte SAP Add-On Version kompatibel mit SAP Basis 731 und niedriger
- Erfüllung der erforderlichen Sicherheitslevel für S/4 Cloud EX
Version 1.30
- Das Auslesen der DDIC-Informationen liefert eine falsche OUTPUTLEN für den Datentyp RAW für die GUID in den Tabellen CGPL_TASK oder DPR_TASK. Dadurch wurden betroffene GUIDs in verkürzter Form exportiert. Für Felder vom Datentyp RAW und INTLEN 16 und einer OUTPUTLEN kleiner als 32 wird die OUTPUTLEN nun auf 32 gesetzt.
Version 1.20
- Beim Erstellen der Feldliste für den SQL-Query wurde **<table>~<fieldname>** bei der Zusammenstellung nach 30 Zeichen abgeschnitten, was zu Fehlern im SQL-Query führte.
Version 1.10
- In S4/HANA-Systemen traten Fehler bei bestimmten Tabellen auf (BKPF, BSEG, MATDOC, ACDOCA, MHNK). Die Auflösung der INCLUDE-Strukturen innerhalb dieser Tabellen mit den Namen
- .INCLU-_PN
- .INCLU-_A1
- .INCLU-LO wurde angepasst. Die Struktur der Feldliste für den SQL-Query wurde von nur Feldname zu **<table>~<fieldname>** geändert, um Ausnahmen bei bestimmten Feldnamen mit geschützten SQL-Namen zu vermeiden (z. B. Tabelle TOAM - Feld Connection).
SAP Legacy RFC Funktionsmodule
Falls Sie ein anderes Funktionsmodul als /DABEXP/RFC_SAPCONNECTOR verwenden, empfehlen wir Ihnen dringend, auf dieses RFC-Modul zu wechseln! dab wird andere Funktionsmodule weder aktualisieren noch unterstützen. Diese Module sind außerdem nicht SAP-zertifiziert!
Neben /DABEXP/RFC_SAPCONNECTOR wurden in der Vergangenheit auch andere Module im Z-Namensraum unterstützt, die aus alten dab:Exporter-Installationen oder individuellen Kundenerweiterungen stammen.
Die folgende Tabelle vergleicht den Funktionsumfang der jeweiligen Module:
- Max. Zeichen pro Datensatz: definiert die maximale Anzahl an Zeichen, die pro Datensatz extrahiert werden können (insbesondere relevant für Tabellen mit vielen Spalten)
- S_DEVELOP erforderlich: Z-Module benötigen das Berechtigungsobjekt S_DEVELOP, um ausgeführt werden zu können
- Langtexte: Langtexte werden in den Tabellen STXH und STXL gespeichert – neuere Versionen des Moduls können die Inhalte dieser Tabellen dekodieren und extrahieren
- FLT & RAW Datentypen: Unterstützung der Extraktion von Spalten mit den Datentypen FLT und RAW
- Update über SAINT: Z-Module müssen über die Transaktionen SE37 und SE80 gepflegt werden (das zertifizierte Modul muss über die Transaktion SAINT installiert und aktualisiert werden)
| Funktionsmodul | Max. Zeichen pro Datensatz | S_DEVELOP erforderlich | Langtexte | FLT & RAW Datentypen | Update über SAINT | SAP-Zertifizierung |
|---|---|---|---|---|---|---|
| Z_RFC_READ_TABLE (Version 2.0) | 8000 | ja | nein | ja | nein | nein |
| Z_RFC_READ_TABLE (Version 1.7) | 2048 | ja | nein | ja | nein | nein |
| Z_RFC_READ_TABLE (Version 1.6 oder älter) | 2048 | ja | nein | nein | nein | nein |