Ejemplo: Entradas de catálogo

Puede insertar, sustituir o eliminar datos de producto, código de artículo, paquete y kit utilizando el programa de utilidad de carga de datos. En estos ejemplos se utiliza un archivo CSV para mostrar cómo insertar, sustituir o eliminar varios datos de producto, SKU, paquete y kit.

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.

Nota: Si el sitio utiliza SEO y tiene previsto cargar URL de SEO para entradas del catálogo con el programa de utilidad de carga de datos, configure el programa de utilidad de carga de datos para cargar la información de SEO. En el archivo de configuración de orden de carga, debe incluir el parámetro loadSEO con un valor establecido en "true". Este parámetro debe establecerse dentro del archivo de configuración de orden de carga de datos con el siguiente formato:
<_config:property name="loadSEO" value="true"/>

Definiciones de columnas CSV y de elementos XML

PartNumber
(Necesario, serie) Identificador de la entrada de catálogo. Este campo es necesario (no puede ser nulo) y debe ser exclusivo. El número de pieza de una entrada de catálogo aparece en el Centro de gestión como valor para la propiedad Code de la entrada de catálogo.
Tipo
(Serie) Este campo define el tipo de entrada de catálogo que desea cargar. Los valores para Type son "Item", "Product", "Bundle", "Package" y "DynamicKit".
CurrencyCode
(Serie) Moneda utilizada en el precio de lista. Es un código de moneda según la norma ISO 4217.
DefaultOfferPrice
(Doble) Precio de oferta de esta entrada de catálogo en la moneda especificada. Si no se ha especificado ninguna moneda en el archivo CSV, se encuentra la moneda en el contexto. El valor predeterminado es 0,00.
ListPrice
(Doble) Precio de catálogo de esta entrada de catálogo en la moneda especificada. Si no se ha especificado ninguna moneda en el archivo CSV, se encuentra la moneda en el contexto.
ParentGroupIdentifier
(Serie) Identificador opcional para la categoría a la que pertenece PartNumber.
Secuencia
(Doble) Número opcional que se utiliza para controlar el orden en el que aparece la entrada de catálogo en una categoría. Si se proporciona el producto padre, éste es un número opcional que se utiliza para controlar el orden en el que los elementos aparecen en un producto padre.
Language_ID
(Entero) ID de idioma de los campos sensibles al idioma (Name, ShortDescription, LongDescription, Thumbnail, FullImage, Published y Keyword). Por ejemplo: -1 = Inglés, -2 = Francés
Nombre:
(Necesario, serie) Nombre de visualización de este PartNumber. Este campo es sensible al idioma.
ShortDescription
(Serie) Breve descripción de esta entrada de catálogo. Este campo es sensible al idioma.
LongDescription
(Serie) Descripción larga de esta entrada de catálogo. Este campo es sensible al idioma.
Imagen reducida
(Serie) Vía de acceso de la imagen reducida de esta entrada de catálogo. Este campo es sensible al idioma. Debe utilizar la barra inclinada '/' en la vía de acceso. No utilice una barra invertida '\'. Por ejemplo, images/G1.jpg.
FullImage
(Serie) Vía de acceso de la imagen completa de esta entrada de catálogo. Este campo es sensible al idioma. Debe utilizar la barra inclinada '/' en la vía de acceso. No utilice una barra invertida '\'. Por ejemplo, images/G1.jpg.
AuxDescription1
(Serie) Descripción larga auxiliar de esta entrada de catálogo. Este campo es sensible al idioma.
AuxDescription2
(Serie) Descripción auxiliar de esta entrada de catálogo. Este campo es sensible al idioma.
Disponible
(Entero) Indica el período de tiempo de disponibilidad de esta entrada de catálogo. Este campo es solo para uso empresarial interno e informativo. No utilice esta columna para indicar niveles de inventario. El valor predeterminado es 1.
Publicada
(Entero) Indica si debe visualizarse esta entrada de catálogo. : 0 = no debe visualizarse la entrada de catálogo, 1 = debe visualizarse la entrada de catálogo.
AvailabilityDate_LocaleSpecific
(Indicación de fecha y hora) Fecha en que esta entrada de catálogo pasa a estar disponible.
Keyword
(Serie) Se utiliza una palabra clave para la búsqueda. Para incluir varias palabras que están separadas por comas, incluya la serie entera entre comillas dobles. Ejemplo "keyword 1, keyword 2, keyword3". Este campo es sensible al idioma.
eliminar
(Serie) Distintivo que indica si se debe eliminar. Especifique 1 para eliminar la fila.

