Escenario: Carga de actualización de entradas de catálogo

Puede configurar el programa de utilidad de carga de datos para que se ejecute en modalidad de actualización para actualizar información de entradas de catálogo. La modalidad de actualización compara los datos de entradas de catálogo en el archivo de entrada con los datos correspondientes para las entradas de catálogo en la base de datos. La modalidad de actualización sustituirá o añadirá datos solo para las columnas que se especifican en el archivo de entrada. Las demás columnas permanecen igual.

Cuando se ejecuta el programa de utilidad de carga de datos en modalidad de sustitución, el programa de utilidad de carga de datos da por supuesto que el archivo de entrada es una nueva copia maestra de los datos para los objetos dentro del archivo. Durante la operación de carga, el programa de utilidad sustituye todos los datos en la base de datos con los datos del archivo de entrada. Si el archivo de entrada no incluye datos para cargarlos en una columna de base de datos, el programa de utilidad carga el valor predeterminado para la columna si hay un valor configurado. Si no existe ningún valor en el archivo de entrada y no se ha configurado ningún valor predeterminado, el programa de utilidad suprime los datos en la correspondiente columna de base de datos del objeto.

Con el programa de utilidad de carga de datos en modalidad de sustitución, los administradores deben incluir datos para todas las columnas para impedir que el proceso de carga suprima datos de la base de datos o que restablezca los datos en un valor predeterminado. También puede configurar una lista de exclusión de columnas para impedir que el programa de utilidad actualice columnas específicas, aunque el programa de utilidad todavía podrá borrar datos si faltan valores para un objeto para cualquier columna que no se haya excluido.

La modalidad de actualización del programa de utilidad de carga de datos impide que el programa de utilidad suprima datos en la base de datos cuando faltan valores de columna para objetos de entradas de catálogo en el archivo de entrada. No es necesario configurar ninguna lista de exclusión de columnas. Para configurar la modalidad de actualización, debe establecer el valor "Update" para la propiedad de archivo de configuración de orden de carga, dataLoadMode. Por ejemplo,
<_config:LoadOrder dataLoadMode="Update" >
También puede incluir la propiedad dataLoadMode en la configuración para elementos de carga específicos, por ejemplo:
<_config:LoadItem name="CatalogEntryUpdate" dataLoadMode="Update">
Puede utilizar el programa de utilidad de carga de datos para cargar información de entradas de catálogo o de descripción de entradas de catálogo. Para ayudarle a utilizar el programa de utilidad en modalidad de actualización, puede utilizar los archivos de configuración de ejemplo que están disponibles. Estos archivos de configuración están en el siguiente directorio:
  • Linuxutilities_root\samples\DataLoad\Catalog\CatalogEntryUpdate
  • HCL Commerce DeveloperWCDE_installdir\samples\DataLoad\Catalog\CatalogEntryUpdate
Si personaliza los archivos de configuración para cargar datos distintos de la información de entradas de catálogo o de descripción de entradas de catálogo, la operación de carga podría no funcionar como se esperaba.

Cuando el programa de utilidad de carga de datos se ejecuta en modalidad de actualización, el mediador de objetos de negocio envía una lista de objetos de datos de tabla a JDBCDataWriter. Estos objetos de datos incluyen los valores del archivo de entrada. El grabador de datos podrá persistir los objetos de datos de tabla en la base de datos. Para cada objeto, el grabador de datos recupera la correspondiente fila de base de datos y compara los valores de columna entre la base de datos y el objeto de datos. Si hay un valor distinto, el grabador de datos sustituye el valor de la base de datos por el valor del objeto de datos de tabla. Si los valores son iguales o no existe ningún valor en el objeto de datos de tabla, no se produce ninguna actualización. El valor de columna de base de datos permanece.

Subir catálogo

Los usuarios de negocio también pueden utilizar Subir catálogo en modalidad de actualización para cargar información de entradas de catálogo y descripción de entradas de catálogo en la herramienta Catálogos. Si debe proporcionar usuarios de negocio con archivos CSV o XML para utilizarlos para cargar datos, asegúrese de incluir las palabras clave correctas dentro de los archivos de entrada. Para cargar información de entradas de catálogo en modalidad de actualización, el archivo CSV o XML, utilice una de las siguientes palabras clave:
CatalogEntryUpdate
Indica que la carga incluye actualizaciones para datos de entradas de catálogo, como por ejemplo nombre o nombre de fabricante.
CatalogEntryDescriptionUpdate
Indica que la carga incluye actualizaciones para datos descriptivos de entradas de catálogo, como por ejemplo descripción breve o descripción detallada.
Si incluye palabras clave en el archivo CSV o XML, puede utilizar el archivo como archivo de entrada para la función Subir catálogo o el programa de utilidad de carga de datos.

Ejemplo

El siguiente fragmento de código forma parte de un archivo de configuración de orden de carga de datos wc-dataload.xml. Este fragmento de código especifica la modalidad de carga de datos Update, una cuenta de compromisos y un tamaño de lote pequeños, sin un rango de claves fijo:
<_config:LoadOrder commitCount="10" batchSize="1" dataLoadMode="Update" >
  <_config:property name="firstTwoLinesAreHeader" value="true" />
  <_config:LoadItem name="CatalogEntryUpdate" loadSequence="3.1" businessObjectConfigFile="wc-loader
   -catalog-entry-update.xml">
    <_config:DataSourceLocation location="CatalogEntriesUpdate.csv" oldLocation="" />
    <_config:BusinessContext languageId="-1"/>
  </_config:LoadItem>
</_config:LoadOrder>
Este ejemplo establece dataLoadMode solo en la configuración de orden de carga, pero también se puede establecer dentro de la configuración de elementos de carga.
El siguiente fragmento de código forma parte de un archivo de configuración del entorno de carga de datos de un ejemplo wc-dataload-env.xml. Este fragmento de código especifica el tamaño de memoria caché del programa de resolución de ID en 0:
<_config:IDResolver className="com.ibm.commerce.foundation.dataload.idresolve.IDResolverImpl" 
cacheSize="0" />