sdq_get_dedup_keys Function

This function allows you to invoke a third party vendor to generate the deduplication keys.

To enable this feature, administrator has to configure new Vendor Parameters:
  1. Administration - Data Quality > Third Party Administration select Vendor: ‘EDQ’

  2. Add new Vendor Parameter: Key Generation Process by Third Party with the value ‘Yes’

    Name Value

    Key Generation Process by Third Party

    Yes

  3. Additionally, if the vendor also utilizes the Key Priority feature, we need to add a new Vendor Parameter.: ‘Support Key Priority’ with the value ‘Yes’

    Name Value

    Support Key Priority

    Yes

Note: The Key Priority Number should have a value between 1 and 100, where 1 is the highest priority key (lower key priority value means a higher priority key).
Note: To support Multiple Child Entities Deduplication, you must use the data format shown in the following information.
Item Description
Syntax
int sdq_get_dedup_keys (int session_id, 
SSchar* parameterList,
SSchar* inputRecordSet,
SSchar* outputRecordSet)
Parameters

session_id: The session ID obtained by initializing the session.

parameterList: An XML character string contains the list of parameters and values that are specific to this function call. An XML example follows:

<Data>
 <Parameter>
    <Name>KeyGenerationParam1</Name>
    <Value>KeyGenerationValue1</Value>
 </Parameter>

 <Parameter>
    <Name>KeyGenerationParam2</Name>
    <Value>KeyGenerationValue2</Value>
 </Parameter>
</Data>
Note: The parameterList can be set to NULL if all required parameters are already set at the session level.

inputRecordSet: An XML character string containing the driver record. An XML example follows:

<Data>
 <DriverRecord>
    <Account.Id>1-X42</Account.Id>
    <<Name>Siebel</Name>
    <Location>Headquarters</Location>
 <DriverRecord>
<Data>
Note: The Id field can be empty. An example is an incoming record without an assigned ID value.

Here is an example of the XML in hierarchical data format (to support multiple child entities deduplication):

<Data>
 <DriverRecord>
    <Account.Id>12-ABCC</Account.Id>
    <Name>Hibbing Manufacturing</Name>
    <Location>San Jose</Location>
    <ListOfCUTAddress>
           <CUTAddress>
                 <City>York1</City>
                 <Country>USA</Country>
                 <Zip>78201</Zip>
                 <State>AL</State>
                 <Street> 1200 Davisville Road</Street
           </CUTAddress>
           <CUTAddress>
                 <City>York2</City>
                 <Country>USA</Country>
                 <Zip>78202</Zip>
                 <State>AL</State>
                 <Street> 1201 Davisville Road</Street
           </CUTAddress>
    </ListOfCUTAddress>
 </DriverRecord>
</Data>

outputRecordSet: An XML character string populated by the vendor that contains the dedup keys generated for the driver record. An XML example follows:

<Data>
 <KeyRecord>
    <Account.Id>SAME ID AS DRIVER</Account.Id>
    <KeyValue>Key1</KeyValue>
    <KeyPriority>90</KeyPriority>
 </KeyRecord>
 <KeyRecord>
    <Account.Id> SAME ID AS DRIVER </Account.Id>
    <KeyValue>Key2</KeyValue>
    <KeyPriority>87</KeyPriority>
 </KeyRecord>
 <KeyRecord>
    <Account.Id> SAME ID AS DRIVER </Account.Id>
    <KeyValue>Key3</KeyValue>
    <KeyPriority>80</KeyPriority>
 </KeyRecord>
</Data>
Note: Optionally, if vendor supports Key Priority feature, it should return <KeyPriority> field for each key in the outputRecordSet
Return Value

A return value of 0 indicates successful execution. Any other value is a vendor error code. The error message details from the vendor are obtained by calling the sdq_get_error_message function.