5.6 Daten schreiben (WriteData) — Feldwerte setzen ohne Code

5.6 Daten schreiben (WriteData) — Feldwerte setzen ohne Code

Konfigurieren Sie Statuswechsel und Feldänderungen rein deklarativ — ohne eine Zeile DynamicCode.

1

Überblick

Die Aktion „Daten schreiben“ (WriteData) ermöglicht es, Feldwerte eines Datensatzes zu ändern, ohne DynamicCode schreiben zu müssen. Typische Anwendungsfälle:

  • Statuswechsel per Button: z. B. „Freigeben“, „Abschließen“, „Zurückweisen“
  • Bearbeiter und Zeitstempel setzen: automatisch den aktuellen Benutzer und Zeitpunkt eintragen
  • Cross-Entity-Schreibvorgänge: aus Entität A heraus Felder in Entität B ändern
  • Neue Datensätze anlegen: z. B. einen Protokolleintrag in einer anderen Entität erzeugen
Unser Beispiel für diese Anleitung
RowAction „Freigeben“ — Statuswechsel direkt aus der Tabelle

Wir erstellen eine Aktion, die direkt in der Tabellenansicht als RowAction erscheint. Per Klick wird der Status von „Entwurf“ auf „Freigegeben“ gesetzt, der aktuelle Benutzer als Bearbeiter eingetragen und der Zeitpunkt protokolliert — alles ohne Code.

2

Schritt 1: Job anlegen

  1. Job-Verwaltung öffnen

    Navigieren Sie im Admin-Client zu „Jobs / Aktionen“ und klicken Sie auf „Hinzufügen“.

  2. Grunddaten eingeben

    Vergeben Sie einen Namen (z. B. Freigeben) und eine optionale Beschreibung.

  3. Art und Kontext festlegen

    Wählen Sie:

    • Art: Interaktiv (Benutzer löst die Aktion per Button aus)
    • Kontext: Ansichtselement (Aktion erscheint in der Tabelle)
    • Ansichtselement: Wählen Sie das gewünschte Grid
  4. RowAction aktivieren

    Aktivieren Sie „Ist RowAction“, damit die Aktion pro Zeile (nicht global in der Toolbar) erscheint.

3

Schritt 2: Aktionstyp „WriteData“ konfigurieren

  1. Tab „Aktion“ öffnen

    Wechseln Sie zum Tab „Aktion“ des Jobs.

  2. Aktionstyp wählen

    Wählen Sie „WriteData“ aus der Auswahlliste. Es erscheinen drei Konfigurationsabschnitte.

Abschnitt „Ziel“

FeldErklärungBeispiel
Ziel-Entität Leer = gleiche Entität wie der Job. Bei Cross-Entity: Ziel-Entität auswählen. (leer)
Zieldatensatz-Modus Aktueller Datensatz: ändert den Datensatz, auf dem die Aktion ausgelöst wurde.
Verknüpfter Datensatz: ändert einen Datensatz in einer anderen Entität, der über ein FK-Feld verlinkt ist.
Neuer Datensatz: legt einen neuen Eintrag in der Ziel-Entität an.
Aktueller Datensatz
FK-Feld Nur bei „Verknüpfter Datensatz“: Der Feldname im Quell-Datensatz, der den PK des Zieldatensatzes enthält. bestellungs_id
Max. betroffene Datensätze Sicherheitslimit bei Cross-Entity. Die Aktion bricht ab, wenn mehr Datensätze betroffen wären. 1

Abschnitt „Feld-Zuordnungen“

Hier definieren Sie, welche Felder auf welchen Wert gesetzt werden sollen. Klicken Sie auf „Feld hinzufügen“ und konfigurieren Sie pro Zeile:

ZielfeldQuelleWert
statusStatischFreigegeben
bearbeitet_vonAktueller Benutzer(automatisch)
bearbeitet_amAktuelles Datum(automatisch)
WriteData-Konfiguration: Ziel und Feld-Zuordnungen
Ziel
Ziel-Entität
(gleich wie Job)
Zieldatensatz-Modus
Aktueller Datensatz
Max. betroffene Sätze
1
Feld-Zuordnungen
status
Statisch → Freigegeben
bearbeitet_von
Aktueller Benutzer
bearbeitet_am
Aktuelles Datum
Quell-Typen im Überblick
  • Statisch: Ein fester Wert, den Sie eingeben (z. B. Freigegeben, 42, true)
  • Aktueller Benutzer: Die ID des angemeldeten Benutzers wird automatisch eingetragen
  • Aktuelles Datum: Der aktuelle Zeitpunkt (UTC) wird automatisch eingetragen
  • Quellfeld: Ein Wert aus einem anderen Feld des Quell-Datensatzes wird übernommen

Abschnitt „Meldungen“

FeldErklärung
Bestätigungsfrage Optional: Text der Sicherheitsabfrage vor der Ausführung (z. B. „Soll der Vorgang wirklich freigegeben werden?“)
Erfolgsmeldung Optional: Eigener Text nach erfolgreicher Ausführung. Leer = Standardmeldung vom Server.
4

