Datenobjekte dynamisch erzeugen 

Alle Datenobjekte, die im Deklarationsteil eines Programms mit den entsprechenden Anweisungen wie DATA etc. deklariert werden, werden statisch erzeugt und sind beim Programmstart bereits vorhanden. Um ein Datenobjekt dynamisch während der Programmausführung zu erzeugen benötigt man eine Datenreferenzvariable und die Anweisung:

CREATE DATA <dref> TYPE <type>|LIKE <obj>.

Diese Anweisung erzeugt ein Datenobjekt im internen Modus des aktuellen ABAP-Programms und die Datenreferenz in der Datenreferenzvariablen <dref> zeigt nach Ausführung der Anweisung auf dieses Objekt. Das dynamisch erzeugte Datenobjekt hat keinen eigenen Namen und ist nur über Datenreferenzvariable adressierbar. Um auf den Inhalt des Datenobjekts zugreifen zu können, muß die Datenreferenz dereferenziert werden.

Mit dem TYPE- oder dem LIKE-Zusatz muß der Datentyp des Datenobjekts angegeben werden. Im Unterschied zur Verwendung des TYPE-Zusatzes in sonstigen ABAP-Anweisungen kann bei CREATE DATA der Datentyp dynamisch als Inhalt eines Felds angegeben werden:

CREATE DATA <dref> TYPE (<name>).

Hierbei ist <name> der Name eines Felds, das die Bezeichnung des gewünschten Datentyps enthält.