Zum Hauptinhalt springen

Operationen und Datentransport

Ein Array von Operatiosobjekten, die ausgeführt werden sollen.

Das operations Request Schema ist hier unter operations zu finden.

hinweis

Die Struktur des Feldes mapping basiert auf den Typen SingelMapping und GroupMappingDto.

Beispiel

"operations": [
{
"name": "fetchCostCenters",
"direction": "SAP_TO_DB",
"mapping": ...,
"iteratorInputPath": "[0]._CostCenter.SAP__Messages"
}
]

Beschreibung

name string

  • Der Name der Operation.

direction string

  • Die Richtung der Operation. Sie kann SAP_TO_DB oder DB_TO_SAP sein.

mapping SingleMappingDto | SingleMappingDto[] | GroupMappingDto

iteratorInputPath string, optional, default: undefined

  • JSON-Pfad zum Array der Einzelelemente in der SAP-Antwort (wird nur verwendet, wenn direction auf SAP_TO_DB gesetzt ist).
  • Existiert iteratorInputPath, wird dieser Pfad zum Auslesen der Items genutzt.
  • Ansonsten wird zunächst nach einer Top-Level-Eigenschaft value gesucht.
  • Ist value nicht vorhanden, wird d.results geprüft.
  • Fehlt auch d.results, wird ein leeres Array angenommen und es werden keine Daten eingespielt.

updateBatchSize number, optional, default: 0

  • Legt fest, wie viele Datensätze pro Batch bei einem Update aus SAP in die Datenbank geschrieben werden.
  • Wird nur berücksichtigt, wenn direction auf SAP_TO_DB gesetzt ist und in der databaseConnection-Konfiguration clear: false verwendet wird.
  • Die Batches werden nacheinander abgearbeitet.
  • Wenn updateTransactionSize ≤ 0 ist, laufen alle Updates im Batch vollständig parallel und ohne Transaktionen. (ACHTUNG: Deadlock‑Risiken)
  • Die gleichzeitige Nutzung von updateBatchSize und updateTransactionSize führt zu doppelter Aufteilung und ist nicht sinnvoll.
  • Verwenden Sie updateBatchSize nur, wenn Sie das Lock‑Verhalten Ihrer Datenbank und mögliche Deadlock‑Risiken gut kennen.

updateTransactionSize number, optional, default: 100

  • Gibt die maximale Anzahl an Datensätzen an, die pro Datenbank-Transaktion aktualisiert werden.
  • Wird nur berücksichtigt, wenn direction auf SAP_TO_DB gesetzt ist und in der databaseConnection-Konfiguration clear: false verwendet wird.
  • Ermöglicht die batchweise Verarbeitung großer Datenmengen, um Speicher- und Performance-Probleme zu vermeiden.
  • Überschreitet die Gesamtheit der zu aktualisierenden Datensätze den Wert von updateTransactionSize, wird nach Erreichen der Grenze automatisch ein Commit ausgeführt und eine neue Transaktion gestartet.

Mapping und Transformationen