Otros campos opcionales no incluidos en este ejemplo son:

ManufacturerPartNumber
(Serie) Número de pieza de fabricante que está asociado con la entrada de catálogo.
Fabricante
(Serie) Nombre del fabricante.
URL
(Serie) URL de esta entrada de catálogo que puede utilizarse como URL descargable para los productos de software. Solo se puede utilizar la barra inclinada '/' como separador de directorios y de vías de acceso.
Field1
(Entero) Un campo definido por el usuario disponible para fines de personalización.
Field2
(Entero) Un campo definido por el usuario disponible para fines de personalización.
Field3
(Doble) Un campo definido por el usuario disponible para fines de personalización.
Field4
(Serie) Un campo definido por el usuario disponible para fines de personalización.
Field5
(Serie) Un campo definido por el usuario disponible para fines de personalización.
OnSpecial
(Entero) Este distintivo identifica si esta entrada de catálogo está en oferta.
OnAuction
(Entero) Este distintivo identifica si esta entrada de catálogo está en subasta.
Buyable
(Entero) Indica si esta entrada de catálogo puede adquirirse de forma individual: 1 = sí y 0 = no.
StartDate
(Indicación de fecha y hora) Fecha de introducción de la entrada de catálogo. Este campo contiene simplemente información administrativa.
EndDate
(Indicación de fecha y hora) Fecha de eliminación de la entrada de catálogo. Este campo contiene simplemente información administrativa.
AvailabilityDate
(Indicación de fecha y hora) Fecha en que el producto está disponible para que los clientes lo adquieran. Este campo contiene simplemente información administrativa.
LastOrderDate
(Indicación de fecha y hora) Fecha final en que el producto está disponible para pedido. Ésta es la fecha límite en que los clientes pueden hacer un pedido del producto. Este campo contiene simplemente información administrativa.
EndOfServiceDate
(Indicación de fecha y hora) Fecha en que un producto deja de estar en servicio. Por ejemplo, esta fecha puede ser la fecha en que un fabricante de software deja de proporcionar actualizaciones para una versión de su producto. Este campo contiene simplemente información administrativa.
DiscontinueDate
(Indicación de fecha y hora) Fecha en que el producto deja de fabricarse o venderse. Por ejemplo, esta fecha puede ser la fecha en la que un fabricante deja de producir un producto o la fecha en la que la tienda deja de vender un producto. Se recomienda utilizar esta columna de forma coherente para evitar confusiones. Este campo contiene simplemente información administrativa.
WeightMeasure
(Serie) Unidad del sistema internacional de unidades (SI) de código de medida para el peso de la entrada de catálogo.
Peso
(Doble) Peso de la entrada de catálogo.
Longitud
(Doble) La longitud que está asociada con la entrada de catálogo.
Anchura
(Doble) Ancho que está asociado con la entrada de catálogo.
Altura
(Doble) La altura que está asociada con la entrada de catálogo.
SizeMeasure
(Serie) Unidad de medida para LENGTH, WIDTH y HEIGHT.
NominalQuantity
(Doble) Cantidad nominal para un producto, que se utiliza para la fijación de precios. Por ejemplo, si se fija el precio de un producto en "3 por un euro", la cantidad nominal del producto es 3 y el precio del producto es un euro. Valor predeterminado = 1.0 .
QuantityMultiple
(Doble) El producto puede venderse en cantidades que sean múltiplos de esta cantidad. Valor predeterminado = 1.0 .
QuantityMeasure
(Serie) Unidad de medida para NominalQuantity y QuantityMultiple. El valor predeterminado es 'C62'. C62 es el código UN/CEFACT que representa "uno".
ParentPartNumber
Se necesita: (Serie) Este es el identificador de la entrada de catálogo para el producto padre si la entrada de catálogo es un SKU.
ParentToChildCatEntryRelField1
(Serie) Campo personalizable para la relación entre producto padre y SKU hijo.
ParentToChildCatEntryRelField2
(Entero) Campo personalizable para la relación entre producto padre y SKU hijo.
ParentToChildCatEntryRelField3
(Doble) Campo personalizable para la relación entre producto padre y SKU hijo.

