Neu Auftragsimport CSV automatisch

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
Vielen Dank! Was noch nicht so ganz klar wird ist folgendes:

- Was passiert wenn die CSV Dateien immer "andere" Dateinamen haben, z.b. fortlaufende externe Bestellnummer?
- Was passiert nach dem Import? Wird die Datei verschoben?
- Wie viele CSV lassen sich damit importieren? Eine Datei pro Minute?
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Mit einer angepassten Batchdatei kannst Du viele Dinge realiseren:
  • z. B. alle Dateien nacheinander importieren, die einem Filter wie aufträge*.txt entsprechen,
  • nach dem Import die Datei löschen oder verschieben,
usw.
Hier bekommst Du evtl. eine Idee, was möglich ist: https://guide.jtl-software.de/Drops...tomatisieren#Schritt_2:_Batch-Datei_erstellen
(Da werden die Daten exportiert, aber die for-Schleifen wären das Mittel der Wahl wenn Du mehrere Dateien mit ähnlichen Namen importieren möchtest.)
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
vielen dank für den Hinweis...wenn man so gar nicht weiß wie es geht, wäre eine kurze Erläuterung klasse :) Sorry!

Wir haben Bestelldaten Datei auf
c:\temp\auftraege\Bestellnummer-0001.csv
c:\temp\auftraege\Bestellnummer-0002.csv
c:\temp\auftraege\Bestellnummer-0003.csv
liegen. Wie muss die Batchdatei dann aussehen? Gibt bestimmt den ein oder anderen der sich auch über eine Info freut.

Guten Rutsch ins neue Jahr und danke für eine Info wenn ihr Zeit findet.
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Ich habe folgende Datei unter c:\temp gespeichert:
Code:
cd c:\temp\auftraege
for %%f in (*.csv) do type %%f

Das macht nichts anderes, als die einzelnen Dateien nacheinander auszugeben (type):
Code:
c:\TEMP>for-demo.bat

c:\TEMP>cd c:\temp\auftraege

c:\TEMP\auftraege>for %f in (*.csv) do type %f

c:\TEMP\auftraege>type Bestellnummer-0001.csv
Bestellnummer-0001

c:\TEMP\auftraege>type Bestellnummer-0002.csv
Bestellnummer-0002

c:\TEMP\auftraege>type Bestellnummer-0003.csv
Bestellnummer-0003

c:\TEMP\auftraege>

Mit einem "move" könnte man die Dateien dann am Ende noch in ein anderes Verzeichnis verschieben.
 

ninoboender

Gut bekanntes Mitglied
3. August 2014
174
1
COOL! vielen dank! wo würde das Move hinkommen? Macht ja Sinn! Irgendwie ist aber immer noch nicht ganz klar wie die vollständige Bat aussehen soll oder? Tut mir leid das ich so auf dem Schlauch stehe...
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Du musst die Vorlage noch editieren, Passwort anpassen, Unterverzeichnis "imporiert" erstellen, usw. (ungetestet)

Code:
cd c:\temp\auftraege
for %%f in (*.csv) do C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe --server=(LOCAL)\JTLWAWI --database=EAZYBUSINESS --dbuser=SA
 --dbpass=sa04jT14 --templateid=IMP01 --inputfile=%%f
move *.csv importiert
 

Puffi

Gut bekanntes Mitglied
28. November 2014
207
6
Hallo zusammen,
wir spielen mit untenstehenden Code die Auftrags .csv Dateien von einem FTP Laufwerk automatisch in die WAWI ein. Funktioniert auch sehr gut, wenn der Dateiname keine Leerzeichen beinhaltet.
Also z.B. die Datei "Testdatei.csv" wird anstandslos runtergeladen und auch eingespielt.
Hat die Datei aber Leerzeichen, z.B. "Testdatei 1.csv" dann wird diese zwar vom FTP Laufwerk runtergeladen, aber dann passiert nichts mehr.
Konkret bleibt der Import bei der Zeile bereits hängen:
for %%f in (*.csv) do type %%f

