DataFlux Data Management Studio 2.6: User Guide
The use of the AddressDoctor engine may result in error conditions signaled via return codes.
All API functions return an AD_I32 (32 bit signed integer) return code value:
The return value must always be checked for by the calling logic. While it informs about fundamental errors, the actual validation results are returned via separate API functions.
Following are the most common error return codes, including an explanation:
Return Codes | Explanation |
---|---|
0 | OK, no error |
Warnings the operation was completed, but maybe with an unexpected result: | |
1 | The SetConfig.xml contained at least one corrupt unlock code |
2 | The SetConfig.xml contained at least one expired unlock code |
3 | The SetConfig.xml listed at least one database file which was not found |
4 | The SetConfig.xml listed at least one corrupt database file |
5 | The SetConfig.xml listed at least one database with a not supported version |
6 | The SetConfig.xml listed at least one database which is not supported (i.e. DEU CERTIFIED) |
7 | No valid unlock code for a database file |
8 | The SetConfig.xml listed at least one database at least two times |
9 | The MaxMemoryUsageMB setting in SetConfig.xml was too small to fulfill all preloading settings and/or the CacheSize setting |
10 | One of the unlock codes is not meant to be used on the current platform/OS. The unlock code is still considered as valid |
100 | An input element or line which already had content was overwritten |
101 | The AddressComplete input has too many lines, extra lines will be ignored for further processing |
200 | The output buffer is too small, the output was written, but truncated |
201 | At least one character of the output could not be encoded in the chosen encoding, these characters were replaced by an underscore ('_') |
300 | The engine usage period has expired |
301 | The unlock code for a database file has expired |
400 | Address lines and/or Address Complete were given on input; this part of the input was ignored |
401 | More than 10 lines were given via FormattedAddressLines or AddressComplete as input; the lines beyond 11 were ignored |
900 | No database at all was found, probably because the path was wrong |
901 | No database at all was opened, probably because the path was wrong and/or no valid unlock code was given |
902 | Error while attempting to open at least one of the extra CASS DBs |
Following are the most common error return codes when the requested operation was not executed:
Return Codes | Explanation |
---|---|
1000 | A pointer parameter was NULL |
1001 | A function parameter was 0 |
1002 | A NULL pointer to an object was used (not relevant for C API) |
1003 | Two XMLs were given (as string and within a file), only one must be given |
1004 | The output buffer size is not valid (i.e. 0) |
1005 | Buffer misalignment, an AD_WCHAR* points to an odd address |
1100 | A parameter is out of range or illegal |
1101 | An XML string is invalid |
1200 | The character sequence of a string is not valid (i.e. contains control codes or does violate some constraint) |
1201 | The encoding parameter did not match the character size of the API call, i.e. UCS2 (16 bit) vs. char (8 bit) |
1300 | No SetConfig.xml was given as parameter for AD_Initialize |
1301 | The engine has already been initialized |
1302 | AD_DeInitialize() failed because not all AddressObjects have been released |
1400 | No AddressObject is available (all AddressObject handles have already been obtained via AD_GetAddressObject()) |
1401 | The passed AddressObject handle is not valid |
1500 | A database file has not been found |
1501 | A database file is invalid/corrupt |
1502 | No valid unlock code for a database file |
1503 | A database file has a non-supported version. |
1700 | The country could not be identified |
1800 | Results are available, for this reason no AO modification is allowed |
1801 | XML and direct API calls were used intermixed when setting the input data of an AddressObject |
1802 | AD_Process() has not been called successfully, no result is available |
1803 | The attempted operation was invalid, i.e. trying to set incompatible address elements |
1900 | The result index parameter is out of range (must be >= 1) |
1901 | The output buffer is too small to hold the result, no output was written |
Critical Errors, where no further calls, except possibly AD_Initialize()
or AD_DeInitialize()
should be made to the engine use the following codes:
Return Codes | Explanation |
---|---|
-1300 | The engine has not yet been initialized, need to call AD_Initialize() |
-1600 | No valid unlock code was given |
-1601 | The engine usage period has expired |
-1602 | A clock inconsistency has been detected |
-9900 | A memory allocation request failed |
-9901 | A file operation failed |
Very Critical Errors, should occur only under highly adverse circumstances. No further calls, except possibly AD_DeInitialize()
should be made to the engine - please report that you actually encountered one of these errors:
Return Codes | Explanation |
---|---|
-10000 | Some unknown exception has been thrown; this event should never occur |
-10001 | Some internal assertion has failed; this event should never occur |
-10002 | Some internal error has been encountered; this event should never occur |
Documentation Feedback: yourturn@sas.com
|
Doc ID: dfDMStd_Task_World2_ReturnCodes.html |