Enhancement Package 2 of SAP NetWeaver 7.0 puts a rich set of new features and improvements in ABAP at your disposal. This page gives you a short overview of these new features in the following areas:
The following blogs highlight the most interesting of these new features:
For more information, see also ABAP Keyword Documention on SAP Help Portal (see “Release-Specific Changes”).
ABAP Application Development
The New DECFLOAT Data Type
This new data type combines the advantages of the classic data types p (exact calculation in decimal mode) and f (large range), while avoiding the drawbacks of each classic data type.
Secondary Key for Internal Tables
In addition to the primary key of an internal table, you can now define up to 15 secondary indexes for an internal table. In particular when accessing large internal tables by using non-primary key access paths, you can speed up the performance of your program tremendously.
Embedded Expressions and New String Expressions
You can use embedded expressions as operands in arithmetic, binary, and string expressions. There are many new embedded functions, in particular, string functions. Chained method calls are now possible. Embedded expressions help you in making your code leaner and easier to understand. SAP NetWeaver 7.0 EhP2 gives you many new options for comfortably and efficiently processing strings in ABAP. There is a new operator for concatenation, operator &&, as well as a rich tool set of new embedded string functions. In addition, string templates are introduced. These enable you to create a character string from literal text, embedded expressions, and control characters in a character string expression.
Using the new resumable exceptions you can now recover from the situation that caused an exception, and then continue in the context in which the exception was raised. It is also possible to keep the context of an exception until the exception is handled, which facilitates debugging of the situation in which the exception was raised.
The ABAP Editor now offers a code completion capability that is similar to what you may have encountered in state-of-the-art editors of other programming languages. Before, the Editor could complete ABAP keywords for you. Now, it supports completion for the entry of all methods, attributes, and interfaces of global and local classes, function modules, and so on.
New Code-Based View in the ABAP Editor
With this new feature you can toggle between the classic form-based view in the Class Builder and new code based view that allows you to see the whole code of a global class in one window in the editor.
More New Features
The ABAP language has also been enhanced with these minor features:
A dynamical where-clause for internal tables
Boxed components that allow you to define flat components as deep components and thus avoiding the waist of memory caused by the initialization of large structures with flat components
A RETRY statement used in the CATCH block of exceptions enabling you to reprocess the entire TRY block that encloses an exception
New UML functionality letting you display class diagrams (and those of function modules) at different detail levels
A classification tool to create classifications of different development objects depending on sets of meta data that you can define as you like
In addition, SAP NetWeaver EhP2 includes a number of further improvements, such as locators, streams, a new splitter control for the classic SAP GUI, short strings, an ABAP method call in simple transformations, the 12 hour time format, a service class to create Universal Unique Identifiers (UUIDs), enhancements for shared objects, pragmas (directives to the ABAP Compiler and other test tools to hide warnings from the syntax check and other checks), and new methods in the runtime type creation (RTTC).
Switching, Enhancing, and Adapting Standard Programs
It is now possible to create an enhancement in an already existing enhancement, such as another source code plug-in within an already existing source code plug-in. Up to now, this was a crucial limitation in the enhancement concept. The nested enhancements put an end to this situation and increase the possibilities for SAP customers, partners, and all developers in higher development layers to fully exploit the potential of the Enhancement Framework.
ABAP Testing and Troubleshooting
SAP NetWeaver 7.0 EhP2 brings a rich set of new features and improvements to the new ABAP Debugger to increase developer productivity by offering state-of the-art troubleshooting.
Request-based debugging of HTTP and RFC requests is a new type of external debugging in ABAP. Now you can capture any external HTTP or RFC request for debugging in your ABAP system, without regard to the user or application server that processes the request. Processing of requests from other users is not affected, which is essential in a production system.
Software-layer aware debugging (SLAD) offers efficient support for debugging of multi-layered applications such as Web Dynpro. Now you can debug only your application and hide the framework code. Furthermore, you can define layers (for examplepresentation layer, application layer) and jump from layer to layer instead of running though a complex application with small debugger steps.
Automated debugging – debugger scripting allows you to use ABAP as a script language to automate debugger tasks, change the program flow, define custom breakpoints, modify variables, write traces and even more. You can solve standard problems by using pre-defined scripts or even write your own debugger tools to investigate an error situation.
Memory consumption analysis. The new dominator tree view lets you examine keep-alive (which objects keep other objects alive), and bound storage relationships in your memory objects. The new Memory Object Explorer allows you to browse the memory graph of a particular memory object. Now you can analyze the memory consumption of a Web Dynpro application in the debugger.
In addition, the following new features and improvements are provided:
The new Web Dynpro Tool allows you to analyze a Web Dynpro application in the debugger more effectively.
In the enhanced Table Tool you can easy optimize column display, expand sub-components at one glance, show secondary keys and save the viewer layout of internal tables.
The new Statement Debugging allows you to debug multiple statements and logical expressions in one line separately.
You can now specify conditions for breakpoints and watchpoints. Furthermore you can debug simple transformations and enhancements.
SAT – New ABAP Runtime Analysis
The new ABAP Runtime Analysis Tool (transaction SAT) has replaced the old transaction SE30 tool. SAT offers new runtime analysis tools and features and supports multi-layered applications. SAT should be used for typical scenarios of ABAP runtime analysis, such as searching for performance bottlenecks, program flow analysis or memory consumption problems.
SAT has a modern and flexible user interface, the same as in the new ABAP Debugger, which can be customized individually. The measurement results are stored centrally on the database, which makes SAT independent of the application server.
Along with the Call Hierarchy and Hit List Tools known from SE30, SAT offers a rich set of new flexible analysis tools, which help to evaluate different trace aspects. The new Profile Tool checks out the runtime consumption of components, packages, programs, and even debugger layers (SLAD). The new Processing Blocks Tool displays a tree of processing blocks to get an aggregated view of the call sequence. SAT offers a hotspot analysis to find performance and memory hotspots. There are also new tools to display a call stack for each item of the call hierarchy (Call Stack Tool), to identify time-consuming database statements (DB Tables Tool), more specific time measurement values (Times Tool) and more.
ABAP Testing Tools
ABAP Unit. The ABAP Unit Browser is integrated into the ABAP Workbench, which allows to organize your tests, run a whole bundle of tests and have test favorites. For the latter, test coverage can be measured and displayed using the Coverage Analyzer.
The Coverage Analyzer provides more detailed coverage results. You can now measure coverage on the statement level, measure the coverage of individual conditions of logical expressions and the coverage of empty branches.
New ABAP RFC
The new Background Remote Function Call (bgRFC) is the successor of transactional RFC (tRFC) and queued RFC (qRFC). It connects two ABAP application servers in an asynchronous communication mode, processes RFC calls in a transactional context, and has two flavors:
bgRFC of type T guarantees processing exactly once.
bgRFC of type Q guarantees processing exactly once in order
With NetWeaver 7.0 EhP2 , Binary ABAP Serialization XML (basXML), which is the representation of asXML in Binary XML, becomes the recommended common format for all kinds of parameter transfers in RFC. basXML is the binary representation of asXML in RFC calls. asXML itself is the canonical representation of ABAP data in XML. In terms of performance, basXML is currently located between the faster binary format and the slower xRFC.
Local Data Queue
The Local Data Queue (LDQ) is a persistence layer into which data can be placed. This data can only be read in the sequence in which it is recorded. Since the access sequence is defined in accordance with the First-In First-Out (FIFO) principle, we talk about queues that serve as the organizational element for the individual receivers. The LDQ replaces the functions previously provided by the qRFC No-Send scenario.