5.2 Daten kopieren — Datensätze duplizieren und anpassen

5.2 Daten kopieren — Datensätze duplizieren und anpassen

Deep Clone ermöglicht das Kopieren eines Datensatzes samt aller verknüpften Unterdaten. Dabei werden IDs neu generiert (ID-Remap) und konfigurierbare Felder können vor dem Speichern angepasst werden.

1

Überblick

Die Funktion „Daten kopieren“ (Deep Clone) erstellt eine vollständige Kopie eines Datensatzes — inklusive aller verknüpften Unterentitäten. Typische Anwendungsfälle sind:

  • Vorlagen duplizieren — z. B. ein Projekt-Template mit allen Aufgaben und Meilensteinen kopieren
  • Daten in ein anderes Subsystem übertragen — Cross-Subsystem-Kopie mit automatischem ID-Remapping
  • Saisonale Wiederholungen — z. B. einen Kurs mit allen Modulen und Blöcken für ein neues Semester anlegen

Der Kopiervorgang läuft als Hintergrund-Job und besteht aus zwei Phasen: Zunächst werden die Quelldaten gelesen und transformiert (neue IDs, Feld-Mappings), anschließend werden die Zieldaten per Batch-Save geschrieben.

Unser Beispiel für diese Anleitung
Projekt-Vorlage duplizieren

Ein bestehendes Projekt soll mit allen Aufgaben, Meilensteinen und Zuweisungen kopiert werden. Der Projektname und das Startdatum sollen beim Kopieren angepasst werden können.

2

Schritt 1: Deep-Clone-Aktion im Dialog konfigurieren

Die Kopierfunktion wird als UDM-Job-Aktion auf einem Dialog konfiguriert. Der Endanwender löst später per Button-Klick den Kopiervorgang aus.

  1. Dialog-Konfiguration öffnen

    Öffnen Sie im Admin-Client die Konfiguration des Dialogs, von dem aus kopiert werden soll (z. B. der Projekt-Detail-Dialog).

  2. Neue Job-Aktion anlegen

    Erstellen Sie eine neue Aktion vom Typ „Daten kopieren“. Diese erscheint später als Button im Dialog.

  3. Wurzel-Entity festlegen

    Wählen Sie die Haupt-Entity (z. B. Projekt) als Wurzel der Transformation. Von hier aus werden alle verknüpften Unterentitäten ermittelt.

3

Schritt 2: Klonbare Felder definieren (Feld-Mappings)

Für jede Entity legen Sie fest, wie die einzelnen Felder beim Kopieren behandelt werden. Die Zuordnung erfolgt über Feld-Mappings in der Transformationstabelle.

Verfügbare Mapping-Typen

Typ Beschreibung Beispiel
1:1 (Direct) Wert wird unverändert aus dem Quelldatensatz übernommen Projektbeschreibung, Status
Neue GUID (NewGuid) Neue eindeutige ID wird generiert — für Primärschlüssel ProjektId, AufgabeId
ID-Remap (IdRemap) Fremdschlüssel wird auf die neu generierte ID des referenzierten Datensatzes umgeschrieben Aufgabe.ProjektId → neue ProjektId
Konstante (Constant) Fester Wert wird geschrieben Status = „Entwurf“
Kontext (FromContext) Wert wird aus der Dialog-Eingabe des Anwenders übernommen Neues Startdatum, neuer Projektname
ID-Remap im Detail Beim Kopieren erhält jeder Datensatz eine neue ID (NewGuid). Das ID-Remap sorgt dafür, dass Fremdschlüssel-Beziehungen automatisch wiederhergestellt werden. Beispiel: Wenn eine Aufgabe auf ein Projekt verweist, wird die alte ProjektId durch die neue ProjektId ersetzt — die Zuordnung bleibt erhalten.
4

Schritt 3: Verhalten für Unterentitäten festlegen

In der Transformationstabelle definieren Sie, welche verknüpften Tabellen mitkopiert werden sollen. Jede Zeile repräsentiert ein Mapping von einer Quell- auf eine Ziel-Entity.

