Was ist Element-Mapping?
Das Element-Mapping verknüpft zwei UDM-Elemente miteinander. Es legt fest, welcher Ziel-Dialog geöffnet wird, wenn Sie in einer Tabelle oder einem Dialog auf einen verknüpften Datensatz klicken. Dabei überträgt UDM automatisch die relevanten Schlüsselwerte (z. B. eine Kunden-ID), damit im Ziel-Dialog der richtige Datensatz angezeigt wird.
Element-Mappings werden in der Admin-Oberfläche konfiguriert und steuern zur Laufzeit:
- Cross-Navigation — vom Quell-Element zum Ziel-Dialog springen
- Datenübertragung — Primärschlüssel und Filter automatisch weitergeben
- Default-Werte — bei Neuanlage Felder vorbelegen
- Dialog-Darstellung — Ziel-Dialog als Popup oder in voller Größe öffnen
Sie haben eine Vorgangstabelle, in der jeder Vorgang einen Kunden referenziert. Wenn ein Benutzer auf den Kundennamen in der Vorgangsliste klickt, soll sich der Kunden-Dialog mit dem zugehörigen Kundendatensatz öffnen. Dafür konfigurieren Sie ein Element-Mapping zwischen dem Vorgangs-Ansichtselement und dem Kunden-Dialog.
Grundkonzepte
Jedes Element-Mapping besteht aus einem Quell-Element (Source) und einem Ziel-Element (Target). Die folgende Tabelle zeigt die wichtigsten Begriffe:
| Begriff | Beschreibung |
|---|---|
| Quell-Element (Source) | Das Element, von dem aus navigiert wird — z. B. ein Grid-Ansichtselement oder ein Dialog |
| Ziel-Element (Target) | Der Dialog, der beim Klick geöffnet wird — z. B. der Kunden-Bearbeitungsdialog |
| Kontext (ObjectContext) | Bestimmt, wann das Mapping greift: EditDialog (Bearbeiten), ViewDialog (Anzeigen) oder AddNewDialog (Neuanlage) |
| Popup-Modus | Legt fest, ob der Ziel-Dialog als Popup-Fenster oder als vollständige Seite geöffnet wird |
| Dialog-Größe | Optionale Einstellung für Breite und Höhe des Ziel-Dialogs (Min/Max-Werte) |
| Dynamischer Code | Optionale Filterlogik, die zur Laufzeit ausgeführt wird, um den Ziel-Datensatz zu ermitteln |
Verfügbare Mapping-Kontexte
Je nach Quell-Element stehen unterschiedliche Kontexte zur Verfügung:
| Kontext | Anzeige im Admin | Verwendung |
|---|---|---|
EditDialog |
Bearbeiten | Doppelklick oder Bearbeiten-Aktion öffnet den Ziel-Dialog zum Bearbeiten |
ViewDialog |
Anzeigen | Ziel-Dialog wird im Nur-Lesen-Modus geöffnet |
AddNewDialog |
Neuanlage | Ziel-Dialog wird für einen neuen Datensatz geöffnet, mit optionalen Default-Werten |
AdditionalEditDialog, AdditionalViewDialog und AdditionalAddNewDialog. Diese werden pro Datenquelle konfiguriert.
Schritt-für-Schritt: Element-Mapping konfigurieren
In diesem Abschnitt richten wir das Beispiel-Mapping ein: Vom Vorgangs-Ansichtselement zum Kunden-Dialog.
-
Quell-Ansichtselement öffnen
Navigieren Sie im Admin Client zum Ansichtselement, das die Vorgangsliste anzeigt. Öffnen Sie die Detail-Ansicht des Ansichtselements.
-
Verknüpfungen (Element-Mappings) bearbeiten
Im Bereich „Einstellungen“ finden Sie den Subdialog „Verknüpfungen“. Hier werden alle Mappings des Ansichtselements aufgelistet. Klicken Sie auf den Bearbeiten-Button in der Quick-Info, um den Subdialog zu öffnen.
Sie sehen pro Kontext (Bearbeiten, Anzeigen, Neuanlage) einen aufklappbaren Bereich. Jeder Bereich zeigt den aktuell zugewiesenen Ziel-Dialog und ggf. Badges für Popup-Modus, Code oder Dialog-Größe.
-
Ziel-Dialog zuweisen
Klappen Sie den Bereich „Bearbeiten“ auf. Im Feld „Ziel-Objekt“ wählen Sie über das Lookup-Feld den Kunden-Dialog aus. UDM erstellt automatisch das Mapping und speichert die Zuordnung.
-
Optionen konfigurieren (optional)
Innerhalb des aufgeklappten Bereichs können Sie folgende Optionen einstellen:
- Popup: Aktivieren Sie die Checkbox, wenn der Kunden-Dialog als Popup-Fenster geöffnet werden soll, statt als vollständige Seite.
- Dialog-Größe: Klappen Sie den Bereich „Größe“ auf, um Min-/Max-Werte für Breite und Höhe festzulegen.
- Dynamischer Code: Über den „Code“-Button können Sie eine Filterlogik hinterlegen, die zur Laufzeit den Ziel-Datensatz ermittelt.
-
Mapping speichern und testen
Klicken Sie auf „Speichern“ im Subdialog. Wechseln Sie anschließend in die Endanwender-Ansicht und öffnen Sie die Vorgangsliste. Doppelklicken Sie auf einen Vorgang — es sollte nun der Kunden-Dialog mit dem zugehörigen Kunden geöffnet werden.
Mapping-Konfiguration im Überblick
Die folgende Tabelle fasst die konfigurierbaren Eigenschaften eines Element-Mappings zusammen:
| Eigenschaft | Beschreibung | Pflicht? |
|---|---|---|
| Ziel-Dialog | Der Dialog, der beim Klick geöffnet wird | Pflicht |
| Popup-Modus | Dialog als Popup-Fenster statt als Seite öffnen | Optional |
| Dialog-Größe | Min/Max-Werte für Breite und Höhe (nur bei Popup sinnvoll) | Optional |
| Dynamischer Code | Filterlogik zur Laufzeit — z. B. um den Ziel-Datensatz anhand mehrerer Felder zu ermitteln | Optional |
| Feld-Zuordnungen | Deklarative Vorbelegung von Feldern im Ziel-Dialog (Quellfeld, Fester Wert oder Systemvariable, optional mit Datum-Offset) | Optional |
| Feld-Overrides | Aufrufkontext-abhängige Steuerung von ReadOnly, Sichtbarkeit und Pflichtfeld-Status | Optional |
Weitere Einsatzmöglichkeiten
Element-Mappings können nicht nur für Ansichtselemente, sondern auch in anderen Kontexten eingesetzt werden:
| Quell-Typ | Ziel-Typ | Beschreibung |
|---|---|---|
| Ansichtselement → Dialog | Dialog | Häufigster Fall: Grid/Liste öffnet Detail-Dialog (Bearbeiten/Anzeigen/Neu) |
| Dialog → Subdialog | Dialog | Eingebettete Unterdialoge innerhalb eines übergeordneten Dialogs |
| Matrix → Detail | Dialog | Matrix-Ansichten mit Zeilen- oder Spalten-Detail-Dialogen |
| Nachrichtenvorlage → Dialog | Dialog | Nachrichtenvorlagen, die auf einen Dialog verweisen |
| Aktion (UdmJob) → Dialog | Dialog | Aktions-Buttons, die beim Klick einen Dialog öffnen |
Tipps und Hinweise
KundeId) enthält.
Feld-Zuordnungen (FieldMappings)
Mit Feld-Zuordnungen übergeben Sie beim Öffnen des Ziel-Dialogs automatisch Werte als Default-Vorbelegung. So können Sie z. B. bei einer Neuanlage die Kunden-ID aus dem Quell-Datensatz übernehmen oder das Erstelldatum auf „Heute“ setzen.
Jede Zuordnung hat eine Wertquelle und ein Zielfeld:
| Wertquelle | Beschreibung | Beispiel |
|---|---|---|
| Quellfeld | Wert aus einem Feld des aktuell ausgewählten Datensatzes | Feld KundeId → Zielfeld FK_Kunde |
| Fester Wert | Ein konstanter Wert, der immer gesetzt wird | Wert Offen → Zielfeld Status |
| Systemvariable | Dynamisch ermittelter Wert (aktueller Benutzer, Datum etc.) | Variable Akt. Benutzer (ID) → Zielfeld ErstelltVon |
Verfügbare Systemvariablen
| Variable | Beschreibung |
|---|---|
| Akt. Benutzer (ID) | ID des angemeldeten Benutzers |
| Akt. Benutzername | Name des angemeldeten Benutzers |
| Akt. Position (ID) | ID der Position des Benutzers |
| Akt. Bereich (ID) | ID des Unternehmensbereichs |
| Akt. Rolle (ID) | ID der Rolle des Benutzers |
| Aktuelles Datum | Heutiges Datum (ohne Uhrzeit) |
| Akt. Datum + Uhrzeit | Aktueller Zeitpunkt mit Uhrzeit |
Feld-Overrides (Aufrufkontext-Steuerung)
Mit Feld-Overrides steuern Sie das Verhalten von Feldern im Ziel-Dialog abhängig davon, woher der Dialog geöffnet wurde. So können Sie z. B. festlegen, dass das Feld „Status“ nur dann schreibgeschützt ist, wenn der Dialog von einem bestimmten Ansichtselement aus geöffnet wird.
Jeder Override bezieht sich auf ein Zielfeld und kann drei Eigenschaften überschreiben:
| Eigenschaft | Werte | Beschreibung |
|---|---|---|
| ReadOnly | — / Ja / Nein | „Ja“ = Feld ist schreibgeschützt, „Nein“ = Feld ist editierbar, „—“ = keine Änderung |
| Sichtbar | — / Ja / Nein | „Nein“ = Feld wird ausgeblendet |
| Pflicht | — / Ja / Nein | „Ja“ = Feld wird zum Pflichtfeld |
Der Kunden-Dialog kann direkt geöffnet werden (dort ist „Status“ editierbar) oder aus der Vorgangsliste heraus (dort soll „Status“ ReadOnly sein). Konfigurieren Sie im Element-Mapping der Vorgangsliste einen Feld-Override: Zielfeld Status, ReadOnly = Ja.
- Dialog-Level ReadOnly (gesamter Dialog ist schreibgeschützt)
- Eltern-Element ReadOnly (Vererbung)
- Dynamischer Code (per Code gesetztes ReadOnly)
- Feld-Override aus ElementMapping
- Statische Konfiguration (in der Dialog-Element-Einstellung)
Badges in der Quick-Info
Die Quick-Info im Subdialog „Verknüpfungen“ zeigt farbige Badges, die auf einen Blick die Konfiguration jedes Mappings zusammenfassen:
| Badge | Farbe | Bedeutung |
|---|---|---|
| Popup | Blau | Ziel-Dialog öffnet als Popup-Fenster |
| Code | Gelb | Dynamischer Code ist hinterlegt |
| Size | Grau | Individuelle Dialog-Größe konfiguriert |
| Felder | Grün | Feld-Zuordnungen (Default-Werte) konfiguriert |
| Overrides | Orange | Feld-Overrides (ReadOnly/Sichtbar) konfiguriert |
Häufige Fragen
| Frage | Antwort |
|---|---|
| Muss ich für jeden Kontext ein eigenes Mapping anlegen? | Ja. Bearbeiten, Anzeigen und Neuanlage sind separate Mappings. So können Sie z. B. für „Anzeigen“ einen anderen Dialog verwenden als für „Bearbeiten“. |
| Was passiert, wenn kein Mapping konfiguriert ist? | Ohne Mapping wird beim Doppelklick auf einen Datensatz kein Dialog geöffnet. Die Aktion ist dann nicht verfügbar. |
| Kann ich den Ziel-Dialog nachträglich ändern? | Ja. Öffnen Sie den Subdialog „Verknüpfungen“ und wählen Sie über das Lookup-Feld einen anderen Dialog aus. Änderungen werden nach dem Speichern sofort wirksam. |
| Funktioniert Element-Mapping auch mit Union-Datenquellen? | Ja. Bei Union-Datenquellen wird pro Datenquelle ein separater Tab im Subdialog angezeigt. Jede Datenquelle kann eigene Mappings für Bearbeiten, Anzeigen und Neuanlage haben. |
| Wie teste ich, ob das Mapping korrekt funktioniert? | Wechseln Sie in die Endanwender-Ansicht und führen Sie die entsprechende Aktion aus (z. B. Doppelklick auf einen Datensatz). Prüfen Sie, ob der richtige Ziel-Dialog mit dem richtigen Datensatz geöffnet wird. |
| Was bedeuten die Badges in der Quick-Info? | Popup — Dialog öffnet als Popup. Code — Dynamischer Code. Size — Dialog-Größe. Felder — Feld-Zuordnungen. Overrides — Feld-Overrides. |
| Kann ich bei Feld-Zuordnungen verschiedene Wertquellen mischen? | Ja. In einem Mapping können Sie beliebig Quellfelder, feste Werte und Systemvariablen kombinieren. Jede Zuordnung hat eine eigene Wertquelle. |
| Was passiert, wenn ein Feld-Override und DynamicCode beide ReadOnly setzen? | Dynamischer Code hat Vorrang vor Feld-Overrides. Wenn Ihr Code ein Feld explizit editierbar setzt, übersteuert das den Override. |