Schritt 3: Sichtbarkeit und Erscheinungsbild

  1. Ausführungsbedingung definieren (optional)

    Im Tab „Ausführungsbedingung“ können Sie festlegen, wann die Aktion sichtbar/aktiv ist. Für unser Beispiel: „Nur anzeigen, wenn status = Entwurf“.

  2. Erscheinungsbild konfigurieren

    Im Tab „Erscheinungsbild“ können Sie Button-Text, Icon, Farbe und Tooltip festlegen.

  3. Berechtigung zuweisen (optional)

    Im Tab „Berechtigung“ können Sie die Aktion auf bestimmte Benutzerrollen einschränken.

5

Schritt 4: Speichern und testen

  1. Job speichern

    Speichern Sie den Job. Die Aktion ist sofort im UserClient verfügbar.

  2. Im UserClient testen

    Öffnen Sie die Tabellenansicht und suchen Sie einen Datensatz mit Status „Entwurf“. In der Zeile sollte die Aktion „Freigeben“ erscheinen. Nach dem Klick ändert sich der Status auf „Freigegeben“.

RowAction „Freigeben“ in der Tabellenansicht
BelegNrTitelStatusAktion
RE-2026-101Beratungsleistung Q1EntwurfFreigeben
RE-2026-102Lizenzen Service-PackEntwurfFreigeben
RE-2026-100WartungspauschaleFreigegeben
Ergebnis

Der Anwender kann jetzt mit einem Klick den Status eines Datensatzes ändern — direkt aus der Tabelle heraus, ohne einen Dialog öffnen zu müssen. Gleichzeitig werden Bearbeiter und Zeitstempel automatisch gesetzt.

6

Schneller Weg: Der Feld-Aktions-Wizard

Statt alle Schritte manuell durchzuführen, können Sie den Wizard „Feld-Aktion einrichten“ verwenden. Der Wizard führt Sie in 4 Schritten durch die Konfiguration und erstellt den UdmJob automatisch.

So starten Sie den Wizard:

  • Aus dem Kontextmenü: Markieren Sie ein Datenobjekt in der Übersicht und wählen Sie im Kontextmenü „Feld-Aktion einrichten“
  • Aus dem Aktionen-Tab: Öffnen Sie ein Ansichtselement, wechseln Sie zum Tab „Aktionen“ und klicken Sie auf „Neue Aktion via Wizard“
Tipp: Wizard vs. manuell

Der Wizard deckt die häufigsten Fälle ab (Statuswechsel, Felder setzen). Für erweiterte Konfigurationen (z. B. komplexe Bedingungen, mehrere Ausführungsschritte) können Sie den Job nach dem Wizard jederzeit manuell anpassen.

7

Erweitert: Cross-Entity-Schreibvorgänge

WriteData kann auch in eine andere Entität schreiben. Typische Anwendungsfälle:

  • Aus einem Auftrag heraus den Status einer verknüpften Bestellung ändern
  • Aus einem Ticket heraus einen Protokolleintrag in einer anderen Tabelle anlegen

Dafür konfigurieren Sie im Abschnitt „Ziel“:

  1. Wählen Sie die Ziel-Entität aus
  2. Wählen Sie den Modus „Verknüpfter Datensatz“ oder „Neuer Datensatz“
  3. Bei „Verknüpfter Datensatz“: Geben Sie den FK-Feldnamen an
  4. Setzen Sie das Sicherheitslimit (Max. betroffene Datensätze)
Sicherheitshinweis: Max. betroffene Datensätze

Bei Cross-Entity-Vorgängen ist das Sicherheitslimit Pflicht. Es verhindert, dass bei einer Fehlkonfiguration versehentlich viele Datensätze geändert werden. Die Aktion bricht ab, wenn das Limit überschritten würde.

WriteData im Dialog-Kontext

Im Dialog (Bearbeitungsformular) ist WriteData auf den eigenen Datensatz nicht sinnvoll, da der Datensatz bereits geöffnet und bearbeitbar ist. Im Dialog eignet sich WriteData nur für Cross-Entity-Vorgänge (Schreiben in eine andere Entität).

8

Häufige Fragen

Was passiert, wenn der Zieldatensatz nicht gefunden wird?
Die Aktion bricht mit einer Fehlermeldung ab. Der Quell-Datensatz bleibt unverändert.
Kann ich WriteData mit einer Bestätigungsfrage kombinieren?
Ja. Tragen Sie im Feld „Bestätigungsfrage“ den gewünschten Text ein. Der Anwender muss dann vor der Ausführung bestätigen.
Brauche ich für WriteData DynamicCode?
Nein. WriteData ist rein deklarativ. Für komplexere Logik (Berechnungen, Bedingungen) verwenden Sie stattdessen den Aktionstyp „ExecuteCode“.
Kann ich auch Lookup-Werte setzen?
Ja. Tragen Sie bei „Statisch“ den technischen Wert des Lookups ein (z. B. die ID oder den Schlüssel).