Archivo CSV con datos de entrada de catálogo de ejemplo

Insertar o sustituir

En este ejemplo, el origen de datos es un archivo CSV. El archivo contiene datos de entradas de catálogo de ejemplo. Archivo CSV con datos de entrada de catálogo de ejemplo. Debido al gran número de campos del archivo CSV, la tabla se divide en cuatro secciones:

Archivo CSV con formato con cabeceras de columna
PartNumber Tipo CurrencyCode DefaultOfferPrice ListPrice
Example-PN-10001 ProductBean EUR 6795 6795
Example-PN-10002 ItemBean EUR 3599 3999
Example-PN-10003 ItemBean CAD 1999 2450
Archivo CSV formateado con cabeceras de columna (continuación)
ParentGroupIdentifier Secuencia Language_ID Nombre: ShortDescription
TV_category 8 -1 Color CRT television Color CRT short description
Appl_category 19 -1 200-watt microwave 200-watt microwave short description
Appl_category 20 -1 150-watt microwave 150-watt microwave short description
Archivo CSV formateado con cabeceras de columna (continuación)
LongDescription Imagen reducida FullImage AuxDescription1 AuxDescription2
Color CRT long description TV_thumb/image.jpg TV_full/image.jpg Color CRT auxiliary description 1 Color CRT auxiliary description 2
200-watt microwave long description 200_microw_thumb/image.jpg 200_microw_full/image.jpg 200-watt microwave auxiliary description 1 200-watt microwave auxiliary description 2
150-watt microwave long description 150_microw_thumb/image.jpg 150_microw_full/image.jpg 150-watt microwave auxiliary description 1 150-watt microwave auxiliary description 2
Archivo CSV formateado con cabeceras de columna (continuación)
Disponible Publicada AvailabilityDate_LocaleSpecific Keyword
1 1 2008-04-20 16:00:00 CRT TV keyword
1 1 2008-04-20 16:00:00 200-watt microwave keyword
0 1 2008-04-20 16:00:00 150-watt microwave keyword

eliminar

Hay dos formas de realizar una operación de supresión en una entrada de catálogo: marcar para eliminar y eliminar físicamente. Cuando se utiliza la opción de marcar para eliminar, la entrada de catálogo sigue existiendo en la base de datos, pero el número de pieza de la entrada de catálogo se cambia, y la columna markForDelete de la entrada de catálogo se establece en 1. Cuando se utiliza la opción de supresión física, que es la segunda opción, la entrada de catálogo se suprime de la base de datos. De forma predeterminada, el programa de utilidad de carga de datos utiliza la opción de marcar para eliminar. Ésta es la opción recomendada.

Si desea utilizar la opción de supresión física, debe establecer el atributo markForDelete en CatalogEntryMediator en "false". Se muestra en archivo de ejemplo de configuración de cargador de entradas de catálogo:
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator" componentId="com.ibm.commerce.catalog">
	<_config:property name="markForDelete" value="false" />
</_config:BusinessObjectMediator>

En este ejemplo, el archivo CSV contiene datos de entrada de catálogo de ejemplo que se eliminarán. Cada columna está delimitada por una coma: Archivo CSV con datos de entrada de catálogo de ejemplo. Debido al gran número de campos del archivo CSV, la tabla se divide en cuatro secciones:

