Académique Documents
Professionnel Documents
Culture Documents
0 EhP2
SAP NetWeaver 7.0 EhP2 brings you a rich set of new features and enhancements in ABAP Testing and Troubleshooting tools which will boost the efficiency of the entire ABAP development. This blog gives an overview of the major improvements and new tools and features in the areas of ABAP Testing and Troubleshooting.
To activate request-based debugging check TerminalID checkbox in the debugger settings (Utilities->Settings>Debugging), apply the settings and set a user breakpoint.
To transmit Terminal ID in case of HTTP requests download SAP HTTP Plug-in for Internet Explorer from the OSS Note 1041556, start the plug-in and it will start the browser. Start your application and press Start Transaction button on the plug-in. In case of RFC requests sent from SAP GUI use Ok code "/htid".
After you defined your SLAD profile you can start ABAP debugger and activate layer aware debugging (Configure Debugger Layer button). The pop-up appears where you can load your SLAD profile (or you can define it directly in the pop-up). And the debugger will stop only in visible layers of your SLAD profile. Use normal debugger steps to debug the code within the layer. You can also use a new button Next Object Set to jump between the layers.
A new standalone transaction SAS allows you to maintain scripts and display script results.
Dominator Tree. The new dominator tree (tab Dominator Tree) helps to determine the cause when you analyze memory consumption for object groups. The dominator tree is the keep-alive tree. With the dominator tree you can easily analyze the hierarchy of references to memory. If you go down the tree, you can determine for which sub-objects your object is responsible for and which objects would disappear, if it will be freed. If you go up the tree, you can determine the responsible objects, which keep your object alive. You can also examine additive memory values. The dominator tree is available in both the new ABAP Debugger and in the Memory Inspector.
Memory Object Explorer. You can press the right mouse button on a node of a dominator tree and switch to the Memory Object Explorer. With the new tool Memory Object Explorer (available only in the new ABAP Debugger under Tools->Memory Management->Memory Object Explorer) you can browse the object graph of a particular memory object and display its subordinate and superior objects.
Memory analysis for Web Dynpro application. Now you can analyze your Web Dynpro application for its memory consumption in debugger. With the new tool under Memory Management->Application-Specific Memory Views different Web Dynpro framework and application views of the memory are presented. Select in the Memory View dropdown "Application Web Dynpro" and filter out (Filter button) everything that is not Web Dynpro specific.
Redesigned Table Tool - Enhanced display of internal tables. The Table Tool lets you view and manipulate the contents of internal tables in the debugger. By using a new columns configuration (Columns button on the Table desktop) you can optimize table display to see the columns you really want to see. Columns configuration lets you quickly add content of nested structures and objects attributes to the display of an internal table. You can store your table layout (columns) so that you can re-use it in your next debugger session. And last but not least the Table tool adds support for secondary keys (the key used can be toggled in the debugger).
Statement and expression debugging. Now you can debug ABAP statements that contain multiple expressions and statements on the same line of code incrementally: one expression or statement at a time. The new debugger button Step Size allows you to toggle between statement debugging and normal line debugging. On the Auto tab of the variable fast display you can analyze return values of single statements.
Conditional breakpoints and watchpoints. Now it is possible to specify conditions for breakpoints and watchpoints that you set in debugger. The debugger will stop as soon as breakpoint or watchpoint is reached and the specified condition is fulfilled. To add a condition to a breakpoint, open the context menu of the breakpoint and choose Create Condition. A popup will be displayed in which you can enter the condition.
You can add a condition to a watchpoint when you create it (Create Watchpoint button) or when you change it on the Breakpoints/Watchpoints tab in the debugger.
Special breakpoints ABAP has significantly extended the set of available breakpoints that you can set in the debugger. Click on the Create Breakpoint button in the debugger, and you will find useful new breakpoints like the following: Special breakpoints for Web Dynpro ABAP (you can specify component, controller, or method) Breakpoints for simple transformations (ST breakpoints) Stack change breakpoints (stops only if ABAP and screen stack has changed) A breakpoint at non-precise decfloat calculation (stops if a non-precise statement or calculation with decimal floating point numbers takes place) Breakpoint at RFC and so on.
o o o o
Simple transformation debugging. Now you can debug simple transformations (step-by-step execution, variables display, breakpoints).
Enhancement debugging. Now you can visualize enhancements in the stack, skip or execute enhancement implementations.
Adoption of functions from the old debugger. In the new ABAP Debugger, you can display current generated classic list in debug mode, restart the entire application, use debugger settings (block sending TRFC, ESI debugging, Shared Objects: debug automatic area structure, always generate exception object, Control Framework: Automation controller, Always processes requests synchronously, check sorting before READ BINARY SEARCH).
Miscellaneous. Now there is F4 help for breakpoints on ABAP commands. You can also set watchpoints on objects. In the variable fast display a new tab page, Auto, displays the last return values of methods. Among other new features are these: You can change long data objects in the detail view. There is a new screen tool for analyzing screens (control, properties, layout). In the stack tool there is a new setting for displaying the call stack of an internal call mode. There is a new exception tool for displaying and analyzing the last and previous class-based exceptions. The new console tool displays the growing data of serializations from ABAP to XML for CALL TRANSFORMATION and for classic list outputs. In the ABAP byte code or ABAP byte code (debug macro) context menus, you can select what a replacement for a proper macro debugging run can depict.
o o o o o
Profile Tool checks out the runtime consumption of components, packages, programs and even debugger layers (SLAD) Processing Blocks Tool displays a tree of processing blocks to get aggregated view on the call sequence SAT offers a hotspot analysis to find performance and memory hotspots Call Stack Tool displays the call stack for each item of the Call Hierarchy DB tables Tool identifies time-consuming database statements Times Tool provides more specific time measurement values for call hierarchy events
y y y y y
y y y
A structured overview of existing unit tests to be displayed. Several test runs to be started at the same time. Unit tests to be organized in favorites.
When you test favorites, you can also have the code coverage of the tests in the favorite measured and displayed.
SAP NetWeaver 7.0 EhP2 also adds the tokens RISK LEVEL and DURATION to the CLASS ... FOR TESTING statement to replace the pseudo comments "#AU Risk_Level ... and "#AU Duration ..., which were introduced in SAP NetWeaver 7.0 for defining the properties of test classes. The class CL_AUNIT_ASSERT is replaced by the new class CL_ABAP_UNIT_ASSERT, and class CL_CONSTRAINT has been replaced by CL_AUNIT_CONSTRAINT. New methods have also been added to the new classes. Existing module tests do not have to be converted to the new classes. However, we recommend that you use only the new classes in new tests.
Coverage Analyzer
The Coverage Analyzer has been extended with these new features:
y y y y
Code coverage is now measured at statement level (statement coverage). The coverage of individual conditions of logical expressions is measured (condition coverage). The coverage of empty branches is measured. The coverage of statement blocks executed and not executed is measured in control structures (branch coverage).
Code coverage is visualized in different colors in the new ABAP frontend editor. To measure the coverage of test runs, the Coverage Analyzer has been integrated into ABAP Unit testing.