Condition Edit/Filter String Edit

Use this dialog box to create conditions or filters for terminating the fetching of data from recordsets and for executing operations. Select entries from the Variables, Entity attributes, or Recordset fields list to build string expressions in the Condition/Filter String box. Use the condition operand buttons to create your string or type the string directly into the box.

To reference attributes, fields, and variables, use the following syntax:

Attributes: <EntityName>.<AttributeName>
Fields: <EntityName>.<RecordsetName>.<FieldName>
Variables: Variables.<VariableName>

For example, create the following condition that addresses cursor syncing when the cursor is expected to arrive at one of two possible locations:

(Variables.CursorRow = 5 And Variables.CursorColumn = 27) Or (Variables.CursorRow = 24 And Variables.CursorColumn = 1)

The following condition operands are supported by the Host Integrator:

= Equal to
=* Equal to (without being case-sensitive)
<> Not equal to
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
=~ The regular expression matches the value expression.
!~ The regular expression does not match the value expression.
And And
Or Or
Not Not
( Left parenthesis
) Right parenthesis
+ Add
- Subtract
* Multiply
/ Divided by

Certain Host Integrator API methods use filter expressions as arguments (for example, see the FetchRecords and SelectRecordByFilter methods in the Visual Basic Methods Reference). See the Host Integrator API Reference for more information about the connectors. To view an example of creating a filter string, see the documentation for using the Select Record action in the Test Recordset dialog box.


Using Regular Expressions

Syntax for pattern matching

<ValueExp> =~ [m]/<RegEx>/[i]
<ValueExp> !~ [m]/<RegEx>/[i]


m Match regular expression.
i Do case-insensitive pattern matching.

The result of a match is a boolean value. The =~ operator means that the regular expression matches the value expression, while the !~ operator means the opposite.


You can set up an expression to terminate a recordset where the last screen is identified by text on the screen stating the current page and the total number of pages, such as "Page 1 of 12" or "Page 12 of 12".

To terminate the recordset, define an attribute called PageStatus at the screen location where the "Page x of y" text occurs. In the Recordset Termination dialog, define the following termination condition:

(PageStatus =~ s/Page ([0-9]+) of [0-9]+/$1/) = (PageStatus =~ s/Page [0-9]+ of ([0-9]+)/$1/)


Condition Edit Options

The following buttons are also available:

OK—Click to save the condition and exit the dialog box.

Cancel—Click to close the dialog box without saving any changes.

Help—Click to view the online help for this dialog box.

Clear—Click to clear out the contents of the Condition box.

Revert—Click to restore the previously saved condition.

Validate—Click to perform syntax checking of the expression.