Zum Inhalt

Ergebnispfad

Übersicht

Der Ergebnispfad bestimmt, an welcher Stelle in den Prozessdaten das Ergebnis einer Aktivität gespeichert wird. Er fungiert als Zieladresse für die Output-Daten einer Aktivität.

Kurz zusammengefasst

Nachdem eine Aktivität ihre Arbeit erledigt hat und ein Ergebnis zurückgibt, legt der Ergebnispfad fest, wo dieses Ergebnis in der Prozessdatenstruktur abgelegt wird. Dies kann ein einfacher Pfad wie customer.data oder ein verschachtelter Pfad wie invoice.generated_pdf sein.

Warum das hilfreich ist

Der Ergebnispfad sorgt für eine strukturierte Ablage der Aktivitätsergebnisse. Dadurch bleiben die Prozessdaten übersichtlich und spätere Aktivitäten können gezielt auf die Ergebnisse zugreifen.


Datenfluss in einer Aktivität

Prozessdaten → Input Parameter → Aktivität → Output Parameter → Ergebnispfad → Prozessdaten
  1. Prozessdaten enthalten alle aktuellen Daten des Prozesses
  2. Input Parameter transformiert die benötigten Daten für die Aktivität
  3. Aktivität verarbeitet die Input-Daten
  4. Output Parameter transformiert das Rohergebnis der Aktivität
  5. Ergebnispfad bestimmt, wo das transformierte Ergebnis gespeichert wird
  6. Prozessdaten werden um das neue Ergebnis erweitert

Syntax und Verwendung

Einfacher Pfad

Das Ergebnis wird unter einem Top-Level-Feld gespeichert:

customer_data

Ergebnis in Prozessdaten:

{
  "customer_data": { ... }
}

Verschachtelter Pfad

Das Ergebnis wird in einem verschachtelten Objekt gespeichert:

invoice.data

Ergebnis in Prozessdaten:

{
  "invoice": {
    "data": { ... }
  }
}

Mehrere Ebenen

customer.address.city

Ergebnis in Prozessdaten:

{
  "customer": {
    "address": {
      "city": "..."
    }
  }
}

Zusammenspiel mit Output-Parameter

Der Output-Parameter und der Ergebnispfad arbeiten zusammen:

Beispiel: Service Task liefert PDF

Situation: Ein Service Task erzeugt ein PDF und gibt es zurück:

{
  "pdf": "base64encodedstring...",
  "filename": "rechnung.pdf"
}

Output-Parameter (Transformation):

{ "invoice_pdf": $.pdf }

Ergebnispfad:

invoice.document

Ergebnis in Prozessdaten:

{
  "invoice": {
    "document": {
      "invoice_pdf": "base64encodedstring..."
    }
  }
}

Im Prozess Designer

Ergebnispfad definieren

  1. Prozess Designer öffnen
  2. Eine Aktivität auswählen
  3. In den Properties das Feld „Ergebnispfad“ finden
  4. Pfad eingeben (z. B. customer_data oder invoice.generated_pdf)
  5. Prozess speichern und deployen

Leerer Ergebnispfad

Wenn kein Ergebnispfad angegeben wird, überschreibt das Aktivitätsergebnis den gesamten Root-Kontext der Prozessdaten. Dies kann gewollt sein, aber Vorsicht: Alle bisherigen Prozessdaten gehen verloren!

Ergebnis ignorieren

Es gibt eine separate Option „Ergebnis ignorieren“. Wenn diese aktiviert ist, wird das Ergebnis der Aktivität komplett verworfen. Dies ist nützlich, wenn die Aktivität nur eine Aktion ausführt (z. B. E-Mail senden), aber kein Ergebnis gespeichert werden soll.


Typische Anwendungsfälle

Szenario Ergebnispfad
Kundendaten speichern customer_data
Kundenspezifisch verschachtelt customer.details
Dokumentverwaltung documents.invoice
Temporäres Ergebnis temp.calculation
Statusupdate process.status

Best Practices

Sprechende Pfade verwenden

  • Gut: invoice.pdf_document
  • Schlecht: data1

Strukturierung beibehalten

Gruppiere zusammengehörige Daten:

  • Gut: customer.contact.email, customer.contact.phone
  • Schlecht: email, phone (unstrukturiert)

Überschreiben vermeiden

Achte darauf, keine wichtigen Prozessdaten zu überschreiben:

  • Gut: calculated.total (neuer Pfad)
  • Schlecht: order (könnte bestehende Order-Daten überschreiben)
  • ⚠️ Vorsicht: Leerer Ergebnispfad überschreibt alle Prozessdaten!

