Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Creating Objects →  CREATE DATA 


Short Reference

Other versions: 7.31 | 7.40 | 7.54


CREATE DATA dref [area_handle] 
                 { {TYPE [STANDARD]|SORTED|HASHED TABLE OF [REF TO] {type|(name)}}
                 | {LIKE [STANDARD]|SORTED|HASHED TABLE OF dobj} }
                 [WITH [UNIQUE|NON-UNIQUE]
                       {KEY {comp1 comp2 ...}|(keytab)}|{DEFAULT KEY}]

                 [INITIAL SIZE n].


The statement CREATE DATA uses the addition tabkind OF to create an internal table. The meaning of the additions is the same as when declaring internal tables using the statement DATA, but with special rules for CREATE DATA if dobj is specified after LIKE. The explicit definition of the primary table key is only optional if a standard table is being generated.

Whereas all the specifications for DATA have to be static, you can use the following dynamic specifications for CREATE DATA:

  • The row type after TYPE or the static type of a row flagged as a reference variable after TYPE REF TO can have a character-like data object called name. In this case, the same rules apply as in the other variants of CREATE DATA.
  • The definition of the primary table key can specify a parenthesized internal table keytab instead of a static component comp1 comp2 ...:
    ... WITH [UNIQUE|NON-UNIQUE] KEY (keytab) ...
    The table keytab must have a character-like data type and must contain the name of a valid component in each row or the identifier table_line for the primary table key in a single row.
  • You can specify a numeric data object for n after INITIAL SIZE.


The definition of the table key is subject to the following conditions in comparison to DATA:

Use Run Time Type Creation instead to create dynamic table types with secondary keys.


Creating Tabular Data Objects