Option Beschreibung
Quell-Entity Die Tabelle, aus der die Daten gelesen werden (z. B. Aufgabe)
Ziel-Entity Die Tabelle, in die geschrieben wird — in der Regel identisch mit der Quelle
Reihenfolge Bestimmt die Verarbeitungsreihenfolge — Eltern-Entities müssen vor Kind-Entities stehen
Root-Filter Schränkt die Quelldaten ein (z. B. nur Aufgaben des aktuellen Projekts)
Transaktion Wenn aktiviert, werden alle Daten atomar gespeichert (Alles-oder-nichts)
Ziel-Subsystem Ermöglicht Cross-Subsystem-Kopien — Daten werden in ein anderes Subsystem geschrieben

In unserem Beispiel: Das Projekt-Template hat drei Unterentitäten, die mitkopiert werden:

# Quell-Entity Ziel-Entity Felder
10 Projekt Projekt 5 (inkl. NewGuid für PK, FromContext für Name)
20 Meilenstein Meilenstein 4 (inkl. IdRemap für ProjektId)
30 Aufgabe Aufgabe 6 (inkl. IdRemap für ProjektId und MeilensteinId)
40 Zuweisung Zuweisung 3 (inkl. IdRemap für AufgabeId)
Deep-Clone-Konfiguration: Quelle, Ziel und Kontext-Werte
Quelle & Ziel
Wurzel-Entity
Projekt
Ziel-Subsystem
(gleich wie Quelle)
Transaktion
✓ aktiviert
Kontext-Eingaben (FromContext)
Neuer Projektname
Projekt 2026 Q3
Neues Startdatum
01.07.2026
5

Schritt 4: PostExecutionDialog für Nachbearbeitung einrichten

Optional kann ein Nach-Klon-Dialog konfiguriert werden, der nach erfolgreichem Kopieren automatisch geöffnet wird. So kann der Anwender den neuen Datensatz direkt bearbeiten.

  1. Nach-Klon-Dialog auswählen

    Im Kopfbereich der Konfiguration wählen Sie unter „Nach-Klon-Dialog“ den Dialog aus, der nach dem Kopieren geöffnet werden soll.

  2. Navigation prüfen

    Der Dialog öffnet sich automatisch mit dem neu erstellten Datensatz. Der Anwender kann dort z. B. den Projektnamen finalisieren oder das Startdatum anpassen.

Tipp: Kontext-Felder für Dialog-Eingaben Nutzen Sie den Mapping-Typ „Kontext“ (FromContext), um Werte aus dem auslösenden Dialog in den kopierten Datensatz zu übernehmen. So kann der Anwender z. B. vor dem Kopieren einen neuen Projektnamen oder ein Startdatum eingeben, das direkt in die Kopie geschrieben wird.
6

Vorschau (Dry-Run)

Bevor Sie die Konfiguration produktiv einsetzen, können Sie eine Vorschau ausführen. Diese führt den gesamten Lese- und Transformationsprozess durch, ohne Daten zu schreiben.

Die Vorschau zeigt:

  • Statistik — Anzahl gelesener, gefilterter und transformierter Datensätze pro Entity
  • Quelldaten — die gelesenen Originaldatensätze
  • Zieldaten — die transformierten Datensätze mit neuen IDs, remappten Fremdschlüsseln und Kontextwerten
Hinweis: Test-Kontext Die Vorschau-Seite bietet Eingabefelder für Root-Filter-Werte und FromContext-Schlüssel. So können Sie die Transformation mit realistischen Testdaten durchspielen, ohne die Konfiguration speichern zu müssen.
Bestätigungsdialog vor dem Kopiervorgang
?
Datensatz wirklich kopieren?
Der Datensatz „Projekt Alpha“ wird mitsamt 18 Aufgaben, 4 Meilensteinen und 32 Zuweisungen dupliziert. Vorgang als Hintergrund-Job (Transaktion aktiv).
Kopieren startenAbbrechen
7

Konfigurationsoptionen im Überblick

