DATA field[(length)]
  [ TYPE typ | LIKE template ]
  [ TYPE typ OCCURS roll_area [ WITH HEADER LINE ] | 
    LIKE template OCCURS roll_area [ WITH HEADER LINE ]] 
  [ TYPE LINE OF itab_typ | LIKE LINE OF itab ]
  [ VALUE value ]
  [ DECIMALS decimal_places ]
  [ TYPE REF TO class].

Deklaration eines Datenfeldes field. Der Typ und andere Eigenschaften können mit den diversen Zusätzen bestimmt werden, falls die Standardvorgaben nicht verwendet werden sollen. Die Angabe von length legt die Größe des Datenfeldes fest. Dieser Wert ist in runde Klammern einzuschließen und muß ohne Trennzeichen unmittelbar nach dem Feldnamen stehen. Mit TYPE erhält das Feld den vordefinierten oder benutzerdefinierten Typ, mit LIKE werden die Eigenschaften eines existierenden Feldes übernommen. Mit VALUE ist gleichzeitig mit der Deklaration die Zuweisung eines Initialwertes möglich. Bei Feldern des Typs P legen Sie mit DECIMALS die Zahl der Dezimalstellen fest. Mit den beiden LINE OF-Zusätzen wird kein einfaches Datenfeld, sondern eine Feldleiste angelegt, deren Aufbau dem angegebenen Typ bzw. der Struktur der angegebenen Tabelle entspricht. Die beiden OCCURS-Zusätze hingegen bewirken die Deklaration einer internen Tabelle ohne Kopfzeile. Der Aufbau dieser Tabelle entspricht dem angegebenen Typ oder der Struktur. Bei diesen beiden Varianten der Tabellendeklaration kann mit dem Zusatz WITH HEADER LINE für die erzeugten Tabellen auch eine Kopfzeile angelegt werden. Der Parameter roll_area gibt bei der Deklaration von internen Tabellen an, wie viele Datensätze der internen Tabelle im Hauptspeicher gehalten werden sollen, bevor auf den Swap-Bereich der Festplatte ausgelagert wird.
Im Rahmen der objektorientierten Programmierung können Instanzen von Klassen nur über Referenzvariablen angesprochen werden. Diese Werden mit dem Zusatz TYPE REF TO erzeugt.