Datenquelle synchronisieren

WMS 2020 (1.1.1)

Diese Aktivität synchronisiert die Listeneinträge einer Datenquelle. Diese Aktivität löst die Aktivität Feld-Auswahlliste synchronisieren ab.
Der Listeneintrag einer Datenquelle kann eine maximale Länge von 255 Zeichen haben.

Eigenschaften

Eingabe

Name

Beschreibung

Datentyp

Erforderlich

Name

Beschreibung

Datentyp

Erforderlich

Datenquelle

ID der Datenquelle, für welche die Listeneinträge synchronisiert werden sollen.

Guid

Listeneinträge

Auflistung der zu synchronisierenden Listeneinträge.

ICollection<String>

Nicht enthaltene Einträge löschen

Kennzeichen, ob im String-Array nicht enthaltene Einträge aus der Feldliste entfernt werden sollen.
Falls ein Eintrag in eine Aufgabe verwendet wird, wird er nur logisch gelöscht, ansonsten wird er aus der Datenbank entfernt und ist nicht wiederherstellbar.

Bool



Gelöschte Einträge wiederherstellen

Kennzeichen, ob bereits vorhandene, jedoch logisch gelöschte Einträge wieder hergestellt werden sollen.
(Logisch gelöscht sind Einträge nur dann, wenn Sie zum Löschen-Zeitpunkt noch verwendet wurden.)

Bool



Groß-/Kleinschreibung ignorieren

Ignoriert beim Vergleich die Groß- und Kleinschreibung

Bool



Zu importierende Werte automatisch nach 255 Zeichen abschneiden

Wenn Kennzeichen gesetzt ist, dann werden die zu importierenden Werte automatisch nach 255 Zeichen abgeschnitten, ansonsten wird eine Exception geworfen.

Bool



Listeneintrag enthält mehrere Spalten

Kennzeichen, ob im Listeneintrag auch eine externe ID enthalten ist.

Die externe ID ist durch ein Trennzeichen vom Wert des Listeneintrags getrennt(z.B. "12345;Wert des Listeneintrags"). Wenn in der Liste keine Spaltenüberschriften enthalten sind, dann muss die externe ID in der ersten Spalte und der Wert in der zweiten Spalte stehen. Alle weiteren Spalten werden ignoriert.

Die externe ID kann eine maximale Länge von 50 Zeichen haben.

Wenn eine externe ID verwendet wird, ist das Kennzeichen "Groß-/Kleinschreibung ignorieren" nicht verfügbar.

Bool



Erster Listeneintrag enthält Spaltenüberschriften

Kennzeichen, ob die erste Zeile der Liste Spaltenüberschriften enthält (ähnlich einer csv-Datei).

  • Wenn Spaltenüberschriften vorhanden sind, dann muss die Spalte mit der externen ID die Bezeichnung "ExternId" und die Spalte mit dem Wert die Bezeichnung "Value" haben (Groß-/Kleinschreibung beachten). In diesem Fall brauchen die beiden Spalten nicht an erster bzw. zweiter Stelle stehen.

  • Sollten die Spalten-Bezeichner nicht vorhanden sein, dann wird die externe ID aus der ersten Spalte und der Wert aus der zweiten Spalte ermittelt. Alle anderen benannten Spalten werden als Eigenschaften (Properties) zu dem Listeneintrag (DataSourceItem) gespeichert, so dass danach gefiltert werden kann.

Das Kennzeichen steht nur zur Verfügung, wenn das Kennzeichen "Listeneintrag enthält mehrere Spalten" gesetzt ist.

Bool



Trennzeichen

Trennzeichen, mit dem die externe ID vom Wert getrennt ist. Das Trennzeichen darf in der externen ID nicht vorkommen. Da nur das erste Trennzeichen berücksichtigt wird, kann dieses im Wert des Listeneintrags vorhanden sein.

Char



Regulärer Ausdruck

Regulärer Ausdruck, welcher den Teil des Listeneintrags spezifiziert, der verglichen werden soll (z.B. die Lieferantennummer). Steht nicht zur Verfügung, wenn die Listeneinträge externe IDs enthalten

String



Beispiele

1 Synchronieren der Auswahlliste mit einer csv-Datei

Aufbau der Csv-Datei

Mögliche Listeneinträge für eine Auswahlliste mit Städten

  1. Eine Spalte für den Wert:
    Csv-Datei:

    München Berlin London Wien

     

  2. Spalte 1 und 2 für Wert und ExternId

    Liste mit mehreren Spalten ohne Spaltenüberschriften (Spalte1: ExternId, Spalte2: Value):
    (Alle weiteren Spalten werden ignoriert)
    Csv-Datei:

    01;München 02;Berlin 03;London 04;Wien
  3. Weitere Spalten für zusätzlichen Eigenschaften (für Datenquelle filtern)

    Liste mit mehreren Spalten mit Spaltenüberschriften (mit Spaltenbezeichner "ExternId" und "Value" und zusätzlichen Eigenschaften).
    Alle Spalten werden als Eigenschaft in der Datenquelle hinterlegt. (die Reihnfolge der Spalten ist dabei egal).
    Csv-Datei:

    Land;Value;ExternId;Col4;Col5 de;München;01;2020; de;Berlin;02;2019; en;London;03;2018; at;Wien;04;2020;

Datei auslesen und Listeneinträge erstellen

  • Bei der Aktivität Textdatei auslesen gibt es die Option, eine Datei zeilenweise auszulesen. In diesem Fall wird als Ergebnis eine Liste von Strings zurückgegeben. Diese Liste kann direkt der Eigenschaft "Listeneinträge" übergeben werden.

  • Liegt ein String mit den Listeneinträgen vor, so kann dieser mittels Aktivität String aufteilen in eine Liste von Strings überführt werden. Als Trennzeichen wird hier z.B. "Environment.NewLine" oder die Konstante "Microsoft.VisualBasic.ControlChars.CrLf" angegeben.

 

2 Datenquelle aus einer DMS-Auswahlliste befüllen

Anforderung: Es sollen die Listeneinträge aus einem DMS-Attribut vom Typ “Auswahlliste” in eine WMS-Datenquelle übernommen werden.

Umsetzung:

  • DMS-Attribut bei den DMS-Zuordnungen auswählen

  • WMS-Datenquelle bei den WMS-Zuordnungen auswählen

  • Variable “oItemList“ vom Typ “List<String>” anlegen und initialisieren (die restlichen Variablen werden automatisch angelegt)

 

  • Mit der DMS-Aktivität “Stamdatenliste abrufen (DMS)” werden die Listeneinträge des DMS-Attributs abgerufen.

  • Diese müssen nun mit der “ForEach”-Aktivität in die String-Liste überführt werden.
    Bei dieser Aktivität ist zu beachten, dass der Datentyp auf “WmsAccObject” umgestellt wird (steht standardmäßig auf “Int32”)

  • Innerhalb der “ForEach”-Aktivität wird Anhand der “Add to collection”-Aktivität die String-Liste aufgebaut.
    Auch hier muss der Datentyp auf “String” angepasst werden.

  • Nun können die Listeneinträge mit der Aktivität “Datenquelle synchronisieren” übernommen werden.

Hinweise

Einträge löschen

Wenn ein Eintrag anhand der ExternId (bzw. des Wertes) nicht gefunden wird, dann wird der Auswahllisteneintrag gelöscht. Sofern der Eintrag in einer Aufgabe verwendet wird, wird der Eintrag nur logisch gelöscht. Wenn er nicht verwendet wird, wir er aus der Datenbank entfernt.

Verwandte Themen