Namenskonventionen

  • Verwendung von snake_case oder camelCase konsistent
  • Vermeide Sonderzeichen
  • Es sollten Pfade kurz und prägnant

Praktische Beispiele

Beispiel 1: PDF-Erstellung

Aktivität: Service Task erstellt PDF aus Rechnung

Output-Parameter:

{ "pdf_content": $.pdf, "size": $.filesize }

Ergebnispfad:

invoice.generated_pdf

Zugriff in späteren Aktivitäten:

$.invoice.generated_pdf.pdf_content

Beispiel 2: E-Mail-Versand

Aktivität: Service Task versendet E-Mail

Output-Parameter:

{ "sent": true, "message_id": $.id }

Ergebnispfad:

customer_email_status

Zugriff in späteren Aktivitäten:

$.customer_email_status.sent

Beispiel 3: Datenbankabfrage

Aktivität: Service Task holt Kundendaten

Output-Parameter:

{ "id": $.customer_id, "name": $.customer_name, "status": $.status }

Ergebnispfad:

customer.details

Zugriff in späteren Aktivitäten:

$.customer.details.name

Troubleshooting

Ergebnis wird nicht gespeichert

Ursache: Ergebnispfad ist leer oder falsch geschrieben

Lösung:

  • Stelle sicher, dass der Ergebnispfad ausgefüllt ist
  • Prüfe die Schreibweise (keine Leerzeichen, korrekte Punkte)
  • Deploy den Prozess neu

Ergebnis überschreibt vorhandene Daten

Ursache: Ergebnispfad zeigt auf bereits existierende Daten

Lösung:

  • Wähle einen eindeutigen Pfad
  • Prüfe im Prozess-Explorer, welche Daten bereits existieren
  • Verwendung von verschachtelte Pfade zur Strukturierung

Verschachtelter Pfad wird nicht angelegt

Ursache: Elternpfade existieren noch nicht

Lösung:

  • Pantarey erstellt die Struktur automatisch
  • Wenn Probleme auftreten, Verwendung von einen einfacheren Pfad
  • Prüfe die Prozessdaten im Prozess-Explorer

FAQ – Häufige Fragen zum Ergebnispfad

Muss ich immer einen Ergebnispfad angeben?
Nein, aber Empfohlen wird. Wenn kein Ergebnispfad angegeben wird, überschreibt das Aktivitätsergebnis alle Prozessdaten (Root-Kontext).

Was ist der Unterschied zwischen leerem Ergebnispfad und „Ergebnis ignorieren“?

  • Leerer Ergebnispfad: Das Ergebnis überschreibt alle Prozessdaten (Root-Kontext)
  • Ergebnis ignorieren (Checkbox): Das Ergebnis wird komplett verworfen, Prozessdaten bleiben unverändert

Kann ich mehrere Ergebnisse an verschiedenen Pfaden speichern?
Pro Aktivität gibt es nur einen Ergebnispfad. Verwendung von den Output-Parameter, um mehrere Felder in einem Objekt zusammenzufassen.

Was passiert, wenn der Pfad bereits existiert?
Die vorhandenen Daten werden überschrieben. Wähle daher eindeutige Pfade.

Kann ich Arrays als Ergebnispfad verwenden?
Nein, der Ergebnispfad ist immer ein Objektpfad. Arrays können aber als Wert unter dem Pfad gespeichert werden.

Wie tief kann ich verschachteln?
Technisch gibt es keine Grenze, aber aus Gründen der Übersichtlichkeit sollten maximal 3-4 Ebenen verwendet werden.

Kann ich auf das Ergebnis in der gleichen Aktivität zugreifen?
Nein, das Ergebnis wird erst nach Abschluss der Aktivität in die Prozessdaten geschrieben.


Zusammenhang mit anderen Konzepten

Input-Parameter

Der Input-Parameter liest aus den Prozessdaten, der Ergebnispfad schreibt in die Prozessdaten.

Mehr dazu: Input und Output einer Aktivität

Output-Parameter

Der Output-Parameter transformiert das Rohergebnis, der Ergebnispfad bestimmt den Speicherort.

Mehr dazu: Input und Output einer Aktivität

Vorgangskennung

Die Vorgangskennung kann auf Daten zugreifen, die über den Ergebnispfad gespeichert wurden.

Mehr dazu: Vorgangskennung


Nächste Schritte