Exemple : Entrées de catalogue

Vous pouvez insérer, remplacer ou supprimer des données de produit, UGS, offres groupées et kits à l'aide de l'utilitaire de chargement de données. Ces exemples utilisent un fichier CSV pour illustrer comment insérer, remplacer ou supprimer des données de plusieurs produits, UGS, offres groupées et kits.

Cet exemple utilise un fichier CSV pour expliquer comment insérer, remplacer ou supprimer vos données. Vous pouvez aussi créer et utiliser un fichier au format XML pour insérer, remplacer ou supprimer vos données. Si vous choisissez de créer et d'utiliser un fichier au format XML, assurez-vous que vos éléments XML utilisent les mêmes noms que ceux des colonnes CSV.

Remarque : Si votre site utilise l'optimisation pour les moteurs de recherche et des plans pour charger des adresses URL d'optimisation pour les moteurs de recherche pour les entrées de catalogue avec l'utilitaire de chargement de données, configurez l'utilitaire de chargement de données pour qu'il charge les informations d'optimisation pour les moteurs de recherche. Dans le fichier de configuration de l'ordre de chargement, vous devez inclure le paramètre loadSEO associé à la valeur "true". Ce paramètre doit être défini dans le fichier de configuration de l'ordre de chargement des données au format suivant :
<_config:property name="loadSEO" value="true"/>

définitions de colonne CSV et d'élément XML

