ARTICLE
Structure Enhancements in the ABAP Dictionary
As of Release 3.0, you can retroactively enhance the structures and data
base tables of the ABAP Dictionary delivered by SAP, by using
customer exits or
append structures . Such changes are
problematic in Unicode programs if
the enhancement changes the
Unicode fragment view .
For this reason, Release 6.20 introduces the option of classifying the
structures and data base tables, which enables you to recognize problems
associated with structure enhancements and to correct them. This
classification is used during the program check to produce a warning at
all places where structures are used and at which subsequent structure
enhancements could cause syntax errors or modified program behavior.
You can use the enhancement categories listed in the following table as
classifications when defining a structure or data base table in the
ABAP Dictionary.
Stage Category Meaning
1not classifiedThe structure has no enhancement category.
2not enhanceableThe structure cannot be enhanced.
3enhanceable and character-typeAll structure components and their
enhancements must be character-type flat.
4enhanceable and character-type or numericAll structure components
and their enhancements must be flat.
5enhanceable arbitrarilyAll structure components and their
enhancements can have an arbitrary data type.
The warnings in the program check are - depending on the results of the
allowed structure enhancements - divided into three stages from the
following table.
Stage Test Type Meaning
Asyntax checkAn enhancement that completely exhausts the enhancement
category of the affected structure, leads to a syntax error.
Benhanced checkAllowed enhancements can lead to a syntax error but
but do not necessarily do so in every case.
Cenhanced checkAllowed enhancements cannot lead to syntax errors,
but do lead to semantic problems as a result of modified program
behavior.
Example
If the structure ddic_struc in the ABAP Dictionary is defined
with flat components only, but is classified as
enhanceable arbitrarily , the following program stage leads to a
warning in the syntax check. If the structure were enhanced as permitted
by a deep component following delivery of the
program, the program would be syntactically incorrect and no longer
executable. Therefore, in this case you must either classify the
structure ddic_struc in the ABAP Dictionary as
enhanceable and character-type , or you must forego the
offset/length specification in the program.
DATA: my_struc TYPE ddic_struc,
str TYPE string,
off TYPE i,
len TYPE i.
...
str = my_struc+off(len).
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved