Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
gregorw
Active Contributor
0 Kudos

Historie und Voraussetzungen

Andreas Blumenthal stellte zunächst einmal auf die lange Geschichte von ABAP ein. Anfangs noch die Abkürzung für „Allgemeiner Berichts Aufbereitungs Prozessor“ wurde ABAP später als „Advanced Business Programming Language“ bekannt. Weiter stellte Andreas Blumenthal die Voraussetzungen für die Erweiterungen vor. Für NetWeaver 7.00 Enhancement Package 2 muss der aktuellste SAP Kernel 7.20 installiert werden. Das Enhancement Package wird nach derzeitiger Planung im Juli 2008 bereitgestellt.

Neue Sprachelemente

Horst Keller stellte uns einige neue Sprachelemente von ABAP vor. So kann man nun Text nicht mehr nur mit CONCATENATE verknüpfen sondern mit „|“ direkt zusammenbauen. So kommt man beim Formatieren eines Datums ohne eine temporäre Variable aus.

DATA: msg TYPE c LENGTH 100.
msg = |Das Datum von heute: { sy-datum date = environment }|.
MESSAGE msg TYPE 'I'.

Dieses Programm gibt das aktuelle Datum in der von der Umgebung gewünschten form aus.

Laufzeitanalyse

Boris Gebhardt, der Entwickler des neuen ABAP Debuggers, stellte uns dann zunächst die erweiterte Laufzeitanalyse vor. Mit dieser kann man, wie auf dem Bild zu sehen ist, bis in die Details der internen Ausführung, Leseoperationen oder Änderungsoperationen analysieren. Im gezeigten Beispiel wurde das aufklappen aller Objekte in der SE80 gezeigt.

Nun übernahm wieder Horst Keller um die Performanz des LOOP‘s über die interne Tabelle zu verbessern. Zunächst wird dazu über das Data Dictionary die ebenfalls neue Funktion „Secondary Keys“ für interne Tabellen ein zweiter Key definiert. Um diesen zu verwenden muss der Code mit der Ergänzung „USING KEY“ ergänzt werden. Damit verbesserte sich die Performanz des aufklappens dramatisch.

Debugger

Zum Abschluss zeigte Boris Gebhardt noch das Anfrage-Basierte Debugging einer Webanwendung. Der große Vorteil dabei ist eine Webanwendung auch über verschiedene Systeme hinweg debuggen zu können. In der Beispiellandschaft wurde dabei im FI System M18 ein Breakpoint gesetzt. In der aktuellen Breakpointbehandlung wirkt dieser nicht, da in der RFC Verbindung ein fester Benutzer, der nicht dem Benutzer der Webanwendung entspricht eingetragen ist. Ebenfalls kann es bei der nutzung von mehreren Applikationsservern probleme geben, wenn über die Lastverteilung der RFC Aufruf nicht auf dem Server ankommt auf dem der Breakpoint gesetzt wurde.

Mit dem Anfrage-Basierten Debugging wird beim aktivieren zunächst eine Terminal-ID (TID) in die Registry des Entwicklerrechners geschrieben. Der Entwickler startet dann ein lokales Windowsprogramm, dass die TID aus der Registry liest und dann den Browser startet. Nun kann die Webanwendung gestartet werden. Das Zusatzprogramm ergänzt jeden Request mit der TID. Die TID wird dann auch über die RFC Verbindungen weitergegeben. Auch über Web Service Aufrufe zwischen SAP Systemen. Durch die TID wird nun der Breakpoint erreicht und es kann Debuggt werden.

Fragen & Antworten

Im SAP CRM arbeite ich viel mit Funktionsbausteinen. Leider stoße ich immer wieder auf das Problem, aufgrund von tiefen Strukturen und besonderen Datentypen, den Baustein nicht direkt über die SE37 testen zu können. Für Tests muss immer ein Testreport erstellt werden. Andreas Blumenthal antwortete, dass es einen Projektplan für eine SE37 überarbeitung gibt, aber ein Zeitplan zur umsetzung bisher nicht definiert ist.

4 Comments