Show TOC

Character-Type and Numeric OperandsLocate this document in the navigation structure

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.