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 |
---|---|---|---|
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. | Bool | |
Gelöschte Einträge wiederherstellen | Kennzeichen, ob bereits vorhandene, jedoch logisch gelöschte Einträge wieder hergestellt werden sollen. | 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).
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
Eine Spalte für den Wert:
Csv-Datei:München Berlin London Wien
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
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