ABAP Obsolet - DESCRIBE
Wieder haben wir für dich einen meist genutzten ABAP Begriff, für den es bereits eine neue Alternative gibt, dieses mal aber nicht nur Eine.
Inhaltsverzeichnis
Im heutigen Artikel wollen wir dir die Änderungen an DESCRIBE etwas näher bringen. Die Besonderheit bei diesem Befehl ist, dass er mehrere Funktionen abbildet und nicht nur für eine Sache steht. So kannst du zum Beispiel den Typ der Tabelle bestimmen oder die Anzahl an Zeilen in einer Tabelle. Wir zeigen dir wie die neusten Funktionen eingesetzt werden können.
Aus Eins mach Drei
Im Grunde wird ein bestehender Befehl durch mehrere neue Techniken und Befehle abgelöst, wieso also so viele Neuerungen? Im Greunde um die Funktionen klar von einander abzugrenzen, wobei Describe offiziel noch nicht als Obsolet gekennzeichnet ist. Diese Funktionen umfassen:
- Eigenschaften eines Feldes
- Eigenschaften einer Tabelle
- Eigenschaften zwischen zwei Feldern
Zeilenanzahl
Zur Ableitung der Zeilenanzahl kann nun eine Inline Funktion verwendet werden, die direkt eine Zahl zurück gibt und bei einer Verkettung aufgerufen werden kann. Dazu ein kleines Beispiel aus dem Alltag für dich:
" Umsetzung mit Describe
DESCRIBE TABLE lt_t001 LINES DATA(ld_lines).
WRITE: / |Anzahl der Buchungskreise: { ld_lines }|.
" neue Variante
WRITE: / |Anzahl der Buchungskreise: { lines( lt_t001 ) }|.
Wie du siehst, kannst du die Aufrufe, wie im Modernen ABAP bekannt, nun auch verketten. Die Inline Deklaration funktioniert aber ebenso, wie mit dem Describe Befehl.
Eigenschaften ableiten
Für die Ableitung der Datentypen und Eigenschaften gibt es die RTTS Servies im System. Hierbei handelt es sich um Klasse, denen du eine Variable übergeben kannst und im Gegenzug ein Objekt erhälst, welches zu den Eigenschaften mehr Informationen bereit hält.
Mehr zu den RTTS Services werden wir in einem separaten Artikel vorbereiten und dir mit mehreren Beispielen einmal näher beleuchten.
Fazit
Obwohl DESCRIBE noch nicht ganz Obsolet ist, kannst du im Gegensatz bereits viele neue Funktionen verwenden, die Zeit sparen und wesendtlich intuitiver zu verwenden sind. Wir empfehlen auf jeden Fall die Verwendungen der moderneren Funktionen.
Quelle:
ABAP Dokumentation - Describe
ABAP Dokumentation - Lines