Seit ABAP 7.40 hat sich die Sprache mit der Einführung neuer Operatoren und Konstrukte erheblich weiterentwickelt. Einer der nützlichsten Operatoren ist CONV, der eine kompakte Möglichkeit zur expliziten Typkonvertierung bietet. In diesem Blogpost werfen wir einen Blick auf den CONV-Operator, vergleichen ihn mit älteren Methoden und zeigen anhand von Beispielen, wie er die ABAP-Programmierung vereinfacht.
Was macht der CONV-Operator?
Der CONV-Operator wird verwendet, um eine explizite Typkonvertierung vorzunehmen, ohne eine zusätzliche Variable zu deklarieren. Dies verbessert die Lesbarkeit und Wartbarkeit des Codes erheblich.
Syntax
DATA(target) = CONV target_type( source ).
Dabei steht target_type für den gewünschten Datentyp, und
ist der Ausdruck oder die Variable, die konvertiert werden soll.
Vergleich mit älteren ABAP-Versionen
Vor der Einführung von CONV waren Typkonvertierungen oft umständlicher und erforderten explizite Zuweisungen oder temporäre Variablen. Schauen wir uns einige typische Beispiele an:
Beispiel 1: Zahl in String umwandeln
Vor ABAP 7.40 (ohne CONV):
DATA: lv_number TYPE i VALUE 123,
lv_string TYPE string.
WRITE lv_number TO lv_string.
Hier wurde der WRITE-Befehl missbraucht, um eine Konvertierung vorzunehmen, was nicht besonders elegant ist.
Mit CONV in ABAP 7.40+:
DATA(lv_string) = CONV string( 123 ).
Beispiel 2: String in Integer umwandeln
Vor ABAP 7.40:
DATA: lv_string TYPE string VALUE '456',
lv_number TYPE i.
lv_number = lv_string+0(*).
Hier wurde der klassische Trick mit +0(*) verwendet, um eine numerische Konvertierung zu erzwingen, was jedoch nicht besonders intuitiv ist.
Mit CONV:
DATA(lv_number) = CONV i( '456' ).
Beispiel 3: Umwandlung von Zeichenfolgen in bestimmte Formate
Ein weiteres Anwendungsgebiet von CONV ist die Konvertierung zwischen unterschiedlichen Zeichenformaten, z. B. zwischen string und char-Feldern:
DATA(lv_char10) = CONV char10( 'ABAP' ).
Dies erspart das explizite Deklarieren von temporären Variablen.
Vorteile des CONV-Operators
-
Verbesserte Lesbarkeit: Der Code ist kompakter und verständlicher.
-
Vermeidung temporärer Variablen: Direktes Zuweisen von Werten mit Konvertierung.
-
Explizite Typkonvertierung: Vermeidung unerwarteter Laufzeitfehler.
-
Flexibler Einsatz: Unterstützt viele ABAP-Typen, inklusive CHAR, STRING, NUMC, INT, DEC usw.
Fazit
Der
-Operator ist eine wertvolle Ergänzung für moderne ABAP-Programme. Er vereinfacht Typkonvertierungen erheblich und macht den Code lesbarer und wartbarer. Wer noch ältere Methoden zur Typkonvertierung nutzt, sollte sich unbedingt mit CONV vertraut machen und seinen Code entsprechend optimieren.
Welche Erfahrungen hast du mit CONV gemacht? Teile sie gerne in den Kommentaren!
