Parameter, Dynamic data import/export Definition files
Parameter Heater. Placeholders can be used practically anywhere you can enter text (see the list at the bottom). To do this you surround the parameter name with leading and trailing dollar symbols ($ParameterName$).An extremely flexible dynamic data import/export Definition can be created using parameters. In order to embed parameters into a Definition, you can enter placeholders (like $Database$) or alternatively use the
Note: Several placeholders can be used in combination.
The names of parameters can be chosen freely and they are insensitive to differences in case. The placeholder is substituted by the current value of the actual parameter. You can control the output format of the parameter using the settings for "Format value as" as well as the defined "Format." The standard format of the Adapter on the WRITE side is used if no alternative format is selected.
As many parameters as you wish can be defined. Each parameter can be assigned a standard (default) value. This value will be used in case the parameter has yet to be assigned a specific value.
Name: A unique label for the Parameter is defined here. Note that the leading and trailing dollar signs used to denote a placeholder may not be embedded in a name.
Default value: This value will be used for the Parameter until a specific value is assigned.
Encoded: If this option is checked, the Parameter value will be stored in encrypted form. This option is intended for protecting password values, for example. You can assign the Parameter an encrypted default value using the "Encrypt default value" button. This encrypted value can then be passed to the Batch Module using the command line option "/SetParameter Name:Crypt=encrypted value".
Store: If you check this option, the current value of the Parameter will be stored in a separate file after successful run completion (not in Test Mode). When a file with the same name as the Definition but with file extension "fhpara" exists in the same folder as the Definition itself, then the stored Parameter will be loaded prior to each run with the last used Parameters. In this way a Definition can be constructed that only exports new records based on the last used AutoID value or date and time (Timestamp) for example. An example of how this is done you will find here: Only export new records from a MySQL table each run
Important: The value is stored as a text string, take care to specify the correct format, e.g. for numbers, dates, etc.
Format value as: This defines the FlowHeater Datatype to format the value.
Format: This specifies the text format for output of the Parameter. If no individual format is defined here then the default format of the first Adaptor on the WRITE side is used.
Parameters can be assigned a new value in the following ways
- Using the Set function in the Parameter Heater
- On the command line of the Batch Module using the option /SetParameter ParameterName=value
- Using the .NET Script Heater
Parameter[“ParameterName”].Value = value;
Parameter(“ParameterName”).Value = value
In addition to FlowHeater Parameters, system environment variables can now also be used as placeholders. In order to embed environment variables, the name must be enclosed in percent signs. Anywhere that it is presently possible to use a FlowHeater Parameter, you can now also specify placeholders for environment variables . However, unlike FlowHeater Parameters the system’s environment variables can only be used for reading.
System environment variables
Note: The use of FlowHeater Parameters and environment variables can be mixed.
when defining an export CSV filename in the TextFile Adapter. This would compose the filename dynamically, by combining the currently logged on user name (environment variable USERNAME) with the present contents of FlowHeater Parameter DATUM for the CSV file exported.
The following Adapter and Heater (functions) support parameter placeholders and environment variables
- As value for the Default Value property
- In the file names
- In the database names
- In the server names
- As user and password entries
- For the names of SQL scripts to output
- In the SQL select statement. e.g. SELECT * FROM export-table WHERE id > $LAST_ID$
- For the file name (workbook)
- As specification of the spreadsheet name (sheet)
- As definition of the cell range to read (columns and rows from/to)
- In XML file names
- As specification of the XML root
- As the default value for XML elements
- In the strings for search and replace
- As the default value in case the search string is not found
- As the character string to search for
- As replacement for the static value
- In the SQL SELECT used e.g. SELECT * FROM export-table WHERE id > $LAST_ID$
- As specification of the table name
- As specification of the field name to lookup
- As specification of the WHERE clause
- As specification of the OrderBy clause
- As specification of the folder (directory) name
- As specification of the operands
- As specification of the conditions.
Tip: This feature now enables you to compare two (or more) database fields.
How to: First assign a parameter with the contents of the second database field to be compared. Connect the first database field as the value with the IF-THEN-ELSE Heater and the parameter placeholder for the second field enter as the condition.