Das Batch Modul, Definitionen automatisiert und zeitgesteuert ausführen

Mit dem Batch Modul können langlaufende Definitionen und immer wiederkehrende Aufgaben wie z.B. Import / Export / Update von Datenbank Tabellen sowie automatisiertes erstellen von Testdaten problemlos als Batch Job in der Nacht ausgeführt werden.
Beispiel eines Aufrufes
FHBatch.exe /MaxRows 1000 C:\Temp\Import\Umsatz.fhd
Mit diesem Befehl weisen Sie den FlowHeater an die Definition ImportUmsatz.fhd auszuführen und dabei sollen max. die ersten 1000 Datensätze berücksichtigt werden.
Hinweis
Werden Anmeldeinformationen benötigt, z.B. für eine Anmeldung an eine Datenbank ( SQL Server, Oracle, MySQL, ...), muss das evtl. benötigte Passwort in der Definition mit abgespeichert werden. Aus Sicherheitsgründen wird das Passwort verschlüsselt in der FlowHeater Definition hinterlegt!
Returncode / Exitcode / Errorlevel
Nach der Ausführung des Batch Moduls können Sie über den Exitcode in Batch Dateien (.CMD / .BAT) abfragen ob die Ausführung der gestarteten FlowHeater Definition Erfolgreich durchgeführt werden konnte. Dabei bedeuten:
4 = Die Ausführung wurde mit Warnungen abgeschlossen
8 = Die Ausführung wurde mit Fehlermeldungen abgeschlossen
12 = Die Ausführung wurde abgebrochen. Falls in der ausgeführten Definition ein Datenbank Adapter verwendet wurde wird in diesem Fall automatisch ein Rollback der aktiven Transaktion durchgeführt.
z.B.
@echo off
FHBatch.exe /MaxRows 10 Ihre-Import-Export-Definition.fhd
if %ERRORLEVEL% EQU 0 goto success
if %ERRORLEVEL% EQU 4 goto warnings
if %ERRORLEVEL% EQU 8 goto errors
if %ERRORLEVEL% EQU 12 goto abort
echo nicht definierter Returncode
goto ende
REM Erfolgeiche Ausführung
:success
echo Ausführung erfolgreich beendet
goto ende
REM Behandlung von Warnungen
:warnings
echo Ausführung mit Warnungen beendet
goto ende
REM Behandlung von Fehlern
:errors
echo Ausführung mit Fehlermeldungen beendet
goto ende
REM Behandlung von Abbrüchen
:abort
echo Ausführung abgebrochen
goto ende
REM Skript Ende
:ende
pause
Optionen
Option | Beschreibung | |
---|---|---|
/? oder /help | zeigt eine kurze Hilfebeschreibung an |
|
/MaxRows n | Es werden max. die ersten n Datensätze berücksichtigt |
|
/SetParameter Name=Wert | Setzt den FlowHeater Parameter [Name] auf den angegebenen [Wert] |
|
/SetParameter Name:Crypt=Wert | Setzt den FlowHeater Parameter [Name] auf den angegebenen [Wert] der Wert muss dabie vorher mit der Option /Crypt verschlüsselt werden |
|
/Memory | Stellt auf Hauptspeicherdatenverarbeitung um (ab Version 2.x) |
|
/Massdata | Stellt auf den Massenverarbeitungsmodus um |
|
/LogFile [Dateiname] | fügt die Ausgabe an das angegebene Logfile an |
|
/LogCompact | hiermit wird ein einzeiliges (kompaktes) Ausgabeformat aktiviert |
|
/LogQuote | umschließt die einzelnen Logeinträge mit dem Anführungszeichen |
|
/LogDelete | löscht die angegebene Logdatei vor der Ausführung |
|
/ShowDebug | gibt Debug Meldungen auf der Konsole aus |
|
/DisableDebug | Deaktiviert Debug Meldungen (ab Version 2.x) |
|
/ShowWarnings | Aktiviert Warnungen (ab Version 2.x) |
|
/DisableWarnings | Deaktiviert Warnungen |
|
/Crypt [Wert] | Verschlüsselt den Wert zur späteren Verwendung über die Option /SetParameter Name:Crypt=Wert |
Nur für TextFile, Excel und XML Adapter
Für die Adapter TextFile, Excel und XML können Sie über die Optionen /ReadFileName und /WriteFileName festlegen welche Datei gelesen bzw. geschrieben werden soll. Ist auf der jeweiligen Seite ein andere Adapter vorhanden wirft diese Option eine Fehlermeldung aus und die Verarbeitung wird abgebrochen.
Option | Beschreibung | |
---|---|---|
/ReadFileName [Datei] | Überschreibt die Vorgabe in der Definitionsdatei Ab Version 2.x können auch Wildcards wie C:\Temp\*.csv verwendet werden! |
|
/WriteFileName [Datei] | Überschreibt die Vorgabe in der Definitionsdatei |
Hinweis: Die Option /ReadFileName setzt immer den Dateinamen des ersten Adapters im ersten Verarbeitungsschritt und die Option /WriteFileName setzt den Ausgabedateinamen vom ersten Adapter im letzten Verarbeitungsschritt. Ist es notwendig weitere Dateinamen über die Batchverarbeitung zu übergeben können diese z.B. über FlowHeater Parameter mittels der Option „/SetParameter FILE2=C:\Temp\export.csv“ realisiert werden.
Ab Version 2.x werden alle Optionen die Sie über den Designer im Test und Ausführen Dialog eingestellt haben mit in der FlowHeater Definition abgespeichert. Die oben aufgeführten Optionen benötigen Sie nur noch wenn Sie die Voreinstellung während der Batchausführung verändern möchten.
z.B. Sie haben einen etwas größeren Datenbestand den Sie importieren/exportieren möchten. Im Designer stellen Sie solange Sie die Definition erstellen und testen die Option ein, dass Sie max. 1000 Datensätze verarbeiten möchten. Diese Einstellung wird jedoch mit in der Definitionsdatei gespeichert. Wenn Sie nun diese Definition über das Batchmodul ohne weitere Option ausführen, werden ebenfalls nur 1000 Datensätze verarbeitet. Damit das Batchmodul während der Batchverarbeitung alle vorhandenen Datensätze verarbeitet brauchen Sie nur die Option /MaxRows mit dem Wert 0 aufrufen. Siehe Beispiel.
FHBatch.exe /MaxRows 0 import.fhd
Hiermit werden alle verfügbaren Datensätze/Zeilen verarbeitet, egal welche Voreinstellung in der Definition vorgenommen wurde.
Beispiele
Mit dem Batch Modul können Sie z.B. problemlos jede Nacht automatisiert Umsatzzahlen als CSV Textdatei erstellen lassen. Oder Flatfiles bzw. Testdaten, formatiert mit festen längen, die dann zu Testzwecken (für die Entwickler unter uns) in eine SQL Server Datenbank automatisiert importiert werden, etc.
Folgende Beispiele sind zum Batch Modul bereits verfügbar