Example: Configuring the IDResolveKeys.properties file to generate compound keys

A key made up of more than two columns is a compound key. You can define a compound-key lookup in the IDResolveKeys.properties file by specifying both NAMEDELIMITER and SELECTDELIMITER followed by the field names. To have the lookup criteria for ADDRBOOK records be the compound of the display name and the member ID, for example, specifying the following in the IDResolveKeys.properties file:

  ADDRBOOK=@DISPLAYNAME@MEMBER_ID:DISPLAYNAME MEMBER_ID

then the following XML input-file fragment:

  <ADDRBOOK
    MEMBER_ID="100"
    DISPLAYNAME="Friends"                ADDRBOOK "Friends" of MEMBER 100
    DESCRIPTION="All my friends"
    TYPE="P"
  />
  <ADDRBOOK
    MEMBER_ID="101"
    DISPLAYNAME="Friends"                ADDRBOOK "Friends" of MEMBER 101
    DESCRIPTION="All my friends"
    TYPE="P"
  />
  <ADDRESS
    ADDRBOOK_ID="@Friends@100"           Lookup the primary key for ADDRBOOK 
                                         "Friends" of MEMBER 100
    MEMBER_ID="101"
    NICKNAME="Bob"
    ADDRESS1="15 Brave Developers St."
    CITY="Toronto"
    ZIPCODE="A0A0A0"
    COUNTRY="Canada"
    STATUS="P"
  />

would yield the following after resolution:

  <MEMBER
    MEMBER_ID="100"
    TYPE="U"
    STATE="1"
  />
  <MEMBER
    MEMBER_ID="101"
    TYPE="U"
    STATE="1"
  />
  <ADDRBOOK
    ADDRBOOK_ID="12951"                  ADDRBOOK of interest
    MEMBER_ID="100"
    DISPLAYNAME="Friends"
    DESCRIPTION="All my friends"
    TYPE="P"
  />
  <ADDRBOOK
    ADDRBOOK_ID="12952"
    MEMBER_ID="101"
    DISPLAYNAME="Friends"
    DESCRIPTION="All my friends"
    TYPE="P"
  />
  <ADDRESS
    ADDRESS_ID="13051"
    ADDRBOOK_ID="12951"                  ADDRESS refers to correct ADDRBOOK
    MEMBER_ID="101"
    NICKNAME="Bob"
    ADDRESS1="15 Brave Developers St."
    CITY="Toronto"
    ZIPCODE="A0A0A0"
    COUNTRY="Canada"
    STATUS="P"
  />

Related concepts

Related tasks

Related reference