Previously, there was a rule in ABAP that flat structures could be used as arguments of ABAP statements anywhere where type C single fields are expected. In Unicode programs, this is generally no longer possible. In Unicode programs, you can only use a structured field for a statement that only expects a single field if this field consists of character-type elementary types or purely character-type substructures. The structure is treated like a type C single field.
In comparison with non-Unicode systems, flat structures are now only rarely regarded as character-type and fields of the type X or XSTRING are never regarded as character-type. Additionally, flat structures are now only seen as numeric if they are purely character-type. Examples of numeric arguments are offset or length specifications such as for READ TABLE ... INDEX i. The following are examples of character-type and non-character-type structures:
Character-type:
BEGIN OF struc1, a(2) TYPE C, n(6) TYPE N, d TYPE D, t TYPE T,END OF struc.
Non-character-type:
BEGIN OF struc2, a(2) TYPE C, b(2) TYPE C, x(1) TYPE X, i TYPE I,END OF struc.
Another example is a group change in the case of internal tables, caused by the keyword AT. In non-Unicode systems, type X fields to the right of the group key are treated as character-type and hence filled with an asterisk. The same type in a Unicode system, on the other hand, is filled with its initial value.
In the context of Structure Enhancements , you should note the categories used in the Dictionary.