Wie muss der Code bitte ausschauen, damit auch Dateien mit Leerzeichen eingespielt werden?
LG,
Andreas


Code:
@echo off
rem Pfad zum Autoimportordner festlegen:
cd c:\Autoimport

rem runterladen der neuen CSV:
ftp -s:c:\JTL_Datentransfer\LIEFERANT.ftp

for %%f in (*.csv) do type %%f

rem Auftrag per Ameise einspielen:
for %%f in (*.csv) do "C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=HP-Server\JTLWAWI --database=Mandant_1 --dbuser=SA --dbpass=****** --templateid=IMP4 --inputfile=%%f

rem Datei unbenennen in Gesichert(Datum+Uhrzeit).csv
for /f %%i in ('dir /b C:\Autoimport\*.*') do @ren C:\Autoimport\%%i Gesichert_%date%-%time:~0,2%_%time:~3,2%_%time:~6,2%%%i

rem eingespielte .csv Datei in den Autoimport_Sicherung Ordner verschieben:

move *.csv c:\Autoimport_Sicherung\

exit
 
Zuletzt bearbeitet:

Puffi

Gut bekanntes Mitglied
28. November 2014
207
6
Hallo,
leider nein, siehe Meldung:
Code:
"%%f" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Hast Du mal versucht, eine Datei mit Leerzeichen ohne den ganzen Schleifenkram mit einer Batchdatei zu importieren?

Code:
C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=HP-Server\JTLWAWI --database=Mandant_1 --dbuser=SA --dbpass=****** --templateid=IMP4 --inputfile=Testdatei 1.csv
bzw. dann mal:
Code:
C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=HP-Server\JTLWAWI --database=Mandant_1 --dbuser=SA --dbpass=****** --templateid=IMP4 --inputfile="Testdatei 1.csv"
 

Puffi

Gut bekanntes Mitglied
28. November 2014
207
6
Konkret bleibt der Import bei der Zeile bereits hängen:
Code:
for %%f in (*.csv) do type %%f

Wenn ich die Datei manuell einspiele, funktioniert es. Über die Batch Datei eben nicht.
Jetzt habe ich die Idee, das ich nach dem runterladen der Datei(en) diese einmal unbennen.
Z.B. in Auftrag1_22_02.CSV, Auftrag2_22_02.CSV, eben so viele Dateien runtergeladen wurden beim aktuellen Transfer.
Nur fehlt mir die Idee für den code dazu.
]
 
Zuletzt bearbeitet:

Puffi

Gut bekanntes Mitglied
28. November 2014
207
6
Ich werde nochmals versuchen mein Problem zu erklären. Ich glaube, das ich mich vorher nicht ganz klar ausgedrückt habe. :rolleyes:
Per ftp script werden 1 oder auch mehrere csv Dateien gleichzeitig, mehrmals täglich von einem FTP Server auf den lokalen Server auf "c:\Autoimport" kopiert, und anschliessend werden die Dateien auf dem FTP Server gelöscht. Das funktioniert auch sehr gut.

Die Files haben immer unterschiedliche Namen, leider auch immer wieder mit Leerzeichen. Die Endung der Dateien ist aber immer .csv

FTP script:
Code:
ftp
Server: ftp******
Username: ******
Passwort:*******
bin
prompt no
mget *.csv
mdel *.csv
by

Als nächsten Schritt möchte ich die neu heruntergeladenen Dateien unbennen. Und zwar im Format "AUFTRAG_Datum_Uhrzeit_Fortlaufende Nummer.csv
Also z.B.:
AUFTRAG_24022018_1010_1.csv
AUFTRAG_24022018_1010_2.csv

Wenn mir das gelingt, dann sind alle folgenden Probleme damit gelöst. :) Ich habe nur die Probleme, weil mache Files eben Leerzeichen im Namen haben.

