Ejemplo: Insertar y sustituir regla de precio
Utilice el programa de utilidad de carga de datos para cargar datos de regla de precio en la tabla PRICERULE. El programa de utilidad de carga de datos proporciona dos modalidades para cargar regla de precio: insertar y sustituir. Utilice las modalidades de inserción para una nueva regla de precio. Utilice la modalidad de sustitución para actualizar una regla de precio existente.
No utilice la modalidad de inserción si existe una regla de precio con el mismo nombre de regla de precio, o un ID exclusivo, en la base de datos. En la modalidad de inserción, si existe una regla de precio con el mismo nombre de regla de precio o un ID exclusivo en la base de datos, el registro no se inserta. En la modalidad de sustitución, si el nombre de regla de precio o el ID exclusivo del archivo de carga no existe en la base de datos, la regla de precio se inserta.
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.
Requisitos previos
Antes de ejecutar este ejemplo, asegúrese de que se cumplen los siguientes requisitos previos:
- Asegúrese de que la tienda existe.
Archivo CSV con datos de regla de precio de ejemplo
En este ejemplo, el origen de datos es un archivo CSV denominado PriceRule.csv. El archivo contiene datos de regla de precio de datos. Cada columna está delimitada por una coma.Nombre: | Descripción: | Estado | Dependencia | Formato |
---|---|---|---|---|
PriceRule001 | Esta regla de precio es solo para UT | 1 | TRUE | 1 |
PriceRule002 | Esta regla de precio es solo para UT | 0 | FALSE | 0 |
- firstLineIsHeader
- true
- Indica que la primera línea del archivo CSV se trata como datos de nombre de columna y no se inserta en la base de datos.
- false
- Indica que la primera línea del archivo CSV son datos que se leerán e insertarán en la base de datos.
Definiciones de columnas CSV y de elementos XML
El orden de las columnas se define en el archivo de configuración de carga de datos de regla de precio. Consulte el atributo number
en el elemento <_config:Data>
.
- Nombre:
- (Necesario, Serie) El nombre de la regla de precio, la combinación de nombre y storeIdentifier en el contexto de negocio debe ser exclusivo.
- Descripción:
- (Serie) La descripción de la regla de precio.
- Estado
- (Necesario, Entero) El estado actual de la regla de precio. Los valores válidos son: 0 = Borrador, 1 = Preparado, 2 = Suspendido, 3 = Cerrado.
- Dependency
- (Necesario, Booleano) El distintivo booleano para indicar si la regla de precio es o no dependiente.
- Format
- (Necesario, Entero) El tipo de regla de precio. Los valores válidos son: 0 = interno, 1 = externo. El valor predeterminado es 0.
Otros campos opcionales no incluidos en este ejemplo son:
- UniqueID
- (Serie) El número de referencia de la regla de precio. Si se proporciona, PRICERULE.PRICERULE_ID se rellena con el valor proporcionado. O, el PRICERULE.PRICERULE_ID es un número exclusivo generado.
- CreatedTime
- (Indicación de fecha y hora) La hora de creación de la regla de precio.
- LastUpdateTime
- (Indicación de fecha y hora) La última hora de actualización de la regla de precio.
- 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. El deleteValue puede configurarse bajo el elemento
<DataMapping>
en BusinessObjectConfigFile. - Field 1
- (Serie) Extensión que se llena para el valor Serie; la longitud máxima es 254.
- Campo 2
- (Serie) Extensión que se llena para el valor Serie; la longitud máxima es 254.
- Campo 3
- (Serie) Extensión que se llena para el valor Serie; la longitud máxima es 254.
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 de regla de precios:<_config:BusinessContext
storeIdentifier="AuroraESite"
catalogIdentifier="Extended Sites Catalog Asset Store"
languageId="-1"
currency="USD">
</_config:BusinessContext>
- storeIdentifier
- Serie: El identificador de la tienda a la que pertenece este artículo, como por ejemplo AuroraESite. Se utiliza si el archivo CSV no proporciona esta información. El valor de StoreIdentifier se utiliza para recuperar los valores de storeID.
- 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, este 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">
<_config:Data>
<_config:column number="1" name="UniqueID" />
<_config:column number="2" name="Name" />
<_config:column number="3" name="Description" />
<_config:column number="4" name="State" />
<_config:column number="5" name="Dependent" />
<_config:column number="6" name="Format" />
<_config:column number="7" name="Version" />
<_config:column number="8" name="Field1" />
<_config:column number="9" name="Field2" />
<_config:column number="10" name="Field3" />
<_config:column number="11" name="CreatedTime"/>
<_config:column number="12" name="LastUpdateTime" />
<_config:column number="13" name="Delete" />
</_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 anterior. 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.
<_config:DataMapping>
<_config:mapping xpath="PriceRuleIdentifier/UniqueID" value="UniqueID" />
<_config:mapping xpath="PriceRuleIdentifier/ExternalIdentifier/Name" value="Name" />
<_config:mapping xpath="Description" value="Description" />
<_config:mapping xpath="State" value="State" />
<_config:mapping xpath="Dependent" value="Dependent" />
<_config:mapping xpath="Format" value="Format" />
<_config:mapping xpath="Version" value="Version" />
<_config:mapping xpath="CreatedTime" value="CreatedTime"/>
<_config:mapping xpath="LastUpdateTime" value="LastUpdateTime"/>
<_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>
Mediador de objetos de negocio
El nombre de la clase de mediador es com.ibm.commerce.price.dataload.mediator.PriceRuleMediator
. El esquema lógico correspondiente se define en PriceRule.xsd
.