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}

Default

Must be explicitly set

Purpose

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.

Example 1

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

Example 2

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}

Default

FALSE

Purpose

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.

Example

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}

Default

FALSE

Purpose

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}

Default

None

Purpose

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.

Example

The following creates a log file called error.log in the same directory as the program files.

LogFile=error.log

BatchTimeout={integer}

Default

5000

Purpose

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).

Example

To set a timeout period of 30 seconds (30,000 milliseconds), make this assignment:

BatchTimeout=30000

CleaningAction={string value}

Default

Address

Purpose

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.

Example

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.

SearchLevel={string value}

Default

Full

Purpose

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.

Example

The following setting tells Batch API to use the recommended Full search mode:

SearchLevel=Full

CacheMemory={Integer}

Default

0

Purpose

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.

Example

The following setting would allow Batch API to use up to 1024MB of memory for data caching:

CacheMemory=1024

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}

Default

None

Purpose

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:

  • ALL ( Batch will attempt to cache all the data required)
  • NONE ( Batch will notcache any of the data required)
  • AUTO ( Batch will determine how much of the data to cache).

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.

NamesTolerance={String}

Default

Blank

Purpose

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.

Example

The following setting means that Batch API does not allow any errors in the input name information:

NamesTolerance=Exact

OemCharacterSet = {String} [NoDiacritics]

Default

ANSI

Purpose

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}

Default

Blank

Purpose

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.

Example

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

Certification={Boolean}

Default

Yes

Purpose

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.

Example

If you want Batch to run in Certified mode, use the following:

Certification=Yes