Navigation:  Datenzugriff auf SAP >

SAP-Bug (der Kleine)

Print this Topic Previous pageReturn to chapter overviewNext page

+++   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"

 

Im SAP-Interpreter hat sich ein Bug eingenistet, der den Datenextrakt mit dem SAP-Baustein RFC_READ_TABLE einschränkt bzw. je nach Version des SAP-Systems völlig unmöglich macht.

How to Confirm

 

Problem:

Das Problem liegt hierbei bei einem Bug im SAP-Interpreter, wenn er die Typumwandlung in den Zeilen 163-175 des Funktionsbausteins RFC_READ_TABLE versucht:

 

Bugfix:

Ersetzt man diese Zeilen wie im Funktionsbaustein Z_DATRAS_READ_TABLE durch das Äquivalent

,

ist der SAP-Interpreter zufrieden und die Welt wieder heile.

 

 Wichtig:

Bei fast allen SAP-Systemen tritt dieser Bug nur beim Datentyp "FLPT", also bei Floating-Point-Typen auf. Bei Benutzung der 1. Zugriffsmethode (RFC_READ_TABLE) stürzt SAP dabei ab und es wird ein SAP-Dump erstellt.

Im EPTL wird der Datentyp "FLPT" für die 1. Zugriffsmethode defaultmäßig als forbidden deklariert, so dass nicht unnötig viele Dumps im SAP-System erzeugt werden. Dieser Datentyp kann jedoch bei den Eigenschaften eines SAP-Systems (im EPTL, Datenbank-Explorer) mit der Option "allow FLPT (std)" als allowed deklariert werden (Für Testzwecke und in der Hoffnung, dass in einer späteren Version aus dem SAP-Interpreter noch mal was wird. Wie heißt es so schön: Die Hoffnung stirbt zuletzt).
 

Die Zugriffe mit der Datras-RFC-Extension und Datras-Dynamic-ABAP sind gegen diesen Bug resistent.

 

Es gibt SAP-Systeme, bei denen dieser Bug auch bei anderen Datentypen auftritt (dies hat wahrscheinlich etwas mit dem Versuch von SAP, Unicode zu implementieren, zu tun). In diesem Fall ist der SAP-Funktionsbaustein RFC_READ_TABLE völlig unbrauchbar.

Mit dem Datras-Tool SAPLogonIni.exe kann man testen, ob ein SAP-System mit dieser Art des Bugs infiziert ist.

 

Sobald ein Feld große Zahlenwerte beinhaltet, gibt es bei der Konvertierung von Feldern des Typs Floating-Point auch mit dem Workaround, also mit der Datras-RFC-Extension, bei manchen Systemen Probleme (Dies kann man sich im SAP Data Browser SE16 anschauen: mit unterschiedlichen SAP-Versionen sind diese Werte unterschiedlich dargestellt).

In diesem Fall hilft dann nur der Einsatz von Datras-Dynamic-ABAP, da bei dieser Zugriffsmethode die Typkonvertierung im EPTL selbst durchgeführt wird.

 

Hinweis:

Datras versuchte SAP den Bug zu melden und wollte auch den Bugfix kostenlos zur Verfügung stellen. SAP verlangte aber 10.000 € für die Zertifizierung des Bugs, was Datras allerdings nicht bezahlen wollte, denn irgendwann muss auch Schluss mit lustig sein. Deshalb sieht Datras auch keinen großen Nutzen in einer Zertifizierung des EPTL durch SAP, denn da ist ja irgendwie der Bug drinnen.