Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Task "XSuiteHelixLookupImport"

Die folgenden Eigenschaften gelten speziell für den Task vom Typ "XSuiteHelixLookupImport". Dieser Task überträgt Stammdaten aus SAP oder einer anderen lokalen Datenquelle an den Lookup Service in der xSuite Helix Cloud.

Hinweis

Dieses Verfahren ist veraltet. Nutzen Sie stattdessen den Task "XSuiteHelixDataImport".

Eigenschaft

Beschreibung

Schedule[].Task[].Database.ConnectionString*(§)

Schedule[].Task[].Database.Select*

Schedule[].Task[].Database.Password(§)

In der Eigenschaft .ConnectionString ist die Verbindungszeichenfolge zur Quelldatenbank anzugeben, aus der Daten in die xSuite Helix Cloud übertragen werden. In .Select ist die entsprechende Datenbankabfrage anzugeben.

Für beide Eigenschaften ist die gleiche Syntax zu verwenden wie für die Anbindung externer Datenquellen im Rahmen einer Szenariokonfiguration (siehe Externe Datenquellen). Es werden auch die gleichen Datenquellen unterstützt.

Das Passwort, das in der Verbindungszeichenfolge benötigt wird, kann auch separat in .Password definiert werden. Über die Variable %Password% kann das Passwort dann in die Zeichenfolge eingebunden werden.

Schedule[].Task[].Lookup.Url*

Schedule[].Task[].Lookup.RequestTimeout

Schedule[].Task[].Lookup.Keycloak*

Schedule[].Task[].Lookup.ProxyServer

Verbindungsdaten zum Lookup Service in der xSuite Helix Cloud

Unter .Url ist die Basisadresse des Webservices inklusive der Portnummer und ohne Unterpfade anzugeben. Unter RequestTimeout ist ein Timeout-Wert in Sekunden anzugeben, der festlegt, wie lange auf eine Antwort des Webservices gewartet wird, bevor ein Fehler geworfen wird (Standardwert: 100).

Unter .Keycloak sind die Eigenschaften für die Authentifizierung zu setzen (siehe Keycloak-Authentifizierung).

Unter .ProxyServer kann optional der Proxy-Server angegeben werden, der für die Verbindung in die Cloud genutzt wird (siehe Proxy-Server-Verbindung).

Schedule[].Task[].Lookup.DataSource.Name*

Schedule[].Task[].Lookup.DataSource.KeyField

Schedule[].Task[].Lookup.DataSource.Clear

Schedule[].Task[].Lookup.DataSource.MaxBatchSize

Schedule[].Task[].Lookup.DataSource.SignalUpdate

Eigenschaften der Zieldatenquelle im Lookup Service

Als .Name ist der Name der Zieldatenquelle anzugeben.

Das .KeyField definiert optional den Namen eines Feldes aus der .Field[]-Liste, dessen Wert als zusätzlicher Schlüssel (Eigenschaft Key) eines jeden übertragenen Datensatzes gesetzt wird.

Der Wahrheitswert .Clear legt fest, ob der Inhalt der Datenquelle vor Beginn einer neuen Datenübertragung gelöscht wird (Standardwert: true).

In .MaxBatchSize wird festgelegt, wie viele Datensätze in einem Aufruf des Lookup Services maximal gleichzeitig übertragen werden (Standardwert: 100). Mit dem Wert 1 wird eine satzweise Übertragung durchgeführt, anstatt einer stapelweise Übertragung.

In .SignalUpdate wird definiert, ob und wie dem Lookup Service nach dem vollständigen Senden aller Sätze signalisiert wird, dass die Übertragung für die Datenquelle abgeschlossen ist:

  • None: keine sofortige Signalisierung

  • Self: sofortige Signalisierung für die aktuelle Datenquelle (Standardwert)

  • All: Signalisierung für aktuelle Datenquellen und alle Datenquellen aus vorigen Tasks derselben Schedule-Worker-Instanz, die aufgrund des Modus None noch nicht signalisiert wurden

Um die Übertragung für alle Datenquellen abzuschließen und erst am Ende eine gemeinsame Signalisierung für alle durchzuführen, ist innerhalb einer Schedule-Worker-Instanz ein Task pro Datenquelle zu definieren, von denen alle den Modus None und nur der letzte Task den Modus All verwendet.

Schedule[].Task[].Localize.GroupByField[]*

Schedule[].Task[].Localize.KeyField*

Schedule[].Task[].Localize.ValueField*

Schedule[].Task[].Localize.PropertyName

Schedule[].Task[].Localize.KeyMapping[]

Eigenschaften für die optionale Lokalisierung von zu übertragenden Datensätzen

