Neu Dropshipping Lieferantenbestellung per FTP, Cloud oder andere Lösung?

mansch

Aktives Mitglied
12. Juni 2022
15
1
Hallo zusammen,

ich möchte die Lieferantenbestellungn exportieren und an anderer Stelle auf einem anderen Computer weiterverarbeiten. Hier wird der Anwendungsfall gut beschrieben: https://guide.jtl-software.com/jtl-...ping-automatisieren/#via-ftp-upload-bestellen

Erstmal wäre die Frage interessant, welche Lösung ihr empfehlen würdet? Die Dateiübertragung per FTP, per Cloud-Sync oder eine andere Lösung?

Aktuell habe ich es mit folgendem Batch-Skript versucht (nahezu das aus dem Guide). Das scheint aber nicht ganz zu laufen: Manchmal werden zwei Dateien in den Ordner "Gesendet" kopiert aber nur eine Datei hochgeladen. Und ich muss das Skript immer zweimal hintereinander ausführen, damit überhaupt etwas passt. Im Forum gibt es auch vereinzelt Beiträge, die Probleme mit dem Skript haben und auch noch keine finale Lösung gefunden haben.

c:
cd "c:\temp\connect\ftp\Dropshipper"
REM Set vars
set server=SERVER
set user=USER
set password=PASSWORD
:TRYAGAIN
set csvCount=0
for %%f in (*.csv) do set csvCount=%csvCount%+1
echo %csvCount%
IF %csvCount%==0 GOTO NOTHINTODO
REM login
echo open %server%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo %user%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo %password%>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
del c:\temp\connect\ftp\Dropshipper\ausgabe.txt
REM execute stuff
echo cd Dropshipper>> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
for %%f in (*.csv) do echo put "c:\temp\connect\ftp\Dropshipper\%%f">> "c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo dir>>"c:\temp\connect\ftp\Dropshipper\temp.tmp"
echo bye>>"c:\temp\connect\ftp\Dropshipper\temp.tmp"
REM run the ftp script
ftp -s:"c:\temp\connect\ftp\Dropshipper\temp.tmp" >> "c:\temp\connect\ftp\Dropshipper\ausgabe.txt"
REM delete temp file
del "c:\temp\connect\ftp\Dropshipper\temp.tmp"
move "c:\temp\connect\ftp\Dropshipper\*.csv" "c:\temp\connect\ftp\Gesendet"
GOTO DONE
:NOTHINTODO
ping 192.0.0.0 -n 1 -w 1000
GOTO TRYAGAIN
:DONE

In Python bin ich wesentlich fitter und hatte schon überlegt das ganze in Python zu machen und dann über ein Batch-Skript aufzurufen. Das hat nur den Haken, dass auf dem Wawi-Server auch immer Python installiert sein muss.

Habt ihr eine Empfehlung für mich?

Vielen Dank!
 

Benjamin S.

Sehr aktives Mitglied
7. September 2021
119
30
Du könntest auch auf einem separaten (Linux) server dein Python script laufen haben welches per SQL deine Lieferantenbestellungen einliest, eine csv erstellt, diese per scp auf den Zielrechner kopiert und da nun per SSH den batch command für die Ameise anstößt.
Funktioniert überraschender Weise echt zuverlässig bei uns.
 
  • Gefällt mir
Reaktionen: mansch

mansch

Aktives Mitglied
12. Juni 2022
15
1
Danke für deine Antwort. Daran hatte ich auch noch nicht. Speichert ihr dann in einer zusätzlichen Tabelle, welche LB ihr schon mit dem Python Script abgeholt habt? Damit es zu keinen doppelten Verarbeitungen kommt.
Aktuell nutze ich noch die .csv Exporte der Lieferantenbestellung und lade sie dann auf einen anderen Server. Das klappt soweit auch gut.
 

Benjamin S.

Sehr aktives Mitglied
7. September 2021
119
30
Du kannst ja die Interne JTL ID der Lieferantenbestellung als Primary Key nutzen um Duplikate zu vermeiden.

Im Endeffekt passt ja jede Lösung soweit sie funktioniert. Mit Python & SQL hast du etwas mehr Freiheit in der Gestaltung.
Du könntest z.B. alle bereits abgeholten Bestellungen loggen und diese dann aus deinem Dataframe entfernen falls diese im Log sind.