● Component: SAP_BASIS
● Release: SAP NW 7.0
Assignment to Application Component
Valid for all countries
The following lists the most important improvements to the ABAP programming language. More information is available under Release-Specific Changes → Changes in Release 7.0 in the ABAP keyword documentation (called via help function in the ABAP Editor or transaction ABAPHELP).
The Switch Framework, introduced in the ABAP Workbench with SAP NW 7.0, is supported by the ABAP kernel. You can specify switches explicitly for the screen statement MODULE and the ABAP statement SYNTAX-CHECK.
The Enhancement Framework, introduced in the ABAP Workbench with SAP NW 7.0, is supported by the ABAP kernel.
● Using the new statements ENHANCEMENT-POINT and ENHANCEMENT-SECTION you can create enhancement points in the ABAP source code.
● You can call BAdIs using GET BADI and CALL BADI.
● The CASTINGaddition can now be used for all statements, for which the ASSIGNING addition is possible, to cast a table row to the type of a field symbol.
● In the case of the SORT itab statement, you can dynamically specify the sort key, sort direction, and text sorting in an internal table with a new variant of the BY addition.
● You can use the FIND and REPLACE statements to search for regular expressions; you thus no longer search for patterns using the SEARCH statement.
● The ALL OCCURRENCES addition can be used in the FINDstatement. Previously, the FIRST OCCURRENCE addition was used. Furthermore, the use of the statements FIND and REPLACEfor pattern-based searches has been extensively standardized.
● You can search in internal tables using the FIND IN TABLE statements and modify them using REPLACE IN TABLE. You thus no longer use the SEARCH statement to search in internal tables.
● You can use the LINES OF addition in the CONCATENATEstatement to join the rows of an internal table. With the new RESPECTING BLANKS addition, closing blanks in fixed length data objects are taken into account.
● When a new UTF-8 text file is opened, you can use the new addition SKIPPING|WITH BYTE-ORDER MARKto control the handling of the byte order mark (BOM) at the start of the file.
● When you open a text file, you can use the new addition WITH NATIVE|SMART|UNIX|WINDOWS LINEFEEDto define the end of line marking. The components linefeed and linefeed_mode for the end of line marking have been added to the file attributes structure used in the statements GET DATASETand SET DATASET, so that it can be read and set for an opened file.
● The static methods of the new class CL_ABAP_FILE_UTILITIES return information about files on the application server.
● In the syntax for Simple Transformations, there are new statements tt:type, tt:node and tt:frontfor defining types in ST programs and a new attribute type for tt:rootfor typing data roots. When defining types or typing, you can now specify string and xstringas elementary ABAP types; you can also make length specifications for types c and x. The new statement tt:extensible controls the extensibility of literal XML elements.
● With the CALL TRANSFORMATION statement, it is now also possible to dynamically specify tables for data and object references after the PARAMETERSaddition.
● The new two-process Debugger has been adapted to the functions of the previous Debugger.
o In the display of internal tables, you can add and delete rows.
o You can create watchpoints.
o You can debug external programs (RFC, update modules, BSP, and so on).
o Integration of memory analysis and Memory Inspector.
You can use new tools:
o Use of a new edit control for the source code in which the contents of variables are displayed as quick info.
o Display differences between complex data objects.
o Display data object graphs.
o Display the global data objects of all loaded programs.
o Structured display of the current screens and container controls.
Functions have been enhanced.
o Sort the variable fast display by global and local data. Display the current parameter interface for the local data.
o Complete screen and ABAP stack in the stack display.
o Stop the running process at a specific point by setting a session breakpoint in a parallel main session.
● You can now start the Memory Inspector in any transaction by choosing System → Utilities → Memory Analysis → Compare Memory Snapshots and you can create memory snapshots in any transaction by choosing System → Utilities → Memory Analysis → Create Memory Snapshot.
● In ABAP Unit, you can use pseudo-comments to define test attributes when creating test classes with the CLASS ... FOR TESTING statement and test classes can be defined globally in the Class Builder.
● New, high-performance full-text search with highlighting of found locations.
● New alphabetical subject directory, which is evaluated in addition to the ABAP index and ABAP glossary.
● Adjustment of font size to setting in SAP GUI for Windows.
● The static methods of the new class CL_ABAP_SYST return important statuses and replace the relevant system fields to ensure that they are not inadvertently overwritten in the program.
● You can now have up to 16 main sessions open per user session, where previously the maximum was 6. The actual number is controlled by the system parameter rdisp/max_alt_modes; the default value is still 6. To enable numbers with more than one digit to be displayed in the system field sy-modno, its data type was changed incompatibly from c with length 1 to i.
● The AUTHORITY-CHECK statement has a new addition FOR USER, with which you can check user authorizations.
● In the PARAMETERSstatement, you can now also specify the data type string after the TYPE addition.
The ABAP syntax has been cleaned up.
● Invalid language constructs, which previously only resulted in syntax warnings, now trigger syntax errors.
● With the profile parameter abap/warn2error_release you can control whether or not the new syntax errors are still to be displayed as syntax warnings.
● Any programs that used the invalid language constructs must now also be regarded as invalid. If the relevant points in the program are processed, this will now result in runtime errors or undefined states. The purpose of this syntax cleanup is to prevent such error situations when they are already statically identifiable.