The normal Filters that you set in RapidiOnline Transfers are send on to the DataSource and evaluated there, so that only the result of the filtering, are returned to RapidiOnline centrally. But You can also set Filters (set delimitations) in a Transfer that are evaluated by RapidiOnline centrally. We call these filters CheckFilters. These Filters will further limit the records that are actually processed. In this way you can overcome limitations in the filtering capabilities of the different DataSources.
The filtering is setup the same place as usual - e.g. Transfer Card - Filters - Source (or Dest)
The filtering are done by RapidiOnline - i.e. all records are read from the DataSource and then RapidiOnline is skipping the records that dont apply according to the filters.
In the Log (and on the Messages/output from Transfer) you can see how many records where skipped.
For the Databases (like MS Dynamics NAV/AX/C5, MS-SQL, Oracle, DB/2, Sybase, Lotus Notes) the filters are used in conjunction with the filters that goes to the database - i.e. RapidiOnline will check which filters can be sendt to the Database (and set these filters directly on the Database) and which filters must be evaluated by the program.
For non-databases (like ASCII, Binary, XML etc) all filters will be handled by DataBackbone.
The Filters can be in form of a formula on the left side of the (in the "FIELD"). The formula will be evaluated for each record read from the datasource and the resulting value will be compared to the "FILTER" value on the right side. If they are not equal, the record is skipped.
The Filters can also be a have a list of values to compare with in the "Filter" (on the right side). If the value from the left side (resulting from a formula or from a field) is equal to one of the values in the list, then the record is used, else it is skipped.
The list of values must have the following format: ##<value-1>:<value-2>: ... :<value-n>
A colon is used as seperator; Each value can optionally be put in single quotes.
F.ex. ##11:22:33:44 or ##'ABC':A33:'A54' or ##EAST:WEST
Following are some examples of Filters:
Records with Postcode 6630, 8850, 5656 and 2230 are read:
FIELD: PostCode
FILTER: ##6630:8850:5656:2230
Records having the first 4 digits in the telephone as 0045 are read:
FIELD: ##COPY("Telephone",0,4)
FILTER: 0045
Records having Department 'EAST' are skipped:
FIELD: ##EQUALS("Department", 'EAST')
FILTER: 0