Eingehende Verknüpfungen abrufen
Dieser Service Task ruft alle Datenobjekte ab, die auf ein bestimmtes Ziel-Datenobjekt verweisen. Er beantwortet die umgekehrte Frage: „Welche Datensätze verweisen auf mich?"
Nutzen: Prozesse können automatisch alle eingehenden Beziehungen ermitteln — jede Bestellung finden, die auf einen Kunden verweist, jeden Vertrag, der auf ein Dokument zeigt — ohne manuelle Suche oder individuelle Abfragen.
Funktionsweise
Während Verknüpfte Daten abrufen den ausgehenden Referenzen von einem Quellobjekt folgt, sucht dieser Service Task in die entgegengesetzte Richtung: Er findet alle Objekte, die auf das angegebene Ziel verweisen.
Kunde: Müller GmbH ←── Bestellung-2026-001
←── Bestellung-2026-047
←── Vertrag-2025-012
Das ist besonders nützlich für Fragen wie:
- „Welche Bestellungen gehören zu diesem Kunden?"
- „Welche Verträge verweisen auf dieses Dokument?"
- „Wie viele Datensätze zeigen auf dieses Produkt?"
Eingabeparameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
dataObjectId |
String | Ja | Die ID des Ziel-Datenobjekts. Alle eingehenden Referenzen auf dieses Objekt werden zurückgegeben. |
dataSchemaId |
String | Nein | Ergebnisse nach einer bestimmten Quell-Datenstruktur filtern (z. B. nur verweisende „Bestell"-Datensätze). |
includeDetails |
Boolean | Nein | Wenn true, wird jede Referenz um den Dokumentnamen und Pfad der Quelle angereichert. Standard: false. |
Beispiel-Eingabe
{
"dataObjectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"dataSchemaId": "order",
"includeDetails": true
}
Ausgabe
| Feld | Typ | Beschreibung |
|---|---|---|
dataObjectId |
String | Die Zielobjekt-ID (zurückgegeben). |
totalCount |
Zahl | Anzahl der gefundenen eingehenden Verknüpfungen. |
references |
Array | Liste der Datenobjekt-Referenzen, die auf dieses Ziel verweisen. |
Jede Referenz enthält:
| Feld | Typ | Beschreibung |
|---|---|---|
sourceObjectId |
String | Die ID des verweisenden Quellobjekts. |
sourceObjectAttribute |
String | Der Attributname am Quellobjekt, der die Referenz hält. |
targetObjectId |
String | Die Zielobjekt-ID. |
targetDataSchemaId |
String | Der Datenstruktur-Typ des Ziels. |
sourceDataSchemaId |
String | Der Datenstruktur-Typ der Quelle. |
sourceDocumentName |
String | Der Dokumentname des Quellobjekts. |
sourceDocumentNameResolved |
String / null | Der aufgelöste Dokumentname der Quelle (nur mit includeDetails: true). |
sourceDataObjectKey |
String / null | Der Datenobjekt-Pfad der Quelle (nur mit includeDetails: true). |
Beispiel-Ausgabe
{
"dataObjectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"totalCount": 3,
"references": [
{
"sourceObjectId": "550e8400-e29b-41d4-a716-446655440000",
"sourceObjectAttribute": "customer",
"targetObjectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"targetDataSchemaId": "customer",
"sourceDataSchemaId": "order",
"sourceDocumentName": "Bestellung-2026-001",
"sourceDocumentNameResolved": "Bestellung-2026-001",
"sourceDataObjectKey": "order/objects/550e8400-e29b-41d4-a716-446655440000"
},
{
"sourceObjectId": "661f9511-f3ac-52e5-b827-557766551111",
"sourceObjectAttribute": "customer",
"targetObjectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"targetDataSchemaId": "customer",
"sourceDataSchemaId": "order",
"sourceDocumentName": "Bestellung-2026-047",
"sourceDocumentNameResolved": "Bestellung-2026-047",
"sourceDataObjectKey": "order/objects/661f9511-f3ac-52e5-b827-557766551111"
},
{
"sourceObjectId": "772a0622-a4bd-63f6-c938-668877662222",
"sourceObjectAttribute": "relatedCustomer",
"targetObjectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"targetDataSchemaId": "customer",
"sourceDataSchemaId": "contract",
"sourceDocumentName": "Vertrag-2025-012",
"sourceDocumentNameResolved": "Vertrag-2025-012",
"sourceDataObjectKey": "contract/objects/772a0622-a4bd-63f6-c938-668877662222"
}
]
}
Anwendungsfälle
- Kunden-360°: Alle Bestellungen, Verträge und Rechnungen finden, die auf einen bestimmten Kunden verweisen.
- Produkt-Auswirkungsanalyse: Vor dem Abkündigen eines Produkts ermitteln, welche Bestellungen und Verträge noch darauf verweisen.
- Abhängigkeitsprüfung: Vor dem Löschen eines Datensatzes prüfen, ob andere Datensätze darauf angewiesen sind.
- Aggregation: Werte über alle Datensätze hinweg zählen oder summieren, die auf eine bestimmte Entität verweisen (z. B. Gesamtbestellvolumen pro Kunde).
- Kaskadierende Aktualisierungen: Wenn sich ein Stammdatensatz ändert, alle abhängigen Datensätze finden und aktualisieren.
Vergleich mit Verknüpfte Daten abrufen
| Aspekt | Verknüpfte Daten abrufen | Eingehende Verknüpfungen abrufen |
|---|---|---|
| Richtung | Quelle → Ziele (ausgehend) | Ziele → Quelle (eingehend) |
| Beantwortete Frage | „Worauf verweist dieser Datensatz?" | „Wer verweist auf diesen Datensatz?" |
| Anreicherungsfeld | targetDocumentName |
sourceDocumentNameResolved |
| Typischer Einsatz | Den Beziehungen eines Datensatzes folgen | Alle Abhängigen eines Datensatzes finden |
Hinweise
- Ohne
includeDetailswerden nur die Referenz-Metadaten zurückgegeben (1 Datenbankabfrage). MitincludeDetailswird pro verweisendem Quellobjekt eine zusätzliche Abfrage ausgeführt. - Wurde ein verweisendes Quellobjekt gelöscht, wird es trotzdem im Ergebnis aufgeführt, aber mit
sourceDocumentNameResolved: null. - Mit
dataSchemaIdkönnen Ergebnisse eingegrenzt werden, wenn nur Referenzen aus einem bestimmten Datenstruktur-Typ relevant sind. - Kann mit Verknüpfte Daten abrufen kombiniert werden für bidirektionale Graph-Traversierung in komplexen Prozessen.