Guten Tag zusammen ,
kann mir bitte jemand erklären,die Unterschied zwischen eine Deklaration von einer Tabelle mit TYPES und mit DATA
und was ist die Unterschied zwischen Zeilentyp und Tabellentyp ?
Ich habe dieses Thema nicht verstanden .
danke im voraus
TYPES ist soweit ich weiß veraltet und wird nicht mehr genutzt oder?!
Ein Tabellentyp ist das Objekt, welches später deine interne Tabelle wird.
Der Zeilentyp (für gewöhnlich eine Struktur) ist die Basis eines Tabellentyps.
Hier wird definiert, welche Felder die Tabelle hat.
Wenn du dir einen Tabellentyp im DDIC ansiehst, dann findest du einen extra Reiter für den Zeilentyp.
Dort wird dann auch die entsprechende Struktur eingetragen.
Wenn du eine Variable brauchst, die 2 Felder enthalten soll, und du dann damit arbeiten möchtest,
so erstellst du dir erst mal einen Type, der beschreibt wie diese neue Variable aussehen soll.
Types: begin of my_type,
matnr type matnr,
mattx type ktx01,
end of my_type.
Jetzt hast du die "Beschreibung" deines Typs. Aber immer noch nichts mit dem du etwas programmieren kannst. Der Typ
belegt erst mal keinen Speicher und du kannst nichts damit anfangen.
Erst wenn du dir mit Data eine Variable dieses Types anlegst, kannst du damit etwas programmieren.
Also:
data: mat_und_text1type my_type.
data: mat_und_text2 type my_type.
move 'Hugo' to mat_und_text1-matnr.
move 'Meine HUgo sein text' to mat_und_text1-mattx.
move mat_und_text1 to mat_und_text2.
somit habe ich zwei Variable, die beide diesen von mir definierten Type haben und ich kann damit programmieren.
Jetzt kann ich mir soviel Variable dieses Typs machen, wie ich brauche.