ABAP Tipp - Min/Max Werte von Datentypen
Manchmal ist es wichtig die maximalen Grenzen eines Datentypen zu kennen, bevor man ihnen einen Wert zuweist. Wir zeigen dir Heute in unserem Tipp wie es einfach klappt.
Inhaltsverzeichnis
In dem heutigen kleinen Tipp wollen wir dir zeigen, wie man den minimalen und den maximalen Wert eine Datentyps ermittelt. Dazu wollen wir an einem kleinen Beispiel deutlich machen, mit welchen einfachen Mitteln dies möglich ist.
Vorbereitung
Dazu definieren wie eine Zahl, dessen Datentyp wir im Anschluss analysieren wollen und eine Datenreferenz die das Ergebnis entgegen nehmen soll.
DATA:
ld_number TYPE p LENGTH 16 DECIMALS 10,
lr_result TYPE REF TO data.
Minimaler Wert
Über die Klasse CL_ABAP_EXCEPTIONAL_VALUES können wir den minimalen Wert ableiten und erhalten eine Datenreferenz zurück, die den minimalen Wert enthält. Ist die Referenz gesetzt, weisen wir den Wert einem Feldsymbol per Inline-Deklaration zu und übergeben das Ergebnis an die Demo-Output Funktion.
lr_result = cl_abap_exceptional_values=>get_min_value( ld_number ).
IF lr_result IS NOT INITIAL.
ASSIGN lr_result->* TO FIELD-SYMBOL(<ld_result>).
cl_demo_output=>write_data( <ld_result> ).
ENDIF.
Maximaler Wert
Bei dem maximalen Wert geht das mit einer anderen Methode aus der Klasse, auch hier übergeben wir den Wert an die Output Methode. Im Anschluss zeigen wir das Ergebnis als Popup an mit der Display Methode der Klasse.
lr_result = cl_abap_exceptional_values=>get_max_value( ld_number ).
IF lr_result IS NOT INITIAL.
ASSIGN lr_result->* TO FIELD-SYMBOL(<ld_result2>).
cl_demo_output=>write_data( <ld_result2> ).
ENDIF.
" Ausgabe
cl_demo_output=>display( ).
Fazit
Wie du siehst ist die Ermittlung des minimalen und maximalen Werts eines Datentyps nicht schwer. Die Klasse enthält weitere Funktionen um andere Datentypen zu validieren. Probiere sie doch noch einfach zusätzlich aus und mache dich mit ihnen vertraut, um sie effektiv für die dynamische Programmierung zu verwenden.