Ejemplo: eliminar detalles de inventario esperado
Puede eliminar datos de detalles de inventario esperado utilizando el programa de utilidad de carga de datos. Este ejemplo utiliza un archivo CSV para mostrar cómo eliminar la información de detalles de inventario esperado.
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 RADETAIL.
Archivo CSV con datos de ejemplo
En este ejemplo, la fuente de datos es un archivo CSV denominado radetail_delete.csv. El archivo contiene datos de ejemplo con un número mínimo de columnas necesarias para "eliminar" dataLoadMode.
VendorName | RACreateTime | PartNumber | ExpectedDate | CatEntryStoreIdentifier | |
---|---|---|---|---|---|
MyCompany | 2005-07-12 01:01:01.123456 | FULO-0101 | 2005-12-08 00:00:00.0 | 10701 | |
AdvancedB2BDirect Vendor | 2008-05-15 04:04:04.0 | FULO-0201 | 2008-12-24 00:00:00.0 | ||
AdvancedB2BDirect Vendor | 2009-05-21 00:00:00.0 | FULO-0301 | 2009-12-31 00:00:00.0 |
Definiciones de columnas CSV y de elementos XML
- VendorName
- (Obligatorio, serie) Proveedor que ha suministrado el inventario. Este campo se utiliza para resolver el valor de RA_ID. Este campo es obligatorio y no puede ser nulo.
- RACreateTime
- (Obligatorio, indicación de fecha y hora) Fecha y hora de creación del registro de inventario esperado correspondiente (RA). 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 se utiliza para resolver el valor de RA_ID. Este campo es obligatorio y no puede ser nulo. - PartNumber
- (Obligatorio, serie) Número de pieza de este artículo. Identifica de forma exclusiva un artículo de un determinado propietario. Junto con el identificador de propietario, se utiliza para recibir la clave primaria de la tabla ITEMSPC. Por ejemplo, ITEMSPC_ID. Este campo es obligatorio y no puede ser nulo si no se ha especificado el campo CatalogEntryUniqueId en el archivo CSV.
- ExpectedDate
- (Obligatorio, indicación de fecha y hora) Fecha en que se espera recibir este inventario. El formato es el mismo que el especificado para el campo RACreateTime.
- 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.
Otros campos opcionales no incluidos en este ejemplo son:
- 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.
- FulfillmentCenterId
- (Entero) El identificador del centro de despacho de pedidos al que pertenece este artículo. Esta columna puede añadirse a CSV si el artículo pertenece a un centro de despacho de pedidos, que es diferente al definido en la propiedad BusinessContext de wc-dataload-env.xml. Si esta columna no se proporciona en el archivo CSV, FulfillmentCenterName recupera el valor de fulfillmentCenterIdentifier. Si no se encuentra, se utiliza fulfillmentCenterIdentifier del contexto de negocio. Si no se especifica ni en el archivo CSV ni en el contexto de negocio, se utiliza fufillmentCenter predeterminado de la tienda predefinida.
- FulfillmentCenterName
- (Serie) El identificador del centro de despacho de pedidos al que pertenece este artículo. Esta columna se utiliza para recuperar el valor de fulfillmentCenterIdentifier.
- OwnerId
- (Largo) Identificador del propietario de este artículo. Si no se especifica en el archivo CSV, se recupera el propietario de la tienda con elementos de entrada de catálogo. Si no se encuentra, se recupera el propietario de la tienda actual. Si tampoco se encuentra, se utiliza el ownerId especificado en la propiedad BusinessContext de wc-dataload-env.xml.
- CatalogEntryUniqueId
- (Largo) Identificador de la entrada de catálogo. Se utiliza para recuperar la clave primaria de la tabla ITEMSPC. Por ejemplo, ITEMSPC_ID. Si este campo no se especifica en el archivo CSV, el número de pieza y el propietario del artículo recuperan ITEMSPC_ID.
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 para cargar los datos:
<_config:BusinessContext storeIdentifier="AuroraESite">
<_config:property name="fulfillmentCenterName" value="Aurora Home"/>
<_config:property name="ownerId" value="7000000000000000102"/>
</_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 y ownerID.
- fulfillmentCenterId
- (Serie) El identificador del centro de despacho de pedidos al que pertenece este artículo. Se utiliza si el identificador no puede recuperarse por FulfillmentCenterId o FulfillmentCenterName especificado en el archivo CSV.
- FulfillmentCenterName
- (Serie) El nombre del centro de despacho de pedidos al que pertenece este artículo. Se utiliza para recuperar fulfillmentCenterID, si fulfillmentCenterID no se recupera del archivo CSV o define en el contexto de negocio.
- OwnerId
- (Largo) El identificador del catálogo entryOwner de este artículo. Se utiliza si el catálogo entryOwner no se proporciona en el archivo CSV y no se puede recuperar por el identificador de tienda especificado.
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 los campos opcionales están presentes en el archivo CSV, debe añadirse una definición para los mismos.
<_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="RACreateTime" />
<_config:column number="3" name="PartNumber" />
<_config:column number="4" name="ExpectedDate" />
<_config:column number="5" 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 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="ExpectedInventoryRecordIdentifier/ExternalIdentifier/VendorName" value="VendorName" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/CreateDate" value="RACreateTime" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryDetail[0]/ExpectedInventoryDetailIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryDetail[0]/ExpectedInventoryDetailIdentifier/ExternalIdentifier/ExpectedDate" value="ExpectedDate" valueFrom="InputData" />
<_config:mapping xpath="InventoryReceiptIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="CatEntryStoreIdentifier" />
</_config:DataMapping>
Mediador de objetos de negocio
El nombre de la clase de mediador es com.ibm.commerce.inventory.dataload.mediator.ExpectedInventoryDetailMediator.