Exemple : Valeurs d'entrée de catalogue et d'attribut du dictionnaire d'attributs

Vous pouvez utiliser l'utilitaire de chargement de données pour insérer, remplacer ou supprimer simultanément une relation entre une entrée de catalogue et des valeurs d'attributs du dictionnaire d'attributs.

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 (UGS). Cette zone ou l'élément CatalogEntryUniqueId est obligatoire. 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.
CatalogEntryUniqueId
(Requis, entier) Référence unique interne de l'entrée de catalogue (UGS). Cette zone ou l'élément PartNumber est obligatoire.
Identificateur
(Requis, chaîne) Nom de référence unique permettant d'identifier l'attribut. Cette zone ou l'élément AttributeUniqueId est obligatoire.
AttributeUniqueId
(Requis, entier) Référence unique de l'attribut. Cette zone ou l'identificateur est obligatoire.
ValueIdentifier
(Chaîne) Identificateur unique de la valeur d'attribut. Utilisez cette zone lorsque l'attribut possède des valeurs autorisées qui sont définies. Si ce n'est pas le cas, cette zone est alors utilisée comme identificateur de valeur de la nouvelle valeur créée.

Pour charger plusieurs valeurs autorisées pour le même Attribut dans la même Entrée de catalogue, ajoutez plusieurs lignes dans le fichier CSV et fournissez une valeur ValueIdentifier unique pour chaque ligne.

Valeur
(Chaîne) Valeur de l'attribut, spécifique à chaque langue. Les valeurs d'attribut sont fonction du type de données (par exemple, texte, entier ou décimal).

Pour charger plusieurs valeurs affectées pour le même Attribut dans la même Entrée de catalogue, ajoutez plusieurs lignes dans le fichier CSV et fournissez une Valeur unique pour chaque ligne.

Langue
(Entier) Identificateur de langue des zones dépendantes de la langue. Par exemple : -1 pour l'anglais, -2 pour le français.
LanguageId
(Entier) Identificateur de langue des zones spécifiques à chaque langue. Par exemple :
  • -1 pour l'anglais
  • -2 pour le français
La colonne Language s'appelle désormais LanguageId. Vous ne devez spécifier qu'un seul identificateur de langue ; à cet effet, utilisez LanguageId plutôt que Language.
(Entier) ID de langue des zones spécifiques à chaque langue (Nom, Description abrégée, Description détaillée, Description auxiliaire 1, Description auxiliaire 2, Image miniature, Image grande taille, Publiée et Mot clé). Par exemple :
  • -1 pour l'anglais
  • -2 pour le français
Syntaxe :
(Chaîne) Utilisation de l'attribut vis à vis de l'entrée de catalogue. Il s'agit de 'Defining' pour l'attribut de définition utilisé pour la résolution de SKU ; 'Descriptive' pour l'attribut descriptif.
Sequence
(Décimal) Numéro utilisé pour contrôler l'ordre d'affichage des attributs dans une entrée de catalogue. Les attributs sont affichés par ordre croissant. La valeur par défaut est 0.

Les zones facultatives suivantes ne sont pas incluses dans cet exemple :

AttributeStoreUniqueId
(Entier) Numéro de référence unique du magasin auquel le dictionnaire d'attributs appartient.
AttributeStoreIdentifier
(Chaîne) Identificateur du magasin auquel appartient le dictionnaire d'attributs. Lorsque vous utilisez un magasin de site étendu, utilisez cette zone pour identifier le magasin qui possède l'attribut. Dans un magasin de site étendu, le magasin qui possède le dictionnaire d'attributs et l'attribut peuvent être différents du magasin auquel appartient votre entrée de catalogue.
Zone1
(Entier) Zone personnalisée pour les informations de relation entre entrée de catalogue et attributs. (colonne FIELD1 de la table CATENTRYATTR).
Field2
(Entier) Zone personnalisée pour les informations de relation entre entrée de catalogue et attributs. ( colonne FIELD2 de la table CATENTRYATTR ).
Field3
(Chaîne) Zone personnalisée pour les informations de relation entre entrée de catalogue et attributs. ( colonne FIELD3 de la table CATENTRYATTR ).
Supprimer
(Chaîne) Indicateur de suppression ou non. Pour supprimer une ligne, spécifiez 1.

Fichier CSV avec exemples de données de d'attributs et de valeurs du dictionnaire d'attributs

Dans cet exemple, le fichier CSV contient des données de dictionnaire d'attributs.
PartNumber AttributeIdentifier ValueIdentifier
Shirt-Red-Large ShirtColor Rouge
Shirt-Red-Large ShirtSize Grand

Données de mappage

Le fragment de code suivant illustre comment mapper chaque valeur à un chemin de schéma logique d'objet métier. Ce fragment de code provient du fichier de configuration de chargement des relations d'entrée de catalogue et d'attribut.
<_config:DataMapping>
  <_config:mapping xpath="CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryIdentifier/UniqueId" value="CatalogEntryUniqueId" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/AttributeIdentifier/ExternalIdentifier/Identifier" value="Identifier" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/AttributeIdentifier/UniqueId" value="AttributeUniqueId" valueFrom="InputData"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/Value/identifier" value="ValueIdentifier" valueFrom="InputData" />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/Value/value" value="Value"  />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/language" value="Language"  valueFrom="InputData" />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/languageId" value="LanguageId"/>
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/usage" value="Usage"  valueFrom="InputData" />
  <_config:mapping xpath="CatalogEntryAttributes/Attributes[0]/displaySequence" value="Sequence" valueFrom="InputData" />
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/AttributeIdentifier/ExternalIdentifier/StoreIdentifier/UniqueId" value="AttributeStoreUniqueId"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/AttributeIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="AttributeStoreIdentifier"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/ExtendedData/AttributeRelationshipField1" value="Field1"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/ExtendedData/AttributeRelationshipField2" value="Field2"/>
  <_config:mapping xpath="CatalgoEntryAttributes/Attributes[0]/ExtendedData/AttributeRelationshipField3" value="Field3"/>
  <_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

L'infrastructure de chargement de données fournit un médiateur d'objet métier permettant d'insérer, de remplacer et de supprimer une relation entre des entrées de catalogue et des attributs du dictionnaire d'attributs. Le nom de classe de médiateur est com.ibm.commerce.catalog.dataload.mediator.CatalogEntryAttributeDictionaryAttributeMediator.

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.