Code: Alles auswählen.
class lcl_top definition abstract final.
public section.
constants:
begin of c_belegtyp,
auftrag type vbtyp value 'C',
auslieferung type vbtyp value 'J',
rechnung type vbtyp value 'M',
" ...
end of c_belegtyp,
c_rechnungsformular type tdform value 'RVINVOICETH'.
" ...
endclass.
Folgende Benutzer bedankten sich beim Autor tar für den Beitrag:
DeathAndPain
Oder eben welche Konstanten in jenen Klassen vorhanden sein sollentar hat geschrieben: ↑22.10.2024 11:23Da hast du doch schon einen guten Grund gefunden, keine Interfaces zu verwenden. Ergibt für mich hier auch keinen Sinn, weil der Zweck von Interfaces ganz woanders liegt: in der Festlegung, welche Methoden und Parameter in jenen Klassen vorhanden sein müssen, die dieses Interface implementieren.
Ich ging davon aus, dass es, wie bei Interfaces eben so üblich, in die Klasse eingebunden werden muss. Dass sich Interfaces in ABAP wie statische Klassen verhalten, widerspricht den sonst üblichen OO-Konventionen. Ist mir jedenfalls aus keiner anderen Programmiersprache bekannt.
Hier offenbar nicht relevant, da sie seltsamerweise nicht eingebunden werden muss.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag (Insgesamt 2):
tar • Romaniac
Ich glaube dass ist der Hauptpunkt. ABAP hat halt seine Eigenheiten, die es einem an manchen Stellen einfacher machen, aber einem halt an anderen Stellen Steine in den Weg legen. Ich denke da z.B. an die CASE-Anweisung welche nach CASE eine Konstante erlaubt und die WHEN-Bedingungen können variabel und müssen nicht mal disjunkt sein. Völlig anders als z.B. Java. Wichtig ist eigentlich nur, dass man nicht versucht in ABAP BASIC, JAVA oder Delphi Programme zu schreiben.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
tar