Exemple : Insertion et remplacement de filtres de catalogue

Vous pouvez insérer ou remplacer 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 insérer ou remplacer 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.

Remarque : Après avoir inséré ou mis à jour des filtres de catalogue avec l'utilitaire de chargement de données, vous devez mettre à jour la table de base de données EXPRESSION. Pour plus d'informations, voir Chargement de données.

Prérequis

  • Assurez-vous que le magasin existe.
  • Vérifiez que les données de catalogue existe.

Fichier CSV avec exemples de données

CatalogFilter.csv Ce fichier contient des exemples de données de filtre de catalogue. Chaque colonne est délimitée par une virgule. Cet exemple charge les données de filtre de catalogue dans les tables CATFILTER et CATFLTDSC.

Exemple de données de filtre de catalogue
CatalogFilterName StoreIdentifier CatalogIdentifier Utilisation EnglishDescription
Filtre de catalogue A Aurora Aurora Acheteur (buyer) Brève desc. du filtre A
Filtre de catalogue B Aurora Aurora Prix 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.
Utilisation
Facultatif, chaîne : Utilisation du filtre de catalogue. Valeurs possibles :
Hébergement
Pour les sites étendus.
Acheteur (buyer)
Pour le contrat.
Prix
Pou les prix.
Promotion
Pour les promotions.
Marketing.
Pour le marketing.
EnglishDescription
Facultatif, chaîne : Description du filtre de catalogue en anglais. La description peut également être ajoutée dans d'autres langues :
  • GermanDescription
  • ItalianDescription
  • JapaneseDescription
  • KoreanDescription
  • PolishDescription
  • PortugueseDescription
  • RomanianDescription
  • RussianDescription
  • SChineseDescription
  • SpanishDescription
  • TChineseDescription
Autres zones facultatives non 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
Facultatif, chaîne : Indique s'il faut supprimer cet enregistrement. 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 deleteValue par défaut 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.

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 de code suivant provenant de l'exemple de fichier de configuration permet de générer un objet métier de composant qui repose sur les propriétés de configuration spécifiées et les données d'entrée :
<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.BaseBusinessObjectBuilder" 
    	packageName="com.ibm.commerce.catalog.facade.datatypes.CatalogPackage" dataObjectType="CatalogFilterType" >

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, qui est défini dans le fragment de configuration de l'exemple de mappage des données de colonne. Chaque colonne du fichier CSV doit disposer d'un mappage avec le chemin de schéma logique. Si les zones facultatives mentionnées dans la configuration du mappage des données de colonne 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="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>

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.