In der guten alten Zeit, und auch noch in RPGIV konnte und kann man am Ende der Quelle Tabellen mit Konstanten anlegen … das ist nicht mehr zeitgemäß. Die einzige Alternative war bis vor kurzem, Datenstrukturen mit initialisierten Unterfeldern zu definieren. Nur leider handelt es sich bei den Unterfeldern um Variablen, die auch geändert werden können. Mit dem letzten Technology Refresh haben wir endlich die Enumeration bekommen, d.h. Konstanten könnten in Strukturen gruppiert werden. In diesem Artikel wird gezeigt, wie Enumerationen definiert und verwendet werden. Mit Enumerationen können (gleichartige) konstante Werte zu einer Gruppe zusammengefasst werden, z.B. unterschiedliche Stati, Maßeinheiten, Längen bzw. alphanumerische Werte, numerische Werte, Zeiten, Daten … Diese Gruppierung ist von der Struktur her vergleichbar mit einer Datenstruktur. Allerdings sind bei einer Datenstruktur die (initialisierten) Unterfelder nicht konstant und können (bewußt oder versehentlich) geändert werden. Das ist in bestimmten Situationen nicht erwünscht ist und kann zu unerwarteten Fehlern führen. Im Gegensatz dazu sind bei Enumerationen die Unterfelder konstant und bereits der Versuch eine solche Konstante zu ändern, führt zu einem Compile-Fehler. Enumerationen können, wie Datenstrukturen global oder lokal, qualifiziert oder unqualifiziert definiert werden. Die Enumerations-Konstanten können an allen Stellen verwendet werden, an denen (standalone) Konstanten eingesetzt werden können....
Deep Dive mit Birigtta Hauser: Release 7.5 Technology Refresh 3 – Erweiterungen in RPG – Teil 3: Enumerationen
6 Min. Lesedauer
Quelle: saychandy, Adobe Stock Photos, generiert mit KI
Vorheriger BeitragSQL Application Services – Teil 11: IFS Services 02
Nächster Beitrag Warum bofrost bei der Archivierung auf easy setzt
Verwandte Beiträge
Alles aus dem TechKnowLetter: Das TechKnowLetter-Archiv
1 Min. Lesezeit
Alles aus dem TechKnowLetter: Archiv: Tech News
15 Min. Lesedauer
Alles aus dem TechKnowLetter: Archiv: Betriebssystem und Bedienung
10 Min. Lesedauer