Exemple : Insertion et remplacement d'enregistrements de stock prévu (RA)

Vous pouvez insérer ou remplacer vos enregistrements de stock prévu à 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 d'enregistrement de stock prévu.

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.

Utilisez l'utilitaire de chargement de données pour charger des données dans la table RA.

Prérequis

Avant d'exécuter cet exemple, vérifiez que les conditions requises sont remplies :

  • Vérifiez que le système de stock est un système de stock disponible à la vente. Par exemple, vérifiez la table STORE pour vous assurer que INVENTORYSYSTEM=-1.
  • Les données de catalogue, les données de groupe de catalogue et les données d'entrée de catalogue qui sont utilisées dans cet exemple doivent être chargées dans la base de données.
  • Les données de configuration du stock disponible à la vente sont chargées dans la base de données.
  • Les données de nom de fournisseur (VendorName) figurant dans le fichier CSV source existent dans la table VENDOR de la base de données.

Fichier CSV avec exemples de données

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

Fichier CSV avec exemples de données

VendorName CreateTime OrderDate DateClosed OpenIndicator ExternalId CatEntryStoreIdentifier
MyCompany 2005-07-12 01:01:01.123456 2005-06-12 02:02:02.123456 2005-08-08 00:00:00.0 True ATP-1201 Record 1 10701
AdvancedB2BDirect Vendor 2008-05-15 04:04:04.0 2008-04-15 00:00:00.0 2008-12-24 09:02:00.0 False ATP-1301 Record 1
AdvancedB2BDirect Vendor 2009-05-21 00:00:00.0 2009-04-21 00:00:00.0

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

VendorName
(Requis, chaîne) Fournisseur du stock. Cette zone est requise et ne peut pas contenir la valeur null.
CreateTime
(Requis, horodatage) Date et heure de création de l'enregistrement. Le format de l'entrée est yyyy-mm-dd hh:mm:ss.SSSSSS. La longueur de fraction de seconde ne doit pas être supérieure à 6. Vous pouvez personnaliser le format en définissant la propriété timestampPattern dans le fichier wc-dataload.xml. Cette zone fait partie de l'index à entrées uniques de la table RA. Cette zone est requise et ne peut pas contenir la valeur null.
OrderDate
(Requis, horodatage) Date et heure de création de cette commande auprès du fournisseur. Son format est identique à celui spécifié dans CreateTime. Cette zone est requise et ne peut pas contenir la valeur null.
DateClosed
(Horodatage) Date et heure de fermeture de l'enregistrement. Son format est identique à celui spécifié dans CreateTime.
OpenIndicator
(Valeur booléenne) True = Le stock prévu peut être reçu et alloué aux commandes en amont. False = Aucun autre stock n'est reçu. Le stock prévu ne peut pas être alloué à des commandes en amont. False est automatiquement attribué à toute valeur autre que true.
ExternalId
(Chaîne) L'identificateur externe. Il est mis à disposition par le fournisseur et peut être utilisé pour référencer cet enregistrement.
CatEntryStoreIdentifier
(Chaîne) Cet identificateur est utilisé 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 requise si vous utilisez un magasin de site étendu.

Autres zones facultatives non incluses dans l'exemple :

StoreIdentifier
(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é.
Supprimer
(Chaîne) Indique si cet enregistrement doit être supprimé. 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 par défaut de deleteValue est 1 et ce paramètre peut être configuré sous l'élément <DataMapping> dans BusinessObjectConfigFile.

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: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.

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">
	<_config:Data>
		<_config:column number="1" name="VendorName" />
		<_config:column number="2" name="CreateTime" />
		<_config:column number="3" name="OrderDate" />
		<_config:column number="4" name="ClosedDate" />
		<_config:column number="5" name="OpenIndicator" />
		<_config:column number="6" name="ExternalId" />
		<_config:column number="7" 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, qui est 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 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="ExpectedInventoryRecordIdentifier/ExternalIdentifier/VendorName" value="VendorName" valueFrom="InputData" />
	<_config:mapping xpath="OrderDate" value="OrderDate" valueFrom="InputData" />
	<_config:mapping xpath="ExpectedInventoryRecordIdentifier/ExternalIdentifier/CreateDate" value="CreateTime" valueFrom="InputData" />
  	<_config:mapping xpath="CloseDate" value="ClosedDate" valueFrom="InputData" />     
	<_config:mapping xpath="OpenIndicator" value="OpenIndicator" valueFrom="InputData" />
	<_config:mapping xpath="ExternalId" value="ExternalId" valueFrom="InputData" />
	<_config:mapping xpath="InventoryReceiptIdentifier/ExternalIdentifier/CatalogEntryIdentifier/ExternalIdentifier/StoreIdentifier/ExternalIdentifier/NameIdentifier" value="CatEntryStoreIdentifier" />
</_config:DataMapping>

Médiateur d'objet métier

Le nom de classe de médiateur est com.ibm.commerce.inventory.dataload.mediator.ExpectedInventoryMediator. Le schéma logique correspondant est ExpectedInventoryRecord.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.