Hallo Christoph,
über mehrere Aufrufe des Batch Moduls nacheinander ist das leider nicht möglich. Was aber Problemlos möglich ist während des Batch Exportes gleich mehrere CSV Dateien zu erzeugen bzw. die Datensätze in einzelnen CSV Dateien zu splitten.
Sie benötigen dazu einen
Parameter
$FILE$ sowie ein kleines Skript für den
.NET Script Heater
das den Parameter anhand der aktuelle verarbeiteten Zeile setzt, so dass ab x verarbeiteten Zeilen eine neue CSV Datei generiert wird.
Ich habe Ihnen dazu ein kleines Beispiel erstellt. Hier werden 10 CSV Textdateien generiert output_1.csv bis output_10.csv. Pro CSV Textdatei werden 1.000 Zeilen geschrieben.
Den Parameter $FILE$ müssen Sie dabei als Dateiname im
Textfile Adapter
verwenden. Ich denke wenn Sie sich das Beispiel ansehen sollten Sie zurechtkommen. Im Skript müssen Sie den Export Dateinamen anpassen sowie die Anzahl an Datensätzen die Sie maximal pro Datei exportieren möchten. Die Stellen sind mit Kommentaren versehen wo sie Änderungen eintragen können.
Hier das Skript)int aktfile = 0;
public object DoWork()
{
// Dateiname hier ggf. anpassen. {0} muss vorhanden bleiben!
// es gehen auch absolute Pfadangaben
string filename = "output_{0}.csv";
// Anzahl zeilen anpassen bei der eine neue Datei erzeugt werden soll
int MaxRows = 1000;
int aktrow = (int)InValues[0].GetInt() - 1;
// ab hier nichts mehr ändern
if ((aktrow + MaxRows) % MaxRows == 0)
aktfile++;
// generierten Dateinamen für den SET Parameter Heater zurückgeben
return String.Format(filename, aktfile);
}
Anhang mehrere_dateien_exportieren.zip wurde nicht gefunden.