3.5 Element-Mapping — Datenobjekte miteinander verknüpfen

3.5 Element-Mapping — Datenobjekte miteinander verknüpfen

Definieren Sie, wie UDM beim Klick auf ein verknüpftes Feld den passenden Dialog eines anderen Datenobjekts öffnet — mit automatischer Feld-Zuordnung und Navigation.

1

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
Unser Beispiel für diese Anleitung
Vom Vorgang zum Kunden springen

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.

2

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
3

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
Hinweis Bei Ansichtselementen mit Union-Datenquellen (mehrere Tabellen in einer Ansicht) gibt es zusätzliche Kontexte wie AdditionalEditDialog, AdditionalViewDialog und AdditionalAddNewDialog. Diese werden pro Datenquelle konfiguriert.
4

Schritt-für-Schritt: Element-Mapping konfigurieren

In diesem Abschnitt richten wir das Beispiel-Mapping ein: Vom Vorgangs-Ansichtselement zum Kunden-Dialog.

  1. Quell-Ansichtselement öffnen

    Navigieren Sie im Admin Client zum Ansichtselement, das die Vorgangsliste anzeigt. Öffnen Sie die Detail-Ansicht des Ansichtselements.

  2. 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.

  3. 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.

  4. 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.
  5. 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.

AdminClient → Verknüpfungen → Kontext „Bearbeiten“ konfigurieren
Element-Mapping · Kontext „Bearbeiten“
Quell-Element
VE_Vorgangsliste
Ziel-Dialog
Dialog_Kunde_Bearbeiten
Popup-Modus
aktiv
Dialog-Größe
Standard
Dynamischer Code
nicht hinterlegt
💾 Speichern ⚙ Code bearbeiten ▸ Mapping testen
5

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
6

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
7

Tipps und Hinweise

Tipp: Bidirektionale Verknüpfung Wenn Sie eine Navigation in beide Richtungen ermöglichen möchten (z. B. vom Vorgang zum Kunden und vom Kunden zum Vorgang), müssen Sie zwei separate Element-Mappings anlegen — eines im Vorgangs-Ansichtselement und eines im Kunden-Ansichtselement. Element-Mappings sind immer unidirektional.
Achtung: Fehlende Feld-Zuordnung Wenn die Datenquelle des Quell-Elements keinen passenden Primärschlüssel oder Fremdschlüssel für das Ziel-Datenobjekt enthält, kann UDM den Ziel-Datensatz nicht ermitteln. In diesem Fall öffnet sich der Ziel-Dialog ohne Datensatz oder zeigt einen Fehler. Stellen Sie sicher, dass die Datenquelle des Quell-Elements das verknüpfende Feld (z. B. KundeId) enthält.
Hinweis: Dynamischer Code für komplexe Fälle Wenn die Standard-Zuordnung über Primärschlüssel nicht ausreicht, können Sie über den DynamicCode-Editor eine individuelle Filterlogik hinterlegen. Dort haben Sie Zugriff auf den Quell-Datensatz und können beliebige Filter für den Ziel-Dialog zusammenstellen.
8

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
Tipp: Datum-Offset Bei Systemvariablen und Quellfeldern vom Typ Datum können Sie einen Offset angeben. Beispiel: Systemvariable „Aktuelles Datum“ + 7 Tage = Fälligkeit in einer Woche. Verfügbare Einheiten: Stunden, Tage, Wochen, Monate, Quartale, Jahre.
Hinweis: Zielfeld bei Fester Wert und Systemvariable Bei den Wertquellen „Fester Wert“ und „Systemvariable“ muss das Zielfeld immer angegeben werden. Bei „Quellfeld“ wird standardmäßig der gleiche Feldname als Ziel verwendet (kann überschrieben werden).

Verfügbare Systemvariablen

Variable Beschreibung
Akt. Benutzer (ID)ID des angemeldeten Benutzers
Akt. BenutzernameName 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 DatumHeutiges Datum (ohne Uhrzeit)
Akt. Datum + UhrzeitAktueller Zeitpunkt mit Uhrzeit
AdminClient → Feld-Zuordnung: Quellfeld, Fester Wert und Systemvariable kombiniert
Feld-Zuordnung · Quellfeld
Wertquelle
Quellfeld
Quellfeld
KundeId
Zielfeld
FK_Kunde
Feld-Zuordnung · Fester Wert
Wertquelle
Fester Wert
Wert
Offen
Zielfeld
Status
Feld-Zuordnung · Systemvariable mit Offset
Wertquelle
Systemvariable
Variable
Aktuelles Datum
Offset
+ 7 Tage
Zielfeld
Fälligkeit
9

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
Beispiel
Status ReadOnly bei Navigation aus Vorgangsliste

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.

Priorität der ReadOnly-Steuerung Wenn mehrere Mechanismen den ReadOnly-Zustand eines Feldes beeinflussen, gilt folgende Reihenfolge (höchste Priorität zuerst):
  1. Dialog-Level ReadOnly (gesamter Dialog ist schreibgeschützt)
  2. Eltern-Element ReadOnly (Vererbung)
  3. Dynamischer Code (per Code gesetztes ReadOnly)
  4. Feld-Override aus ElementMapping
  5. Statische Konfiguration (in der Dialog-Element-Einstellung)
10

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
PopupBlauZiel-Dialog öffnet als Popup-Fenster
CodeGelbDynamischer Code ist hinterlegt
SizeGrauIndividuelle Dialog-Größe konfiguriert
FelderGrünFeld-Zuordnungen (Default-Werte) konfiguriert
OverridesOrangeFeld-Overrides (ReadOnly/Sichtbar) konfiguriert
11

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.