+++ So können Sie Datras EPTL mit Datras Dynamic ABAP auf Ihrem SAP-System kostenlos testen (Anleitung, Download) +++ Datras hat die Preise gesenkt +++ |
s.a. "Wichtige Änderungen ab EPTL 4.0"
Der Zugriff auf SAP-Daten (inkl. Pool- und Cluster-Tabellen und spezielle SAP-Views, die eigentlich keine sind) kann auf drei verschiedene Arten erfolgen:
1. Standard-Zugriff über den SAP-Funktionsbaustein RFC_READ_TABLE
Dieser Zugriff benötigt zwar keine Installation von zusätzlichen ABAPs im SAP, unterliegt aber auch den größten Restriktionen:
• | Es kann nur auf genau eine Tabelle zugegriffen werden, es sind also keine Joins möglich. |
• | In der SELECT-Clause sind nur der Stern "*", oder eine Aufzählung von Felder der Tabelle möglich (also kein DISTINCT oder Aggregate möglich). |
• | Es kann optional nur eine Where-Clause (also keine Order by, etc.) benutzt werden . |
• | Es können nur Datensätze mit einer maximalen Länge (Summe über alle exportierten Felder) von 512 Byte exportiert werden. |
• | Felder des Datentyps "FLPT" = Floating-Point können nicht exportiert werden. Diese Restriktion hängt von einem Bug im SAP-Funktionsbaustein RFC_READ_TABLE bei der Typkonvertierung ab. |
• | Bei manchen SAP-Systemen kann über den SAP-Funktionsbaustein RFC_READ_TABLE überhaupt nicht zugegriffen werden, da sich anscheinend ein Bug bei der (Vorbereitung der) Implementierung von Unicode in den SAP-Interpreter eingenistet hat. |
• | Bei großen Datenmengen belastet diese Art des Zugriffs den SAP-Server und das Netzwerk stark, da Zugriffe in SAP via RFC keinen persistent Datenbank-Cursor erlauben, und deshalb die Daten nur in großen Mengen und in einem Schritt zum Clienten transportiert werden können (da rumpelt's dann richtig im Netzwerk). |
Belastung von SAP-Server und Netzwerk
2. Extended-Zugriff mit der Datras-RFC-Extension
Dieser Zugriff benötigt die einmalige Installation der DATRAS-RFC-Extension im SAP-System, welche den SAP-Funktionsbaustein RFC_READ_TABLE ersetzt.
Info: Seit der Version 4.0 des EPTL ist für die beiden Zugriffsmethoden "Datras-RFC-Read für SAP" und "Datras-Dynamic-ABAP für SAP" (s.u.) nur noch eine Installation mit einem einheitlichen Satz von ABAPs erforderlich.
Beim Datenextrakt stehen jedoch weiterhin beide Zugriffsmethoden zur Verfügung: der Zugriff über die Erweiterung Datras-RFC-Extension ohne weitere Installationen von ABAPs, und der dynamische Zugriff Datras-Dynamic-ABAP mit der dynamischen Installation von ABAPs im SAP-System.
Das Icon mit der Bohrmaschine hier im EPTL-Handbuch steht daher weiterhin für den Zugriff mit der Datras-RFC-Extension (aber eben nicht mehr für eine eigenständige Installation).
Mit dieser Extension werden folgende Restriktionen aufgehoben:
• | Es können Datensätze beliebiger Länge exportiert werden. |
• | Felder des Datentyps "FLPT", also Floating-Point, können exportiert werden. Jedoch werden bei diesem Typ die Zahlen im SAP-Interpreter bei der Typkonvertierung auf zwei Stellen gerundet. |
• | Es kann auf alle SAP-Systemen zugegriffen werden, da dieser Baustein den SAP-Bug im Interpreter umgeht. |
• | Die Belastung auf dem SAP-Server und dem Netzwerk wird erheblich reduziert (quasi vernachlässigbar und kaum noch messbar), da der Datenextrakt zuerst temporär in einer Datei auf dem SAP-Server zwischengespeichert wird und der eigentliche Datentransfer vom Server zum EPTL danach paketweise und asynchron (Rock'n Roll-Prinzip) durchgeführt wird. Nach dem Datenextrakt wird dann die temporär Datei auf dem SAP-Server wieder gelöscht. |
3. Dynamischer Zugriff mit Datras-Dynamic-ABAP
Dieser Zugriff benötigt die einmalige Installation von Datras-Dynamic-ABAP auf dem SAP-System, welche auch die Funktionalität der Datras-RFC-Extension umfasst.
Bei dieser Art des Datenextrakts wird im EPTL ein ABAP dynamisch generiert, in das SAP-System eingespielt und dann der Datenextrakt über diesen dynamischen ABAP vollzogen. Danach wird dieser ABAP wieder aus dem SAP-System entfernt.
Dieser Zugriff erlaubt zusätzlich:
• | Verwendung von Inner Join, Left Outer Join, Group By, Having, Order By. |
• | Verwendung von DISTINCT und den Aggregaten Count, Min, Max, Avg und Sum. |
• | Korrekter Export von Floating-Point Felder, da die Typkonvertierung im EPTL und nicht im SAP-Interpreter vollzogen wird. |
Wichtig:
• | Datras-Dynamic-ABAP wird nur verwendet, wenn das eingegebene SQL dies auch erfordert (und natürlich Datras-Dynamic-ABAP auf dem SAP-System verfügbar ist). Ansonsten wird der Export über die normale Datras-RFC-Extension abgewickelt. Stellt man dem SQL im Editor jedoch die Direktive $DynABAP$ voraus, so wird die Verwendung von Datras-Dynamic-ABAP erzwungen. |