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
- Prozessdaten enthalten alle aktuellen Daten des Prozesses
- Input Parameter transformiert die benötigten Daten für die Aktivität
- Aktivität verarbeitet die Input-Daten
- Output Parameter transformiert das Rohergebnis der Aktivität
- Ergebnispfad bestimmt, wo das transformierte Ergebnis gespeichert wird
- 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
- Prozess Designer öffnen
- Eine Aktivität auswählen
- In den Properties das Feld „Ergebnispfad“ finden
- Pfad eingeben (z. B.
customer_dataoderinvoice.generated_pdf) - 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
- Mehr über Input und Output erfahren
- Prozesse erstellen und Ergebnispfade Es wird genutztn
- Service Tasks mit strukturierten Ergebnissen