This is a test message to test the length of the message box.
Login
ABAP OO Nutzung von Konstanten
Erstellt von Software-Heroes

ABAP OO - Nutzung von Konstanten

327

Konstanten sind in der ABAP Entwicklung ein wichtiger Bestandteil zur Wiederverwendung, aber auch zur Vorgabe für Schnittstellen. Lass uns einmal ins Thema eintauchen.

Werbung


In diesem Artikel schauen wir uns die Definition von Konstanten an, sowie die Nutzung der Konstanten bei der Entwicklung und wie du einfach an die entsprechenden Werte kommst.

 

Einleitung

Konstante Werte sind in der Entwicklung zentraler Bestandteil, wenn es um die Nutzung von Schnittstellen geht. Darüber kannst du zum Beispiel verschiedene Optionen von Inhalten abbilden und dem nutzenden Entwickler die Möglichkeiten vorgeben. Damit muss dieser nicht Raten, welche Werte an welchen Parameter übergeben werden müssen, was die Fehlerwahrscheinlichkeit reduziert. Sollten sich zum Beispiel einmal Inhalte, also der eigentliche Wert, der Konstante ändern, kannst du das auf technischer Ebene machen, ohne die Entwicklung deiner Kollegen inkonsistent zu machen.

 

Definition

In diesem Kapitel schauen wir uns die Definition von Konstanten an.

 

Einzelwerte

Grundsätzlich können wir jede Konstante einzeln definieren, das macht bei einzelnen Werten auch durchaus Sinn, da es keinen Zusammenhang zwischen verschiedenen Werten gibt. Häufig finden wir aber auch im Standard die Variante, dass Gruppe gebildet werden, die den selben Anfang haben. In diesem Beispiel definieren wir drei Konstanten, die verschiedene Optionen eines Status abbilden.

CONSTANTS option_created  TYPE basic_option VALUE 'C'.
CONSTANTS option_planned  TYPE basic_option VALUE 'P'.
CONSTANTS option_finished TYPE basic_option VALUE 'F'.

 

Gruppen

Eine Alternative für Gruppen ist die Definition einer Struktur. Mit BEGIN OF und END OF, können wir eine Gruppe von Konstanten erstellen und diese unter einem Zugriff bündeln. Das macht die Definition, die Zuordnung und Verwendung etwas einfacher. Ein anderer Entwickler findet so die zusammenhängenden Werte viel einfacher. Dazu definieren wir die einzelnen Werte von oben noch einmal in einer Struktur.

CONSTANTS: 
  BEGIN OF options,
    created  TYPE basic_option VALUE 'C',
    planned  TYPE basic_option VALUE 'P',
    finished TYPE basic_option VALUE 'F',
  END OF options.

 

ENUM

Eine sehr spezielle Form der Konstanten und Strukturen ist die Enumeration, die Aufzählung. Sie erlaubt dir eine Definition von konstanten Werten mit einer genauen Prüfung der Inhalte. Bereits der Compiler kann dann sagen, ob ein Wert für eine Schnittstelle zulässig ist oder nicht. In diesem Artikel werden wir das Thema nun benennen, möchtest du mehr Informationen dazu haben, dann kannst du bei diesem Artikel zum Thema vorbeischauen.

Mit den Simple Types aus dem Bereich Core Data Services und den Table Entities werden Enumeration in Zukunft öfter zum Einsatz kommen, da sie von der Datenbank bis zum UI funktionieren werden und es keinen Bruch in der Logik gibt, wie es aktuell der Fall mit ENUMs ist.

 

Verwendung

In diesem Kapitel geht es um die Verwendung der Konstanten während der Entwicklung. Dabei werden wir auf zwei verschiedene Möglichkeiten der Verwendung eingehen.

 

Interface

Die erste und meistgenutzte Variante ist es, über das entsprechende Interface zu gehen, wo auch die Konstanten und Gruppen definiert sind. Dabei rufen wir das Interface auf, rufen die Gruppe auf und dann das entsprechende Feld bzw. die Konstante der Struktur. 

