Exemple : Suppression de filtres de catalogue

Vous pouvez supprimer vos filtres de catalogue à l'aide de l'utilitaire de chargement de données. Les exemples ci-après utilisent un fichier CSV pour expliquer comment supprimer les données de filtre de catalogue.

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.

La suppression des filtres de catalogue entraîne la suppression des données des tableaux de base de données CATFILTER ou CATFLTDSC. Si le fichier d'entrée CSV inclut des informations dans une colonne description, les données du tableau CATFLTDSC sont supprimées. Si la colonne de description est vide, les données du tableau CATFILTER sont supprimées. Les tableaux correspondants CATFLTDSC, CFPRODUCTSET, CFCATGROUP, CFCONDGRP, CFCOND et CFCONDVAL sont supprimés en cascade.

Fichier CSV avec exemples de données

CatalogFilter.csv

Fichier CSV avec exemples de données

Tableau 1. CatalogFilter
CatalogFilterName StoreIdentifier CatalogIdentifier EnglishDescription
Filtre de catalogue A Aurora Aurora Brève desc. du filtre A
Filtre de catalogue B Aurora Aurora Brève desc. du filtre B

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.
EnglishDescription
Chaîne : Description du filtre de catalogue en anglais. Si cette zone est spécifiée, la table CATFLTDSC est supprimée et la table CATFILTER n'est pas supprimée.

Les zones facultatives suivantes concernent la description d'autres langues :

  • GermanDescription
  • ItalianDescription
  • JapaneseDescription
  • KoreanDescription
  • PolishDescription
  • PortugueseDescription
  • RomanianDescription
  • RussianDescription
  • SChineseDescription
  • SpanishDescription
  • TChineseDescription
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.

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 configuration précédent. Chaque colonne du fichier CSV doit disposer d'un mappage avec le chemin de schéma logique. Si les zones facultatives mentionnées sont présentes dans le fichier CSV, leur mappage doit être ajouté.

<_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="usage" value="Usage" />
  <_config:mapping xpath="Description[0]/language" value="-1" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[0]/value" value="EnglishDescription" />
  <_config:mapping xpath="Description[1]/language" value="-2" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[1]/value" value="FrenchDescription" />
  <_config:mapping xpath="Description[2]/language" value="-3" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[2]/value" value="GermanDescription" />
  <_config:mapping xpath="Description[3]/language" value="-4" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[3]/value" value="ItalianDescription" />
  <_config:mapping xpath="Description[4]/language" value="-5" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[4]/value" value="SpanishDescription" />
  <_config:mapping xpath="Description[5]/language" value="-6" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[5]/value" value="PortugueseDescription" />
  <_config:mapping xpath="Description[6]/language" value="-7" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[6]/value" value="SChineseDescription" />
  <_config:mapping xpath="Description[7]/language" value="-8" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[7]/value" value="TChineseDescription" />
  <_config:mapping xpath="Description[8]/language" value="-9" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[8]/value" value="KoreanDescription" />
  <_config:mapping xpath="Description[9]/language" value="-10" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[9]/value" value="JapaneseDescription" />
  <_config:mapping xpath="Description[10]/language" value="-20" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[10]/value" value="RussianDescription" />
  <_config:mapping xpath="Description[11]/language" value="-21" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[11]/value" value="RomanianDescription" />
  <_config:mapping xpath="Description[12]/language" value="-22" valueFrom="Fixed"/>
  <_config:mapping xpath="Description[12]/value" value="PolishDescription" />
  <_config:mapping xpath="UserData/UserDataField[0]/Field1" value="Field1" />
  <_config:mapping xpath="UserData/UserDataField[0]/Field2" value="Field2" />
  <_config:mapping xpath="UserData/UserDataField[0]/Field3" value="Field3" />
  <_config:mapping xpath="" value="Delete"  deleteValue="1"/>
</_config:DataMapping>

Exemple de fichier XML

Médiateur d'objet métier

Le nom de la classe du médiateur est com.ibm.commerce.catalogfilter.dataload.mediator.CatalogFilterMediator. 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.