Ejemplo: eliminar registros de inventario esperados (RA)

Puede eliminar los registros de inventario esperados utilizando el programa de utilidad de carga de datos. Este ejemplo utiliza un archivo CSV para mostrar cómo eliminar los registros de inventario esperados.

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.

Puede utilizar el programa de utilidad de carga de datos para eliminar datos de la tabla RA.

Archivo CSV con datos de ejemplo

En este ejemplo, la fuente de datos es un archivo CSV denominado ra_delete.csv. El archivo contiene datos de ejemplo con un número mínimo de columnas necesarias para "eliminar" dataLoadMode.

Archivo CSV con datos de ejemplo

VendorName CreateTime CatEntryStoreIdentifier
MyCompany 2005-07-12 01:01:01.123456 10701
AdvancedB2BDirect Vendor 2008-05-15 04:04:04.0
AdvancedB2BDirect Vendor 2009-05-21 00:00:00.0
Nota: Puesto que la tabla RADETAIL tiene una restricción en cascada en la tabla RA, al eliminar un registro de la tabla RA, también se suprimen los datos correspondientes en la tabla RADETAIL. Si la propiedad "markForDelete" se establece en true en el archivo de configuración del objeto de negocio. Si la propiedad "markForDelete" se establece en true, el registro RA y el registro RADETAIL no se suprimen de la base de datos. En su lugar el valor MARKFORDELETE de estos registros se actualiza a "1". Cualquier valor distinto de true adopta automáticamente el valor false.

Definiciones de columnas CSV y de elementos XML

VendorName
(Obligatorio, serie) Proveedor que ha suministrado el inventario. Este campo es obligatorio y no puede ser nulo.
CreateTime
(Obligatorio, indicación de fecha y hora) Fecha y hora de creación del registro. El formato de la entrada es yyyy-mm-dd hh:mm:ss.SSSSSS. La longitud de las fracciones de segundos no debe ser superior a 6. El formato puede personalizarse estableciendo la propiedad timestampPattern en wc-dataload.xml. Este campo forma parte del índice exclusivo de la tabla RA. Este campo es obligatorio y no puede ser nulo.
CatEntryStoreIdentifier
(Serie) Este campo se utiliza en una tienda de sitios ampliados. Si el valor de CatalogEntry se define en una tienda con elementos de entrada de catálogo, este campo corresponde al identificador de la tienda con elementos de entrada de catálogo. Este identificador se utiliza para recuperar el catálogo entryOwner.
HCL Commerce EnterpriseEste campo es obligatorio si está utilizando una tienda de sitios ampliados.

Otros campos opcionales no incluidos en el ejemplo:

StoreIdentifier
(Serie) Identificador de la tienda a la que pertenece este artículo. Esta columna puede añadirse en CSV si el artículo pertenece a una tienda que es distinta a la tienda que está definida en elementos BusinessContext de wc-dataload-env.xml. Si esta columna no se proporciona en el archivo CSV, se utiliza el valor de StoreIdentifier en el contexto de negocio.

Datos de contexto de negocio

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

<_config:BusinessContext storeIdentifier="AuroraESite">
</_config:BusinessContext>
storeIdentifier
(Serie) Identificador de la tienda a la que pertenece este artículo. Se utiliza si el archivo CSV no proporciona esta información. El valor de StoreIdentifier se utiliza para recuperar los valores de storeID.

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. Cada columna del archivo CSV debe tener una definición de este tipo. Si el campo opcional especificado anteriormente está presente en el archivo CSV, debe añadirse la definición para el mismo.

<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" firstLineIsHeader="true">
  <_config:Data>
    <_config:column number="1" name="VendorName" />
    <_config:column number="2" name="CreateTime" />
    <_config:column number="3" name="CatEntryStoreIdentifier" />
  </_config:Data>
</_config:DataReader >

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. Cada columna del archivo CSV debe tener una correlación con la vía de acceso de esquema lógico. Si el campo opcional especificado anteriormente está presente en el archivo CSV, debe añadirse la correlación para ellos.

<_config:DataMapping>
  <_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/VendorName" value="VendorName" valueFrom="InputData" />
  <_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/CreateDate" value="CreateTime" valueFrom="InputData" />
  <_config:mapping xpath="InventoryReceiptIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="CatEntryStoreIdentifier" />
</_config:DataMapping>

Mediador de objetos de negocio

El programa de utilidad de carga de datos proporciona un mediador de objetos de negocio para eliminar datos de detalles de registro esperados. El nombre de la clase de mediador es com.ibm.commerce.inventory.dataload.mediator.ExpectedInventoryMediator.

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.