Deprecated feature: Resolving identifiers for records that share identifiers with existing data

If you are mass load new data into a WebSphere Commerce database that shares identifiers with data that exists in the WebSphere Commerce database, you must include the existing data in the XML file that you want to load. The existing data must appear before the new data in the XML file.

An example of this situation is adding a language to an existing catalog. For example, you have a master catalog in English and you want to add French information to the catalog.

The idresgen utility generates new identifiers for the new data instead of referencing the existing data for either of the following situations:

  • You do not include the existing data in your XML file.
  • You include the existing data, but the existing data appears after the new data.

By including the existing data before the new data, the idresgen utility is correctly able to resolve the identifiers and relate them to existing identifiers.

Example

A master catalog has English data that is loaded into the database. The English catalog has a shirt with two attributes, color and size. The ATTRIBUTE database table contains the following information:

ATTRIBUTE_ID LANGUAGE_ID ATTRTYPE_ID NAME DESCRIPTION
12090
-1
STRING Color Color
12124
-1
STRING Size Size

To add French data, an XML file with the following contents was created:

<attribute attribute_id="@attribute_id_Size_203010063" name="Size" attrtype_id="STRING" description="Taille" catentry_id="@203010063@-2003" language_id="-2"/>
<attribute attribute_id="@attribute_id_Color_203010063" name="Color" attrtype_id="STRING" description="Couleur" catentry_id="@203010063@-2003" language_id="-2"/>

After you run the idresgen and massload utilities on the XML file, the ATTRIBUTE database table contains the following information:

ATTRIBUTE_ID LANGUAGE_ID ATTRTYPE_ID NAME DESCRIPTION
12090
-1
STRING Color Color
12124
-1
STRING Size Size
14151
-2
STRING Color Couleur
14443
-2
STRING Size Taille

This result is incorrect. The attributes with the same NAME value should also have the same ATTRIBUTE_ID values.

To have the English data and the French data have the correct ATTRIBUTE ID values, the XML file has the following content:

<attribute attribute_id="@attribute_id_Size_203010063" name="Size" attrtype_id="STRING" description="Size" catentry_id="@203010063@-2003" language_id="-1"/>
<attribute attribute_id="@attribute_id_Color_203010063" name="Color" attrtype_id="STRING" description="Color" catentry_id="@203010063@-2003" language_id="-1"/>
<attribute attribute_id="@attribute_id_Size_203010063" name="Size" attrtype_id="STRING" description="Taille" catentry_id="@203010063@-2003" language_id="-2"/>
<attribute attribute_id="@attribute_id_Color_203010063" name="Color" attrtype_id="STRING" description="Couleur" catentry_id="@203010063@-2003" language_id="-2"/>

After you run the idresgen and massload utilities on this XML file, the ATTRIBUTE database table contains the following information:

ATTRIBUTE_ID LANGUAGE_ID ATTRTYPE_ID NAME DESCRIPTION
12090
-1
STRING Color Color
12090
-2
STRING Color Couleur
12124
-1
STRING Size Size
12124
-2
STRING Size Taille