Wechseln zu: Navigation, Suche

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

Wird JTL-Ameise ohne Parameter (z.B. aus JTL-Wawi heraus) gestartet, so startet die Version mit grafischer Oberfläche. Wird mindestens ein Parameter angegeben, so startet die CMD-Line Version von JTL-Ameise:

CMD Line Ameise cmd.png

Folgende Optionen stehen dann zur Verfügung:

JTL-Ameise 0.966 (c) 2013 JTL-Software-GmbH
Start von JTL-Ameise ohne Parameterangabe öffnet die GUI Version

Pflichtparameter
 -s, --server=SERVER         Datenbankverbindung wird zu SERVER hergestellt
 -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

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://wiki.jtl-software.de

Die CMD-Line Version arbeitet auf Import- bzw. Exportvorlagen, die vorher in der grafischen Benutzeroberfläche erstellt werden müssen. Jede Vorlage hat eine eindeutige ID, die sowohl beim Laden als auch im Speichern Fenster angezeigt wird:

Jtl-ameise-import-cmd-line.png

Um einen Import erfoglreich 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 erfoglreich 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 oderSonderzeichen 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 Tutorial 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

Sofern 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. Sofern Sie diese Datei schon importiert haben und dafür bereits eine Importvorlage angelegt haben, fahren Sie mit dem Kapitel „FTP Skript“ fort. Sofern Sie noch keine Importvorlage angelegt haben, holen Sie dies bitte nach. Vergewissern Sie sich in jedem Fall das die FTP Zugangsdaten zur Lieferantenbestandsdatei noch aktuell sind.

Sie benötigen um Fortzufahren die Importdatei Ihres Lieferanten in CSV Format sowie die Zugangsdaten des vom Lieferanten bereitgestellten FTP Server.

  • 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 das Sie die vom Lieferanten bereitgestellte Artikeldatei bereits herunter geladen 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 Tutorials automatisiert werden. Legen Sie also zunächst eine Vorlage mit der herunter geladenen Datei an, sofern nicht bereits eine Vorlage vorhanden ist. Jede Vorlage in JTL-Ameise erhält wie oben beschrieben eine eindeutige Vorlagennummer. Bitte notieren Sie diese ID um fortzufahren.

Jtl-ameise-import-via-ftp.png

FTP Script oder wget

Wir benötigen um ein FTP Script anzulegen die FTP Daten Ihres Lieferanten und einen Texteditor wir 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 kleine Tool schnell konfiguriert ist bzw. keinerlei Firewall Freiganeb benötigt.

[wget Download]

wget wird in das Verzeichnis C:\Program Files (x86)\GnuWin32\bin>.

Wechseln Sie in das Verzeichnis per windows Eingabeaufforderung.

Der Aufruf ist denkbar einfach, zwei Beispiele:

Download per FTP

wget ftp://server.de/datei.csv --user="FTP-Benutzer" --password="FTP Passwort" (Bitte Anführungszeichen nicht vergessen)


Download per HTTP

wget http://server.de/datei.csv

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. Der Download beginnt sofort. Nachdem die Datei nun heruntergeladen wurde kann weiter im Punkt automatischer Batch Datei fortgefahren werden.

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 nichts anderes als eine aneinander Reihung von Windows Befehlen. Sofern diese 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 das die Datei nicht import.bat.txt heißt.

TIPP: Das Programm FTP muss beim ersten ausführen in der Windows Firewall freigegenen 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 nach einander ausführen.
@echo off - Es soll kein Text ausgegeben werden.
cd\ - Wechselt ins 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 herunter geladen.
C:\Program Files (x86)\JTL-Software\JTL-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. Sofern alles korrekt eingestellt wurde läd die Batch Datei zuerst die Lieferantendatei herunter und beginnt dann selbstständig den Importvorgang.

Windows Aufgabenplaner

Jetzt geht es darum den Importvorgang zu 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 Manuels 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. Das gute an xls2csv ist, dass Sie das Programm auch über ein batch-script einbinden können. Sie könnten also 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 kostenlos runterladen: http://download.cnet.com/XLS2CSV/3000-2079_4-10718456.html?tag=bc
(Achtung JTL-Software übernimmt keine Gewähr für die Benutzung von 3.Anbieter Software. Bitte sichern Sie Ihre Dateien immer bevor Sie Programm automatisiert Änderungen vornehmen lassen.)
Hier ein Beispiel für eine Batchdatei, die eine XLS Datei umwandelt(also ohne Aufruf der grafischen Benutzeroberfläche):

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.