SAP NEWS-70-CLEANUP

Get Example source ABAP code based on a different SAP table
  


ARTICLE

Syntax Cleanup in Release 7.0
For Release 7.0, the ABAP syntax has been cleaned up. Incorrect language constructs, which previously only led to syntax warnings, now cause syntax errors. The profile parameter abap/warn2error_release can be used to control whether the new syntax errors continue to be reported as syntax warnings.
The following tables show the situations that lead to syntax errors as of Release 7.0. An 'X' in the final column of the table indicates that the syntax in question already led to a syntax error in classes before Release 7.0. Error in Language Construct Program Layout Statement cannot be reached.X Missing forward declaration of a class with CLASS - DEFERRED- Declarations Program-internal name with more than 30 characters.X Special characters in a program-internal name outside of Unicode programs.X Single digit as the name of a data object.X Incorrect namespace prefix.X Operational statement within the definition of a structure with BEGIN OF ... END OF.X
Angabe eines Startwerts für eine Struktur
mit numerischen Komponenten außerhalb von Unicode-Programmen.- Reference to a framework program in a public parameter interfaceX Reference to a data type of the framework program in the declaration of a public attribute of a global class- Specification of an incompatible or non-convertible value after DEFAULT for a formal parameter. - An interface parameter of a function module, which has been defined both as input and output parameter, was declared with different or generic types.- A type of a type group has the same name as an existing type in ABAP Dictionary.- A constant in a type group has the same name as an existing flat structure or table in ABAP Dictionary.- A macro in a type group does not have the name of the type group as a prefix. A reserved component name such as the pseudo component table_line is used in a structure in ABAP Dictionary.X Declaration of an internal table with the predefined name screen.- ABAP Objects Unknown global class or interface after GLOBAL FRIENDS.- Specification of IMPORTING, CHANGING, or RECEIVING with dynamic CREATE OBJECT.- Missing call of the instance constructor of the superclass in the instance constructor of a subclass.- Access to an instance component before the call of the instance constructor of the superclass in the instance constructor of a subclass.- Short form static_meth( a ) with a non-unique assignment to a formal parameter.- Fixture method in test class is not private.- Use of the selector ->> instead of the instance component selector -> when calling interface methods.- Operators and Additions Invalid one-character operator in a comparison expression, which has temporarily been interpreted as an abbreviation, for example, as E for EQ.- AND or OR at the end of a logical expression not followed by a logical expression.- More than one LENGTH addition after DESCRIBE FIELD.- Specification of the addition SORTED BY after COLLECT.X Specification of the addition LANGUAGE after CREATE OBJECT for OLE.X Simultaneous specification of the additions AND SKIP FIRST SCREEN and USING after CALL TRANSACTION .X Addition OBJECT missing after AUTHORITY-CHECK.- More than ten FIELD additions after AUTHORITY-CHECK.- Operand Positions Operand cannot be converted in assignment.- Operand that cannot be converted to a number at a numeric operand position (for example, after DECIMALS for ASSIGN).-
Nicht-zeichenartiger Operand in der
Zeichenkettenverarbeitung außerhalb von
Unicode-Programmen.X Length less than or equal to zero in the offset/length specification for fields of fixed length.X
Offset, Länge oder deren Summe sind größer als die Feldlänge bei
Offset-/Längenangabe für
Felder fester Länge.-
Offset ohne Längenangabe bei
Offset-/Längenangaben.- Empty offset/length specifications.X Superfluous trailing blanks in text field literals.X Line-exceeding text field literal. X Line-exceeding element of a bulleted list.X Invalid use of a text symbol as the target of a call.- Internal table does not have the structure of a selection table in a comparison expression after IN.X Assignment of sy-subrc to a CHANGING, EXPORTING, or RETURNING parameter.X Passing of a data object to a formal parameter typed with STRUCTURE in a Unicode program, where the Unicode fragment view does not match completely.- Specification of a data object whose name contains an address specification such as an instance component selector or an offset/length specification, without an explicit assignment to a parameter when using EXPORT , IMPORT, or CALL DIALOG.X Internal Tables Definition of a table type for a hashed table without specifying UNIQUE before KEY.- Specification of a non-index table after SEARCH.X Incompatible work area for control level processing using internal tables with AT and SUM .X Specification of a component of a structured field symbol as a sort criterion after SORT. Database Accesses Columns of type STRING or RAWSTRING in aggregate expressions, grouping, sort keys of SELECT.- Access to a projection view in connection with a correlated subquery. Too many subqueries in a SELECT statement.- Work area or rows of an internal table are shorter than the structure of the database table when specifying the rows in DELETE dbtab.- Indicator variable in Native SQL, which is not of the external type INT2.- List Statements Dynamic position specification in WRITE or ULINE without AT.X Negative length specification len after WRITE AT.- Specification of a write-protected data object after HIDE.X


Note
Programs that so far have used the language constructions stated above must now be considered as incorrect. If the respective positions in the program have been executed, runtime errors or undefined states occurred. The current syntax cleanup is intended to avoid error situations like the ones described here, when they can be recognized statically in advance.