Task "XSuiteHelixDataImport"
Der Task "XSuiteHelixDataImport" dient der Übertragung von Stammdaten an den Data Service in der xSuite Helix Cloud. Die Stammdaten werden über die Schnittstelle "DataValuesImport" der xSuite Helix Cloud übertragen. Diese Schnittstelle unterstützt nur ausgewählte Typen von Stammdatensätzen in einem fest definierten Format. Als Quelle kann ausschließlich eine SQL-Datenbank mit einer vorgegebenen Tabellenstruktur genutzt werden. Diese Datenbank entspricht der Datenbank "xFlowERP_MasterData", die in xSuite-Invoice-Prism-Projekten genutzt wird. Die Befüllung dieser Zwischentabellen aus den Daten des kundenspezifischen ERP-Systems obliegt dem Kunden selbst oder ist als Projektarbeit zu leisten. Das Mapping der Tabellenfelder auf die Datenobjekte des Data Services ist fest im Programmcode verankert und nicht konfigurierbar.
Die folgenden Datensatztypen werden für Stammdatenimporte unterstützt:
BusinessPartnerOrderCostCenterGLAccountCompany
Die Stammdaten werden abhängig vom Typ des Datensatzes technisch unterschiedlich übertragen. Für die Typen CostCenter, GLAccount und Company findet mit jedem Aufruf des Import-Tasks eine vollständige Übermittlung aller Quelldatensätze statt und alle alten Sätze werden gelöscht. Bei den Typen BusinessPartner und Order wird von einer deutlich höheren Satzanzahl ausgegangen, die bei regelmäßiger vollständiger Übertragung einen zu hohen Datenverkehr verursacht. Für diese Datensatztypen findet daher ein inkrementeller Import statt, der eine erweiterte Verarbeitungslogik erfordert, um zwischen unveränderten, veränderten, neuen und zu löschenden Datensätzen zu unterscheiden. Dazu werden in der internen Verwaltungsdatenbank die Hash-Werte aller schon übertragenen Datensätze gespeichert und bei jedem Task-Aufruf mit den Quelldatensätzen abgeglichen. Nur veränderte oder gänzlich neue Sätze werden an den Data Service übermittelt. Zu löschende Sätze werden dadurch identifiziert, dass diese in der Quelldatenbank nicht mehr vorhanden sind, aber ein Eintrag in der Verwaltungsdatenbank über den Import in der Cloud existiert.
Die folgenden Eigenschaften gelten speziell für den Task vom Typ "xSuiteHelixDataImport".
Eigenschaft | Beschreibung |
|---|---|
Schedule[].Task[].ImportType[] | Datensatztyp, der importiert wird Folgende Datensatztypen sind verfügbar:
In einem Task-Aufruf können mehrere Datensatztypen nacheinander verarbeitet werden, sodass nicht für jeden Typ ein separater Task definiert werden muss. |
Schedule[].Task[].Database.ConnectionString*(§) Schedule[].Task[].Database.Password(§) Schedule[].Task[].Database.Scheme(*) | Über die Eigenschaft Das Passwort, das in der Verbindungszeichenfolge benötigt wird, kann separat in Über die Eigenschaft |
Schedule[].Task[].Database.CustomerId Schedule[].Task[].Database.Principal Schedule[].Task[].Database.CompanyCode | Gemäß des vordefinierten Quelldatenbankmodells verwenden alle Tabellen die Felder |
Schedule[].Task[].DataService.Url Schedule[].Task[].DataService.RequestTimeout Schedule[].Task[].DataService.Keycloak Schedule[].Task[].DataService.ProxyServer | Verbindungsdaten zum Zielsystem (Data Service in der xSuite Helix Cloud) Als Unter |
Schedule[].Task[].DataService.BatchSize | Anzahl der Sätze pro Stapel Die Übertragung der Datensätze an den Data Service erfolgt gebündelt in Stapeln von mehreren Sätzen pro Aufruf. Standardwert: |
Schedule[].Task[].DataService.ClearAllDocs | Wahrheitswert, ob vor dem Import der Sätze alle vorhandenen Sätze im Data Service gelöscht werden Dieses ist nur relevant für die inkrementell übertragenen Satztypen Standardwert: |
Schedule[].Task[].LogRecords | Wahrheitswert, ob die Inhalte der Quelldatensätze im Log ausgegeben werden Die Ausgabe erfolgt generell nur bei dem Log-Level "Trace" und sollte nur temporär zu Analysezwecken aktiviert werden. Standardwert: |
Schedule[].Task[].ContentLogFolder(%) | optionaler Ordnerpfad, in dem die vollständigen Inhalte der an den Data Service übertragenen Datensätze protokolliert werden Diese Eigenschaft ist primär für Analysezwecke und nicht für den dauerhaften Betrieb gedacht. Zur dynamischen Generierung von Unterordnern können Systemvariablen in die Pfadangabe eingebunden werden. Pro stapelweisem Importaufruf wird eine JSON-Datei mit dem Stapelinhalt in dem Ordner erzeugt. Wenn Fehlerrückmeldungen vorhanden sind, wird zusätzlich eine zugehörige Antwortdatei erzeugt. Die separaten Aufrufe für zu löschende Sätze werden an dieser Stelle nicht protokolliert, da diese nur Datensatzschlüssel beinhalten, und daher keinen Mehrwert gegenüber dem normalen "Trace"-Logging bieten. |
Schedule[].Task[].MaxErrors | maximale Anzahl fehlerhaft verarbeiteter Datensätze, bevor der gesamte Import für den betreffenden Satztyp abgebrochen wird Wenn keine maximale Anzahl festgelegt ist, wird versucht, alle Sätze zu übertragen. Fehler, die ganze Sätze betreffen, werden nur als Warnungen protokolliert. Ein Log-Eintrag des Typs "Fehler" wird ggf. nur einmalig als Zusammenfassung des gesamten Importvorgangs erzeugt. In diesem Zusammenhang ist sicherzustellen, dass E-Mails tatsächlich nur im Fehlerfall verschickt werden und nicht auch bei Warnungen (Eigenschaft |