SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. All rights reserved.ABAP - Keyword Documentation → ABAP - Dictionary → Classic Objects in ABAP Dictionary → Data Types → Structures → Technical Attributes of Structures →
Enhancement Category of Structures
ABAP Dictionary structures and database tables that are delivered by SAP can be enhanced using customizing includes or append structures. These types of changes cause problems if the enhancements change the structure fragment view.
For this reason, structures and database tables are classified, which makes it possible to recognize and handle problems related to structure enhancements. This classification is used during in the program check to create a warning at all points where the program works with structures, and where later structure enhancements can cause syntax errors or changes in program behavior. When a structure or a database table is defined in ABAP Dictionary, the enhancement categories that are displayed in the following table can be used as a classification.
|1||Unclassified||The structure does not have an enhancement category.|
|2||Cannot be enhanced||The structure must not be enhanced.|
|3||Can be enhanced and character-like||All structure components and their enhancements must be character-like and flat.|
|4||Can be enhanced and character-like or numeric||All structure components and their enhancements must be flat.|
|5||Can be enhanced in any way||All structure components and their enhancements can have any data type.|
The warnings displayed after the program check are classified into three levels from the following table, depending on the consequences of the permitted structure enhancements.
|Level||Type of Check||Meaning|
|A||Syntax check||An enhancement that exhausts the enhancement category of the structure in question in full produces a syntax error.|
|B||Extended check||Permitted enhancements can produce syntax errors, but not always.|
|C||Extended check||Permitted enhancements cannot produce syntax errors, although changes to program behavior do produce semantic problems.|
If the structure ddic_struc in ABAP Dictionary is defined only with flat components but is classified as Can be enhanced in any way, the following program section produces a warning in the syntax check. If the structure were to be enhanced by a deep component after the program was delivered, the program would have incorrect syntax and would no longer be executable. This is why, in this case, either the structure ddic_struc must be classified in ABAP Dictionary as Can be enhanced and character-like or else the offset/length cannot be specified in the program.