Dieses erfordert speziell strukturierte Quelldatensätze. Zusammengehörige Sätze, die den gleichen Inhalt in verschiedenen Sprachausprägungen darstellen, müssen unmittelbar aufeinanderfolgend im Abfrageergebnis zurückgeliefert werden. Dabei darf nur genau ein Feld einen sprachspezifischen Wert haben, z. B. eine Artikelbezeichnung. Solche Quelldatensätze liefert z. B. das System "SAPWMDQUERY" bei einigen vordefinierten Abfragen.

In .GroupByField[] sind die Namen ein oder mehrerer Felder aus der .Field[]-Liste anzugeben, die für zusammengehörige Sätze den gleichen Schlüsselwert haben. Diese Sätze werden als zu einer Gruppe gehörig gekennzeichnet. Als sprachspezifische Teile eines Satzes sind mit .KeyField und .ValueField die Felder zu definieren, die das Sprachkennzeichen und den Wert in der betreffenden Sprache enthalten.

Bei der Übergabe an den Lookup Service werden die Sätze einer Gruppe zu einem einzelnen Wert zusammengefasst. Nur für den sprachabhängigen Teil wird ein multipler Wert übergeben, der sich paarweise aus dem Sprachkennzeichen und der betreffenden Werteausprägung zusammensetzt. In .PropertyName ist der Name der Eigenschaft konfigurierbar, die diese Wertepaare aufnimmt (Standardwert: Localization).

Wenn die Sprachkennzeichen aus den Quelldatensätzen nicht denen entsprechen, die vom Lookup Service erwartet werden, kann ein Mapping durchgeführt werden, z. B. von "E" auf "en-US".

Die Mappings sind in .KeyMapping[] als Werte mit 2 Teilparametern zu definieren:

  1. Key*: Quell-Sprachkennzeichen

  2. Value*: Ziel-Sprachkennzeichen

Schedule[].Task[].Field[]*

Definition der Felder, die vom Quellsystem ins Zielsystem übernommen werden

Die Angabe der Felder erfolgt in Form mehrerer Teilparameter. Quellfelder, die nicht explizit angegeben sind, werden ignoriert.

  1. Name(*): Name des Feldes im Quelldatensatz

  2. JsonProp*: Name der Eigenschaft im Zieldatensatz

  3. Macro: Feldmakroausdruck zur Generierung oder Aufbereitung eines Feldinhaltes

Der Name des Quellfeldes ist abhängig vom Quellsystem. Bei einer relationalen Datenbank entspricht der Name z. B. dem Feldnamen, der von der SELECT-Abfrage zurückgeliefert wird. Berechnete oder aggregierte Felder tragen hierbei allerdings keinen dedizierten Namen. Wenn für diese Felder nicht per AS-Klausel explizit ein Name vorgegeben wird, erhalten die Felder den Pseudonamen "Column {Feldnummer}". Beim Quellsystem "SAPWMDQUERY" entspricht der Name dem Wert im Metadatenfeld "E_LISTDESC.FNAME" des Abfrageergebnisses.

Der Parameter Name wird auch genutzt, um ein Quellfeld namentlich in anderen Konfigurationseigenschaften zur referenzieren, z. B. .Lookup.DataSource.KeyField. Der Parameter kann leer gelassen werden, wenn der Feldwert nicht dem Quelldatensatz entstammt, sondern ein künstliches Feld erzeugt und dessen Wert per Makrofunktion generiert werden soll.

Der Zieldatensatz ist ein JSON-Objekt. Der Parameter JsonProp ist der Name der Eigenschaft in diesem Objekt. Dabei können auch strukturierte Unterobjekte erstellt werden, wenn der Parameterwert aus mehreren Eigenschaften besteht, die durch einen Punkt getrennt sind. Jede Eigenschaft stellt jeweils eine Strukturebene dar.

Die Datentypen der Werte bleiben standardmäßig so erhalten, wie diese aus dem Quellsystem gelesen wurden. Benötigte Transformationsfunktionen können in eine SQL-SELECT-Abfrage integriert werden. Alternativ kann der Parameter Macro für eine Konvertierung verwendet werden.

Der Parameter Macro dient primär dazu, den Wert eines gelesenen Feldes vor der Übergabe an den Lookup Service inhaltlich aufzubereiten. Syntaktisch muss das ein Feldmakroausdruck sein, der den modifizierten Wert zurückliefert. Innerhalb des Ausdrucks kann der ursprüngliche Feldwert über die Variable @Value angesprochen werden. Diese Möglichkeit entfällt allerdings, wenn das Makro zur Generierung des Wertes eines künstlich generierten Feldes genutzt wird, d.h. eines Feldes, das nicht aus den Quelldaten stammt.

Schedule[].Task[].ContentLogFolder

optionaler Ordnerpfad, in dem die vollständigen Inhalte der Datensätze protokolliert werden, die an den Lookup Service übertragen wurden

Diese Eigenschaft ist primär für Analysezwecke und sollte nicht im regulären Betrieb genutzt werden.