Im nächsten Schritt lasse ich mir die verschiedenen Files ausgeben:
Code:
for /f "delims=" %f in ("*.csv") do type "%f"
Als nächster Schritt erfolgt das einspielen der Files per Ameise:
Code:
for %%f in (*.csv) do "C:\Program Files (x86)\JTL-Software\JTL-wawi-ameise.exe" --server=HP-Server\JTLWAWI --database=Mandant_1 --dbuser=SA --dbpass=****** --templateid=IMP4 --inputfile=%%f
Als nächsten Schritt möchte ich den eingespielten Files ein "Gesichert" vorne dranhängen:
Code:
for /f "delims=" %%i in ('dir /b C:\Autoimport\*.*') do @ren C:\Autoimport\%%i Gesichert_%%i
Hier habe ich das Problem, das immer nur eine Datei ohne Leerzeichen umbenannt wird. Sobald eine Datei ein Leerzeichen dabei hat folgt ein "Syntaxfehler" :confused:

Als letzter Schritt soll die eingespielte .csv Datei(en) in den "Autoimport_Sicherung" Ordner verschoben werden:
Code:
move *.csv c:\Autoimport_Sicherung\

Also wenn jetzt jemand die Lösung hätte, das ich die runtergeladenen Files wie beschrieben unbennen lassen könnte, wäre mir seeeeeehr damit geholfen. ;)

LG,
Andreas
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
Falsche Lieferadresse bei Auftragsimport JTL-Wawi 1.9 4
Neu Plugin-Idee: Überkäufe Lieferantenbestände & Lieferzeiten (API/CSV/XML) in Shop & Wawi Plugins für JTL-Shop 2
Neu Falsche URL in Exportformat CSV Schnittstellen Import / Export 4
Neu Mittels Ameise Aufträge aus 2 einzelnen CSV Dateien erstellen Schnittstellen Import / Export 5
Neu Zahlungsimport über CSV ... Ausgangszahlung ? JTL-Wawi - Fehler und Bugs 0
Seiten Aktualisieren sich nicht mehr automatisch beim seit einigen Updates JTL-Wawi 1.11 4
Neu Lieferstatus geht automatisch in Lieferschein erstellt Arbeitsabläufe in JTL-Wawi 1
Artikel nicht automatisch für Verkaufskanal aktivieren JTL-Wawi 1.10 2
Neu eBay-Angebote: Herstellernummer wird automatisch auf 'Nicht zutreffend' gesetzt - wie verhindern? eBay-Anbindung - Fehler und Bugs 0
Neu Auftrag automatisch nach Bestellung geht nicht Arbeitsabläufe in JTL-Wawi 2
JTL POS , Selbstabholung, Ausliefern automatisch JTL-Wawi 1.10 8
OnePageComposer - diverse HTML-Tags werden aus Richtext automatisch gelöscht Einrichtung JTL-Shop5 4
Amazon Retouren automatisch in Wawi anlegen JTL-Wawi 1.10 3
Rückerstattung wenn Zahlung nicht automatisch sondern manuell zugewiesen worden sind JTL-Wawi 1.9 0
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Neu Bei Mahnlauf automatisch speichern Arbeitsabläufe in JTL-Wawi 2
Neu Automatisch generierte Eigene Felder PAYPAL_FUNDING_SOURCE und AmazonPay-Referenz User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL-WMS + eazyShipping: Versandart & Gewicht automatisch beim Scan (Stücklisten) Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Variationsartikel – Artikelbeschreibung vom Vater automatisch in Kinder übernehmen? JTL-Wawi 1.10 2
Neu Workflow: Musterbestellungen (0 € Gesamtbruttowert) automatisch ausliefern lassen User helfen Usern - Fragen zu JTL-Wawi 0
Zahlungseingang XML File automatisch abgleichen JTL-Wawi 1.10 0
Artikel im Auftrag nicht verschiebbar. Freiposition automatisch gesetzt in jedem Auftrag als 1. Position. JTL-Wawi 1.10 1
Klarna - Zahlung wird in JTL nicht automatisch gesetzt / "zu erfassen" im Klarna-Dashboard JTL-Wawi 1.10 3
Neu Workflow automatisch alle 2 Stunden ausführen – Prüfung auf voraussichtliches Lieferdatum User helfen Usern - Fragen zu JTL-Wawi 11

Ähnliche Themen