SAP RFC Funktionsbausteine
Einführung
Das zertifizierte RFC-Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR ist erforderlich, um eine SAP System mit den dab SAP-Extraction-Lösungen zu verbinden. Die dab SAP-Extraction-Lösung Add-On wird anschließend im SAP System installiert.
Es wird außerdem ein SAP-Benutzerkonto benötigt, dem ein entsprechendes Berechtigungsprofil zugewiesen ist. In den folgenden Kapiteln wird die Installation des Funktionsbausteins sowie die Struktur des erforderlichen Berechtigungsprofils beschrieben.
Für die Erstinstallation des RFC-Moduls in Ihrem SAP nutzen Sie bitte die AOI-SAR-Datei. Wenn Sie das bestehende RFC-Modul aktualisieren möchten, verwenden Sie bitte die AOU-SAR-Datei.
Voraussetzungen
Unterstützte Lösungen
Die dab SAP-Extraction-Lösung kann mit folgenden SAP-Lösungen verwendet 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 Lösungen auf Basis von SAP NetWeaver mit ABAP-Stack und RFC-Konnektivität 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 unterstützt und zertifiziert für die Nutzung innerhalb von RISE with SAP-Umgebungen (Private Cloud Edition)
SAP Cloud ERP bzw. SAP S4/HANA Cloud, Public Edition unterstützt den Import von Add-Ons nicht und ist daher nicht kompatibel.
Notwendige Transaktionen
Für die Installation des Add-On sollten Sie oder Ihr SAP-Basis-Team Zugriff auf folgende Transaktionen haben (Version 0053 oder höher):
- SAINT – SAP Add-On Installationstool
- 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.
Für diesen Vorgang sind besondere Berechtigungen notwendig. Zur Einrichtung des Add-On wird die Transaktion SAINT verwendet.
Nach 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 SAR-Datei aus.

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

Erscheint eine Meldung bezüglich offener Datenextraktionsanfragen, können Sie diese überspringen, da Add-On keine Datenstrukturen im SAP-System verändert.
Erscheint eine Meldung, dass das Paket nicht signiert ist, kann dies ignoriert werden. Lediglich SAP-eigene Pakete sind signiert; Drittanbieter-Add-Ons erhalten keine Signatur.

