CMD-Line-Version von JTL-Ameise
JTL-Ameise kann auch über die Kommandozeile gesteuert werden. Dadurch ist die grafische Oberfläche nicht mehr notwendig und somit werden Automatismen möglich – etwa über den Windows-Aufgabenplaner.
Kommandozeile-Optionen von JTL-Ameise
Wenn JTL-Ameise ohne Parameter (z.B. aus JTL-Wawi heraus) gestartet wird, startet die Version mit grafischer Oberfläche. Wenn mindestens ein Parameter angegeben wird, startet die CMD-Line-Version von JTL-Ameise:
Folgende Optionen stehen dann zur Verfügung:
JTL-Ameise 0.984 (c) 2019 JTL-Software-GmbH
Start von JTL-Ameise ohne Parameterangabe öffnet die GUI Version
Pflichtparameter
-s, --server=SERVER Datenbankverbindung wird zu SERVER hergestellt
-w, --wawiprofile=WAWIPROFILE Das Wawi Profile zum Sql Server
-d, --database=DATABASE Datenbank DATABASE wird angesprochen
Datenbanknamen anderer Mandanten sind
im Menü JTL-Wawi -> Mandanten zu finden.
-u, --dbuser=USER Datenbankverbindung wird mit USER erstellt
-p, --dbpass=PASSWORD Passwort des Datenbankbenutzers
-t, --templateid=ID Import/Exportvorlage mit dieser ID wird genutzt
-i, --inputfile=FILE Importdatei. Pflicht, wenn importiert wird
-o, --outputfile=FILE Exportdatei. Pflicht, wenn exportiert wird
Optionale Angaben, falls nicht angegeben gilt der Wert mit (Std) dahinter
--mode=MODE 'test' oder 'production' = Produktivmodus (Std)
--loglevel=NUM 1 = ausführlich (Std)
3 = Kompakt
5 = Nur Fehler/Warnungen
--log=FILE Logdatei für Hauptbericht
--log_errors=FILE Logdatei für Fehler
--log_warnings=FILE Logdatei für Warnungen
--log_imported=FILE Logdatei für importierte Datensätze
--log_updated=FILE Logdatei für aktualisierte Datensätze
--log_other=FILE Logdatei für Sonstiges
--csv_errors=FILE Datei, die fehlerhafte Datensätze enthalten soll
--csv_warnings=FILE Datei, die Datensätze mit Warnungen enthalten soll
--nostdout Keine Konsolenausgabe
--no_workflows Es werden keine Workflows ausgeführt
--writeLogAtEnd Für eine höhere Importgeschwindigkeit werden die Logdateien erst am Ende des Imports geschrieben.
Daher ist bei einem Absturz / Abbruch des Imports nicht gewährleistet, dass Logdateien erstellt werden.
In Dateinamen FILE können folgende Variablen verwendet werden:
%y Jahr, %m Monat, %d Tag, %H Stunde, %i Min, %s Sek
%db Datenbank, %id VorlagenID
Bitte beachten, dass % in Batch Dateien zu %% gewandelt werden müssen.
Beispiel 1
JTL-wawi-ameise.exe -s (local)\JTLWAWI -d eazybusiness -u sa -p sa04jT14 -t IMP3 -i import.csv
Beispiel 2
JTL-wawi-ameise.exe server=(local)\JTLWAWI --database=eazybusiness --dbuser=sa --dbpass=sa04jT14 --templateid=IMP5 --inputfile=import.csv --log="bericht_%db_%y%m%d-%H%i%s.txt"
Weitere Dokumentation siehe http://guide.jtl-software.de/
Die CMD-Line-Version arbeitet mit Import- bzw. Exportvorlagen, die vorher in der grafischen Benutzeroberfläche erstellt werden müssen. Jede Vorlage hat eine eindeutige ID, die im Fenster sowohl beim Laden als auch beim Speichern angezeigt wird.
Um einen Import erfolgreich durchzuführen, sind folgende Angaben in der CMD-Line Version nötig:
Datenbankverbindung (-s, -d, -u, -p)
VorlagenID (-t)
Die zu importierende CSV Datei (-i)
Die Vorlage steuert einerseits was importiert wird (Artikeldaten, Bilder, Kundendaten, usw.), andererseits ist in der Vorlage hinterlegt, welche Spalte der Datei mit welchem Datenbankfeld von JTL-Wawi verknüpft ist.
Um einen Export erfolgreich durchzuführen, sind folgende Angaben in der CMD-Line Version nötig:
Datenbankverbindung (-s, -d, -u, -p)
VorlagenID (-t)
Dateiname der Exportdatei (-o) - im Falle, dass die Vorlage Artikelbilder oder DATEV exportiert, muss dieser Parameter ein Verzeichnis enthalten
Standardmäßig gibt die Konsole den Import- bzw. Exportbericht direkt aus. Möchte man es nicht, so setzt man den Parameter --nostdout. Wir empfehlen grundsätzlich Logdateien schreiben zu lassen, um den Import- bzw. Exportvorgang jederzeit nachvollziehen zu können. Jegliche Dateinamenangaben (FILE) können Platzhaltervariablen enthalten: %y Jahr, %m Monat, %d Tag, %H Stunde, %i Min, %s Sek, %db Datenbank, %id VorlagenID.
Hinweis: Wenn Sie Parameter verwenden, die Leerzeichen oder Sonderzeichen verwenden, umschliessen Sie den Parameter mit doppelten Anfürhungszeichen (").
Einen Unterschied zwischen der Kurzschreibweise der Parameter zur Langversion gibt es nicht, d.h. -s <DBserver> ist gleichbedeutend mit --server=<DBserver>.
Alle Importvorlagen-IDs beginnen mit IMP, alle Exportvorlagen-IDs mit EXP.
Beispiele
"JTL-wawi-ameise.exe" -s (local)\JTLWAWI -d Mandant_2 -u sa -p sa04jT14 -t EXP1 -o "C:\Users\thomas\Documents\Mein Import Ordner mit
Leerzeichen\Artikel_Export_%y-%m-%d-%H-%i-%s.csv"
"JTL-wawi-ameise.exe" --server=(local)\JTLWAWI --database=eazybusiness --dbuser=sa --dbpass=sa04jT14 --templateid=IMP25 --inputfile=testImp.csv --
log=bericht_%db_%y-%m-%d-%H%i%s.txt --log_errors=lerrors.txt --log_warnings=lwarnings.txt --log_imported=limported.txt --log_updated=lupdated.txt --
log_other=lother.txt --csv_errors=errors.csv --csv_warnings=warnings.csv
Automatischer Import über FTP
In diesem Szenario erklären wir Ihnen, wie Sie mit JTL-Ameise über herkömmliche Windows-Funktionen komplette Importvorgänge automatisieren. Die Einrichtung bedarf Vorwissen im Umgang mit JTL-Ameise. Schaffen wir zunächst die Voraussetzungen.
Lieferanten Importdatei als CSV
Wenn Ihr Lieferant eine Liste mit Artikeldaten per FTP bereitstellt, besteht die Möglichkeit diese automatisch in selbstdefinierten Abständen zu importieren. Sie benötigen dazu die FTP Zugangsdaten zur bereitgestellten Datei Ihres Lieferanten. Wenn Sie diese Datei schon importiert haben und dafür bereits eine Importvorlage angelegt haben, fahren Sie mit dem Kapitel „FTP Skript“ fort. Wenn Sie noch keine Importvorlage angelegt haben, holen Sie dies bitte nach. Vergewissern Sie sich in jedem Fall, dass die FTP Zugangsdaten zur Lieferantenbestandsdatei noch aktuell sind.
Sie benötigen die Importdatei Ihres Lieferanten in CSV Format, sowie die Zugangsdaten des vom Lieferanten bereitgestellten FTP Server, um fortzufahren.
Beispieldaten im CSV Format:
Artikelnummer;Artikelbezeichnung;Lieferantenbestand;
5456464;Zu importierender Artikel 1;10;
5456463;Zu importierender Artikel 2;55;
5456462;Zu importierender Artikel 3;123;
5456461;Zu importierender Artikel 4;15;
5456460;Zu importierender Artikel 5;12;
FTP Zugangsdaten
Serverpfad: (Beispiel: jtl-software.de)
Benutzername: (Beispiel: benutzer1)
Passwort: (Beispiel: passwort1)
JTL-Ameise Vorlage
Wir gehen davon aus, dass Sie die vom Lieferanten bereitgestellte Artikeldatei bereits heruntergeladen haben. Damit nun ein automatischer Importvorgang mit dieser Datei ermöglicht werden kann, muss zunächst eine Importvorlage in JTL-Ameise angelegt werden. Diese Importvorlage kann beispielsweise dazu dienen Lieferantenbestände automatisiert zu pflegen. Natürlich kann jeder Importvorgang anhand dieses Szenario automatisiert werden. Legen Sie also zunächst eine Vorlage mit der heruntergeladenen Datei an, wenn nicht bereits eine Vorlage vorhanden ist. Jede Vorlage in JTL-Ameise erhält eine eindeutige Vorlagennummer. Bitte notieren Sie diese ID, um fortzufahren.
FTP Script oder wget
Wir benötigen, um ein FTP Script anzulegen, die FTP Daten Ihres Lieferanten und einen Texteditor, wie beispielsweise Notepad ++.
Erstellen Sie eine neue Datei mit Hilfe des Editors mit folgendem Inhalt. Ergänzen Sie alle GROSS geschriebenen Texte mit den Zugangsdaten zum FTP Ihres Lieferanten.
open FTPADRESSEDESLIEFERANTEN.de
BENUTZERNAME
PASSWORT
bin
get LIEFERANTENDATEI.csv
by
Speichern Sie die Datei mit der Endung .ftp ab. Beispiel: lieferant.ftp
Automatischer Import mit wget per FTP oder HTTP
wget für Windows ist ein kostenfreies Linux nachempfundenes Tool, welches das Herunterladen aus diversen Quellen ermöglicht. Zunächst müssen Sie wget herunterladen und installieren. Der Einsatz von wget empfiehlt sich, da das Tool schnell konfiguriert ist bzw. keinerlei Firewallfreigaben benötigt.
Das Tool „wget“ wird in das Verzeichnis C:Program Files (x86)GnuWin32bin> installiert.
Wechseln Sie in das Verzeichnis per Windows-Eingabeaufforderung.
Der Aufruf ist einfach, zwei Beispiele:
Download per FTP
wget ftp://server.de/datei.csv --user="FTP-Benutzer" --password="FTP Passwort" (Bitte Anführungszeichen nicht vergessen)
oder mit Benutzername und Passwort:
wget http://server.de/datei.csv --user="HTTP-Benutzer" --password="HTTP-Passwort" (Bitte Anführungszeichen nicht vergessen)
Egal für welche Methode Sie sich entscheiden, wird der Download sofort starten. Nachdem Sie die Datei heruntergeladen haben, können Sie weiter im Punkt automatischer Batch-Datei fortfahren.
Batch-Datei
Um den nächsten Schritt auszuführen, haben Sie bereits vorbereitend eine Importvorlage in JTL-Ameise angelegt und ein FTP Script erstellt.
Wir müssen nun eine sogenannte Stapelverarbeitungsdatei (Batch-Datei) erstellen. Eine Batch-Datei ist eine Aneinanderreihung von Windows-Befehlen. Wenn diese Befehle untereinander geschrieben werden, wird jede Zeile als Befehl nacheinander ausgeführt.
Um eine Batch-Datei zu erstellen, öffnen Sie wieder einen Texteditor Ihrer Wahl. (z.B: Notepad ++). Fügen Sie nun folgenden Inhalt in das Textfeld ein. Achten Sie darauf GROSS GESCHRIEBENE Worte mit Ihren Inhalten zu füllen.
@echo off
cd\
C:
cd IHRVERZEICHNIS
ftp -s:LIEFERANT.ftp (sofern Sie mit wget arbeiten, die wget Kommandozeile statt ftp skript eintragen.)
"C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=(LOKAL)\JTLWAWI --database=EAZYBUSINESS --dbuser=SA
--dbpass=sa04jT14 --templateid=IMP01 --inputfile=LIEFERANTDATEI.csv
exit
Speichern Sie die soeben erzeugte Datei mit dem Namen „import.bat“ ab. Achten Sie darauf, dass die Datei nicht import.bat.txt heißt.
TIPP: Das Programm FTP muss beim ersten Ausführen in der Windows-Firewall freigegeben werden.
Mit Hilfe dieser Stapelverarbeitungsdatei werden folgende Befehle nacheinander ausgeführt. Natürlich können Sie diese Befehle auch manuell in der Comand Line von Windows nacheinander ausführen.
@echo off – Es soll kein Text ausgegeben werden.
cd – Wechselt in das Hauptverzeichnis Ihres PCs.
cd IHRVERZEICHNIS – Legen Sie ein Verzeichnis unter Laufwerk C an. Tragen Sie den Namen des Verzeichnis statt IHRVERZEICHNIS ein.
ftp -s:lieferant.ftp – Das soeben erstellte FTP Skript wird geladen. Die Lieferantenimportdatei wird in das zuvor angegebene Verzeichnis heruntergeladen.
C:Program Files (x86)JTL-SoftwareJTL-wawi-ameise.exe –server=(local)JTLWAWI –database=eazybusiness –dbuser=sa –dbpass=sa04jT14 –templateid=IMP01 –inputfile=LIEFERANT.csv – JTL-Ameise wird gestartet und beginnt den Importvorgang mit der unter „inputfile“ angegebenen Datei.
Sie können nun per Doppelklick die Batch-Datei ausführen. Wenn alles korrekt eingestellt wurde, lädt die Batch-Datei zuerst die Lieferantendatei herunter und beginnt dann selbstständig den Importvorgang.
Windows-Aufgabenplaner
Sie können den Importvorgang jetzt automatisieren. Erstellen Sie dafür eine Windows-Aufgabe im Windows-Aufgabenplaner.
Im Windows-Aufgabenplaner wird lediglich die soeben erstellte Batch-Datei zu Ihren im Windows-Aufgabenplaner hinterlegtem Intervall ausgeführt. Eine Beschreibung wie der Windows-Aufgabenplaner funktioniert, finden Sie in den Microsoft Manuals oder unter folgendem Link: WinFAQ
Umwandeln von XLS Dateien in CSV Dateien
Zum Umwandeln von XLS Dateien in CSV Dateien empfehlen wir das kostenlose Tool „xls2csv“ von Zoom Technology. Das Programm hat eine kleine grafische Benutzeroberfläche, in der Sie zuerst eine Quelldatei, also die XLS Datei, auswählen und dann die Zieldatei angeben, also die CSV Datei. Sie müssen also ggf. vor der Umwandlung eine neue CSV Datei anlegen. Der Vorteil an xls2csv ist, dass Sie das Programm auch über ein Batch-script einbinden können. Sie könnten mit den oben genannten Schritten voll automatisiert per FTP eine Lieferantendatei im XLS Format herunterladen, dann mit xls2csv umwandeln und dann mit JTL-Ameise importieren. xls2csv können Sie hier herunterladen: http://download.cnet.com/XLS2CSV/3000-2079_4-10718456.html?tag=bc
Ein Beispiel für eine Batch-Datei, die eine XLS Datei umwandelt, finden Sie hier:
echo off
xls2csv.exe lieferantendatei.xls lieferantendatei.csv -q
Das „-q“ sorgt hier dafür, dass keine Rückmeldungen vom Programm kommen und Sie so weitere Befehle in die Batchdatei einbinden können.