Skip to Content

SAP Community Day: ABAP rocks! – Translation of Gregor Wolf’s blog

History and Prerequisites

Andreas Blumenthal began with a brief discussion of the long history of ABAP. Initially the acronym for “Allgemeiner Berichts Aufbereitungs Prozessor” ( General report preparation processor ), ABAP was later renamed, “Advanced Business Programming Language”. Andreas Blumenthal then discussed the prerequisites for latest extensions.  For NetWeaver 7:00 Enhancement Package 2, the latest SAP Kernel 7:20 must be installed. The enhancement package is currently planned to be available from July 2008.

New Language Elements

Horst Keller presented us with some of the new elements of ABAP language. You no longer only have CONCATENATE to link together text, you can now directly assemble text with “|” directly.  You can format a date without a temporary variable.

DATA: msg TYPE c LENGTH 100.
msg = |Das Datum von heute: { sy-datum date = environment }|.
This program gives the current date in the locally set form.

Runtime Analyser

Boris Gebhardt, the developer of the new ABAP debugger, showed off the extended Runtime Analyser.  With this you can, as in the picture below, drill right down into the details of internal execution, or read or change operations.  The example shows, the “Open all objects” in SE80.

Runtime Analaysis

 Anyway, back to improving the performance of the LOOPs over the internal table.  Firstly, in the definition of the internal table in the Data Dictionary, we define a second key, using the new feature of “secondary keys” for internal tables.  Then we have to add to the code, using the addition “USING KEY”.  This improved the access to the table dramatically.


In conclusion, Boris Gebhardt introduced the query-based debugging of a Web application. The big advantage here, is when you need to debug a Web application that covers several systems. In the example landscape, a breakpoint was set in the FI system M18.  With the current handling of breakpoints, it doesn’t work, because it is the RFC connection user that’s registered, not the user of the Web application.  The same problem can occur on application servers using multiple servers.  The breakpoint currently doesn’t trigger if it is set on one server, and the RFC actually runs on another.
System Landscape 
With query-based debugging, a Terminal-ID (TID) is activated by writing an entry into the registry of the developer’s machine. The developer then starts a local Windows program, which reads the TID from the registry, and then launches the browser. Now the web application can be started. The program passes the TID with each request. The TID will also be passed with RFC connections, and Web services called between SAP systems.  When the TID reaches the breakpoint it can be debugged.

Q & A

I work a lot with function modules in SAP CRM. Unfortunately, I always get the problem, that due to deep structures and specific data types, there is no framework in SE37 to test them.  You always have to create a test report.  Andreas Blumenthal replied that there is a project plan for a revision of SE37, but a timetable for implementation has not yet been defined.
You must be Logged on to comment or reply to a post.
  • This session was also the highlight of the whole session part of the TechEd for me.

    I don’t spend much time in the debugger, but when I do then F5 has occupied most of it. Those days will now soon be over 🙂

    Excellent stuff and very well presented!

  • Matt,
    It was great meeting you face to face and I’m glad you guys liked this panel discussion so much.
    Had the benefit of a “private audience” with Andreas a few years back when I edited the ABAP pages on SDN.  In fact, it was he who gave me the content for the ABAP for Newbies page. Love the diversity of our group. Understood that Julius is really an English speaker and now I discover that you speak/understand German.  Cool!!
    • Thanks for the clarification.  I should have paid attention to what I was translating 😀

      But still, the pipe operator isn’t easily accessible from Swiss keyboards.  With Alt-Gr 1, (which has the symbol | on it), I get ¦ rather than |

      ( Though my laptop gives me | with Alt-Gr 7, despite the symbol on the key being ¦, it’s not the case on my other keyboards )