Melissa Data Home PageCall 1-800-MELISSA for Data Quality Solutions
Shopping Cart Buy | Newsletters | Search
Products Solutions Downloads Support Resources Lookups Contact Us


 


 

MatchUp API Known Issues

12/03/06Release 3.13

 

Unknown or Negative return codes.

There is a problem with the high order bit (32) which is used in some languages and data types as a sign bit. Because the high order bits 32 - 17, which return the error codes are transposed, i.e.: bit 32 was combo 1, 31 was combo 2, etc - you get unknown or negative numbers returned when records matched using combination 1.

Status:
This will be fixed in the next build. . There is an update for the API in the works, and we are looking into addressing this issue.

Workaround:
Make sure to use combinations 16, 15, 14, etc (instead of 1, 2, 3, etc) in your code. Make sure to convert the signed integer into an unsigned after it has been read:

If (Error<0)

Error=Error+4294967296

In case you’re wondering, 4294967296 is (2^32), which converts the number to it’s “2’s complement”.

EM_COMBO defined incorrectly.

The EM_COMBO defines in some of the header files are backwards. Incorrectly defined will cause the wrong matchcode combination hits to be reported. They should read:

#define EM_COMBO1 0x80000000 // Matched on combination #1
#define EM_COMBO2 0x40000000 // Matched on combination #2
#define EM_COMBO3 0x20000000 // ...
#define EM_COMBO4 0x10000000
#define EM_COMBO5 0x08000000
#define EM_COMBO6 0x04000000
#define EM_COMBO7 0x02000000
#define EM_COMBO8 0x01000000
#define EM_COMBO9 0x00800000
#define EM_COMBO10 0x00400000
#define EM_COMBO11 0x00200000
#define EM_COMBO12 0x00100000
#define EM_COMBO13 0x00080000
#define EM_COMBO14 0x00040000
#define EM_COMBO15 0x00020000
#define EM_COMBO16 0x00010000
#define EM_MMASK 0xffff0000

(These numbers are in hexadecimal, other languages may vary in how hexadecimal numbers should be represented).

Status:
This will be fixed in the next release.

Workaround:
You can correct the EM_COMBO definitions yourself to the correct values shown.

Function Declarations incorrectly defined as DtApi.

The following function Declarations should read “Dt3Api”, not “DtApi” as below and in Visual Basic standard module DtApi.bas.
Declare Sub BDTClose Lib "DtApi" (ByVal hDeduper As Long)
Declare Sub DbgDTClose Lib "DtApi" (ByVal hDeduper As Long)

Status:
This will be fixed in the next release.

Workaround:
This could be fixed by simply changing DtApi to Dt3Api

SQL Server issue with AddRecord function.

The AddRecord function is expecting the full matchkey string length and we found that SQL is trimming the extra spaces, and therefore the stored key ( varchar ) is trimmed - thus the trimmed incoming record matches a trimmed historical key - not the way it is supposed to happen. As a result there is an issue with the padded spaces at the end of the matchkey.

Status:
This will be fixed in the next version (coinciding with the 64-bit release)