Exemple : Suppression de listes de prix
L'utilitaire de chargement des données propose deux modes de suppression de listes de prix définies dans un fichier de chargement : suppression et remplacement. Utilisez le mode suppression si le mode est défini comme "Delete" dans le fichier de configuration de chargement des données. Utilisez le mode remplacement si le mode est défini comme "Replace" dans le fichier de configuration de chargement des données.
Sous le mode remplacement, si la valeur de la colonne "Delete" dans le fichier de chargement est égale à la valeur de "deleteValue" définie dans l'élément <_config_Mapping> dans le fichier de configuration de chargement des données, l'action de suppression est exécutée. Vous pouvez supprimer plusieurs listes de prix simultanément. Vous pouvez également insérer, remplacer et supprimer des listes de prix simultanément.
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.
Fichier CSV avec exemples de données de liste de prix à supprimer
Pour supprimer une liste de prix, vous devez ajouter une colonne Delete à votre fichier CSV. Dans cet exemple, le fichier CSV contient des données de liste de prix. Certaines listes de prix sont supprimées, d'autres sont insérées ou remplacées. L'action effectuée dépend de l'état de l'indicateur de suppression.La première ligne du fichier CSV peut également être composée de noms de colonnes, en fonction de l'attributfirstLineIsHeader du fichier de configuration de chargement des données de la liste de prix. firstLineIsHeader est un attribut de l'élément <_config:DataReader>. - firstLineIsHeader
- true
- Indique que la première ligne du fichier CSV sera traitée comme des données de nom de colonne et ne sera pas insérée dans la base de données.
- false
- Indique que la première ligne du fichier CSV contient des données devant être lues et insérées dans la base de données.
| Nom | Description | Priorité | Type | Supprimer |
|---|---|---|---|---|
| Standard Price List (Liste de prix standard) | Liste de prix standard. | 1 | S | - |
| Holiday price list (Liste de prix période des fêtes) | Liste de prix pour la période des fêtes. | 5 | C | o |
| Legacy system price list (liste de prix de l'ancien système) | Liste de prix gérée par l'ancien système. | 2 | E | - |
| Overstock price list (liste de prix des articles en excédent de stock) | Liste de prix pour les articles en excédent de stock. | 1 | C | y |
- Supprimer la liste de prix avec l'ID de liste de prix unique indiqué
Aucune exception n'est renvoyée dans ce scénario.
- Supprimer la liste de prix avec le nom indiqué
Une exception est émise si la liste de prix n'existe pas dans la base de données et le message d'erreur indiquant que l'ID n'a pas été résolu est affiché. L'ID unique de la liste de prix ne peut pas être résolu lorsque le nom et l'ID unique de la liste de prix constituent la clé primaire identifiant une liste de prix.
Si la liste de prix existe dans la base de données, cette liste est supprimée.
définitions de colonne CSV et d'élément XML
L'ordre des colonnes est défini dans le fichier de configuration de chargement des données de liste de prix. Reportez-vous à l'attribut number dans l'élément <_config:Data>.
- uniqueID
- (Facultatif, Chaîne) Identificateur de la liste de prix. Si le nom et l'élément uniqueID de la liste de prix sont tous deux fournis dans l'enregistrement CSV, l'utilitaire de chargement des données utilise l'élément uniqueID de la liste de prix. L'ID unique est requis lorsqu'il existe un mappage de données pour un ID unique de liste de prix dans le fichier de configuration de chargement des données de liste de prix.
- Nom
- (Requis, chaîne) Nom de la liste de prix. Si le nom et l'élément uniqueID de la liste de prix sont tous deux fournis dans l'enregistrement CSV, l'utilitaire de chargement des données utilise l'élément uniqueID de la liste de prix.
- Description
- (Facultatif, chaîne) Description de la liste de prix.
- Priorité
- (Facultatif, double) Valeur qui détermine quelle liste de prix est prioritaire lorsque plusieurs listes de prix sont en vigueur simultanément. Le système utilise le conteneur de positions commerciales dont la valeur de priorité est la plus élevée. Si cette colonne a la valeur Null dans le fichier d'entrée, elle est définie à la valeur par défaut 0.0. La valeur est mappée à la colonne de base de données OFFER.PRECEDENCE. Remarque : La valeur
Precedencen'est pas utilisée avec les règles de tarification. Pour les règles de tarification, si vous voulez inclure plusieurs listes de prix dans une règle de tarification, vous devez utiliser des branches de condition dans l'outil Filtre de catalogue et tarification. Lorsque vous utilisez des branches de condition pour ajouter plusieurs listes de prix, les conditions déterminent la priorité des listes de prix. La valeur Precedence pour les listes de prix est ignorée. Si vous n'utilisez pas de règles de tarification alors que plusieurs listes de prix (conteneur de positions commerciales) s'appliquent, le système utilise la liste de prix dont la priorité est la plus élevée. - Type
- (Facultatif, chaîne) Type de conteneur de positions commerciales :
- S
- (Valeur par défaut) Liste de prix standard contenant les prix de base des produits dans le catalogue du magasin.
- C
- Liste de prix personnalisée qui spécifie une liste de produits avec leurs prix personnalisés.
- E
- Liste de prix externe.
- Supprimer
- (Facultatif, chaîne) Indique si cette liste de prix doit être supprimée. La valeur de deleteValue (y dans cet exemple) est la chaîne indiquant que cette liste de prix doit être supprimée.
Données de mappage
Le fragment suivant mappe chaque colonne de données dans le fichier CSV source à une valeur.
<_config:Data>
<_config:column number="1" name="Name" />
<_config:column number="2" name="Description" />
<_config:column number="3" name="Precedence" />
<_config:column number="4" name="Type" />
<_config:column number="5" name="Delete" />
</_config:Data>
L'attribut number dans l'élément <_config:column> définit l'ordre des colonnes dans le fichier des enregistrements CSV. L'attribut name définit le nom de colonne utilisé dans l'élément <_config:DataMapping>.
Le fragment suivant mappe chaque valeur à un chemin de schéma logique d'objet métier.
<_config:DataMapping>
<_config:mapping xpath="PriceListIdentifier/ExternalIdentifier/Name" value="Name" valueFrom="InputData" />
<_config:mapping xpath="Description/value" value="Description" valueFrom="InputData" />
<_config:mapping xpath="precedence" value="Precedence" valueFrom="InputData" />
<_config:mapping xpath="type" value="Type" valueFrom="InputData" />
<_config:mapping xpath="" value="Delete" valueFrom="InputData" deleteValue="y" />
</_config:DataMapping>
L'attribut value dans l'élément <_config:DataMapping> doit être cohérent avec l'attribut name de l'article correspondant dans l'élément <_config:column>. Les deux attributs sont sensibles à la casse.
Médiateur d'objet métier
Le nom de classe de médiateur est com.ibm.commerce.price.dataload.mediator.PriceRuleMediator. Le schéma logique correspondant est PriceRule.xsd. L'ID du composant est le suivant : com.ibm.commerce.price
L'exemple suivant illustre comment configurer l'élément BusinessObjectMediator dans le fichier de configuration de chargement des données de liste de prix. La configuration permet de définir si l'utilitaire de chargement de données marque une liste de prix en vue de sa suppression ou supprime la liste de la base de données.
<_config:BusinessObjectMediator className="com.ibm.commerce.price.dataload.mediator.PriceListMediator">
<_config:property name="markPriceListForDelete" value="false" />
</_config:BusinessObjectMediator>
- markPriceListForDelete
-
- true
- La liste de prix est marquée pour sa suppression. Pour supprimer les enregistrements, utilisez l'utilitaire de nettoyage de la base de données.
- false
- La liste de prix est supprimée de la base de données. Tous les enregistrements associés sont supprimés en cascade.