Création d'un type de modalités étendues pour les contrats et les comptes
Vous pouvez créer un type modalité étendue (modalité) pour les contrats et les comptes. Créez un type de modalité lorsque vous devez compléter les types de modalités par défaut fournis par HCL Commerce. Par exemple, lorsque vous avez un client préféré pour lequel vous souhaitez renoncer à l'application d'un supplément, ou appliquer un supplément différent. Une modalité d'exemption de supplément flexible n'est pas fournie par défaut, de sorte que pour la fournir, vous pouvez créer un type de modalité étendue.
Procédure
-
Définissez le nouveau type de modalité dans le fichier TCConfigurationExt.xml que vous créez.
En utilisant cette nouvelle approche, vous définissez les modalités du contrat dans le fichier TCConfigurationExt.xml. Pour plus de détails sur les attributs mentionnés dans ces étapes, voir Attributs pour un nouveau contrat à modalité étendue.
-
Définissez les propriétés d'affichage dans le regroupement de ressources pour résoudre les noms en libellés et descriptions à afficher sur le HCL Commerce Accelerator dans différentes langues.
Vous devez fournir des valeurs pour les identificateurs affichables dans la section précédente (comme waiveSurCharge) dans toutes les langues que vous devez prendre en charge pour les utilisateurs professionnels. Dans le regroupement de ressources, vous devez fournir les valeurs affichables pour les types de modalités, dans le formulaire name=value. Vous devez créer votre propre regroupement de ressources afin que le contenu ne soit pas remplacé lorsque les mises à jour de service sont appliquées.
Vous devez créer le regroupement de ressources dans le dossier workspace_dir/WC/properties/com/ibm/commerce/tools/contract/properties pour l'associer à l'espace de noms "contrat". Toutefois, le nom du regroupement de ressources est votre choix, assurez-vous que le nom n'entre pas en conflit avec les noms d'autres regroupements de ressources. Dans l'exemple précédent du fichier TCConfigurationExt.xml, le regroupement de ressources est identifié par l'attribut resourceBundle="contract. customTCRB". Le nom de fichier qui serait utilisé est customTCRB.properties. Poursuivant l'exemple précédent, le contenu du fichier customTCRB.properties serait :# -- customized contented defined for each extended tc SurChargeTC=Surcharge TC SurChargeTCDescription=Surcharge Term and Condition is used for specifying the settings related to surcharge waiveSurCharge=Waive Surcharge waiveSurChargeDescription=Whether to waive the charge surChargeAmount=Surcharge Amount surChargeAmountDescription=The amount of the surchargeD'autres langues peuvent être prises en charge pour vos utilisateurs professionnels en traduisant les valeurs de propriété (et non les noms) et en les stockant dans des regroupements de ressources tels que customTCRB_fr_CH.properties. Le nom est composé du nom de base (customTCRB), suivi d'un caractère de soulignement (_), du code linguistique ISO 639-1 (fr), d'un autre caractère de soulignement, puis du code de pays ISO 3166-1 (CH). Le nom customTCRB_fr_CH.properties est le fichier à utiliser lorsque la variante linguistique est spécifiée pour la langue Français (fr) en Suisse (CH). Enfin, le regroupement de ressources doit être enregistré dans le fichier resource.xml du dossier workspace_dir/WC/xml/tools/contract en ajoutant l'entrée suivante, en remplaçant customTCRB par le nom que vous avez utilisé :<resourceBundle name="customTCRB" bundle="com.ibm.commerce.tools.contract.properties.customTCRB" />Les modifications apportées au fichier resource.xml peuvent être remplacées lorsque les mises à jour du service sont terminées. Vous devrez peut-être refaire cette modification à resource.xml après l'application d'une mise à jour de service.
-
Enregistrez le nouveau type de modalité.
Les modalités étendues s'inscrivent dans le modèle de contrat existant et vous devez définir un nouveau type de modalité en insérant un enregistrement dans le tableau TCTYPE. Vous pouvez définir un type de modalité unique pour toutes les modalités étendues à utiliser ou définir plusieurs types de modalités. Exécutez la commande SQL suivante pour créer un seul TCTYPE appelé "ExtendedTC" :
La valeur ExtendedTC peut être n'importe quel nom unique qui n'est pas déjà utilisé dans la colonne TCTYPE.Insert into TCTYPE (TCTYPE_ID) values ('ExtendedTC');Pour chaque modalité trouvée dans le fichier TCConfigurationExt.xml, vous devez définir un nouveau sous-type de modalité. Définissez la modalité en insérant un enregistrement dans le tableau TCSUBTYPE.- Pour enregistrer le nouveau type de modalité étendue dans le tableau TCSUBTYPE, exécutez la commande SQL suivante :
Laissez la valeur de la colonne ACCESSBEANNAME comme NULL. Vous pouvez également laisser la colonne DEPLOYCOMMAND comme NULL lorsque vous n'avez pas de logique de déploiement personnalisée pour la modalité.Insert into tcsubtype(TCSUBTYPE_ID,TCTYPE_ID) Values ('SurChargeTC', 'ExtendedTC');- Si la colonne ACCESSBEANNAME est NULL, le bean d'accès par défaut (ExtendedTermConditionAccessBean) est utilisé lorsque vous créez et mettez à jour les modalités étendues. La méthode d'appel peut utiliser les méthodes getProperty et setProperty de ExtendedTermConditionAccessBean pour obtenir et définir les propriétés sur la modalité.
- Si la colonne DEPLOYCOMMAND est NULL, les modalités de ce type sont ignorées pendant le déploiement.
- Pour vous inscrire avec une commande de déploiement personnalisée, exécutez cette commande SQL :
Insert into tcsubtype(TCSUBTYPE_ID, TCTYPE_ID, ACCESSBEANNAME, DEPLOYCOMMAND) Values ('SurChargeTC', 'ExtendedTC', null, YourDeployCommandName);
- YourDeployCommandName
- Nom de votre commande de déploiement personnalisée. La valeur par défaut est 'com.ibm.commerce.contract.commands.DeployExtendedTCCmd.'
Le bean d'accès par défaut 'com.ibm.commerce.contract.objects.ExtendedTermConditionAccessBean' est utilisé pour gérer toutes les modalités étendues. Le nom 'SurChargeTC' illustré ici en est un exemple. Entrez la même valeur utilisée dans l'attribut de type de l'élément TCDefinition qui s'est affiché précédemment. En outre, assurez-vous que la valeur pour TCTYPE_ID correspond à la valeur du tableau TCTYPE.
Vous n'avez généralement pas à définir votre propre commande de déploiement. Vous pouvez laisser yourDeployCommandName comme NULL. Toutefois, si vous souhaitez avoir votre propre logique de déploiement, vous devez remplacer yourDeployCommandName par le nom de votre propre commande de déploiement.
- Pour enregistrer le nouveau type de modalité étendue dans le tableau TCSUBTYPE, exécutez la commande SQL suivante :
-
Actualisation du mappage des modalités
Remarque : Toutes les étapes mentionnées ici ne s'appliquent qu'aux versions antérieures à la version 9.1.9.0. A partir de HCL Commerce version 9.1.10, le registre est mis à jour via Management Center.
Pour utiliser les nouvelles modalités dans l'interface utilisateur HCL Commerce Accelerator ou dans l'environnement d'exécution HCL Commerce, les valeurs doivent être propagées dans ce registre. Le mappage des modalités fait son apparition avec cette version, et se trouve avec les autres registres HCL Commerce.
Si vous redémarrez le serveur, le registre est mis à jour automatiquement. Sinon, pour mettre à jour le registre :
- Démarrez le serveur HCL Commerce.
- Ouvrez la console d'administration.
- Sélectionnez Site, puis cliquez sur OK.
- Cliquez sur .
- Dans la liste Registre, sélectionnez Mappage des modalités et cliquez sur le bouton Mettre à jour.
- Une fois la mise à jour terminée, déconnectez-vous de la console d'administration.
Remarque : A partir de HCL Commerce version 9.1.10, le registre peut être mis à jour via Management Center.Pour utiliser les nouvelles modalités dans l'interface utilisateur Management Center ou dans l'environnement d'exécution HCL Commerce, les valeurs doivent être propagées dans ce registre. Le mappage des modalités fait son apparition avec cette version, et se trouve avec les autres registres HCL Commerce.
Si vous redémarrez le serveur, le registre est mis à jour automatiquement. Sinon, pour mettre à jour le registre :
- Démarrez le serveur HCL Commerce.
- Ouvrez les outils du Centre de gestion.
- Dans le menu Hamburger, cliquez sur .
- Dans la zone Rechercher, entrez TCMappingRegistry.
- Dans le menu Actions, cliquez sur l'icône Mettre à jour un registre
.
- Une fois la mise à jour terminée, déconnectez-vous du Centre de gestion.
Résultats
Une fois que vous avez créé le type de modalité, vous pouvez l'ajouter à des contrats ou à des comptes. Avant que ce type de modalité puisse entrer en vigueur, cependant, vous devez fournir la logique pour la manipuler. La fourniture de cette logique est similaire aux versions précédentes, sauf qu'auparavant le code personnalisé utilisait TermConditionAccessBean pour accéder aux modalités. Maintenant, le code personnalisé utilise ExtendedTermConditionAccessBean pour accéder à la modalité étendue. Voici un exemple.
Long contractId = new Long(23504);
ExtendedTermConditionAccessBean etcAB = new ExtendedTermConditionAccessBean();
Enumeration etcABs = etcAB.findByTradingAndTCSubType(contractId, "SurChargeTC");
if (etcABs.hasMoreElements())
{
etcAB = (ExtendedTermConditionAccessBean)etcABs.nextElement();
Integer waiveSurCharge = (Integer)etcAB.getProperty("waiveSurCharge");
Double surChargeAmount = (Double)etcAB.getProperty("surChargeAmount");
}