Ejemplo: Entradas de catálogo y valores de atributos del diccionario de atributos

Utilice el programa de utilidad de carga de datos para insertar, sustituir y eliminar simultáneamente relaciones entre las entradas de catálogo y los valores de atributos del diccionario de atributos.

Este ejemplo utiliza un archivo CSV para mostrar cómo insertar, sustituir o eliminar los datos. También puede crear y utilizar un archivo con formato XML para insertar, sustituir o eliminar los datos. Si decide crear y utilizar un archivo con formato XML, asegúrese de que los elementos XML utilizan los mismos nombres que los nombres de columna CSV.

Nota: Si el sitio utiliza SEO y tiene previsto cargar URL de SEO para entradas del catálogo con el programa de utilidad de carga de datos, configure el programa de utilidad de carga de datos para cargar la información de SEO. En el archivo de configuración de orden de carga, debe incluir el parámetro loadSEO con un valor establecido en "true". Este parámetro debe establecerse dentro del archivo de configuración de orden de carga de datos con el siguiente formato:
<_config:property name="loadSEO" value="true"/>

Definiciones de columnas CSV y de elementos XML

PartNumber
Necesario, serie) Identificador de la entrada de catálogo (SKU). Este campo o CatalogEntryUniqueId es obligatorio. El número de pieza de una entrada de catálogo aparece en el Centro de gestión como valor para la propiedad Code de la entrada de catálogo.
CatalogEntryUniqueId
(Necesario, Entero) El número de referencia interno exclusivo de la entrada de catálogo (SKU). Este campo o el valor de PartNumber es obligatorio.
Identificador
(Necesario, Serie) Nombre de referencia exclusivo para identificar el atributo. Este campo o AttributeUniqueId es necesario.
AttributeUniqueId
(Necesario, Entero) Número de referencia exclusivo del atributo. Este campo o Identifier es necesario.
ValueIdentifier
(Serie) Identificador exclusivo del valor de atributo. Utilice este campo cuando el atributo tiene todos los valores permitidos que hay definidos. Si el atributo no tiene definido ningún valor permitido, este campo se utiliza como el identificador de valor del valor recién creado.

Para cargar varios valores permitidos para el mismo Atributo en la misma Entrada de catálogo añada varias filas en el archivo CSV y especifique un Identificador de valor exclusivo para cada fila.

Valor
(Serie) El valor específico del idioma del atributo. Los valores de atributo se basan en el tipo de datos, por ejemplo texto, número o decimal.

Para cargar varios valores asignados para el mismo Atributo en la misma Entrada de catálogo, añada varias filas en el archivo CSV y especifique un Valor exclusivo para cada fila.

Idioma
(Entero) El identificador de idioma para campos sensibles al idioma. Por ejemplo: -1 para inglés, -2 para francés.
LanguageId
(Entero) El identificador de idioma para campos específicos del idioma. Por ejemplo:
  • -1- para inglés
  • --2 para francés.
La columna Idioma se renombra a LanguageId. Debe especificar un solo identificador de idioma; utilice LanguageId en lugar de Language como el identificador de idioma.
(Entero) ID de idioma para los campos específicos del idioma (Name, ShortDescription, LongDescription, AuxDescription1, AuxDescription2, Thumbnail, FullImage, Published y Keyword). Por ejemplo:
  • -1 para inglés
  • -2 para francés.
Usage
(Serie) Uso del atributo en relación con la entrada de catálogo. Este es 'Definición' para definir un atributo que se utiliza para la resolución de códigos de artículos; 'Descriptivo' para un atributo descriptivo.
Secuencia
(Decimal) Número que se utiliza para controlar el orden en que se visualizan los atributos para una entrada de catálogo. Los atributos se visualizan en orden ascendente. El valor predeterminado es 0.

Otros campos opcionales no incluidos en este ejemplo son:

