Exemple : Insertion et suppression de sélections d'entrée de catalogue de filtre de catalogue

Vous pouvez insérer ou supprimer des informations d'entrée de catalogue pour un filtre de catalogue. Dans le fichier CSV, les informations requises sont le nom du filtre de catalogue, l'identificateur du magasin, l'identificateur du catalogue, le type de sélection (Exclure ou Inclure) et le numéro de référence de l'entrée de catalogue. L'entrée de catalogue peut être insérée ou supprimée, elle ne peut pas être remplacée. Par exemple, vous ne pouvez pas modifier une entrée de catalogue incluse en indiquant de l'exclure.

Cet exemple utilise un fichier CSV pour illustrer l'insertion ou la suppression de données. Vous pouvez également créer et utiliser un fichier au format XML au lieu d'un fichier CSV. Si vous choisissez de créer et d'utiliser un fichier 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 le filtre de catalogue est chargé.

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

Fichier CatalogFilterCatentry.csv

Ce fichier contient des données de sélection d'entrée de catalogue de filtre de catalogue. Chaque colonne est délimitée par une virgule.

Tableau 1. CatalogFilterCatentry
CatalogFilterId CatalogFilterName StoreIdentifier CatalogIdentifier SelectionType PartNumber Supprimer
Filtre de catalogue A Aurora Aurora Inclure CAC024_2401 0
Filtre de catalogue A Aurora Aurora Include CAC024_2402 0
Filtre de catalogue A Aurora Aurora Exclure CAC024_2403 0
Filtre de catalogue A Aurora Aurora Exclure CAC024_2404 0

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.
SelectionType
Requis, chaîne : Type de sélection d'entrée de catalogue : Exclure, inclure.
PartNumber
Requis, chaîne : Numéro de référence de l'entrée de catalogue à inclure ou exclure dans le filtre de catalogue.
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.
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 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="ProductSetSelection/selection" value="SelectionType" />
  <_config:mapping xpath="ProductSetSelection/ProductSet/CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" />
  <_config:mapping xpath="" value="Delete"  deleteValue="1"/>
</_config:DataMapping>
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.

Médiateur d'objet métier

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