Archivo CSV con formato con cabeceras de columna
PartNumber Tipo CurrencyCode DefaultOfferPrice ListPrice
Example-PN-10001 ProductBean EUR 6795 6795
Example-PN-10002 ItemBean EUR 3599 3999
Example-PN-10003 ItemBean CAD 1999 2450
Archivo CSV formateado con cabeceras de columna (continuación)
ParentGroupIdentifier Secuencia Language_ID Nombre: ShortDescription
TV_category 8 -1 Color CRT television Color CRT short description
Appl_category 19 -1 200-watt microwave 200-watt microwave short description
Appl_category 20 -1 150-watt microwave 150-watt microwave short description
Archivo CSV formateado con cabeceras de columna (continuación)
LongDescription Imagen reducida FullImage AuxDescription1 AuxDescription2
Color CRT long description TV_thumb/image.jpg TV_full/image.jpg Color CRT auxiliary description 1 Color CRT auxiliary description 2
200-watt microwave long description 200_microw_thumb/image.jpg 200_microw_full/image.jpg 200-watt microwave auxiliary description 1 200-watt microwave auxiliary description 2
150-watt microwave long description 150_microw_thumb/image.jpg 150_microw_full/image.jpg 150-watt microwave auxiliary description 1 150-watt microwave auxiliary description 2
Archivo CSV formateado con cabeceras de columna (continuación)
Disponible Publicada AvailabilityDate_LocaleSpecific Keyword eliminar
1 1 20/4/2008 CRT TV keyword 1
1 1 20/4/2008 200-watt microwave keyword 1
0 1 20/4/2008 150-watt microwave keyword 1

Correlación de datos

El siguiente fragmento de código del archivo de configuración del cargador de entradas de catálogo muestra cómo correlacionar cada valor con una vía de acceso del esquema lógico de objetos de negocio.
<_config:DataMapping>
	<_config:mapping xpath="CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" />
	<_config:mapping xpath="catalogEntryTypeCode" value="Type" />
	<_config:mapping xpath="ListPrice/Price/currency" value="CurrencyCode" />
	<_config:mapping xpath= value="DefaultOfferPrice" />
	<_config:mapping xpath="ListPrice/Price/value" value="ListPrice" />
	<_config:mapping xpath="ParentCatalogGroupIdentifier/ExternalIdentifier/GroupIdentifier" value="ParentGroupIdentifier"  />
	<_config:mapping xpath="displaySequence" value="Sequence" />
	<_config:mapping xpath="Description[0]/language" value="Language_ID" />
	<_config:mapping xpath="Description[0]/Name" value="Name"  />
	<_config:mapping xpath="Description[0]/ShortDescription" value="ShortDescription"   />
	<_config:mapping xpath="Description[0]/LongDescription" value="LongDescription"   />
	<_config:mapping xpath="Description[0]/Thumbnail" value="Thumbnail"   />
	<_config:mapping xpath="Description[0]/FullImage" value="FullImage"   />
	<_config:mapping xpath="Description[0]/Attributes/auxDescription1" value="AuxDescription1"   />
	<_config:mapping xpath="Description[0]/Attributes/auxDescription2" value="AuxDescription2"   />
	<_config:mapping xpath="Description[0]/Attributes/available" value="Available"   />
	<_config:mapping xpath="Description[0]/Attributes/published" value="Published"   />
	<_config:mapping xpath="Description[0]/Attributes/availabilityDate" value="AvailabilityDate_LocaleSpecific"   />
	<_config:mapping xpath="Description[0]/Keyword" value="Keyword"  />
	<_config:mapping xpath="" value="Delete" deleteValue="1"/>
</_config:DataMapping>
Si realiza una operación de inserción o sustitución, no especifique la columna "Delete" en el archivo CSV o puede dejar la columna "Delete" vacía.

Mediador de objetos de negocio

El nombre de la clase de mediador es com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator.

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.