2017-02-03 3 views
4

Ich habe ein ABAP-Include enthält nur Konstanten. (Nicht mein Code)Mit einem Include mit Konstanten in ABAP OO

Ich möchte diese Konstanten in einer ABAP OO-Methode verwenden. (Mein Code)

Wie kann ich diese Konstanten in einer objektorientierten ABAP-Umgebung verwenden, ohne sie zu kopieren?

Die Idee ist, diese Konstanten einmal und nur einmal zu definieren. Und sie sind bereits in diesem Include definiert.

Zusätzliche Frage: ist es möglich, eine Klasse zu erstellen, die die Konstanten der oben genannten Include in einem öffentlichen Abschnitt enthält, so dass ich die Include nur einmal und verwenden Sie diese Konstanten in einer objektorientierten Weise aus anderen Klassen?

+0

Möchten Sie die Konstanten nur in Ihrer Implementierung verwenden oder benötigen Sie sie auch in der Klassenschnittstelle (z. B. Standardwerte für Methodenparameter)? – vwegert

+0

Ich brauche sie in der Implementierung. Klassenschnittstelle wäre nett, also kann ich die Konstanten aus anderen Klassen verwenden - aber nicht notwendig. –

Antwort

7

Unter der Annahme, dass das ist wirklich nur enthalten konstante Definitionen: Von dem Class Builder, wählen Goto ->Klasse relevante Lokale Definitionen und Ort eine INCLUDE Aussage dort. Dies sollte die Konstanten während Ihrer Implementierung verfügbar machen.

+0

Das macht also die Konstanten lokal verfügbar, aber gibt es eine Möglichkeit, die Konstanten von einem Include auf öffentlicher Ebene mit einer Klasse verfügbar zu machen, so dass ich parametrisierte Klassenmethoden mit diesen Konstanten aufrufen kann? (Obwohl ich das vielleicht als separate Frage fragen sollte) – Lilienthal

-2
  1. Benötigen Sie diese Konstanten nur für diese Klasse? Erstellen Sie private Attribute in der Klasse.
  2. Verwenden Sie es in anderen Klassen (und auch Programmen)? Erstellen und Klasse mit statischen Komponenten und verwenden Sie es überall ...
+2

Dies würde die konstanten Definitionen duplizieren. Meine Frage ist, wie man diese Duplizierung vermeiden kann. –

+0

Haben Sie bereits versucht, das Include in die Klassendefinition einzufügen? Fügen Sie das Include in die Klassendefinition ein ... Wenn Sie möchten, dass es in mehreren Klassen verwendet wird, erstellen Sie eine abstrakte globale Klasse und fügen Sie das Include ein. –

+1

Ich habe einen Syntaxfehler, als ich versuchte, das Include in die Klassendefinition einzufügen. Das war meine erste Idee, bevor ich diese Frage gestellt habe. Die angenommene Antwort funktioniert. –