IF demo->evaluate_option( zif_bs_demo_oo_constants=>options-created ).
ENDIF.

 

Die Gruppe von Konstanten gibt uns hier einen schnellen Überblick über die verschiedenen Werte die für die OPTION möglich sind. Bei den Einzelwerten müssen wir aufpassen, dass wir sie in Pseudo-Gruppen zusammenfassen und dann auch wiederfinden, bei viele Konstanten könnte damit die Übersicht leiden, wie im folgenden Beispiel.

 

Hinweis: Mehr Informationen dazu findest du in den Clean ABAP Guidelines.

 

Objekt

Eine zweite Option, die wir bisher nicht so oft gefunden haben, ist die Nutzung des eigentlichen Objektes mit dem du gerade am Arbeiten bist. In diesem Fall finden wir unsere Optionen direkt hinter DEMO und können darauf zugreifen. Dabei müssen wir das Interface nicht kennen oder angeben, was die Schreibweise etwas kürzer macht.

IF demo->evaluate_option( demo->options-planned ).
ENDIF.

 

Da die Konstanten im Interface definiert sind, stehen sie im Objekt ebenso zur Verfügung. Durch diese Kopplung können wir sie direkt mitverwenden.

 

Prüfung

Im Gegensatz zu ENUMs musst du allerdings bei Konstanten selbst die Validierung auf die zulässigen Werte machen. Entweder werden die Werte im Prozess von dir gesetzt oder du solltest die übergebenen Werte an die Methode validieren. Ansonsten kann es im Folgeprozess zu Fehlern wegen unbekannter Werte kommen. Damit könnte im schlimmsten Fall die Verarbeitung hängen bleiben und eine Nachverarbeitung nicht mehr möglich sein.

 

Vollständiges Beispiel

Die beiden Ressourcen haben wir im entsprechenden GitHub Repository abgelegt, dort findest du im Paket ZBS_DEMO_OO_INTERFACE die beiden Objekte des Artikles. Über den Commit kannst du die Änderungen aus diesem Artikel anschauen.

 

Fazit

Konstanten sind ein wichtiger Bestandteil in der Arbeit mit Interfaces und Methodenschnittstellen. Bereits bei der Definition legst du die Grundlage für eine einfache und schnelle Nutzung für dich und andere Entwickler.


Enthaltene Themen:
OOABAP OOKonstantenENUM
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Dienstag und Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


ABAP Tools - IDE Actions (Wertehilfe)

Kategorie - ABAP

Schauen wir uns einmal im Detail an, wie wir eine Wertehilfe für unsere Eingabe für unsere IDE Action in ADT erstellen können. Dabei schauen wir uns mehrere Möglichkeiten und Abhängigkeiten an.

11.11.2025

ABAP Tools - IDE Actions (Eingabe)

Kategorie - ABAP

Wie können wir eigentlich vor der Eingabe noch Informationen holen, bevor die eigentliche IDE Action in ABAP ausgeführt wird? Implementieren wir dazu die erste Version einer einfachen Eingabe.

04.11.2025

ABAP Tools - IDE Actions (Ausgabe)

Kategorie - ABAP

Schauen wir uns an, welche Ausgabemöglichkeiten wir aktuell mit IDE Actions haben und was wir damit erreichen können. Dabei schauen wir uns jeweils unterschiedliche Beispiele für die Implementierung an.

28.10.2025

ABAP Tools - IDE Actions (Anlage)

Kategorie - ABAP

Legen wir gemeinsam unsere erste IDE Action für die ABAP Development Tools an. Dabei führen wir dich Schritt für Schritt durch den Prozess und die Oberflächen.

24.10.2025

ABAP Tools - IDE Actions (Einführung)

Kategorie - ABAP

Schauen wir uns einmal die Grundlagen und eine kurze Einführung in das Thema IDE Actions an. Dabei werden wir uns die Verfügbarkeit und andere wichtige Details anschauen, was du als ABAP Entwickler wissen solltest.

21.10.2025