der Unterschied ist, dass du dir einmal einen Datentyp (TYPES) erstellst und im anderen Fall eine Variable (DATA). Mit dem Datentyp kannst du nicht direkt arbeiten, sondern musst dir noch eine Variable dazu deklarieren. Eine Variable repräsentiert und adressiert einen Speicherbereich, wohingegen ein Datentyp lediglich eine Definition ist. BEGIN OF... und END OF sorgen nur dafür, dass du strukturierte Typen und/oder Variablen definierst. Schau nochmal in die SAP-Hilfe, dort ist das auch ganz gut erklärt.
Ich persönlich verwende beides eher selten, da ich oftmals auf Typen aus dem Dictionary zurückgreifen kann. Ich denke, hier mache ich auch den Unterschied in der Verwendung: Wenn ich weiß, dass ich einen Datentyp voraussichtlich nur für das eine Programm oder innerhalb der gedachten Codingstrecke verwende und es keinen Sinn macht, diesen Typen global im Dictionary zu definieren, dann nehme ich TYPES. Die Definition strukturierter Variablen mit DATA: BEGIN OF... verwende ich so gut wie gar nicht.
hth,
Lars
Folgende Benutzer bedankten sich beim Autor Lazzie für den Beitrag: T.R.