Ejemplo: Supresión de filtros de catálogo

Puede eliminar filtros de catálogo utilizando el programa de utilidad de carga de datos. Estos ejemplos utilizan un archivo CSV para mostrar cómo eliminar los datos de filtro de catálogo.

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.

Al eliminar los filtros de catálogo, se suprimen los datos de las tablas de base de datos CATFILTER o CATFLTDSC. Si el archivo de entrada CSV incluye información en una columna de Descripción, los datos de la tabla CATFLTDSC se suprimen. Si la columna Description está vacía, los datos de la tabla CATFILTER se suprimen. Las tablas correspondientes: CATFLTDSC, CFPRODUCTSET, CFCATGROUP, CFCONDGRP, CFCOND, CFCONDVAL se suprimen en cascada.

Archivo CSV con datos de ejemplo

CatalogFilter.csv

Archivo CSV con datos de ejemplo

Tabla 1. CatalogFilter
CatalogFilterName StoreIdentifier CatalogIdentifier EnglishDescription
CatalogFilterA Aurora Aurora ShortDesc para el filtro A
CatalogFilterB Aurora Aurora ShortDesc for filter B

Definiciones de columnas CSV y de elementos XML

CatalogFilterName
Obligatorio, Serie: El nombre del filtro de catálogo. Asegúrese de que la combinación de CatalogIdentifier, StoreIdentifier y CatalogFilterName es exclusiva.
StoreIdentifier
Obligatorio, Serie: El identificador de la tienda a la que pertenece el filtro de catálogo.
CatalogIdentifier
Obligatorio, Serie: El identificador del catálogo al que pertenece el filtro de catálogo.
EnglishDescription
Serie: La descripción del filtro de catálogo en inglés. Si se proporciona este campo, se suprime la correspondiente CATFLTDSC, no se suprime CATFILTER.

Los siguientes campos opcionales sirven de descripción de otros idiomas:

  • GermanDescription
  • ItalianDescription
  • JapaneseDescription
  • KoreanDescription
  • PolishDescription
  • PortugueseDescription
  • RomanianDescription
  • RussianDescription
  • SChineseDescription
  • SpanishDescription
  • TChineseDescription
Otros campos opcionales no incluidos en este ejemplo son:
CatalogFilterId
Opcional, Serie: El número de referencia del catálogo. Si el número de referencia se proporciona en el CSV, se utilizará este. Si se proporciona este campo, no son necesarios CatalogFilterName, CatalogFilterName, CatalogIdentifier.

Datos de contexto de negocio

El siguiente fragmento de código del archivo de configuración wc-dataload-env.xml proporciona los datos de contexto de negocio necesarios:

<_config:BusinessContext storeIdentifier="AuroraESite" catalogIdentifier="Extended Sites Catalog Asset Store">
</_config:BusinessContext>
storeIdentifier
Serie: El identificador de la tienda. Este parámetro se utiliza cuando no se proporciona storeIdentifier en el archivo CSV. Si se proporciona storeIdentifier en el archivo CSV, éste se utiliza. storeIdentifier se utiliza para recuperar los valores de storeID y ownerID.
catalogIdentifier
Serie: El identificador de catálogo. Este parámetro se utiliza cuando no se proporciona el identificador de catálogo en el archivo CSV. Si se proporciona catalogIdentifier en el archivo CSV, éste se utiliza.

Correlación de datos

El siguiente fragmento de código del archivo de configuración de ejemplo muestra cómo correlacionar cada columna de datos del archivo CSV de origen con un valor.
<_config:DataReader 
     className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" 
     firstLineIsHeader="true" 
     useHeaderAsColumnName="true" /> 

El siguiente fragmento de código del archivo de configuración de ejemplo muestra cómo correlacionar cada columna de datos del archivo CSV con una vía de acceso de esquema lógico de objeto de negocio. El atributo value representa el nombre de una columna del archivo CSV que está definido en el fragmento de código de configuración previo. Cada columna del archivo CSV debe tener una correlación con la vía de acceso de esquema lógico. Si los campos opcionales especificados están presentes en el archivo CSV, debe añadirse una correlación para los mismos.

<_config:DataMapping>
  <_config:mapping xpath="CatalogFilterIdentifier/UniqueID" value="CatalogFilterId" />      
  <_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/Identifier" value="CatalogFilterName" />
  <_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" />
  <_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/CatalogIdentifier/ExternalIdentifier/Identifier" value="CatalogIdentifier" />
  <_config:mapping xpath="usage" value="Usage" />
  <_config:mapping xpath="Description[0]/language" value="-1" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[0]/value" value="EnglishDescription" />
  <_config:mapping xpath="Description[1]/language" value="-2" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[1]/value" value="FrenchDescription" />
  <_config:mapping xpath="Description[2]/language" value="-3" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[2]/value" value="GermanDescription" />
  <_config:mapping xpath="Description[3]/language" value="-4" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[3]/value" value="ItalianDescription" />
  <_config:mapping xpath="Description[4]/language" value="-5" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[4]/value" value="SpanishDescription" />
  <_config:mapping xpath="Description[5]/language" value="-6" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[5]/value" value="PortugueseDescription" />
  <_config:mapping xpath="Description[6]/language" value="-7" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[6]/value" value="SChineseDescription" />
  <_config:mapping xpath="Description[7]/language" value="-8" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[7]/value" value="TChineseDescription" />
  <_config:mapping xpath="Description[8]/language" value="-9" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[8]/value" value="KoreanDescription" />
  <_config:mapping xpath="Description[9]/language" value="-10" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[9]/value" value="JapaneseDescription" />
  <_config:mapping xpath="Description[10]/language" value="-20" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[10]/value" value="RussianDescription" />
  <_config:mapping xpath="Description[11]/language" value="-21" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[11]/value" value="RomanianDescription" />
  <_config:mapping xpath="Description[12]/language" value="-22" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[12]/value" value="PolishDescription" />
  <_config:mapping xpath="UserData/UserDataField[0]/Field1" value="Field1" />
  <_config:mapping xpath="UserData/UserDataField[0]/Field2" value="Field2" />
  <_config:mapping xpath="UserData/UserDataField[0]/Field3" value="Field3" />
  <_config:mapping xpath="" value="Delete"  deleteValue="1"/>
</_config:DataMapping>

Archivo XML de ejemplo

Mediador de objetos de negocio

El nombre de la clase de mediador es com.ibm.commerce.catalogfilter.dataload.mediator.CatalogFilterMediator. El correspondiente esquema lógico es CatalogFilter.xsd.

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.