AttributeStoreUniqueId
(Entero) Número de referencia exclusivo de la tienda propietaria del diccionario de atributos.
AttributeStoreIdentifier
(Serie) Identificador de la tienda propietaria del diccionario de atributos. Al utilizar la tienda de sitios ampliada, utilice este campo para identificar la tienda propietaria del atributo. En una tienda de sitios ampliados, la tienda propietaria del diccionario de atributos y del atributo puede ser distinta de la tienda a la que pertenece la entrada de catálogo.
Field1
(Entero) Campo personalizado para la información de relación entre entrada de catálogo y atributo. (columna FIELD1 de la tabla CATENTRYATTR).
Field2
(Entero) Campo personalizado para la información de relación entre entrada de catálogo y atributo. (columna FIELD2 de la tabla CATENTRYATTR).
Field3
(Serie) Campo personalizado para la información de relación entre entrada de catálogo y atributo. (columna FIELD3 de la tabla CATENTRYATTR).
Eliminar
(Serie) Un distintivo que indica si se debe eliminar. Para eliminar una fila, especifique 1.

Archivo CSV con datos de atributos del diccionario de atributos y valores

En este ejemplo, el archivo CSV contiene datos del diccionario de atributos.
PartNumber AttributeIdentifier ValueIdentifier
Shirt-Red-Large ShirtColor Rojo
Shirt-Red-Large ShirtSize Grande

Correlación de datos

El siguiente fragmento de código muestra cómo correlacionar cada valor con una vía de acceso del esquema lógico de objetos de negocio. Este fragmento de código corresponde a la entrada de catálogo y al archivo de configuración de carga de relaciones de atributo
<_config:DataMapping>
  <_config:mapping xpath="CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryIdentifier/UniqueId" value="CatalogEntryUniqueId" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/AttributeIdentifier/ExternalIdentifier/Identifier" value="Identifier" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/AttributeIdentifier/UniqueId" value="AttributeUniqueId" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/Value/identifier" value="ValueIdentifier" valueFrom="InputData" />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/Value/value" value="Value"  />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/language" value="Language"  valueFrom="InputData" />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/languageId" value="LanguageId"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/usage" value="Usage"  valueFrom="InputData" />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/displaySequence" value="Sequence" valueFrom="InputData" />
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/AttributeIdentifier/ExternalIdentifier/StoreIdentifier/UniqueId" value="AttributeStoreUniqueId"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/AttributeIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="AttributeStoreIdentifier"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/ExtendedData/AttributeRelationshipField1" value="Field1"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/ExtendedData/AttributeRelationshipField2" value="Field2"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/ExtendedData/AttributeRelationshipField3" value="Field3"/>
  <_config:mapping xpath="" value="Delete" deleteValue="1"/>
</_config:DataMapping>
Si realiza una operación de inserción o sustitución, no especifique la columna "Delete" en el archivo CSV o puede dejar la columna "Delete" vacía.

Mediador de objetos de negocio

La infraestructura de carga de datos proporciona un mediador de objetos de negocio para insertar, sustituir y eliminar relaciones entre entradas de catálogo y atributos del diccionario de atributos. El nombre de la clase de mediador es com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttributeDictionaryAttributeMediator.

Nota: Cuando utiliza un mediador que se proporciona con HCL Commerce con el programa de utilidad de carga de datos, el programa de utilidad de carga de datos da por supuesto que está cargando datos para todas las columnas para un objeto de negocio. Si desea actualizar los datos solamente en columnas específicas, configure una lista de exclusión de columnas para el proceso de carga. Una lista de exclusión de columnas hace que el programa de utilidad de carga de datos ignore columnas concretas durante la operación de carga. Si no utiliza una lista de exclusión de columnas, el programa de utilidad actualiza todas las columnas de la fila de una fila de tabla de base de datos cuando el programa de utiliza actualiza la fila. Si el valor se establece en el archivo de entrada, el programa de utilidad puede sustituir el valor de columna existente por un valor predeterminado o establecer el valor en nulo. Para obtener más información, consulte Configuración de una lista de exclusión de columnas.