Example: Attribute dictionary attribute folder relationship

You can use the Data Load utility to insert or delete the relationships between attribute dictionary attributes and attribute folders. These examples use a CSV file to demonstrate how to insert or delete multiple attribute and folder relationships simultaneously.

This example uses a CSV file to demonstrate how to insert or delete your data. You can also create and use an XML formatted file to insert or delete your data. If you choose to create and use an XML formatted file, ensure that your XML elements use the same names as are used for CSV column names.

Note: Before you load your attribute and folder relationship information, both the attribute and the folder must exist in your system.

CSV column and XML element definitions

Identifier
(String) The unique reference name for identifying the attribute. Either this field or the AttributeUniqueId is required.
AttributeUniqueId
(Integer) The unique reference number of the attribute. Either this field or the Identifier is required.
FolderUniqueId
(Integer) The unique ID of the folder. Either this field, the FolderName or the FolderPath is required.
FolderName
(String) The reference name for identifying the folder. The folder name must be unique under a parent folder but different parent folders can contain subfolders that have the same name. If the folder name exists within multiple folders, specify the FolderUniqueId or FolderPath for the folder. Either this field, the FolderUniqueId or FolderPath is required.
FolderPath
(String) The unique file path location for identifying the folder. Specify this path or the FolderUniqueId if the FolderName cannot uniquely identify the folder. Either this field, the FolderUniqueId or FolderName is required.
Delete
(String) A flag indicating whether to delete. Specify 1 to delete the row.

CSV file with sample attribute and folder relationship data

Insert

In this example, the CSV file sample contains attribute dictionary attribute and attribute folder data.

Delete

In this example, the CSV file contains sample attribute and folder relationship data to delete.

XML file with sample attribute and folder relationship data

Insert

In this example, the XML file sample contains attribute dictionary attribute and attribute folder data.

Delete

In this example, the XML file contains sample attribute and folder relationship data to delete.

Mapping data

The following code snippet from the attribute and folder loader (wc-loader-AD-attribute-folder-relationship.xml) configuration file demonstrates how to map each value to a business object logical schema path.
<_config:DataMapping>
  <!-- The attribute identifier -->
  <_config:mapping xpath="AttributeIdentifier/ExternalIdentifier/Identifier" value="Identifier" />
  <!-- The unique reference number of the attribute -->
  <_config:mapping xpath="AttributeIdentifier/UniqueID" value="AttributeUniqueId" />
  <_config:mapping xpath="FolderIdentifier/UniqueID" value="FolderUniqueId" />
  <_config:mapping xpath="FolderIdentifier/Identifier" value="FolderName" />
  <_config:mapping xpath="FolderIdentifier/Path" value="FolderPath" />
  
  <!-- The Delete indicator -->
  <_config:mapping xpath="" value="Delete" deleteValue="1" />
</_config:DataMapping>
If you perform an insert or replace operation, do not specify the "Delete" column in the CSV file or you can leave the "Delete" column empty.

Business object mediator

The data load framework provides a business object mediator for inserting and replacing attribute and folder relationships. The mediator class name is com.ibm.commerce.catalog.dataload.mediator.AttributeDictionaryAttributeFolderRelationshipMediator.

Note: When you use a mediator that is provided with HCL Commerce with the Data Load utility, the utility assumes that you are loading data for all columns for a business object. If you want to update the data in only specific columns, configure a column exclusion list for the load process. A column exclusion list causes the Data Load utility to ignore specific columns during the load operation. If you do not use a column exclusion list, the utility updates all columns in the row of a database table row when the utility updates the row. If no value is set in the input file, the utility can replace the existing column value with a default value or set the value to be null. For more information, see Configuring a column exclusion list.