templates/CMS_VALUE[11] templates/CMS_VALUE[11]

CSV-Syncer: Appendix für „Techniker“

Konfigurations-Einstellungen

Basis-Konfiguration

 

Konfiguration Kommentare
  accountName=my@account.de Kontoname Ihres Netzwerkkontos  
 

 

 

 

  accountPassword=myPassword1234 Passwort Ihres Netzwerkkontos  
 

 

 

 

  credential=xxxxxxxxxx

Ihr API-Key

Kontaktieren Sie uns per Email und bitten Sie um einen API-Zugriff. Dafür benötigen wir Ihren Speedy Netzwerk-Kontonamen. (Schreiben Sie uns nicht ihr Passwort!) Sie bekommen von uns dann umgehend den API-Key via Email (“credential string”).
 
 

 

 

 

  serverAddress=https://kassenspeicher.de/server/service Fixe Server-Adresse. Übernehmen Sie den Eintrag wie angegeben.  
 

 

 

 

 

syncInterval=600

Synchronisationsintervall in Sekunden (z.B.: 600 = 10 Minuten).
Optionaler Parameter; default = 0.

Mögliche Werte:
0, leer oder ungültiger Eintrag: der Syncer läuft nur einmalig und wird manuell gestartet.
0 – 30: nicht erlaubt. Das Minimum liegt bei 30 Sekunden.
Mehr als 30: der Syncer läuft permanent im definierten Intervall.
 

 

Konfiguration für den Export von Daten (“CSV output - receiving data ”)

Die folgenden Konfigurations-Optionen bestimmen den Export der CSV-Dateien. Der Syncer exportiert nur die Daten, welche hier spezifiziert sind. Wenn Sie unter “outputPath” keine Dateien hinterlegen, werden keine Daten exportiert.

Konfiguration Kommentare
 

outputPath=c:/temp/output/products;sd_productgroups

outputPath=c:/temp/output/products;sd_products

outputPath=c:/temp/output/customers;sd_customergroups

outputPath=c:/temp/output/customers;sd_customers

usw.
Gibt an, welche Serverdaten vom Netzwerkkonto in welches Verzeichnis exportiert werden sollen.
Die Dateinamen finden Sie im Syncer-Handbuch.
Der Pfadname kann absolut oder relativ angegeben werden.
 

 

Konfiguration für den Import von Daten (“CSV input - sending data”)

Konfiguration Kommentare
 

inputPath=c:/temp/input/products;sd_products

inputPath=c:/temp/input/customers;sd_customers

usw.

Legt fest, welche Daten (Dateinamen siehe Syncer-Handbuch) zum Netzwerkkonto geschickt werden. Für jede Tabelle muss ein eigenes Verzeichnis eingetragen sein.

Der Dateiname ist beliebig.
Wichtig: Wenn neue Daten gesendet werden, muss eine neue CSV-Datei erzeugt werden. Ändern Sie hier keine bestehenden CSV-Dateien! Wir empfehlen, im Dateinamen einen Zeitstempel aufzunehmen, um sicherzustellen, dass die Namen eindeutig sind.
 
 

 

 

 

  successfullyTransmitted=c:/temp/transmitted Erfolgreich übernommene Dateien werden in dieses Verzeichnis abgelegt.  
 

 

 

 

  notTransmitted=c:/temp/failed Im Falle einer fehlerhaften Verarbeitung (durch fehlerhafte Daten) werden die Dateien in dieses Verzeichnis abgelegt. Bitte prüfen Sie in diesem Fall das „Fehler-Log“ (im Verzeichnis des Syncers).  
 

 

 

 

  removeAfter=1440

Optional: Zeit in Minuten.
Erfolgreich verarbeitete CSV-Dateien (welche in das Verzeichnis für „successfullyTransmitted“ abgelegt werden), werden automatisch nach der hier angegebenen Zeit gelöscht.

Mögliche Werte:
0: Dateien werden nie gelöscht
> 0: jeder beliebige Wert in Minuten
Wenn der Parameter weggelassen wird, werden die Dateien automatisch nach 1440 Minuten (24h) gelöscht.
 

 

Weitere Konfiguration

Für die Feinsteuerung stehen folgende Optionen zur Verfügung:

Konfiguration Kommentare
  accountPasswordB=bXlQYXNzd29yZDEyMzQh

Optionales, base64-kodiertes Passwort (accountPasswordB) für Ihren Speedy Server-Account. Kann alternativ zum accountPassword ("Passwort im Klartext", s. Basis-Konfiguration oben) verwendet werden.

Hierbei handelt es sich zwar nicht um eine sichere Verschlüsselung, jedoch kann das Passwort nicht so einfach gelesen werden.
 
 

 

 

 

  selectLimit=100

