Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Declarative statemnts →  Data Types and Data Objects →  Declaring Data Objects →  DATA →  DATA - TABLE OF →  DATA - tabkeys 

DATA - key

Short Reference

Other versions: 7.31 | 7.40 | 7.54


    { {KEY [primary_key [ALIAS key_name] COMPONENTS] comp1 comp2 ...}
    | {DEFAULT KEY} } ... .


Definition of the primary table key of an internal table. The syntax and semantics of the additions are the same as for the TYPES statement for stand-alone table types, with the difference that the primary key of a bound table type must always be completely specified:

  • For standard tables, only the NON-UNIQUE KEY addition can be specified. If the specification of uniqueness is missing, this addition is supplemented implicitly. The UNIQUE KEY addition cannot be specified.
  • For sorted tables, one of the two additions UNIQUE KEY or NON-UNIQUE KEY must be specified.
  • For hashed tables, the UNIQUE KEY addition must be specified.

If a primary key is not specified for DATA using WITH, the WITH NON-UNIQUE DEFAULT KEY additions are supplemented for standard tables, whereby the table has a standard key that can also be empty. Primary keys must be specified explicitly for sorted tables and hashed tables and must not be empty.

If the name of the primary_key WITH HEADER LINE must no longer be specified, even outside of classes.


Declaring the primary table key as a standard key can be critical for a variety of reasons and you should therefore specify the key fields explicitly instead. Make sure in particular that the declaration of the standard key is not supplemented accidentally because you forgot to specify the key explicitly.