Ab 7.51 ist es möglich mit ABAP Aufzählungstypen oder ENUMs zu definieren. Dies war zuvor nur über den Umweg z.B. über Konstanten möglich.
In dem einfachen Beispiel wird eine Liste mit Tieren(Aufzählungstyp) angegeben. Diese hat verschiedene bestimmte Aufzählungswerte in Form von Aufzählungskonstanten.
TYPES:
BEGIN OF ENUM tiere,
hund,
katze,
maus,
elefant,
affe,
END OF ENUM tiere.
DATA(tier) = HUND.
Write: tier.
Die Ausgabe in dem Fall ist HUND.
Alternativ kann man nicht für jeden Wert eine eigene Aufzählungskonstante anlegen sondern das Ganze über eine Struktur abbilden. Die Ausgabe ist dieselbe.
TYPES:
BEGIN OF ENUM tiere STRUCTURE t,
hund,
katze,
maus,
elefant,
affe,
END OF ENUM tiere STRUCTURE t.
DATA(tier) = t-HUND.
Write: tier.
Zusätzlich kann man auch den Zusatz BASE TYPE mitgeben der den Basistyp der Werte festlegt. Mit VALUE können den Aufzählungskonstanten entsprechende Werte mitgegeben werden. (Bei einem nicht numerischen Basistyp ist das Pflicht)
TYPES:
BEGIN OF ENUM tiere BASE TYPE Text4,
hund VALUE 'Wau',
katze VALUE 'Miau',
maus VALUE is initial,
elefant VALUE 'Törö',
affe VALUE 'Uhah',
END OF ENUM tiere.
DATA(tier) = Conv Text4( elefant ).
Write: tier.
Hier ist die Ausgabe dann Törö 🙂
Sei der Erste der einen Kommentar abgibt