Optional; default = 500.
Möglicher Wertebereich:  1-500.

Der Syncer liest nur die hier angegebene Anzahl von Datensätzen je Datei vom Netzwerkserver. Die erzeugte CSV-Datei kann nicht mehr Einträge haben, als die hier angegebene Anzahl.
 
 

 

 

 

  logMode=E

Optional; default = E.
Der Parameter bestimmt, welche Meldungen (Fehler und / oder Warnungen) in das Logfile geschrieben werden.

Mögliche Werte:
E: Nur Fehler
W: Fehler und Warnungen
I: Fehler, Warnungen und Informationsmeldungen
D: “Debug”-Modus: Jede Meldung wird erfasst. Darf nicht im Tagesgeschäft verwendet werden.
 

 

Tipps und Tricks

 

CSV-Format

CSV-Dateien müssen den folgenden Konventionen folgen:

  • Spalten werden durch Semikolons getrennt (";")
  • Textfelder werden in Anführungszeichen gesetzt (Bsp.: “Text”).
  • Jeder Datensatz bekommt eine eigene Textzeile, gefolgt von einem Zeilenumbruch („line break“).
  • Die Reihenfolge der Spalten ist variabel, d.h. kann sich ändern! Verlassen Sie sich nicht auf eine bestimmte Spaltennummer. Wenn Sie das File „parsen” bzw. lesen, interpretieren Sie den Inhalt über den Namen der Kopfzeile (erste Zeile), nicht über die Spaltennummer.
  • Die Spaltenamen sind fix.

 

Synchronisationsmodus: Kompletter Austausch/Sync vs. Delta Austausch/Sync

Der CSV-Syncer liest nur die Datensätze vom Netzwerkkonto, die geändert wurden.
Beispiel: Sie ändern den Preis von drei Produkten in Kasse Speedy. Das bedeutet, dass der CSV-Syncer ein CSV-File mit drei Einträgen erzeugt. Dies entspricht dem „delta-sync“ Verfahren – nur Änderungen werden übertragen.

Das Kriterium für die geänderten Datensätze ist der Zeitstempel, welcher in der Datei „cache.txt“ hinterlegt ist. Es werden nur die Datensätze übertragen, deren Änderungsdatum jünger als dieser Zeitstempel ist.

Wenn Sie die Datei „cache.txt“ löschen, erzwingen Sie einen „full sync“, d.h. kompletten Datenaustausch. In diesem Fall werden alle Daten vom Netzwerkkonto gelesen und übertragen.

 

Erster Sync / Komplett-Datenaustausch dauert sehr lange

Wenn Sie den ersten Sync-Zyklus durchführen (bzw. diesen über das Löschen der Datei „cache.txt“ erzwingen), kann es verhältnismäßig lange dauern, bis alle Daten vom Netzwerkkonto empfangen werden. Dies ist abhängig von zwei Einstellungen: “selectLimit” und “syncInterval”

Beispiel: In der Datei für Produkte ("sd_products") befinden sich 1.000 Produkte (inkl. aktiver, versteckter und gelöschter Produkte). Für das „selectLimit“ ist „100“ hinterlegt, für das „syncInterval“ ist „60“ hinterlegt.
Das bedeutet, dass der Datentransfer 10 Minuten dauert um alle 1.000 Produkte zu laden: 1000 / 100 * 60 = 600 Sekunden = 10 Minuten.

 

Optional: Übergabe des Änderungszeitstempels beim Import von Daten

In jeder CSV-Datei können Sie eine Spalte für den Änderungszeitstempel “ChangedDateTimeUTC” übernehmen. Damit setzen Sie das Änderungsdatum eines Datensatzes unabhängig vom Importzeitpunkt. Wenn Sie diese Spalte weglassen, verwendet das System als Änderungszeitstempel den aktuellen Zeitstempel des Imports.

 

Änderungen der Syncer Konfiguration

Der Syncer liest die Konfiguration am Anfang jedes Sync-Zyklus. Wenn Sie die Konfiguration ändern, müssen Sie den Syncer NICHT stoppen und erneut starten. Solche Änderungen werden automatisch beim nächsten Sync berücksichtigt.

 

Problem mit Microsoft Excel

Wenn Sie ein CSV-File mit Microsoft Excel® öffnen, kann es zu Problemen bei der Darstellung von numerischen Werten kommen:

  • Große Zahlen werden in das Format “Floating Point” / "Expotentialdarstellung” umgewandelt (z.B. "1,2345E12").
  • Führende Nullen werden unterdrückt (z.B. bei Telefonnummern oder Postleitzahlen).

Hierbei handelt es sich um Probleme von Excel, nicht um CSV-Probleme. Um dieses Problem zu umgehen, haben Sie folgende Möglichkeiten:

templates/CMS_VALUE[11]