Diese Anforderung ist in der Tat kniffeliger als ich anfangs gedacht hatte

Um das umzusetzen werden zwei FlowHeater Definitionen benötigt. Im Anhang finden Sie ein Beispiel dazu. Hier wird der Einfachheit keine Access Datenbank auf der WRITE Seite verwendet sondern eine
CSV Textdatei
geschrieben. Funktioniert aber auch mit dem
Access Adapter
bzw. auch allen anderen Datenbank Adaptern.
Beschreibung der Lösung)
Mit der ersten Definition wird die Firmendaten Datei (
CSV oder XLSX) gelesen. Pro Firmenname wird über den
File Heater
(wird 2x benötigt) eine Kopie der Artikel Datei (
CSV oder XLSX) angelegt. Der Name der Artikeldatei setzt sich aus Artikel_Firmenname.csv zusammen.
Die zweite Definition die wir benötigen verarbeitet nun erstmal eine so kopierte Datei. Über den
System Heater
holen wir uns den aktuellen Dateinamen der am Read Adapter gerade verarbeitet wird. Mit hilfe des
Path Heater
extrahieren wir daraus den Dateinamen ohne Dateiendung (wie .csv) sowie ohne Pfadangabe. Über den
String Replace Heater
löschen wir nun das Prefix „Artikel_“ aus dem Dateinamen und erhalten so den ursprünglichen Firmennamen.
So wird natürlich erstmal nur für Firma Artikelpreise in die
Access Datenbank importiert. Über das
Batchmodul
können wir das nun so automatisieren dass alle generierten CSV Dateien über einen Aufruf verarbeitet werden.
z.B. FHBatch.exe /ReadFileName artikle_*.csv 02_artikel_importieren.fhd
Im Anhang finden Sie dazu ebenfalls ein CMD Skript (import_artikel.cmd) worüber beide Tasks automatisiert nacheinander aufgerufen werden. Die Ausgabe finden Sie in der Datei „output.csv“
Automatisierungs CMD Skript@echo off
REM Hier ggf. den Installationspfad zur FHBatch.exe anpassen!
set FHBATCH="C:\Program Files\FlowHeater V4\BIN\FHBatch.exe"
REM evtl. von einem vorherigen lauf die kopierten Artikel Datei löschen
if exist artikel_*.csv del artikel_*.csv
REM evtl. alte ausgabe löschen, ist nur für den CSV Dummy notwendig1
if exist output.csv del output.csv
REM Artikel Dateien kopieren
%FHBATCH% 01_artikel-kopieren.fhd
REM alle Artikel Datein importieren
%FHBATCH% /ReadFileName artikel_*.csv 02_artikel-importieren.fhd