Exemple : Insertion et remplacement d'une règle de tarification
Servez-vous de l'utilitaire de chargement de données pour charger des données de règle de tarification dans la table PRICERULE. L'utilitaire de chargement de données fournit deux modes de chargement des règles de tarification : insertion ou remplacement. Utilisez le mode insertion pour une nouvelle règle de tarification. Utilisez le mode remplacement pour mettre à jour une règle de tarification existante.
N'utilisez pas le mode insertion si une règle de tarification associée au même nom de règle de tarification ou au même ID unique existe dans la base de données. En mode insertion, si une règle de tarification associée au même nom de règle de tarification ou au même ID unique existe dans la base de données, l'enregistrement n'est pas inséré. En mode remplacement, si le nom de la règle de tarification ou l'ID unique figurant dans le fichier de chargement n'existe pas dans la base de données, la règle de tarification est insérée.
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.
Prérequis
Avant d'exécuter cet exemple, vérifiez que les conditions requises sont remplies :
- Le magasin existe.
Fichier CSV avec exemple de données de règle de tarification
Dans cet exemple, les données source proviennent d'un fichier CSV nommé PriceRule.csv. Le fichier contient un exemple de données de règle de tarification. Chaque colonne est délimitée par une virgule.| Nom | Description | Etat | Dépendance | Format |
|---|---|---|---|---|
| PriceRule001 | This price rule is just for UT | 1 | TRUE | 1 |
| PriceRule002 | This price rule is just for UT | 0 | FALSE | 0 |
- 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.
définitions de colonne CSV et d'élément XML
L'ordre des colonnes est défini dans le fichier de configuration de chargement de données de règle de tarification. Reportez-vous à l'attribut number dans l'élément <_config:Data>.
- Nom
- (Requis, chaîne) Le nom de la règle de tarification, qui est une combinaison du nom et de l'identificateur de magasin dans le contexte métier, doit être unique.
- Description
- (Chaîne) Description de la règle de tarification.
- Etat
- (Requis, entier) Etat en cours de la règle de tarification. Les valeurs valides sont : 0 = Brouillon, 1 = Prête, 2 = Interrompue, 3 = Fermée.
- Dépendance
- (Requis, valeur booléenne) Indicateur booléen qui détermine si la règle de tarification est dépendante ou non.
- Format
- (Requis, entier) Type de règle de tarification. Les valeurs valides sont : 0 = interne, 1 = externe. La valeur par défaut est 0.
Les autres zones suivantes sont facultatives et ne sont pas incluses dans l'exemple :
- UniqueID
- (Chaîne) Numéro de référence de la règle de tarification. S'il est indiqué, PRICERULE.PRICERULE_ID est rempli avec la valeur fournie. Ou bien, PRICERULE.PRICERULE_ID est un numéro unique généré.
- CreatedTime
- (Horodatage) Heure de création de la règle de tarification.
- LastUpdateTime
- (Horodatage) Heure de la dernière mise à jour de la règle de tarification.
- 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 deleteValue peut être configuré sous l'élément
<DataMapping>dans BusinessObjectConfigFile. - Zone 1
- (Chaîne) Extension pour la valeur de chaîne, dont la longueur maximale est 254.
- Field 2
- (Chaîne) Extension pour la valeur de chaîne, dont la longueur maximale est 254.
- Field 3
- (Chaîne) Extension pour la valeur de chaîne, dont la longueur maximale est 254.
Données de contexte métier
Le fragment de code suivant provenant du fichier de configuration wc-dataload-env.xml fournit les données de contexte métier nécessaires pour le chargement des données de règle de tarification :<_config:BusinessContext
storeIdentifier="AuroraESite"
catalogIdentifier="Extended Sites Catalog Asset Store"
languageId="-1"
currency="USD">
</_config:BusinessContext>- storeIdentifier
- Chaîne : Identificateur du magasin auquel appartient cet article, tel qu'AuroraESite. Il est utilisé si le fichier CSV ne fournit pas cette information. StoreIdentifier est utilisé pour extraire l'élément storeID.
- 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 catalogIdentifier 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">
<_config:Data>
<_config:column number="1" name="UniqueID" />
<_config:column number="2" name="Name" />
<_config:column number="3" name="Description" />
<_config:column number="4" name="State" />
<_config:column number="5" name="Dependent" />
<_config:column number="6" name="Format" />
<_config:column number="7" name="Version" />
<_config:column number="8" name="Field1" />
<_config:column number="9" name="Field2" />
<_config:column number="10" name="Field3" />
<_config:column number="11" name="CreatedTime"/>
<_config:column number="12" name="LastUpdateTime" />
<_config:column number="13" name="Delete" />
</_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 précédent. 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é.
<_config:DataMapping>
<_config:mapping xpath="PriceRuleIdentifier/UniqueID" value="UniqueID" />
<_config:mapping xpath="PriceRuleIdentifier/ExternalIdentifier/Name" value="Name" />
<_config:mapping xpath="Description" value="Description" />
<_config:mapping xpath="State" value="State" />
<_config:mapping xpath="Dependent" value="Dependent" />
<_config:mapping xpath="Format" value="Format" />
<_config:mapping xpath="Version" value="Version" />
<_config:mapping xpath="CreatedTime" value="CreatedTime"/>
<_config:mapping xpath="LastUpdateTime" value="LastUpdateTime"/>
<_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 classe de médiateur est com.ibm.commerce.price.dataload.mediator.PriceRuleMediator. Le schéma logique correspondant est défini dans PriceRule.xsd.