These settings appear in the qaworld.ini file, which is the configuration file called with QABatchWV_Open by default.
Settings which are found in the [QADefault] section are general settings which are specified once and apply to all layouts. Other settings can be specified for each layout as required, either in qaworld.ini or your preferred layout configuration file.
CountryBase={identifier 1} … {identifier X}
Must be explicitly set
Multiple core country datasets
This keyword must be specified for each layout in the configuration file.
This keyword is used to list the data mapping identifiers that Batch API should use for searching. You can include any of the mapping identifiers which have been set up with the DataMappings
keyword in qawserve.ini.
The first identifier in the list is made the default. Batch API will search using that mapping if the country of the input address cannot be identified, for example if it does not include a country name. If you do not want to set a default, use the code 'NUL' in place of the first identifier. The identifiers should appear on the same line, separated from the next by a space.
If you want your Batch API layout to use your AUS data mapping by default, but also have the option to search using GBR and DEU mappings, this keyword would be set as follows:
CountryBase=AUS GBR DEU
You can configure Batch API to run without a default mapping even if only one country is configured for cleaning. To search using your IRL mapping but prevent Batch API using it by default, you would set the keyword as follows:
CountryBase=NUL IRL
This setting means Batch API will only attempt to match the address if the country is identified. If the country is not identified, a match type of 'D' is assigned to the record, instead of Batch API using the default data mapping.
CountryRevert={Boolean}
FALSE
This setting controls the process of country spotting.
Country spotting is used by Batch API to identify which dataset should be searched against. Occasionally, this can result in matching errors.
For example, if this keyword is set to FALSE (or not present) country spotting will be active. In this case, the following input address would lead Batch API to search for an address in Spain:
Roadside Cottage, Cluer, Isle of Harris, HS3 3EP, Esp
However, if ESP (Spain) data is not present in your CountryBase
setting, this would cause Batch API to return a C match code Match Success.
Setting this keyword to TRUE disables country spotting and instructs Batch API to disregard any country identifiers unless they correspond to a dataset that you have installed. If no corresponding datasets are present, the country identifier is disregarded and Batch API will attempt to match the address against your default identifier only. In the example above, this would return a successful match if GBR data existed in your CountryBase
setting.
If you want Batch API to restrict matching to countries in the CountryBase
, you should set this keyword to TRUE:
CountryRevert=True
This setting is particularly useful if you know that your input file contains addresses from one country only, or only from the countries specified in your CountryBase
keyword.
LogErrors={Boolean}
FALSE
This keyword applies to all layouts and must be specified in the [QADefault] section of the configuration file.
If this keyword is set to TRUE, Batch API will record all errors in the log file, which is specified with the LogFile
setting. Setting this keyword to FALSE disables logging.
Example: Use this setting to enable logging:
LogErrors=TRUE
LogFile={filename}
None
This keyword applies to all layouts and must be specified in the [QADefault] section of the configuration file.
LogFile
enables you to specify a log file to which any errors that occur when you call API functions are written. These errors are only written if you set LogErrors=TRUE as well as specifying the name of the file you want to write to with LogFile
. It is recommended that you create a log file when integrating the API.
The following creates a log file called error.log in the same directory as the program files.
LogFile=error.log
BatchTimeout={integer}
5000
This keyword applies to all layouts and must be specified in the [QADefault] section of the qaworld.ini configuration file.
You can set the length of time in milliseconds that Batch API spends on a search with this keyword. The timeout that you set comes into operation with the function QABatchWV_Clean. The default setting of 5000 sets a timeout period of 5 seconds (5,000 milliseconds).
To set a timeout period of 30 seconds (30,000 milliseconds), make this assignment:
BatchTimeout=30000
CleaningAction={string value}
Address
This keyword must be specified for each layout in the configuration file. This keyword determines the action performed by Batch API when an address has been matched. There are five possible values for this keyword:
keyword | Description |
---|---|
None | No address is returned. |
Address | Returns a full address with postal code. |
Enhanced | Returns a full address plus unmatched information. Components of the input address which could not be matched will be re-inserted into the output address where possible. The retention behaviour is dataset-specific. See below for an example. |
Clean Postcode | Full address matching will be performed but only the postcode will be updated in the output address. All other address lines will be returned unchanged. |
Update Postcode | The postal code is checked to see if it has been recoded. |
The following setting tells Batch API to return non-matched leading elements of the input address in the output address:
CleaningAction=Enhanced
Given this input address for the Australia dataset:
John Smith, Suite 1, Level 9, 60 Miller St, North Sydney, NSW, 2060
Batch API returns:
John Smith,
Suite 1,
Level 9
60 Miller St
North Sydney NSW 2060
If CleaningAction
is set to anything except 'Enhanced', the component 'John Smith' would be returned as an unused address line (see the function QABatchWV_GetUnusedInput) as it is not stored in the Australia dataset, and is therefore not part of the matched address.
GBR and LPG data
SearchLevel={string value}
Full
This keyword can be specified for each layout in the configuration file. This keyword controls how intensely Batch API will search for address matches. You should consider that more stringent matching will take longer whereas less stringent matching will take less time. There are three possible values for this keyword:
keyword | Description |
---|---|
Full | Performs a full search, balancing the quality of throughput with the time taken. This is the recommended mode for most situations. |
Extended | Performs an extensive search to find address matches for particularly inexact address data. This search mode is the most thorough and takes the most time. |
Verification | Performs a rapid lookup of each input address using key identified address components (such as a supplied postcode and premise information). This mode maximizes the throughput of data and is particularly effective if your address data is relatively clean. |
The following setting tells Batch API to use the recommended Full search mode:
SearchLevel=Full
CacheMemory={Integer}
0
This keyword applies to all layouts and must be specified in the [QADefault] section of the configuration file. This keyword is used to specify the amount of system memory (in MB) that Batch API can use for data caching. Caching is disabled by default, but you can use this keyword to increase the performance of Batch API by allowing it to use system memory. If your system has less than 64MB of memory you should not use this setting.
The following setting would allow Batch API to use up to 1024MB of memory for data caching:
CacheMemory=1024
Data
If you are using the USA dataset, more detailed system requirements and performance-related tips can be found in the USA Data Guide.
CorrectACacheLevel={String}
None
This setting determines the level of data caching which should be used for USA and/or Canadian Batch cleaning. {String} can take one of the following values:
If you use the ALL setting, you must ensure you have sufficient RAM available (at least 3GB) otherwise you will receive an out of memory error. You should also ensure that sufficient memory has been specified by the CacheMemory
setting to cache the address data. Any other datasets including USA data, will be cached in the remaining memory.
GBR and AUS data
NamesTolerance={String}
Blank
This keyword can be specified for each layout in the configuration file. This specifies how strict Batch API should be when matching names.
The cleaning process will be faster if you allow fewer errors in the supplied names information. The following options are available:
Option | Description |
---|---|
Relaxed | Allows several errors in the supplied names. |
Standard | Allows one or two errors in the supplied names.This is the recommended value. |
Intermediate (GBR only) | Minor variations in the supplied names are permitted. |
Exact | No errors in the supplied names are permitted. |
The following setting means that Batch API does not allow any errors in the input name information:
NamesTolerance=Exact
OemCharacterSet = {String} [NoDiacritics]
ANSI
This keyword applies to all layouts and must be specified in the [QADefault] section of the configuration file. The Batch API includes support for character sets that contain non-standard characters, such as diacritics (e.g. accents and umlauts). The API also provides the ability to remove diacritic characters on address output.
String indicates the generic character family. If 'NoDiacritics' is specified, all diacritic characters are removed on output from API routines.
The following character set families are supported by Batch API. They are 8-bit character sets and can support diacritics and multiple code pages:
Family | Description |
---|---|
ANSI | The character sets as defined by the American National Standards Institute. |
ASCII | As above but without diacritics. |
DOS | DOS code |
DatasetPrecedenceOrder={additional dataset}
Blank
This keyword can be specified for each layout in the configuration file. If you have configured more than one additional dataset in any line of the DataMappings
setting, this keyword can be used to specify the precedence order. Batch API matches an input address against each additional dataset individually. In cases where equally good matches are found in multiple configured datasets, but the matched addresses are different, you can specify the precedence order of which dataset match to return. If you do not specify the precedence order with this setting, then Batch API will return a partial match including only the elements common to all datasets.
If you have a GBR data mapping which includes Electricity, Names and Business data, you might use this setting as follows:
DatasetPrecedenceOrder=GBRELC
+GBRNAM
+GBRBUS
USA or AUS data
Certification={Boolean}
Yes
This setting determines whether Batch should run in Certified mode. For the USA dataset,certified mode ensures that the results conform to the CASS rules, including the mandatory use of Delivery Point Validation (DPV).
In certified mode, Batch API will return a +4 code only when the address has been DPV-confirmed. If an address is not DPV confirmed, a +4 code will not be returned, and by extension, any DataPlus items you have configured as part of the address output format may not be returned either. The certified cleaning mode includes USPS SuiteLink as a standard part of the CASS certified cleaning process. This uses USPS SuiteLink data to enhance your organization addresses where possible.
For the AUS dataset, certified mode ensures that the results conform to the AMAS rules, and Address Delivery Point Identifier (DPID) or Default Identifier (DID) is allowed to be returned in the output.
If you want Batch to run in Certified mode, use the following:
Certification=Yes