Ejemplo: Insertar y sustituir condiciones de filtros de catálogo
Puede insertar o sustituir las condiciones de filtros de catálogo utilizando el programa de utilidad de carga de datos. Estos ejemplos utilizan un archivo CSV para mostrar cómo insertar o sustituir los datos de condición de filtro de catálogo.
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
- Asegúrese de que la tienda existe.
- Asegúrese de que los datos de catálogo existen.
- Asegúrese de que el grupo de condiciones de filtros de catálogo se ha cargado.
Archivo CSV con datos de condiciones de filtros de catálogo de ejemplo
CatalogFilterCondition.csv. El archivo contiene datos de condiciones de filtros de catálogo de ejemplo. Cada columna está delimitada por una coma.
CatalogFilterName | StoreIdentifier | CatalogIdentifier | CatalogGroupIdentifier | ConditionGroupIdentifier | ConditionType | AttributeName | Operador | AttributeValueIdentifier | AttributeValue | LanguageId | ValueType |
---|---|---|---|---|---|---|---|---|---|---|---|
CatalogFilterA | Aurora | Aurora | Sillones | conditionLoungeChairAnd | 0 | Color | no es igual a | Rojo, Verde, Negro | Rojo, Verde, Negro | -1 | Serie |
CatalogFilterA | Aurora | Aurora | Sillones | conditionLoungeChairAnd | 1 | Fabricante | es igual a | ABC | ABCcompany | -7 | Serie |
Definiciones de columnas CSV y de elementos XML
- CatalogFilterName
- Obligatorio, Serie: El nombre del filtro de catálogo. Asegúrese de que la combinación de CatalogIdentifier, StoreIdentifier y CatalogFilterName es exclusiva.
- StoreIdentifier
- Obligatorio, Serie: El identificador de la tienda a la que pertenece el filtro de catálogo.
- CatalogIdentifier
- Obligatorio, Serie: El identificador del catálogo al que pertenece el filtro de catálogo.
- CatalogGroupIdentifier
- Obligatorio, Serie: El identificador del grupo de catálogo que se va a incluir o excluir de este filtro de catálogo.
- ConditionGroupIdentifier
- El nombre exclusivo de la condición.
- ConditionType
- Obligatorio, Serie: Tipo de condición:
- 0
- El atributo se almacena en el diccionario de atributos.
- 1
- El atributo no se almacena en el diccionario de atributos.
- AttributeName
- Obligatorio, Serie: El nombre de atributo. Para un atributo almacenado en el diccionario de atributos, es el identificador del atributo.
- Operador
- Obligatorio, Serie: El operador de la condición, que puede ser cualquiera de los operadores siguientes:
- es igual a
- no es igual a
- menor que
- no menor que
- greater than
- no es mayor que
- AttributeValueIdentifier
- Obligatorio cuando ConditionType es 0, Serie: Identificador exclusivo del valor de atributo. Se utiliza para los atributos de diccionario de atributos. Puede contener varios valores. Cada valor está delimitado por una coma.
- AttributeValue
- Obligatorio, Serie: Los valores del atributo, puede contener varios valores. Cada valor está delimitado por una coma.
- LanguageId
- Obligatorio, Entero: El ID del idioma.
- -1 = Inglés (EE.UU.)
- -2 = Francés
- -3 = Alemán
- -4 = Italiano
- -5= Español
- -6= Portugués de Brasil
- -7= Chino simplificado
- -8 = Chino tradicional
- -9 = Coreano
- -10 = Japonés
- -20 = Ruso
- -21= Rumano
- -22 = Polaco
- ValueType
- Necesario. El tipo del valor de atributo. Por ejemplo, Serie o Entero.
- ConditionGroupId
- Opcional, Serie: El número de referencia del grupo de la condición. Si se proporciona, CatalogFilterId, CatalogFilterName, StoreIdentifier, CatalogIdentifier, CatalogGroupIdentifier, ConditionGroupIdentifier no son necesarios.
- CatalogFilterId
- Opcional, Serie: El número de referencia del catálogo. Si el número de referencia se proporciona en el CSV, se utilizará este. Si se proporciona este campo, no son necesarios CatalogFilterName, CatalogFilterName, CatalogIdentifier.
- eliminar
- Opcional, Serie: Indica si se debe eliminar este 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 el archivo BusinessObjectConfigFile.
- CondField1
- Opcional, Largo: Campo de ampliación para la condición de filtro de catálogo (CFCOND.FIELD1). Delimitar varios valores con una coma.
- CondField2
- Opcional, Entero: Campo de ampliación para la condición de filtro de catálogo (CFCOND.FIELD2), Delimitar varios valores con una coma.
- CondField3
- Opcional, Serie: Campo de ampliación para la condición de filtro de catálogo (CFCOND.FIELD3), la longitud máxima es 254. Delimitar varios valores con una coma.
- CondField4
- Opcional, Flotante (20,5): Campo de ampliación para la condición de filtro de catálogo (CFCOND.FIELD4). Delimitar varios valores con una coma.
- CondField5
- Opcional, Número: Campo de ampliación para la condición de filtro de catálogo (CFCOND.FIELD5). Delimitar varios valores con una coma.
- CondValField1
- Opcional, Largo: Campo de ampliación del valor de condición de filtro de catálogo (CFCONDVAL.FIELD1). Delimitar varios valores con una coma.
- CondValField2
- Opcional, Entero: Campo de ampliación para el valor de condición de filtro de catálogo (CFCONDVAL.FIELD2). Delimitar varios valores con una coma.
- CondValField3
- Opcional, Serie: Campo de ampliación para el valor de condición de filtro de catálogo (CFCONDVAL.FIELD3), la longitud máxima es 254. Delimitar varios valores con una coma.
- CondValField4
- Opcional, Flotante (20,5): Campo de ampliación para el valor de condición de filtro de catálogo (CFCONDVAL.FIELD4). Delimitar varios valores con una coma.
- CondValField5
- Opcional, Número: Campo de ampliación del valor de condición de filtro de catálogo (CFCONDVAL.FIELD5). Delimitar varios valores con una coma.
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:
<_config:BusinessContext storeIdentifier="AuroraESite" catalogIdentifier="Extended Sites Catalog Asset Store">
</_config:BusinessContext>
- storeIdentifier
- Serie: El identificador de la tienda. Este parámetro se utiliza cuando no se proporciona storeIdentifier en el archivo CSV. Si se proporciona storeIdentifier en el archivo CSV, éste se utiliza. storeIdentifier se utiliza para recuperar los valores de storeID y ownerID.
- 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, éste 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" useHeaderAsColumnName="true" />
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. La vía de acceso del esquema lógico de correlación se especifica en la siguiente tabla.
<_config:DataMapping>
<_config:mapping xpath="CatalogFilterIdentifier/UniqueID" value="CatalogFilterId" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/ConditionGroupIdentifier/UniqueID" value="ConditionGroupId" />
<_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/Identifier" value="CatalogFilterName" />
<_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="StoreIdentifier" />
<_config:mapping xpath="CatalogFilterIdentifier/ExternalIdentifier/CatalogIdentifier/ExternalIdentifier/Identifier" value="CatalogIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/CatalogGroupSelectionIdentifier/ExternalIdentifier/CatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="CatalogGroupIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/ConditionGroupIdentifier/ExternalIdentifier/Identifier" value="ConditionGroupIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/conditionType" value="ConditionType" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeIdentifier/ExternalIdentifier/Identifier" value="AttributeName" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionOperator" value="Operator" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/identifier" value="AttributeValueIdentifier" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/StringValue/Value" value="AttributeValue" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/language" value="LanguageId" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/ConditionAttributeValue/UserData/UserDataField[0]/ValueType" value="ValueType" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField1" value="CondValField1" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField2" value="CondValField2" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField3" value="CondValField3" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField4" value="CondValField4" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondValField5" value="CondValField5" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField1" value="CondField1" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField2" value="CondField2" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField3" value="CondField3" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField4" value="CondField4" />
<_config:mapping xpath="CatalogGroupSelection/ConditionGroup/Condition/UserData/UserDataField[0]/CondField5" value="CondField5" />
<_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.catalogfilter.dataload.mediator.CatalogFilterConditionMediator.