Update
Falls das Add-On bereits in Ihrem SAP System installiert ist, können Sie das Add-On mit dem Upgrade-Paket (AOU) auf eine neue Version aktualisieren. Das Aktualisierungsverfahren entspricht dem der Installation.
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 benötigen Sie die Datei dabexp-sapconn-aou-140.sar. Sie können die Datei hier herunterladen.
Berechtigungen
Die dab SAP-Extraction-Lösungen basieren auf den Sicherheitsmechanismen und dem Berechtigungskonzept des SAP System. Darüber hinaus ist der Zugriff auf die Tabellen grundsätzlich schreibgeschützt. Um die dab SAP-Extraction-Lösung mit dem SAP System zu verbinden, wird ein Benutzer benötigt, dem eine Berechtigungsrolle mit folgenden Berechtigungsobjekten zugeordnet ist.
Der benötigte SAP-Benutzer kann eine der folgenden Benutzerarten sein:
- Dialog
- System
- Kommunikation
- Service
Für das Anlegen oder Ändern eines solchen Benutzers benötigen Sie Berechtigungen für folgende Transaktionen:
- PFCG: Berechtigungsrollen anlegen oder bearbeiten
- SU01: Benutzer anlegen oder bearbeiten
Berechtigungen zur Ausführung des RFC-Moduls
Hier können Sie zwischen zwei Optionen wählen: Berechtigung auf Funktionsgruppen-Ebene oder auf Funktionsbaustein-Ebene.
Das Berechtigungsobjekt S_RFC wird für die Berechtigung verwendet: Sie finden es unter der Berechtigungsklasse AAAB – Übergreifende Berechtigungsobjekte > Berechtigungsobjekt S_RFC – Berechtigungsprüfung für RFC-Zugriff.
Berechtigung auf Funktionsgruppen-Ebene
Die erste Option ist die Berechtigung der entsprechenden Funktionsgruppen über den RFC_TYPE auf FUGR (Funktionsgruppe).
Die folgenden Tabellen zeigen die zugehörigen 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-Objekts) | FUGR (Funktionsgruppe) |
Berechtigung auf Funktionsbaustein-Ebene
Alternativ kann ab SAP NW 7.0 EHP 2 (SAP_BASIS 702) der RFC_TYPE auf FUNC (Funktionsbaustein) gesetzt werden.
Die folgende Tabelle zeigt die zugehörigen 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-Objekts) | FUNC (Funktionsgruppe) |
Weitere erforderliche Funktionsbausteine
Zusätzlich zum Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR sind weitere Module für einen reibungslosen Betrieb notwendig.
Die folgende Tabelle listet die Funktionsgruppe, die jeweiligen Module und ihren Verwendungszweck auf:
| Funktionsgruppe | Funktionsbaustein | Zweck |
|---|---|---|
| /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 |
| SYST | RFCPING | Test der RFC-Konnektivität |
| /DABEXP/DAB_FUGR | /DABEXP/RFC_SAPCONNECTOR | Abfrage des Tabelleninhalts |
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.
Folgende Berechtigungsobjekte können Sie nutzen, um Zugriffsberechtigungen auf die zu exportierenden Tabelleninhalte zu gewähren. Die Prüfung erfolgt über den Funktionsbaustein VIEW_AUTHORITY_CHECK.
Es gibt zwei verschiedene Möglichkeiten, die Tabellen entsprechend zu berechtigen – entweder über die Berechtigungsgruppe oder über den Tabellennamen.
Wenn die Tabellenberechtigung über beide Berechtigungsobjekte erfolgt, wird die Berechtigung zunächst mit S_TABU_DIS (Tabellenberechtigungsgruppe) geprüft. Falls diese Prüfung fehlschlägt, erfolgt die Prüfung mit S_TABU_NAM (Tabellenname).
Wenn Sie auf Tabellenebene berechtigen, stellen Sie bitte sicher, dass auch die folgenden Tabellen berechtigt sind.
| Tabelle | Berechtigungsgruppe | Zweck |
|---|---|---|
| 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 zu 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 zu Feldern |
Berechtigung über Tabellenberechtigungsgruppen
Berechtigungsklasse BC_A Basis – Administration→ Berechtigungsobjekt S_TABU_DIS
Hierüber wird auf Ebene der Tabellenberechtigungsgruppe definiert, auf welche Tabellen wie zugegriffen werden darf. Die Berechtigungsgruppen werden im Parameter DICBERCLS eingetragen und die Zugriffsart wird ü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
Hiermit wird auf Ebene des Tabellennamens festgelegt, auf welche Tabellen 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 (Berechtigungsgruppe) | * |
Test
Funktionsbaustein testen
Nachdem der Funktionsbaustein wie oben beschrieben installiert wurde, kann ein erster Funktionstest mit der Transaktion SE37 über die Schaltfläche Test/Ausführen oder die Taste F8 durchgeführt werden.
Die Importparameter können im ersten Dialog eingetragen werden. In unserem Beispiel verwenden wir die Tabelle für Buchungskreise T001 im Feld QUERY_TABLE. Es kann jede Tabelle verwendet werden, auf die der aktuell angemeldete Benutzer Zugriffsrechte besitzt. Für den ersten Test sind keine weiteren Eingaben erforderlich. Zum Start des Tests klicken Sie auf die Schaltfläche Ausführen oder drücken Sie die Taste F8.