PartNumber
(Requis, chaîne) Identificateur de l'entrée de catalogue. Cette zone est requise (elle ne peut pas contenir la valeur NULL) et doit être unique. Le numéro de référence d'une entrée de catalogue s'affiche dans le centre de gestion comme valeur de la propriété de code d'entrée de catalogue.
Type
(Chaîne) Cette zone définit le type d'entrée de catalogue à charger. Les valeurs correspondant au type sont "Item" (article), "Product" (produit), "Bundle" (offre groupée), "Package" (lot) et "DynamicKit" (kit dynamique).
CurrencyCode
(Chaîne) Devise de la liste de prix (ListPrice). Il s'agit d'un code devise conforme aux normes ISO 4217.
DefaultOfferPrice
(Double) Prix de vente de cette entrée de catalogue dans la devise spécifiée. Si aucune devise n'est spécifiée dans le fichier CSV, la devise est obtenue à partir du contexte. La valeur par défaut est 0.00 .
ListPrice
(Double) Prix catalogue de cette entrée de catalogue dans la devise spécifiée. Si aucune devise n'est spécifiée dans le fichier CSV, la devise est obtenue à partir du contexte.
ParentGroupIdentifier
(Chaîne) Identificateur facultatif de la catégorie à laquelle appartient le numéro de référence PartNumber.
Séquence
(Double) Nombre facultatif utilisé pour spécifier l'ordre d'affichage de l'entrée de catégorie dans une catégorie. Si le parent produit est fourni, il s'agit d'un nombre facultatif permettant de spécifier l'ordre d'affichage des articles dans un produit parent.
Language_ID
(Entier) ID de langue des zones dépendantes de la langue (Nom, Description abrégée, Description détaillée, Image miniature, Image taille réelle, Publiée et Mot clé). Par exemple : -1 = anglais, -2 = français
Nom
(Requis, chaîne) Nom d'affichage de cette référence. Cette zone est dépendante de la langue.
ShortDescription
(Chaîne) Brève description de cette entrée de catalogue. Cette zone est dépendante de la langue.
LongDescription
(Chaîne) Description détaillée de cette entrée de catalogue. Cette zone est dépendante de la langue.
Miniature
(Chaîne) Chemin de l'image miniature de cette entrée de catalogue. Cette zone est dépendante de la langue. La barre oblique '/' doit être utilisée dans le chemin. N'utilisez pas de barre oblique inversée ('\'). Par exemple, images/G1.jpg.
FullImage
(Chaîne) Chemin de l'image en taille réelle de cette entrée de catalogue. Cette zone est dépendante de la langue. La barre oblique '/' doit être utilisée dans le chemin. N'utilisez pas de barre oblique inversée ('\'). Par exemple, images/G1.jpg.
AuxDescription1
(Chaîne) Description détaillée auxiliaire de cette entrée de catalogue. Cette zone est dépendante de la langue.
AuxDescription2
(Chaîne) Description auxiliaire de cette entrée de catalogue. Cette zone est dépendante de la langue.
Available
(Entier) Indique le temps d'attente jusqu'à la disponibilité de cette entrée de catalogue. Cette zone a été conçue pour votre activité interne et à des fins d'information uniquement. N'utilisez pas cette colonne pour indiquer des niveaux de stock. La valeur par défaut est 1.
Publié
(Entier) Indique si cette entrée de catalogue doit être affichée : 0 = l'entrée de catalogue ne doit pas être affichée, 1 = l'entrée de catalogue doit être affichée.
AvailabilityDate_LocaleSpecific
(Horodatage) Date de disponibilité de cette entrée de catalogue.
Mot clé
(Chaîne) Mot clé utilisé pour la recherche. Pour inclure plusieurs mots clés, séparés par des virgules, délimitez la chaîne entière par des guillemets. Exemple "keyword 1, keyword 2, keyword3". Cette zone est dépendante de la langue.
Supprimer
(Chaîne) Indicateur spécifiant si une suppression doit être effectuée. Spécifiez 1 pour supprimer la ligne.

Les autres zones suivantes sont facultatives et ne sont pas incluses dans l'exemple :

ManufacturerPartNumber
(Chaîne) Numéro de référence du fabricant associé à l'entrée de catalogue.
Fabricant
(Chaîne) Nom du fabricant.
URL
(Chaîne) URL de cette entrée de catalogue pouvant être utilisée comme URL de téléchargement de logiciels. Seule la barre oblique '/' est admise comme séparateur du répertoire et du chemin d'accès.
Zone1
(Entier) Zone définie par l'utilisateur et disponible à des fins de personnalisation.
Field2
(Entier) Zone définie par l'utilisateur et disponible à des fins de personnalisation.
Field3
(Double) Zone définie par l'utilisateur et disponible à des fins de personnalisation.
Field4
(Chaîne) Zone définie par l'utilisateur et disponible à des fins de personnalisation.
Field5
(Chaîne) Zone définie par l'utilisateur et disponible à des fins de personnalisation.
OnSpecial
(Entier) Cet indicateur indique si l'entrée de catalogue fait l'objet d'une offre spéciale.
OnAuction
(Entier) Cet indicateur indique si l'entrée de catalogue fait l'objet d'une vente aux enchères.
Proposé à l'achat
(Entier) Indique si cette entrée de catalogue peut être achetée individuellement : 1 = oui, 0 = non.
StartDate
(Horodatage) Date de disponibilité de cette entrée de catalogue. Cette zone est fournie uniquement pour information à des fins d'administration.
EndDate
(Horodatage) Date de retrait de cette entrée de catalogue. Cette zone est fournie uniquement pour information à des fins d'administration.
AvailabilityDate
(Horodatage) Date à laquelle le produit sera disponible à l'achat par les clients. Cette zone est fournie uniquement pour information à des fins d'administration.
LastOrderDate
(Horodatage) Date ultime à laquelle le produit pourra être commandé. Il s'agit de la dernière date à laquelle un client peut commander le produit. Cette zone est fournie uniquement pour information à des fins d'administration.
EndOfServiceDate
(Horodatage) Date à laquelle le produit ne sera plus en service. Par exemple, il peut s'agir de la date à partir de laquelle un éditeur de logiciel cessera de fournir des mises à niveau pour une version de ses produits. Cette zone est fournie uniquement pour information à des fins d'administration.
DiscontinueDate
(Horodatage) Date de fin de série du produit. Il peut s'agir, par exemple, de la date à laquelle un fabricant cesse de produire un article ou de la date où votre magasin cesse de le commercialiser. Il est recommandé d'utiliser cette zone de manière cohérente pour éviter toute confusion. Cette zone est fournie uniquement pour information à des fins d'administration.
WeightMeasure
(Chaîne) Code du système international d'unités (SI) pour le poids de l'entrée de catalogue.
Weight
(Double) Poids de l'entrée de catalogue.
Longueur
(Double) Longueur associée à l'entrée de catalogue.
Largeur
(Double) Largeur associée à l'entrée de catalogue.
Hauteur
(Double) Hauteur associée à l'entrée de catalogue.
SizeMeasure
(Chaîne) Unité de mesure de LENGTH, WIDTH et HEIGHT.
NominalQuantity
(Double) Quantité nominale d'un produit, utilisée pour la tarification. Par exemple, si un produit est tarifé à "3 pour un euro", la quantité nominale du produit est de 3, et le prix du produit est de 1 euro. Valeur par défaut = 1.0 .
QuantityMultiple
(Double) Le produit peut être vendu en quantités multiples de ce nombre. Valeur par défaut = 1.0 .
QuantityMeasure
(Chaîne) Unité de mesure de NominalQuantity et de QuantityMultiple. La valeur par défaut est 'C62'. C62 correspond au code UN/CEFACT qui représente 'un'.
ParentPartNumber
Obligatoire : (Chaîne) Identificateur de l'entrée de catalogue du produit parent si l'entrée de catalogue est une SKU.
ParentToChildCatEntryRelField1
(Chaîne) Zone personnalisable pour la relation produit parent/SKU enfant.
ParentToChildCatEntryRelField2
(Entier ) Zone personnalisable pour la relation produit parent/SKU enfant.
ParentToChildCatEntryRelField3
(Double) Zone personnalisable pour la relation produit parent/SKU enfant.

Fichier CSV avec exemples de données d'entrée de catalogue

Insertion ou remplacement

Dans cet exemple, les données source proviennent d'un fichier CSV. Ce fichier contient des exemples de données d'entrées de catalogue : Fichier CSV avec exemples de données d'entrée de catalogue. En raison du nombre élevé de zones dans le fichier CSV, le tableau a été scindé en quatre sections :

Fichier CSV mis en forme avec en-têtes de colonnes
PartNumber Type CurrencyCode DefaultOfferPrice ListPrice
Example-PN-10001 ProductBean EUR 6795 6795
Example-PN-10002 ItemBean EUR 3599 3999
Example-PN-10003 ItemBean CAD 1999 2450
Fichier CSV mis en forme avec en-têtes de colonnes - suite
ParentGroupIdentifier Séquence Language_ID Nom 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
Fichier CSV mis en forme avec en-têtes de colonnes - suite
LongDescription Miniature 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
Fichier CSV mis en forme avec en-têtes de colonnes - suite
Disponible Publié AvailabilityDate_LocaleSpecific Mot clé
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

Supprimer

Vous disposez de deux moyens pour effectuer une opération de suppression sur une entrée de catalogue : la marquer pour sa suppression ou la supprimer physiquement. Lorsque vous utilisez l'option de marquage pour suppression, l'entrée de catalogue continue à exister dans la base de données mais son numéro de référence est renommé et la colonne markForDelete est définie à 1. Par contre, lorsque vous utilisez l'option de suppression physique, qui est la deuxième option, l'entrée de catalogue est effacée de la base de données. Par défaut, l'utilitaire de chargement de données utilise l'option de marquage pour suppression. Il s'agit de l'option recommandée.

Si vous voulez utiliser l'option de suppression physique, vous devez définir l'attribut markForDelete dans le médiateur CatalogEntryMediator à "false". Un exemple de fichier de configuration du programme de chargement d'entrée de catalogue figure ci-après :
<_config:BusinessObjectMediator className="com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator" componentId="com.ibm.commerce.catalog">
	<_config:property name="markForDelete" value="false" />
</_config:BusinessObjectMediator>

Dans cet exemple, le fichier CSV contient des données d'entrées de catalogue destinées à être supprimées. Chaque colonne est délimitée par une virgule : Fichier CSV avec exemples de données d'entrée de catalogue. En raison du nombre élevé de zones dans le fichier CSV, le tableau a été scindé en quatre sections :

Fichier CSV mis en forme avec en-têtes de colonnes
PartNumber Type CurrencyCode DefaultOfferPrice ListPrice
Example-PN-10001 ProductBean EUR 6795 6795
Example-PN-10002 ItemBean EUR 3599 3999
Example-PN-10003 ItemBean CAD 1999 2450
Fichier CSV mis en forme avec en-têtes de colonnes - suite
ParentGroupIdentifier Séquence Language_ID Nom 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
Fichier CSV mis en forme avec en-têtes de colonnes - suite
LongDescription Miniature 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
Fichier CSV mis en forme avec en-têtes de colonnes - suite
Disponible Publié AvailabilityDate_LocaleSpecific Mot clé Supprimer
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

Données de mappage

Le fragment de code suivant du fichier de configuration de chargement d'entrées de catalogue illustre comment mapper chaque valeur à un chemin de schéma logique d'objet métier.
<_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 vous effectuez une opération d'insertion ou de remplacement, ne spécifiez pas la colonne "Delete" dans le fichier CSV ou laissez cette colonne vide.

Médiateur d'objet métier

Le nom de la classe du médiateur est com.ibm.commerce.catalog.dataload.mediator.CatalogEntryMediator.

Remarque : Lorsque vous utilisez un médiateur qui est fourni avec HCL Commerce avec l'utilitaire de chargement des données, l'utilitaire suppose que vous chargez des données dans toutes les colonnes d'un objet métier. Si vous souhaitez mettre à jour les données dans des colonnes spécifiques seulement, configurez une liste d'exclusion de colonne pour le processus de chargement. Une liste d'exclusion de colonne amène l'utilitaire de chargement de données à ignorer des colonnes spécifiques au cours de l'opération de chargement. Si vous n'utilisez pas de liste d'exclusion de colonne, l'utilitaire met à jour toutes les colonnes dans la ligne d'une table base de données lorsque l'utilitaire met la ligne à jour. Si aucune valeur n'est définie dans le fichier d'entrée, l'utilitaire peut remplacer la valeur de colonne existante par une valeur par défaut ou définir que la valeur sera nulle. Pour plus d'informations, voir Configuration d'une liste d'exclusion de colonnes.