Exemple : Suppression d'un stock non ATP

Vous pouvez supprimer un stock non ATP à l'aide de l'utilitaire de chargement de données. Cet exemple utilise un fichier CSV pour expliquer comment supprimer des informations de stock.

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.

Vous pouvez utiliser l'utilitaire de chargement de données pour supprimer des données de la table INVENTORY.

Fichier CSV avec exemples de données

Dans cet exemple, les données source proviennent d'un fichier CSV nommé nonATPinventory_delete.csv. Ce fichier contient des exemples de données.

Fichier CSV avec exemples de données

PartNumber Quantité QuantityUnit CatEntryStoreIdentifier
A0000101 1000 C62 10701
A0000106 300 C62
A0000107 4000

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

PartNumber
(Chaîne) Numéro de référence de cet article. Identifie de manière unique un article d'un propriétaire spécifique. Combiné à l'identificateur de propriétaire, il est utilisé pour extraire la clé primaire de la table CATENTRY, c'est-à-dire CATENTRY_ID. Cette zone est obligatoire et ne peut pas être Null si la zone CatalogEntryUniqueId n'est pas spécifiée dans le fichier CSV.
Quantité
(Entier) Quantité, exprimée avec l'unité de mesure indiquée par QUANTITYUNIT. La valeur zéro est utilisée si ce paramètre n'est pas spécifié dans le fichier CSV.
QuantityUnit
(Chaîne) Unité de mesure pour QUANTITY. "C62" est spécifié si elle n'est pas indiquée dans le fichier CSV.
CatEntryStoreIdentifier
(Chaîne) Cette zone est utilisée dans un magasin de site étendu. Si l'élément CatalogEntry est défini dans un magasin de ressources d'entrées de catalogue, cette zone correspond à l'identificateur de ce magasin. Cet identificateur est utilisé pour extraire le paramètre entryOwner du catalogue.
HCL Commerce EnterpriseCette zone est obligatoire si vous utilisez un magasin de site étendu.

Autres zones facultatives non incluses dans l'exemple :

CurrentStoreIdentifier
(Chaîne) Identificateur du magasin auquel l'article appartient. Cette colonne peut être ajoutée au fichier CSV si l'article appartient à un magasin différent du magasin qui est défini dans les éléments BusinessContext du fichier wc-dataload-env.xml. Si cette colonne n'est pas fournie dans le fichier CSV, l'élément StoreIdentifier du contexte métier est utilisé.
FulfillmentCenterId
(Entier) Identificateur du centre de distribution auquel appartient cet article. Cette colonne peut être ajoutée au fichier CSV si l'article appartient à un centre de distribution différent de celui qui est défini dans la propriété BusinessContext du fichier wc-dataload-env.xml. Si cette colonne n'est pas fournie dans le fichier CSV, l'élément fulfillmentCenterIdentifier est extrait par FulfillmentCenterName. S'il est introuvable, le paramètre fulfillmentCenterIdentifier du contexte métier est utilisé. S'il n'est pas spécifié dans le fichier CSV ni dans le contexte métier, le centre de distribution par défaut du magasin spécifié est utilisé.
FulfillmentCenterName
(Chaîne) Nom du centre de distribution auquel appartient cet article. Cette colonne est utilisée pour extraire l'élément fulfillmentCenterIdentifier.
OwnerId
(Long) Identificateur de l'élément entryOwner du catalogue de cet article. S'il n'est pas spécifié dans le fichier CSV, le propriétaire du magasin de ressources d'entrées de catalogue est alors extrait. S'il n'est pas trouvé, le propriétaire du magasin en cours est alors extrait. S'il est introuvable, l'élément ownerId spécifié dans la propriété BusinessContext du fichier wc-dataload-env.xml est utilisé.
CatalogEntryUniqueId
(Long) Identificateur de l'entrée de catalogue de cet article. Si cette zone n'est pas spécifiée dans le fichier CSV, l'identificateur de l'entrée de catalogue est extrait en fonction du numéro de référence et du propriétaire de l'entrée de catalogue.

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 requises pour le chargement des données :

<_config:BusinessContext storeIdentifier="AuroraESite">
	<_config:property name="fulfillmentCenterName" value="Aurora Home"/>
  	<_config:property name="ownerId" value="7000000000000000002"/>
</_config:BusinessContext>
storeIdentifier
(Chaîne) Identificateur du magasin auquel l'article appartient. Il est utilisé si le fichier CSV ne fournit pas cette information. Utilisé pour extraire les éléments storeID et ownerID.
fulfillmentCenterId
(Chaîne) Identificateur du centre de distribution auquel appartient cet article. Il est utilisé si l'identificateur ne peut pas être extrait par le paramètre FulfillmentCenterId ou FulfillmentCenterName spécifié dans le fichier CSV.
FulfillmentCenterName
(Chaîne) Nom du centre de distribution auquel appartient cet article. Il est utilisé pour extraire le paramètre fulfillmentCenterID si fulfillmentCenterID n'est pas extrait du fichier CSV ni défini dans le contexte métier.
OwnerId
(Long) Identificateur de l'élément entryOwner du catalogue de cet article. Il est utilisé si le paramètre entryOwner de catalogue n'est pas fourni dans le fichier CSV et ne peut pas être extrait par l'identificateur de magasin spécifié.

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. Chaque colonne du fichier CSV doit comporter une telle définition. Si les zones facultatives mentionnées précédemment sont présentes dans le fichier CSV, leur définition doit être ajoutée.

<_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" firstLineIsHeader="true">
	<_config:Data>
  		<_config:column number="1" name="PartNumber" />
  		<_config:column number="2" name="Quantity" />
  		<_config:column number="3" name="QuantityUnit" />
  		<_config:column number="4" name="CatEntryStoreIdentifier" />
  </_config:Data>
</_config:DataReader> 

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

<_config:DataMapping>
	<_config:mapping xpath="InventoryAvailabilityIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/PartNumber" value="PartNumber" valueFrom="InputData" />
  	<_config:mapping xpath="FulfillmentCenterInventoryAvailability[0]/AvailableQuantity/value" value="Quantity" valueFrom="InputData" />
  	<_config:mapping xpath="FulfillmentCenterInventoryAvailability[0]/AvailableQuantity/uom" value="QuantityUnit" valueFrom="InputData" />
	<_config:mapping xpath="InventoryAvailabilityIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="CatEntryStoreIdentifier" />
</_config:DataMapping>

Médiateur d'objet métier

L'utilitaire de chargement de données fournit un médiateur d'objet métier permettant de supprimer des données de détail de stock prévu. Le nom de la classe du médiateur est com.ibm.commerce.inventory.dataload.mediator.NonATPInventoryMediator.

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.