SAP-Anbindung im EPTL — Dynamische Exporte mit "Datras Dynamic ABAP"
- SAP-Daten direkt aus SAP-Systemen mit ganz normalem SQL exportieren
- Export-ABAPs dynamsich erzeugen
- Alternative Schnittstelle für RFC_READ_TABLE, behebt zugleich deren Einschränkungen
Im Datras EPTL kann SAP wie eine normale SQL-Datenbank behandelt werden.
Das heißt, Daten können direkt aus SAP wie aus einer normalen SQL-Datenbank extrahiert werden (und anschließend mit dem EPTL wie gewohnt analysiert und bearbeitet werden).
Das EPTL verfügt über eine spezielle Schnittstelle, "Datras Dynamic ABAP", mit der SAP-Systeme im EPTL als eine SQL-Datenbank gewrappt werden und über die der Benutzer dann SAP-Systeme wie eine normale SQL-Datenbank behandeln kann.
- Der Zugriff auf SAP-System wird dabei direkt über SAP (Open-SQL) und nicht auf der von SAP benutzten SQL-Datenbank durchgeführt.
- Deshalb kann im EPTL auch auf SAP-spezifische Tabellen und Views (z.B. Pool- und Clustertabellen, Pflegeviews) zugegriffen werden, die in der von SAP benutzten SQL-Datenbank nicht sichtbar sind.
- "Datras Dynamic ABAP" umfasst den vollen Open-SQL-Umfang von SAP, also auch Joins, Aggragate und Nested Selects.
- "Datras Dynamic ABAP" ist eine Alternative für den standardmäßigen Datenzugriff über den SAP-Funktionsbaustein RFC_READ_TABLE, der diesen ersetzt und somit auch dessen Beschränkungen aufhebt.
- Mit "Datras Dynamic ABAP" wird im EPTL aus den eingegeben SQL-Anweisungen dynamisch ein ABAP generiert, in das SAP-System eingespielt und darüber der Datenextrakt durchgeführt (der ABAP wird danach wieder aus dem SAP-System entfernt)
Hinweis: Derzeit ist SAP im EPTL als Datenquelle verfügbar, jedoch noch nicht als Datenziel.
Datenextrakt mit dynamischem ABAP
SQL-Statement und Extract
Der Datenextrakt mit dynamischem ABAP wird genauso wie ein Datenextrakt von einer SQL-Datenbank durchgeführt:
- SQL-Statement eingeben,
- Schalter "Ausführen" drücken,
- alles weitere wird vom EPTL erledigt: generieren des ABAPs, einspielen in SAP, Daten extrahieren, ABAP im SAP wieder löschen.
SQL-Anweisung im EPTL
Im EPTL wird der ABAP-Code, der aus einem eingegebenen SQL-Statement dynamisch erzeugt wird, angezeigt und kann dort getestet, überprüft und verwaltet werden.
Syntax-Check
Achtung: Nicht jedes "normale" SQL-Statement muss auch SAP-tauglich sein (z.B. verträgt SAP keine Klammern bei zwei AND-Anweisungen zusammen mit einer OR-Anweisung, s. Beispiel unten).
Mit dem Schalter "Syntax-Check" lässt sich während der SQL-Erstellung überprüfen, ob das SQL in SAP-verträgliches ABAP übersetzt werden kann.
Im EPTL wird ein ganz normales SQL-Statement eingegeben und kann mit dem Syntax-Check auf SAP-Konformität überprüft werden
Sicherheit
Der Datenexport über "Datras Dynamic ABAP" verwendet das gleiche Berechtigungsschema wie die Transaktion SE16 (SAP Data-Browser).
Das EPTL führt somit in allen ABAPs immer die explizite Überprüfung der Berechtigungen durch, kann also im Rahmen des SAP-Berechtigungswesens als sicher angesehen werden.
Man darf sich bei SAP allerdings keine Illusionen bezüglich der Sicherheit machen, da das SAP-Berechtigungswesen eher als Kosmetik und good-will-Veranstaltung betrachtet werden muss.
Details zu diesen Sicherheitsrisiken: SAP-Berechtigungswesen (im EPTL SAP-Buch)
Wichtig!
Es wird nur ein dynamischer ABAP installiert, wenn dies auch notwendig ist (bei missing SQL-Elements in ABAP von SAP). Ansonsten wird der Datenextrakt über einen Nachbau der SAP RFC_READ_TABLE abgewickelt, der die gröbsten Mängel der RFC_READ_TABLE von SAP beseitigt.
Details zu den Zugriffsmethoden: Datenextrakt aus SAP (im EPTL SAP-Buch)
Der Datenextrakt wird nicht direkt, sondern über einen Zwischenspeicher als Datei auf dem SAP-Server durchgeführt. Dadurch wird sowohl die Belastung des Netzwerks als auch des SAP-Servers minimiert, so dass man auch bedenkenlos Extracts auf Produktivsystemen durchführen kann.
Details hierzu: Belastung von SAP-Server und Netzwerk (im EPTL SAP-Buch)