Wenn der Funktionsbaustein fehlerfrei ausgeführt wurde, erhalten Sie Ergebnistabellen. Das Ergebnis können Sie einsehen, indem Sie auf das Symbol Detailansicht 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 überprüfen, ob die Verbindung über RFC erfolgreich hergestellt werden kann. Weitere Anleitungen finden Sie hier.
Deinstallation
- Öffnen Sie die Transaktion SAINT
- Klicken Sie auf den Tab Deinstallierbare Komponenten, wählen Sie die Komponente DABEXT aus 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 dazu finden Sie in diesem Blogpost von SAP.
Das Add-On besitzt Zertifizierungen für folgende Versionen – die aktuellen Zertifikate können auch jederzeit im SAP Certified Solutions Directory eingesehen werden.
Release Notes
Version 1.71
- Anpassungen für SAP Clean Core Level B, das bedeutet, es werden ausschließlich von SAP freigegebene APIs verwendet
- Anpassungen an den Importbedingungen: Das Add-On kann auf SAP ECC, SAP S4/HANA und SAP BW/4HANA installiert werden
- Erweiterungen für die Extraktion von Sichten mit nicht eindeutigen Primärschlüsseln (z. B. FAGLFLEXT): Für diese Funktion ist ein zusätzliches Anwendungsupdate erforderlich
Version 1.61
- Beim Deinstallieren des Add-On konnten aufgrund fehlerhafter Objektinformationen nicht alle Objekte entfernt werden. Dadurch wurde die Deinstallation abgebrochen.
Version 1.60
- Zusätzlich zur Korrektur aus Version 110 wird nun auch die Auflösung von verschachtelten .INCLUDES mit Suffixen unterstützt. Insbesondere gab es Probleme in der ACDOCA-Tabelle, bei der das .INCLU-_PA-Include einen Suffix enthält und zudem mit .APPEND erweitert wird. Mit dieser Korrektur wird der Suffix nun auch auf die Felder im .APPEND angewendet.
Version 1.50
- Der Funktionsbaustein wurde vorbereitet, um den Export von Langtexten aus der CLUSTD-Spalte in der Tabelle STXL zu unterstützen
Version 1.40
- Letzte SAP Add-On-Version, kompatibel mit SAP Basis 731 und älter
- Erfüllung der geforderten Sicherheitsstufen für S/4 Cloud EX
Version 1.30
- Das Auslesen der DDIC-Informationen lieferte einen falschen OUTPUTLEN für den Datentyp RAW für die GUID in den Tabellen CGPL_TASK oder DPR_TASK. Dadurch wurden die betroffenen GUIDs verkürzt exportiert. Für Felder des Datentyps RAW und INTLEN 16 und einem OUTPUTLEN kleiner als 32 wird der OUTPUTLEN nun auf 32 festgesetzt.
Version 1.20
- Beim Aufbau der Feldliste für die SQL-Abfrage wurde **<table>~<fieldname>** nach 30 Zeichen abgeschnitten, was zu Fehlern in der SQL-Abfrage führte.
Version 1.10
- In S4/HANA-Systemen traten bei bestimmten Tabellen (BKPF, BSEG, MATDOC, ACDOCA, MHNK) Fehler auf. 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 die SQL-Abfrage wurde von nur Feldnamen 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 Function Modules
Wenn Sie einen anderen Funktionsbaustein als /DABEXP/RFC_SAPCONNECTOR verwenden, empfehlen wir dringend, auf diesen RFC-Baustein umzusteigen! dab wird andere Funktionsbausteine weder weiterentwickeln noch unterstützen. Diese Module sind zudem nicht SAP-zertifiziert!
Neben /DABEXP/RFC_SAPCONNECTOR wurden in der Vergangenheit auch weitere Module im Z-Namensraum unterstützt, die aus alten dab:Exporter-Installationen oder individuellen Kundenanpassungen stammen.
Die folgende Tabelle vergleicht den Funktionsumfang der jeweiligen Module:
- Max. Zeichen pro Datensatz: Definiert die maximale Anzahl von Zeichen, die pro Datensatz extrahiert werden können (insbesondere relevant für Tabellen mit vielen Spalten)
- S_DEVELOP erforderlich: Z-Module erfordern 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 den Inhalt dieser Tabellen dekodieren und extrahieren
- FLT- & RAW-Datentypen: Unterstützung der Extraktion aus 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 mit der Transaktion SAINT installiert und aktualisiert werden)
| Funktionsbaustein | 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 |