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

ABAP OO - Konstanteninterface

1228

Die Verwendung von Konstanten in der objektorientierten Programmierung gehört zum Standard für die meisten Klassen. Heute zeigen wir dir ein einfaches Beispiel für übergreifende Objekte.

Werbung


In diesem Artikel zeigen wir dir eine weitere und schöne Verwendung von Konstanten über globale, leichte Interfaces die du immer wieder verwenden kannst. Wie baust du solche Bibliotheken auf und verwaltest sie mit wenig Aufwand? Das wollen wir dir in diesem Artikel zeigen.

 

Konstanten

Wieso verwenden wir Konstanten und für was werden sie benötigt? Die Frage kann man recht schnell beantworten, denn wir verwenden Konstanten an diesen Stelle, wo wir immer wieder die gleichen (konstanten) Werte in Literalen verwenden. Hier kann man als Beispiel einen True oder False Wert nennen, dafür gibt es auch bereits im System Konstanten wie ABAP_TRUE und ABAP_FALSE.

An vielen Stellen im System findest du auch Domänen denen fixe Werte hinterlegt sind. Solche Werte kannst du dann in deiner Klasse oder deinem Report ansprechen und verwenden. Als Beispiel mal solch eine Domäne:

 

Verwaltung

Wo werden solche Konstanten überlichweise verwaltet? Meist in den Klassen oder Reports, wo sie auch verwendet werden. Somit liegen sie in vielen Fällen nicht an einer zentralen Stelle, sondern separat im aktuellen Objekte. Dies hat zur Folge, dass bei einer Änderung der Werte oder neuen Werten nicht alle aufrufenden Stellen angepasst oder auch gefunden werden.

Eine Abhilfe schafft daher ein globales Objekt, welches die Konstanten aufnimmt und verwaltet. Hier kann eine Klasse oder ein Interface in Frage kommen. Wir empfehlen ein leichtgewichtigeres Interface, da nur Definitionen für die Konstanten benötigt werden. Du solltest außerdem vermeiden alle Konstanten in ein Objekt integrieren zu wollen, dies hat den Nachteil das Änderungen an zentralen Objekten schwer zu verwalten und zu transportieren sind. Außerdem wird bei jeder Verwendung ein Overhead an Konstanten geladen, die du wahrscheinlich zur Laufzeit nicht benötigst.

 

Interface

Schauen wir uns dazu einmal die Domäne von oben an und definieren dazu ein Konstanteninterface als Beispiel:

INTERFACE zif_bs_c_demo_status PUBLIC.
  CONSTANTS:
    "! Status - Inititalized
    c_initialized TYPE zbs_demo_status VALUE '',

    "! Status - Finished
    c_finished    TYPE zbs_demo_status VALUE 'X',

    "! Status - New
    c_new         TYPE zbs_demo_status VALUE '1',

    "! Status - In Progress
    c_progress    TYPE zbs_demo_status VALUE '2',

    "! Status - In Test
    c_test        TYPE zbs_demo_status VALUE '3'.
ENDINTERFACE.

 

In dem Interface befinden sich nur Konstanten für die Domäne ZBS_DEMO_STATUS, damit müssen die Namen nicht mehr sonderlich kryptisch ausfallen, sondern können den Inhalt beschreiben. Für jede Konstante kannst du einen entsprechende ABAP Doc hinterlegen, um die Konstante oder deren Verwendung genauer zu erklären. Das Konstanteninterface besitzt eine Namenskonvention, mit der du alle deine Interfaces über die Suche finden kannst. Mit _C_ markieren wir ein Interface mit Konstanten und am Ende des Namens wir die Domäne aufgeführt, aus denen die Werte stammen.

Wir würden daher in Kurzform folgende Eckpunkte für ein Konstanteninterface aufführen:

  • Einheitliche Konvention für Konstanteninterfaces
  • Maximal für ein Element Konstanten
  • Beschreibung mit ABAP Doc

 

Vorteile

Was kannst du für Vorteile mitnehmen, wenn du nach dieser oder einer ähnlichen Weise arbeitest? Hier einmal eine kurze Auflistung der positiven Aspekte der Methode:

  • Konstanten nur einmal im System gepflegt
  • Zentrale Verwaltung und Nutzung der Werte
  • Verwendungsnachweis über Werte
  • Leichter Austausch und Refactoring

 

Vor allem der Verwendungsnachweis kann dir dabei helfen, das System im Griff zu halten. Wenn du mal eine Anfrage bekommst, wo ein bestimmtes Konto oder ein bestimmter Buchungskreis verwendet wird, dann kannst du dies mit einem kurzen Verwendungsnachweis aufzeigen, ohne der Codescanner starten zu müssen.

 

Wir haben einmal für das gesamte Interface einen Verwendungsnachweis gestartet und erhalten alle Aufrufstellen aller Konstanten und des Interface selbst. Damit wird die Recherche ein klein wenig einfacher.

 

Fazit

Konstanten zentral und einfach zu verwalten ist keine große Herausforderung, erfordert nur etwas Disziplin und die nötigen Regeln. Wenn die Voraussetzugen erfüllt sind, dann macht das Arbeiten mit Konstanten noch einmal mehr Spaß, denn man findet Dinge viel einfacher im System und weiß bei der nächsten Anfrage, wo überall die Objekte eingesetzt werden.


Enthaltene Themen:
OOABAP OOKonstanteninterface
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 - Arbeiten mit Eclipse (Klassen)

Kategorie - ABAP

In diesem Artikel möchten wir einmal auf die Arbeit mit Klassen eingehen und wie du diese in Eclipse sauber und einfach erweitern kannst. Dazu schauen wir uns weitere Möglichkeiten in den ABAP Development Tools an.

21.04.2026

ADT - RAP Extension Assistent [MIA]

Kategorie - ABAP

Du möchtest ein RAP Objekt erweitern und weißt nicht genau wo du starten sollst? Vielleicht hilft dir die Idee des Extension Assistant weiter und leitet dich Schritt für Schritt durch den Prozess.

06.03.2026

ADT - RAP Analyzer [MIA]

Kategorie - ABAP

Die Einarbeitung und Übersicht in bestehende RAP Objekte kann nicht immer einfach sein, vor allem wenn es sich um komplexe Objekte handelt. Fragen wie das verwendete Pattern und wichtige Objekte müssen sich meist erarbeitet werden.

24.02.2026

ADT - Metadata Wizard [MIA]

Kategorie - ABAP

In diesem Artikel schauen wir uns den Metadata Wizard an und wie er vielleicht in Zukunft dein Leben bei der Anlage von UI-Annotationen in RAP vereinfachen könnte.

16.01.2026

ABAP OO - Injector

Kategorie - ABAP

Beim letzten Artikel hatten wir uns ABAP OO und die Evolution der Design Pattern angeschaut und wie wir sie am besten nutzen können. Daher gehen wir in diesem Artikel noch einmal in die Details des Injector für die Testbarkeit.

23.12.2025