SAP RFC-Funktionsbaustein
Einleitung
Zur Anbindung eines SAP-Systems an die dab SAP-Extraktionslösungen wird der zertifizierte RFC-Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR benötigt. Dann wird das dab SAP-Extraktionslösung Add-On im SAP-System installiert. Außerdem wird ein SAP-Benutzerkonto benötigt, dem ein entsprechendes Berechtigungsprofil zugeordnet wird. Die nachfolgenden Kapitel beschreiben das Installieren des Funktionsbausteins und den Aufbau des benötigten Berechtigungsprofils.
Voraussetzungen
Unterstützte Lösungen
Die dab SAP-Extraktionslösungen können mit den folgenden SAP-Lösungen verwendet werden:
- SAP NetWeaver - 7.40 (SAP_BASIS 740) 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 exklusiv, weitere auf SAP NetWeaver basierende Lösungen mit ABAP-Stack und RFC-Konnektivität sind auch kompatibel
- SAP S/4HANA - 1610 oder höher
- SAP S/4HANA Cloud, Extended Edition - alle Versionen
- SAP S/4HANA Cloud, Private Edition - alle Versionen
SAP S4/HANA Cloud, Public Edition unterstützt nicht das Einspielen von Add-Ons und ist daher inkompatibel.
Falls du SAP NetWeaver 7.31 (SAP_BASIS 731) oder niedriger einsetzt benutze bitte die Version 140 des Add-Ons über das Package dabexp-sappconn-aoi-140.sar
Notwendige Transaktionen
Für die Installation des Add-Ons solltest Du oder Deine SAP-Basis Zugriff auf folgende Transaktionen besitzen:
- SAINT - SAP Add-On Installation Tool
- SPAM - Support Package Manager
Beide sollten sich in der Version 0053 oder höher befinden.
Installation & Update
Installation
Für die Installation auf SAP Basis 740 und höher wird die Datei dabexp-sapconn-aoi-161.sar benötigt.
Diese kannst Du im Kundenportal herunterladen.
Für die Installation auf SAP Basis 731 und niedriger wird die Datei dabexp-sapconn-aoi-140.sar benötigt.
Diese kannst Du hier herunterladen.
Hierfür sind spezielle Berechtigungen notwendig. Für die Einrichtung des Add-Ons wird die Transaktion SAINT verwendet.
Nach dem Aufruf der Transaktion SAINT kannst Du über das Menü die SAR-Datei des Installation Packages (AOI) installieren.
Klicke auf der Menüleiste Installation Package → Packages laden → Vom Frontend und wähle die SAR-Datei aus
Falls das DABEXP Package nicht angezeigt wird, musst du den Filter deaktivieren.
Falls eine Meldung bezüglich offenen Datenextraktionsaufträgen erscheint, kannst die diese überspringen, da das Add-On keinerlei Datenstrukturen im SAP-System modifiziert.
Sollte eine Meldung erscheinen, dass das Package nicht signiert ist, kann diese ignoriert werden. Nur SAP-eigene Packages sind signiert, Drittanbieter Add-Ons erhalten dagegen keine Signatur.
Update
Ist das Add-On bereits in Deinem SAP-System installiert, dann kannst du mit dem Upgrade Package (AOU) dein bestehendes Add-On auf eine neue Version aktualisieren.
Die Datei kannst Du im Kundenportal herunterladen.
Die Datei kannst Du hier herunterladen.
Das Vorgehen gleicht ansonsten dem der Installation.
Berechtigungen
Die dab SAP-Extraktionslösungen setzt auf den Sicherheitsmechanismen und des Berechtigungskonzepts vom SAP-Systems auf. Es erfolgt außerdem stets nur ein lesender Zugriff auf die Tabellen. Für die Verbindung der dab SAP-Extraktionslösungen mit dem SAP-System ist ein Benutzer notwendig, dem eine Berechtigungsrolle mit den nachfolgenden Berechtigungsobjekten zugewiesen wurde.
Der SAP-Benutzer, den Du für die Verbindung benötigst, kann einer der folgenden Typen sein:
- Dialog
- System
- Communication
- Service
Für die Erstellung oder Änderung eines entsprechenden Nutzers benötigst Du Berechtigungen auf die folgenden Transaktionen:
- PFCG: Berechtigungsrolle pflegen oder erstellen
- SU01: Benutzer pflegen oder erstellen
Berechtigungen für die Ausführung des RFC-Bausteins
Für die Berechtigung der Ausführung des RFC-Bausteins hast Du zwei unterschiedliche Optionen, es reicht wenn du eine von beiden umsetzt.
Für die Autorisierung kommt das Berechtigungsobjekt S_RFC zum Einsatz: Du findest es unter der Berechtigungsklasse AAAB - Anwendungsübergreifende Berechtigungsobjekte→ Berechtigungsobjekt S_RFC - Berechtigungsprüfung beim RFC-Zugriff
Berechtigung auf Funktionsgruppenebene
Die erste Möglichkeit ist es die entsprechenden Funktionsgruppen über der RFC_TYPE auf FUGR (Funktionsgruppe) zu berechtigen. Siehe die nachfolgende Tabelle für 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-Objekts) | 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. Siehe die nachfolgende Tabelle für 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 RFC_GET_FUNCTION_INTERFACE RFC_GET_NAMETAB RFCPING /DABEXP/RFC_SAPCONNECTOR |
RFC_TYPE (Typ des zu schützenden RFC-Objekts) | FUNC (Funktionsbaustein) |
Verwendung der entsprechenden Funktionsbausteine
Neben dem Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR sind weitere Bausteine für einen reibungslosen Betrieb notwendig. Nachfolgende Tabelle erläutert den entsprechenden Verwendungszweck.
Funktionsgruppe | Funktionsbausteine | 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 | Prüfung der Struktur und Existenz von RFC-Bausteinen |
SYST | RFCPING | Test der RFC-Konnektivität |
/DABEXP/DAB_FUGR | /DABEXP/RFC_SAPCONNECTOR | Abfrage der Tabelleninhalte |
Berechtigungen auf Tabellenebene
Mit diesen Berechtigungsobjekten kannst Du Zugriffsberechtigungen auf den Inhalt der zu exportierenden Tabellen erteilen. Die Prüfung erfolgt wie bei allen Anwendungen über den Funktionsbaustein VIEW_AUTHORITY_CHECK.
Hierzu gibt es zwei unterschiedliche Möglichkeiten die Tabellen entsprechend zu berechtigen, entweder über die Berechtigungsgruppe oder den Tabellennamen.
Erfolgt die Tabellenberechtigung unter Verwendung beider Berechtigungsobjekte, wird zunächst die Berechtigung mit S_TABU_DIS (Tabellenberechtigungsgruppe) geprüft. Wenn diese Prüfung fehlschlägt, dann wird die Berechtigung mit S_TABU_NAM (Tabellenname) geprüft.
Es ist nur möglich die Tabellen komplett oder gar nicht zu berechtigen, eine Einschränkung auf Tabelleninhalte wie Buchungskreise ist nicht möglich.
Falls Du auf Tabellenebene berechtigst, stelle bitte sicher, dass die folgenden Tabellen zusätzlich berechtigt sind.
Tabelle | Berechtigungsgruppe | Verwendungszweck |
T000 | SS | Mandanten - Standardtabelle für Verbindungstest |
T001 | FC01 | Buchungskreise - Fallbacktabelle für Verbindungstest |
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 - Beschreibungstexte für Felder |
Berechtigung über Tabellenberechtigungsgruppen
Berechtigungsklasse BC_A Basis - Administration→ Berechtigungsobjekt S_TABU_DIS
Hiermit legt man auf Ebene der Tabellenberechtigungsgruppe fest, auf welche Tabelle, wie zugegriffen werden darf. Im Parameter DICBERCLS werden die Berechtigungsgruppen eingetragen und über ACTVT wird die Art des Zugriffs festgelegt. Die Zuordnung einer Tabelle zu einer Berechtigungsgruppe oder umgekehrt, findest Du 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 legt man auf Ebene des Tabellennamen fest, auf welche Tabelle, wie zugegriffen werden darf. Im Parameter TABLE werden die Tabellen eingetragen und über ACTVT wird die Art des Zugriffs festgelegt.
Feld | Wert |
ACTVT (Aktivität) | 03 (Anzeigen) |
TABLE (Tabellenname) | * |
Testing
Testen des Funktionsbausteins
Nachdem der Funktionsbaustein wie oben beschrieben installiert wurde, kann mit der Transaktion SE37 der Funktionsbaustein über den Button Testen/Ausführen oder die Taste F8 ein erster Funktionstest durchgeführt werden.
Im ersten Dialog können die Import-Parameter eingegeben werden. In unserem Beispiel verwenden wir im Feld QUERY_TABLE die Tabelle für die Buchungskreise T001. Es kann jede beliebige Tabelle verwendet werden, auf die der aktuell angemeldete Benutzer Zugriffsrechte hat. Weitere Eingaben sind für den ersten Test nicht notwendig. Zum Start des Tests klicke auf den Button Ausführen oder drücke die Taste F8.
Wenn der Funktionsbaustein fehlerfrei ausgeführt wurde, erhältst Du Ergebnistabellen zurück. Durch Klicken auf das Icon Detailsicht neben der Anzahl der Einträge für TABL_FIELDS oder DATA kannst du das Ergebnis ansehen.
TABL_FIELDS enthält die Struktur der in der abgefragten Tabelle vorhandenen Felder:
DATA enthält die Datensätze der abgefragten Tabelle:
Testen der RFC-Verbindung
Mit Hilfe des dab FunctionModuleTester kannst Du prüfen, ob die Verbindung über RFC erfolgreich aufgebaut werden kann. Weitere Anweisungen findest du hier.
Deinstallation
- Öffne die Transaktion SAINT
- Klicke auf die Registerkarte Deinstallierbare Komponenten, wähle die Komponente DABEXP aus und klicke auf Start
- Nach Bestätigung der Deinstallation wird die Komponente aus dem SAP-System entfernt
SAP Zertifizierungen
Das Add-on besitzt Zertifizierungen für die folgenden Versionen, die aktuellen Zertifizierungen können auch jederzeit im SAP Certified Solutions Directory eingesehen werden.
Add-on Version | Test SAP-System | Zertifizierungsszenario |
1.61 | SAP S/4HANA Cloud Private Edition, release 2023 | S/4HC-ADDON 2023 - ADD-ON FOR SAP S/4HANA CLOUD PRIVATE EDITION 2023 |
SAP S/4HANA Cloud, private edition, release 2022 | S/4HC-ADDON 2022 ‒ ADD-ON FOR SAP S/4HANA CLOUD PRIVATE EDITION 2022 | |
SAP S/4HANA 2022 | S/4HC-EX-ABAP 2022 ‒ ABAP ADD-ON FOR SAP S/4HANA CLOUD EX 2022 | |
SAP NetWeaver 7.50 | ||
1.40 | SAP S/4HANA 2021 | |
SAP S/4HANA 2021 | S/4HC-EX-ABAP 2021 ‒ ABAP ADD-ON FOR SAP S/4HANA CLOUD EX 2021 | |
SAP S/4HANA 2020 | S/4HC-EX-ABAP 2020 ‒ ABAP ADD-ON FOR SAP S/4HANA CLOUD EX 2020 | |
SAP S/4HANA 2020 | ||
SAP S/4HANA 1909 | S/4HC-EX-ABAP 1909 ‒ ABAP ADD-ON FOR SAP S/4HANA CLOUD EX 1909 | |
SAP S/4HANA 1909 | ||
1.1 | SAP S/4HANA 2020 | |
SAP S/4HANA 1909 | ||
1.0 | SAP S/4HANA 1809 | |
SAP NetWeaver 7.50 | ABAP 7.0 ‒ ABAP ADD-ON FOR SAP NETWEAVER APPLICATION SERVER |
Release Notes
Version 161
- Bei der Deinstallation des Add-On konnten nicht alle Objekte entfernt werden, aufgrund fehlerhafter Objektinformationen. Dadurch wurde die Deinstallation abgebrochen
Version 160
- In Ergänzung zu dem Fix aus Version 110 wird nun auch die Auflösung von verschachtelten .INCLUDES mit Suffixes unterstützt. Konkret gab es Probleme in der Tabelle ACDOCA, wo der Include ".INCLU-_PA" einem Suffix enthält und außerdem mit .APPEND erweitert wird. Mit diesem Fix wird nun der Suffix auch auf die Felder im .APPEND angewendet.
Version 150
- Der Funktionsbaustein wurde für die Unterstützung beim Export von Langtexten aus der Spalte CLUSTD in der Tabelle STXL vorbereitet
Version 140
- Letzte SAP Add-On Version kompatibel zu SAP Basis 731 und niedriger
- Erfüllung des erforderlichen Securitylevels für S/4 Cloud EX
Version 130
- Das Auslesen der DDIC Informationen liefert beim Datentyp RAW für die GUID in den Tabellen CGPL_TASK oder DPR_TASK falsche OUTPUTLEN. Dadurch werden die betroffenen GUIDs verkürzt exportiert. Für Felder vom Datentyp RAW und INTLEN 16 und einer OUTPUTLEN kleiner 32 wird nun die OUTPUTLEN fest auf 32 gesetzt.
Version 120
- Beim Aufbau der Feldliste für die SQL-Abfrage wurde beim Zusammensetzen von <Tabelle>~<Feldname> nach 30 Zeichen abgeschnitten, dadurch kam es bei der SQL-Abfrage zu Fehlern
Version 110
- Es kam bei S4/Hana Systemen bei bestimmten Tabellen (BKPF, BSEG, MATDOC, ACDOCA, MHNK) zu Fehlern. Die Auflösung von INCLUDE-Strukturen innerhalb dieser Tabellen mit den Bezeichnungen
- .INCLU-_PN
- .INCLU-_A1
- .INCLU-LO
- Aufbau der Feldliste für die SQL-Abfrage wurde von nur Feldname in <Tabelle>~<Feldname> geändert, damit es bei bestimmten Feldern die geschützte SQL-Namen verwenden, nicht zu Ausnahmen kommt. (z.B. Tabelle TOAM - Feld Connection)
Version 100
- Initialer Release des neuen Funktionsbaustein /DABEXP/RFC_SAPCONNECTOR.
- Das Berechtigungsobjekt S_DEVELOP ist nicht mehr nötig, da das Auslesen der SAP Tabellenstruktur in unseren Funktionsbaustein integriert wurde und nicht mehr über den Funktionsbaustein RPY_TABLE_READ erfolgt
- Vorbereitung für spezielle SAP Datentypen SSTRING, LRAW und RAWSTRING und das Auslesen von Langtexten