Exemple : Insertion et remplacement de groupes de conditions de filtre de catalogue

Vous pouvez insérer et remplacer vos groupes de conditions de filtre de catalogue à l'aide de l'utilitaire de chargement de données.

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.

Prérequis

  • Assurez-vous que le magasin existe.
  • Vérifiez que les données de catalogue existe.
  • Vérifiez que la sélection de groupe de catalogue pour le filtre de catalogue est chargée.

Fichier CSV avec exemples de données de groupe de conditions de filtre de catalogue

CatalogFilterConditionGroup.csv

Ce fichier contient des exemples de la condition du groupe de données de filtre de catalogue. Chaque colonne est délimitée par une virgule.

Données exemple
CatalogFilterName StoreIdentifier CatalogIdentifier CatalogGroupIdentifier ConditionGroupIdentifier ConditionRelation
Filtre de catalogue A Aurora Aurora Lounge Chairs conditionLoungeChairAnd Et
Filtre de catalogue A Aurora Aurora Lounge Chairs conditionLoungeChairOr Ou

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

CatalogFilterName
Requis, chaîne : Nom du filtre de catalogue. Assurez-vous que la combinaison de CatalogIdentifier, StoreIdentifier et CatalogFilterName est unique.
StoreIdentifier
Requis, chaîne : Identificateur du magasin auquel appartient le filtre de catalogue.
CatalogIdentifier
Requis, chaîne : Identificateur du catalogue auquel appartient le filtre de catalogue.
CatalogGroupIdentifier
Requis, chaîne : Identificateur du groupe de catalogue à inclure ou exclure dans ce filtre de catalogue.
ConditionGroupIdentifier
Requis, chaîne : Nom unique de la condition.
ConditionRelation
Requis, chaîne : Relation pour la condition : Ou, Et.

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

CatalogFilterId
Facultatif, chaîne : Numéro de référence du filtre de catalogue. Si la référence est fournie dans le fichier CSV, elle est utilisée. Si cette zone n'est indiquée, les zones CatalogFilterName, CatalogFilterName, CatalogIdentifier ne sont pas nécessaires.
Supprimer
(Chaîne) Indique si cet enregistrement doit être supprimé. Cette zone prend effet lorsque dataLoadMode est défini à "replace". Si la valeur de cette zone est égale à deleteValue, l'enregistrement correspondant est supprimé. La valeur par défaut de deleteValue est 1 et peut être configurée sous l'élément <DataMapping> dans BusinessObjectConfigFile.
Zone1
Facultatif, long : Zone d'extension pour une valeur longue.
Field2
Entier, facultatif : Zone d'extension pour un entier.
Field3
Facultatif, chaîne : Zone d'extension pour la valeur de chaîne, dont la longueur maximale est 254.
Field4
Nombre à virgule flottante (20,5) : zone d'extension pour une valeur à virgule flottante.
Field5
Nombre : zone d'extension pour une valeur numérique.

Données de contexte métier

Le fragment de code suivant du fichier de configuration wc-dataload-env.xml fournit les données de contexte métier requis :

<_config:BusinessContext storeIdentifier="AuroraESite" catalogIdentifier="Extended Sites Catalog Asset Store">
</_config:BusinessContext>
storeIdentifier
Chaîne : Identificateur du magasin. Ce paramètre est utilisé lorsque storeIdentifier n'est pas indiqué dans le fichier CSV. Si storeIdentifier est fourni dans le fichier CSV, il est utilisé. storeIdentifier est utilisé pour extraire les éléments storeID et ownerID.
catalogIdentifier
Chaîne : Identificateur du catalogue. Ce paramètre est utilisé lorsque l'identificateur de catalogue n'est pas indiqué dans le fichier CSV. Si l'identificateur de catalogue est fourni dans le fichier CSV, il est utilisé.

Données de mappage

Le fragment suivant du fichier d'exemple de configuration illustre comment mapper chaque colonne de données dans le fichier CSV source à une valeur.


<_config:DataReader 
className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" 
firstLineIsHeader="true" 
useHeaderAsColumnName="true" />
 

Le fragment suivant du fichier d'exemple de configuration illustre comment mapper chaque colonne de données dans le fichier CSV à un chemin de schéma logique d'objet métier. L'attribut 'value' représente le nom d'une colonne du fichier CSV défini dans le fragment de code ci-dessus. Chaque colonne du fichier CSV doit disposer d'un mappage avec le chemin de schéma logique. Si les zones facultatives mentionnées ci-dessus sont présentes dans le fichier CSV, leur mappage doit être ajouté. Le chemin de schéma logique correspondant est spécifié dans le tableau suivant.


<_config:DataMapping>
  <_config:mapping xpath="CatalogFilterIdentifier/UniqueID" value="CatalogFilterId" />
      
  <_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/conditionRelation" value="ConditionRelation" />
  <_config:mapping xpath="CatalogGroupSelection/ConditionGroup/UserData/UserDataField[0]/Field1" value="Field1" />
  <_config:mapping xpath="CatalogGroupSelection/ConditionGroup/UserData/UserDataField[0]/Field2" value="Field2" />
  <_config:mapping xpath="CatalogGroupSelection/ConditionGroup/UserData/UserDataField[0]/Field3" value="Field3" />
  <_config:mapping xpath="CatalogGroupSelection/ConditionGroup/UserData/UserDataField[0]/Field4" value="Field4" />
  <_config:mapping xpath="CatalogGroupSelection/ConditionGroup/UserData/UserDataField[0]/Field5" value="Field5" />
 
  <_config:mapping xpath="" value="Delete"  deleteValue="1"/>
</_config:DataMapping>

Médiateur d'objet métier

Le nom de la classe du médiateur est com.ibm.commerce.catalogfilter.dataload.mediator.CatalogFilterConditionGroupMediator. Le schéma logique correspondant est CatalogFilter.xsd.

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.