Anthony Cecchini is the President of Information Technology Partners (ITP), an SAP consulting company headquartered in Pennsylvania. ITP offers comprehensive planning, resource allocation, implementation, upgrade, and training assistance to companies. Anthony has over 17 years of experience in SAP R/3 business process analysis and SAP systems integration. His areas of expertise include SAP NetWeaver integration; ALE development; RFC, BAPI, IDoc, Dialog, and Web Dynpro development; and customized Workflow development. You can reach him at firstname.lastname@example.org.
The NEW ABAP Debugger in ECC
This blog series will deal with the NEW ABAP debugger in ECC and ABAP Debugging Basics. Part 1 will explore the Classic (Old) debugger and the architecture and drawbacks. I will introduce the architecture for the new debugger and show how to make it your default-debugging tool for ECC. (It is the default Netweaver 2004s).
SAP introduced the “New ABAP Debugger” with SAP NetWeaver ’04, which includes a new architecture that enables analysis of all ABAP programs and a state of the-art user interface. The architecture of the New ABAP Debugger, which has been developed from the ground up, will provide for a more flexible and intuitive user interface.
If you happened to upgrade to SAP NetWeaver 2004s, then New ABAP Debugger has even more enhancements. Such as integration of the new ABAP Front-End Editor into the new source code display, complete with syntax highlighting and a Data Quick Info pop-up; the new Diff Tool, which guides you through the differences between, for example, two nested structures or internal tables; and the Data Explorer.
Why do we need a New ABAP Debugger?
The Classic ABAP Debugger runs in the same roll area as the application to be analyzed (debuggee). It is therefore displayed in the same window as the application. However, this technology also has some restrictions. For instance, it is not possible to debug conversion exits and field exits. The reason behind this drawback is because inside a conversion exit for a field exit, NO ABAP DIALOG statements are allowed. Like a CALL SCREEN. Since the debugger and the debguee share the same context, the debugger cannot send a debugger screen.
Another drawback is the risk of code in the debugger affecting the debugge. They both reside in the same internal session and naturally can impact each other. SAP has attempted to mitigate this risk but not using ABAP as the development language for the classic debuuger and its core resides in the Kernel. However, this leads to eeven more drawbacks, as now it is impossible to leverage any new ABAP GUI enhancements, such as the CFW (Control Framework).
New ABAP Debugger Architecture
Ok…now let us look at the new debugger architecture, called the Two-process architecture. So what is the big deal? The fundamental difference of this architecture is its two external sessions, each of which appears in its own SAP GUI window. One session for the debugge, and a separate session for the debugger. The debugger controls the debugge. This two-window approach, in which the debugger lives in its own external session, has significant advantages, and solved the issues of debugging through field exits and conversion routines. It has also insulated the object being debugged from the debugger instance. That means the integrity of debugge is no longer at risk of impact from the debugger.
OK, you want to use the new debugger…..Here is how to set it as your default. Switching between the Classic ABAP Debugger and the New ABAP Debugger is easy — in the Object Navigator (transaction SE80) or in the ABAP Editor (transaction SE38), follow the menu path Utilities–>Settings. (See Below)
You can initiate the debugger as you already know how to do using /H or by setting a break-point.
In my next post, I will take you through what the New ABAP Debugger looks like and explain in detail the different sections & tabs.