Dynamische Aufzählungen
Wenn in den Benutzeroberflächen von Lobster Data Platform / Orchestration Einstellungen, Zuordnungen oder Auswahlen mit einer vorgegebenen Liste von Optionen erscheinen, bildet sehr häufig eine Dynamische Aufzählung die Datenbasis für die angebotenen Auswahlmöglichkeiten.
Jede Dynamische Aufzählung ist eine erweiterbare Liste von Elementen, die für eine bestimmte Verwendung in Lobster Data Platform / Orchestration zusammengestellt werden kann. Häufig dient die Aufzählung als "Katalog", der zulässige Ausprägungen eines Merkmals oder verfügbare Typen einer bestimmten Kategorie explizit benennt.
Das System beinhaltet per Installation bereits vielfältige Dynamische Aufzählungen, etwa für den Firmentyp, Dokumententyp, verschiedene Kategorien von Einheiten sowie die Aufzählungen zur Verwaltung von benutzerdefinierten Attributen unterschiedlicher Datentypen (Text-, Nummern-, Datums-, Kennzeichen-, Referenz- und der Freie-Aufzählungstyp). Die vordefinierten Dynamischen Aufzählungen können nicht gelöscht, aber nach Bedarf "eingerichtet", also bearbeitet und um eigene Einträge erweitert werden.
Die Dynamischen Aufzählungen und die darin enthaltenen Elemente können dabei per Sprachverwaltung oder Firmenspezifische Sprachanpassungen lokalisiert werden, so dass der Benutzer bei der Datenpflege oder Systemkonfiguration mit verständlichen Klartexten als technischen Kennungen konfrontiert ist.
Im einfachsten und allgemeinen Fall enthält eine Dynamischen Aufzählung nur eine mehr oder weniger umfangreiche Liste von Elementen, die durch einen innerhalb der Aufzählung eindeutigen Namen gekennzeichnet werden, der auch als interner Schlüsselwert dient und z. B. in Datenobjekten gespeichert wird. Als leicht nachvollziehbares Beispiel sei die Dynamische Aufzählung "Anrede" (intern geführt als: de.lobster.scm.base.address.Salutation) genannt, die ab Werk die Optionen "Herr", "Frau", Firma" (interne Namen: COMPANY, MR, MS) beinhaltet.
Es ist auch möglich solche einfachen Dynamischen Aufzählungen komplett neu aufzubauen, also eigenständige Kategorien samt Elementen einzurichten. Man könnte etwa eine neue Dynamische Aufzählung mit dem internen Namen ORIENTATION und der deutschen Lokalisierung "Himmelsrichtung" erstellen, die als Einträge zunächst die Namen N/E/S/W mit den deutschen Lokalisierungen "Nord", "Ost", "Süd", "West" enthält. Falls zu einem späteren Zeitpunkt der Bedarf entsteht, diese Skala zu verfeinern, können Einträge wie NE/SE/SW/NW oder auch NNE/ENE/ESE/SSE/SSW/SWS/WNW/NNW einfach ergänzt werden.
Einige der vom System vorgegebenen Dynamischen Aufzählungen bieten neben der reinen Aufzählung von Elementen noch spezifische Parameter an, die für jedes Element individuell mit Werten belegt werden können. Für Einheiten sind Parameter für Umrechnungsfunktionen vorgesehen (siehe gelb hervorgehobene Spalten im Screenshot unten), jeder Arbeitsstatus kann mit einem hexadezimalen Farbwert verknüpft und je Lieferhinweis-Typ können individuelle Prüffunktionen und Meldungstexte hinterlegt werden. Am Ende dieser Seite werden Detailseiten für vordefinierte Dynamischen Aufzählungen aufgelistet. Dort werden soweit vorhanden auch die Parameter beschrieben.
►HINWEIS◄ Erweiterungen durch Parameter sind für neu hinzugefügte Dynamische Aufzählungen nicht vorgesehen. Im obigen Beispiel ("Himmelsrichtung") kann also nicht einfach eine Spalte "Kompasskurs" hinzugefügt werden, um zu den Elementen N/E/S/W die Kurswerte 360/090/180/270 zu hinterlegen.
Tipp: In der Eigenschaft "Icon URI" kann ein beliebiges Icon für den ausgewählten Aufzählungswert festgelegt werden, welches dann von Auswahlfeldern in Masken angezeigt werden kann. Der nötige Icon-Ausdruck ist dabei {iconUri}.
Lokalisierung
Die Lokalisierung der Aufzählungstypen erfolgt in der Sprachverwaltung und ggf. über Firmenspezifische Sprachanpassungen und betrifft den Namen der Aufzählung als Ganzes sowie den Klartext für jedes einzelne Element.
Für das Beispiel der eigenen Dynamischen Aufzählung für "Himmelsrichtungen" könnte die Lokalisierung so aussehen:
Der Aufzählungsname bezeichnet das Resource Bundle. Für vordefinierte Aufzählungen erscheint hier ein längerer Klassenname wie de.lobster.scm.utils.LengthUnit für die Aufzählung "Längeneinheit). Der Name der Aufzählung kann über den Resource name "$name" lokalisiert werden.
Die Namen der Elemente erscheinen als Resoruce names in diesem Resource Bundle.
►ANMERKUNG◄ In Auswahlelementen von Formularen erscheinen die Elemente einer Aufzählung alphabetisch aufsteigend sortiert nach der Lokalisierung. Damit die Himmelsrichtungen in der gewohnten Reihenfolge (im Uhrzeigersinn beginnend bei Nord) erscheinen, wurde hier eine Indexziffer vorangestellt. Diese stellt auch sicher, dass die Optionen unabhängig von der Sprachauswahl in derselben Reihenfolge erscheinen.
Bearbeiten von Dynamischen Aufzählungen
Die Abbildung zeigt die Übersicht der definierten dynamischen Aufzählungen.
Per Klick auf Neu (1) kann eine eigene neue dynamische Aufzählung erstellt werden. Es öffnet sich der Dialog zur Bearbeitung der Definition der neuen Aufzählung.
Wird in der Liste (2) genau eine bestehende Dynamische Aufzählung ausgewählt, öffnet Bearbeiten (3) eine neue View (siehe Screenshot unten), zum Bearbeiten der Aufzählung und ihrer Elemente.
Die Funktion Löschen (4) ist nur verfügbar, wenn in der Liste ausschließlich "eigene" Aufzählungstypen ausgewählt sind. Vom System bereitgestellte Aufzählungstypen können bearbeitet aber nicht gelöscht werden.
►WARNUNG◄ Das Löschen einer eigenen Dynamischen Aufzählung kann zu Inkonsistenzen führen, wenn bereits Geschäftsobjekte in Umlauf sind, die sich auf diese Aufzählung beziehen.
In der Liste (1) werden die Elemente der dynamischen Aufzählung angezeigt.
Die Parameter des Wertes können im Detailbereich (2) bearbeitet werden. Das Feld "Name" erscheint für bereits gespeicherte Einträge schreibgeschützt, weil der interne Name als Schlüsselwert dient und deshalb nicht mehr geändert werden sollte, sobald sich Geschäftsobjekte, Formulare usw. darauf beziehen. Dagegen kann die Lokalisierung, also der für den Benutzer abhängig vom Sprachschema angezeigte Klartext auch nachträglich angepasst werden. Der Schreibschutz für den Namen eines Elements kann per Klick auf den Button mit dem "Vorhängeschloss"-Symbol temporär aufgehoben werden, um Korrekturen vorzunehmen. Allerdings sollte diese Möglichkeit nur genutzt werden, solange das Element noch nicht verwendet wurde.
Elemente können per Neu (3) hinzugefügt und per Entfernen (4) aus der Liste gelöscht werden.
Alternativ kann für jeden Aufzählungswert ein Icon (6) hinterlegt werden, welcher dann z.B. in Auswahlboxen (Icon-Ausdruck {iconUri}) dargestellt werden kann.
Beispiel für eine Währungsauswahlbox mit hinterlegten Icons:
Änderungen an der Aufzählung bzw. den aufgelisteten Elementen werden erst beim Speichern (5) wirksam.
►HINWEIS◄ Nur "eigene" Werte können entfernt werden. Systemseitig vordefinierte Elemente können nicht gelöscht werden. Wenn solche Elemente den Benutzern nicht zur Auswahl angeboten werden sollen, können Dynamische Aufzählungsfilter konfiguriert oder im Formulardesigner Einschränkungen für das betreffende Auswahlfeld/Combobox vorgenommen werden.
►WARNUNG◄ Das Entfernen von Elementen, die bereits in Datenobjekten verwendet wurden, ist mit Rücksicht auf die Datenkonsistenz nicht zu empfehlen. Außerdem besteht das Risiko, dass zu einem späteren Zeitpunkt der Name eines gelöschten Elements für ein neu erstelltes Element innerhalb derselben Aufzählung erneut aber mit anderer Bedeutung verwendet wird. Wenn bestimmte Elemente in Zukunft als Option für Anwender wegfallen sollen, sollten stattdessen wiederum Dynamische Aufzählungsfilter oder Einschränkungen im Formulardesigner konfiguriert werden.