Parameter, Dynamische Daten Import/Export Definitionen
Mittels Parameter können sehr flexibel dynamische Daten Import / Export Definition erstellt werden. Um Parameter in der Definition abzufragen können Sie Platzhalter ($ParameterName$) oder aber den Parameter Heater verwenden. Platzhalter können Sie fast überall (s. Auflistung weiter unten) verwenden wo Sie Texteingaben vornehmen können. Der Name des Parameters muss dabei mit einem führenden und abschließenden Dollar Zeichen beginnen und enden.
Hinweis: Es können auch mehrere Platzhalter zusammengesetzt werden!
z.B. $SQL-SERVER$\$INSTANZNAME$
Parameternamen können frei gewählt werden. Beim Abfragen mittels Platzhalter wird zwischen Groß/Kleinschreibung nicht unterschieden. Der Platzhalter wird mit dem aktuellen Wert des Parameters ersetzt. Mit Hilfe der Einstellungen für „Wert formatieren als“ sowie dem eingestellten „Format“ können Sie auf die Ausgabeformatierung des Parameters Einfluss nehmen. Wurde kein Format ausgewählt wird das Standardformat des Adapters der WRITE Seite verwendet!
Es können beliebig viele Parameter hinterlegt werden. Pro Parameter können Sie einen Standardwert (DefaultValue) angeben. Dieser Wert wird verwendet falls dem Parameter noch kein Wert zugwiesen wurde.
Parameterdatei: Wenn hier eine Datei angeben ist, werden vor jeder Ausführung die Parameter mit den in dieser Datei angegeben Werten vorinitialisiert. Damit Sonderzeichen, Umlaute, etc. sauber verarbeitet werden können muss die Parameterdatei im UTF-8 Format (Codepage 65001) vorliegen. Pro Zeile kann dabei ein Parameter gesetzt werden z.B. „Parametername=Wert“. Eine genaue Beschreibung zum Aufbau der Parameterdatei finden Sie in der Hilfe zum Batch Modul.
Parameter Einstellungen
Name: Hier legen Sie den Namen des Parameters fest. Wichtig: Das Führende und Abschließende Dollar Zeichen darf hier bei der Anlage der Parameter nicht mit angegeben werden.
Standardwert: Dieser Wert wir verwendet solange dem Parameter noch kein Wert zugewiesen wurde.
Verschlüsselt: Wenn Sie diese Option aktivieren wird der Parameter verschlüsselt abgespeichert. Diese Option kann z.B. bei der Verwendung von Passwörtern verwendet werden. Über den Button „Standardwert verschlüsseln" können Sie einen verschlüsselten Standardwert dem Parameter zuweisen. Diesen so verschlüsselten Wert können Sie dann mittels "/SetParameter Name:Crypt=Verschlüsselter Wert" vor der Ausführung an das Batch Modul verschlüsselt übergeben.
Speichern: Wenn Sie diese Option aktivieren wird der aktuelle Wert des Parameters nach erfolgreicher Ausführung (nicht im Testmodus) in einer separaten Datei gespeichert. Ist eine Datei mit demselben Namen der Definition plus Dateiendung ".fhpara" im gleichen Ordner wie die Definition selbst vorhanden werden die gespeicherten Parameter vor jeder Ausführung mit den zuletzt verwendeten Parametern geladen. So können Definitionen erstellt werden die z.B. nur neue Datensätze anhand eines AutoID Wertes oder eines Datums (Timestamp) exportiert. Ein Beispiel wie es geht finden Sie hier: Bei jedem Export nur neue Datensätze aus einer MySQL Tabelle exportieren. Wichtig: Der Wert wird als Text abgespeichert, achten Sie auf die korrekte Formatierung z.B. für Zahlen, Datumsangaben, etc.
Wert formatieren als: Hier geben Sie an als welcher FlowHeater Datentyp der Wert formatiert werden soll.
Format: Hier legen Sie das Textformat der Ausgabeformatierung des Parameters fest. Ist kein eigenes Format hinterlegt wird die Standardformatierung des ersten Adapters der WRITE Seite verwendet.
Auf folgende Weise können Parametern neue Werte zugewiesen werden.
- Über den Parameter Heater mittels der Set Funktion
- Beim Programmstart über das Batchmodul mittels der Kommandozeilen Option /SetParameter Parametername=wert
- Über den .NET Script Heater
C# Code
Parameter["Parametername"].Value = Wert;
VB Code
Parameter("Parametername").Value = Wert
Umgebungsvariablen
Zusätzlich zu den FlowHeater Parameter können auch System Umgebungsvariablen als Platzhalter verwendet werden. Um Umgebungsvariablen zu verwenden muss der Name mit dem Prozentzeichen umschlossen werden. Überall da wo Sie FlowHeater Parameter verwenden, können auch Platzhalter für Umgebungsvariablen verwendet werden. Einziger Unterschied zu den FlowHeater Parametern ist, auf System Umgebungsvariablen kann nur lesend zugegriffen werden.Hinweis: FlowHeater Parameter und Umgebungsvariablen können auch miteinander kombiniert verwendet werden.
als CSV Exportdateiname im TextFile Adapter. Hier wird der angemeldete Benutzername (Umgebungsvariable %USERNAME%) zusammen mit dem FlowHeater Parameter $DATUM$ verwendet um den CSV Exportdateinamen dynamisch zu bilden.
Folgende Adapter bzw. Heater (Funktionen) unterstützen Parameterplatzhalter sowie Umgebungsvariablen
Allgemein
- Als Wert für die Default Value Eigenschaft
- Im Dateinamen
Datenbank Adapter (Access, SQL-Server, Oracle, MySQL, SQLite, PostgreSQL, ODBC, OleDB)
- Im Datenbanknamen
- Im Servernamen
- Als Benutzer und Passwort
- Im Ausgabe SQL Skriptnamen
- Im SQL Select Statement. z.B. SELECT * FROM export-tabelle WHERE id > $LAST_ID$
- Im Dateinamen (Arbeitsmappe/Workbook)
- Als Angabe für Arbeitsblatt (Worksheet)
- Als Angabe für den zu lesenden Range (Spalten und Zeilen jeweils von/bis)
- Als Angabe für die XML Wurzel (Root)
- Als Standardwert für XML Elemente
- Als zu suchende sowie zu ersetzende Zeichenfolge
- Als Standardwert falls die Zeichenfolge nicht gefunden wurde
- Als zu suchende Zeichenkette
- Als Ersatz für den statischen Wert
- Im verwendeten SQL Select z.B. SELECT * FROM export-tabelle WHERE id > $LAST_ID$
- Als Angabe im Tabellennamen
- Im zu verwendeten Feldnamen
- Als Angabe für die SQL WHERE Klausel
- Als Angabe für den SQL ORDER BY
- Als Angabe für den Verzeichnisnamen
Heater Addition, Subtraktion, Multiplikation, Division
- Als Angabe für den Operanden
- Als Angabe für die Bedingung.
Hinweis: Hiermit können nun auch 2 (oder mehr) Datenbankfelder miteinander verglichen werden!
Vorgehensweise: Setzen Sie zuerst einen Parameter mit dem Inhalt des zweiten zu vergleichenden Datenbankfeldes. Das erste Feld verbinden Sie als Wert mit dem IF-THEN-ELSE Heater und tragen als Bedingung den Parameterplatzhalter für das zweite Feld ein.