Ejemplo: Insertar y sustituir registros de inventario esperado (RA)
Puede insertar o sustituir registros de inventario esperado utilizando el programa de utilidad de carga de datos. Estos ejemplos utilizan un archivo CSV para demostrar cómo insertar o sustituir los datos de registro 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.
Utilice el programa de utilidad de carga de datos para cargar datos en la tabla RA.
Requisitos previos
Antes de ejecutar este ejemplo, asegúrese de que se cumplen los siguientes requisitos previos:
- Asegúrese de que el sistema de inventario es ATP. Por ejemplo, compruebe la tabla STORE para asegurarse de que INVENTORYSYSTEM=-1
- Los datos del catálogo, los datos de grupo de catálogo y los datos de entrada de catálogo que se utilizan en este ejemplo deben cargarse en la base de datos.
- Los datos de configuración de inventario ATP se cargan en la base de datos.
- Los datos de VendorName en el archivo CSV de origen existen en la tabla VENDOR de la base de datos.
Archivo CSV con datos de ejemplo
En este ejemplo, el origen de datos es un archivo CSV denominado ra.csv. El archivo contiene datos de ejemplo.
VendorName | CreateTime | OrderDate | DateClosed | OpenIndicator | ExternalId | CatEntryStoreIdentifier |
---|---|---|---|---|---|---|
MyCompany | 2005-07-12 01:01:01.123456 | 2005-06-12 02:02:02.123456 | 2005-08-08 00:00:00.0 | True | ATP-1201 Record 1 | 10701 |
AdvancedB2BDirect Vendor | 2008-05-15 04:04:04.0 | 2008-04-15 00:00:00.0 | 2008-12-24 09:02:00.0 | False | ATP-1301 Record 1 | |
AdvancedB2BDirect Vendor | 2009-05-21 00:00:00.0 | 2009-04-21 00:00:00.0 |
Definiciones de columnas CSV y de elementos XML
- VendorName
- (Necesario, serie) Proveedor que ha suministrado el inventario. Este campo es necesario y no puede ser nulo.
- CreateTime
- (Necesario, 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 necesario y no puede ser nulo. - OrderDate
- (Necesario, indicación de fecha y hora) Fecha y hora de creación de este pedido con el proveedor. El formato es el mismo que el indicado para CreateTime. Este campo es necesario y no puede ser nulo.
- DateClosed
- (Indicación de fecha y hora) Fecha y hora de cierre del registro. El formato es el mismo que el indicado para CreateTime.
- OpenIndicator
- (Booleano) True = Todavía se puede recibir inventario esperado y asignar a pedidos en espera. False = No se recibe más inventario. El inventario esperado no puede asignarse a pedidos en espera. Cualquier valor distinto de true adopta automáticamente el valor false.
- ExternalId
- (Serie) Identificador externo. Los proporciona el proveedor y pueden utilizarse para hacer referencia a este registro.
- CatEntryStoreIdentifier
- (Serie) Este identificador 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 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.
- eliminar
- (Serie) Indica si debe eliminarse el registro. Este campo es efectivo cuando el valor de dataLoadMode es "replace". Si el valor de este campo es deleteValue, se suprime el registro correspondiente. El deleteValue predeterminado es 1 y deleteValue puede configurarse bajo el elemento <DataMapping> en BusinessObjectConfigFile.
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: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.
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">
<_config:Data>
<_config:column number="1" name="VendorName" />
<_config:column number="2" name="CreateTime" />
<_config:column number="3" name="OrderDate" />
<_config:column number="4" name="ClosedDate" />
<_config:column number="5" name="OpenIndicator" />
<_config:column number="6" name="ExternalId" />
<_config:column number="7" 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 la columna del archivo CSV, que se define 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 los campos opcionales están presentes en el archivo CSV, debe añadirse una correlación para los mismos. La vía de acceso del esquema lógico de correlación se especifica en la siguiente tabla.
<_config:DataMapping>
<_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/VendorName" value="VendorName" valueFrom="InputData" />
<_config:mapping xpath="OrderDate" value="OrderDate" valueFrom="InputData" />
<_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/CreateDate" value="CreateTime" valueFrom="InputData" />
<_config:mapping xpath="CloseDate" value="ClosedDate" valueFrom="InputData" />
<_config:mapping xpath="OpenIndicator" value="OpenIndicator" valueFrom="InputData" />
<_config:mapping xpath="ExternalId" value="ExternalId" 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.ExpectedInventoryMediator
. El esquema lógico correspondiente es ExpectedInventoryRecord.xsd.