Option Beschreibung Standard
Wurzel-Entity Die Haupt-Entity, von der die Kopie ausgeht
Ziel-Subsystem Für Cross-Subsystem-Kopien; wenn leer, wird in das gleiche Subsystem geschrieben Gleich wie Quelle
Transaktion Alle Daten werden atomar gespeichert — bei Fehler wird nichts geschrieben Aktiviert
Root-Filter Filtert die Quelldaten auf den aktuellen Datensatz (z. B. ProjektId)
Nach-Klon-Dialog Dialog, der nach erfolgreichem Kopieren mit dem neuen Datensatz geöffnet wird Keiner
Feld-Mappings Zuordnung der einzelnen Felder: Direct, NewGuid, IdRemap, Constant, FromContext
Achtung: Große Kopieroperationen Bei Datensätzen mit vielen Unterentitäten (z. B. Hunderte von Aufgaben, Zuweisungen und Dokumenten) kann der Kopiervorgang einige Sekunden dauern. Aktivieren Sie die Option „Transaktion“, um sicherzustellen, dass bei einem Fehler keine unvollständigen Kopien entstehen. Beachten Sie außerdem, dass die Reihenfolge der Mappings korrekt sein muss: Eltern-Entities müssen vor Kind-Entities verarbeitet werden, damit das ID-Remap funktioniert.
Tipp: PostExecutionDialog nutzen Richten Sie immer einen Nach-Klon-Dialog ein, wenn der Anwender die Kopie nach dem Erstellen überprüfen oder anpassen soll. Der Dialog öffnet sich automatisch mit dem neuen Datensatz — so vermeiden Sie, dass der Anwender den kopierten Datensatz mühsam suchen muss.
8

Häufige Fragen

Frage Antwort
Kann ich Daten in ein anderes Subsystem kopieren? Ja. Konfigurieren Sie das Ziel-Subsystem im Kopfbereich der Transformation. Quell- und Ziel-Entity können unterschiedlichen Subsystemen angehören.
Was passiert mit Fremdschlüsseln? Fremdschlüssel werden per ID-Remap automatisch auf die neu generierten IDs umgeschrieben. Die Beziehungsstruktur bleibt erhalten.
Kann der Anwender vor dem Kopieren Werte eingeben? Ja. Verwenden Sie den Mapping-Typ „Kontext“ (FromContext). Die Werte werden aus den Formularfeldern des auslösenden Dialogs übernommen.
In welcher Reihenfolge müssen die Mappings stehen? Eltern-Entities müssen vor Kind-Entities stehen, damit deren neue IDs beim Remap der Fremdschlüssel verfügbar sind.
Kann ich die Konfiguration testen, ohne Daten zu schreiben? Ja. Nutzen Sie den Vorschau-Tab (Dry-Run). Dort sehen Sie die transformierten Daten, bevor etwas geschrieben wird.
Was passiert bei einem Fehler während des Kopiervorgangs? Wenn „Transaktion“ aktiviert ist, wird bei einem Fehler nichts geschrieben (Alles-oder-nichts). Ohne Transaktion werden bereits geschriebene Daten beibehalten.
9

Datensatz kopieren im UserClient

Neben der konfigurierbaren Kopier-Transformation (DeepClone) steht Anwendern auch eine direkte Kopierfunktion zur Verfügung. Ein Datensatz kann mit einem Klick dupliziert und sofort als neuer Datensatz bearbeitet werden.

Kopieren aus dem Dialog

  1. Öffnen Sie einen Datensatz im Dialog.
  2. Klicken Sie in der Toolbar auf „Kopieren“.
  3. Es wird eine Kopie aller Feldwerte erstellt. Der Primärschlüssel wird geleert — der Datensatz wird als Neuanlage behandelt.
  4. Passen Sie die gewünschten Felder an und speichern Sie.

Kopieren aus der Tabellenansicht

  1. Klicken Sie mit der rechten Maustaste auf eine Zeile im Grid.
  2. Wählen Sie im Kontextmenü „Kopieren“.
  3. Der neue Datensatz wird im Dialog geöffnet und kann bearbeitet werden.

Voraussetzungen

Einstellung Beschreibung
Admin-Konfiguration Die Funktion muss pro Dialog über die Checkbox „Kopieren erlaubt“ aktiviert werden.
Berechtigungen Der Anwender benötigt sowohl Bearbeitungs- als auch Neuanlage-Berechtigung für den Dialog.
Unterschied zum DeepClone Die direkte Kopierfunktion erstellt eine einfache 1:1-Kopie des einzelnen Datensatzes. Für komplexere Szenarien mit Transformationen, Kind-Datensätzen und Cross-Subsystem-Kopien verwenden Sie die konfigurierbare Kopier-Transformation (DeepClone).