Méthodes de calcul
Une méthode de calcul met en œuvre un morceau de la structure de calcul. Différentes classes de méthodes de calcul sont utilisées pour les différentes opérations requises pour effectuer un calcul au sein de la structure de calcul.
L'utilisation d'un certain nombre de méthodes de calcul au lieu d'une grande méthode de calcul simplifie beaucoup plus la personnalisation des calculs. La personnalisation d'un calcul nécessite souvent simplement de modifier ou de remplacer une ou deux des méthodes de calcul.
Les méthodes de calcul utilisent les informations qui font partie des utilisations de calcul, des codes de calcul et des échelles de calcul pour déterminer les montants monétaires des articles de la commande. Les méthodes de calcul sont classées selon la tâche qu'elles effectuent au sein de la structure de calcul et selon la partie de la structure de calcul à laquelle la méthode de calcul appartient. Les tâches suivantes sont exécutées dans le cadre de la structure de calcul :
| Tâche | Description |
|---|---|
| Application | L'application consiste à enregistrer les montants calculés dans la base de données HCL Commercepour les utiliser dans des calculs ultérieurs. |
| Initialisation | L'initialisation consiste à réinitialiser toutes les variables utilisées dans les calculs et à effacer les résultats précédemment calculés. |
| Combinaison | La combinaison consiste à déterminer les relations entre les articles de la commande et les codes de calcul, les règles de calcul ou les échelles de calcul. La combinaison peut également impliquer la détermination de l'ordre dans lequel les codes de calcul sont appliqués aux articles de la commande. |
| Qualification | La qualification consiste à restreindre l'ensemble des codes de calcul applicables, des règles de calcul ou des échelles de calcul à l'aide d'un critère qui existe en dehors de la structure de calcul. Par exemple, certains codes de calcul peuvent s'appliquer uniquement aux clients appartenant à un groupe de membres spécifique. La qualification est une sous-tâche de la combinaison. |
| Calcul | Le calcul implique la détermination d'un montant monétaire qui s'applique aux articles de la commande. |
| Recherche | La recherche implique l'utilisation d'une valeur pour déterminer une autre valeur. |
| Récapitulatif | Le récapitulatif consiste à déterminer les totaux des montants monétaires pour les articles de la commande. Un exemple de récapitulatif est la production du total des taxes pour une commande en ajoutant les taxes calculées pour chaque article de la commande. |
| Finalisation | La finalisation implique tout traitement qui se produit après l'application. Un exemple de finalisation est le marquage des coupons qui sont utilisés dans une commande pour empêcher leur utilisation dans d'autres commandes. |
- InitializeCalculationUsage
- ApplyCalculationUsage
- CalculationCodeApply
- CalculationCodeCombine
- CalculationCodeQualify
- CalculationCodeCalculate
- CalculationRuleCombine
- CalculationRuleQualify
- CalculationRuleCalculate
- MonetaryCalculationScaleLookup
- QuantityCalculationScaleLookup
- CalculRange
- SummarizeCalculationUsage
- FinalizeCalculationUsage
La sous-classe d'une méthode de calcul désigne l'interface que sa commande correspondante développe. Les classes Java qui composent le structure de calcul font partie du package com.ibm.commerce.order.calculation. Le tableau suivant affiche les sous-classes de méthode de calcul et leurs interfaces associées.
| Sous-classe de méthode de calcul | Interface |
|---|---|
| InitializeCalculationUsage | com.ibm.commerce.order.calculation.InitializeCalculationUsageCmd |
| ApplyCalculationUsage | com.ibm.commerce.order.calculation.ApplyCalculationUsageCmd |
| CalculationCodeApply | com.ibm.commerce.order.calculation.CalculationCodeApplyCmd |
| CalculationCodeCombine | com.ibm.commerce.order.calculation.CalculationCodeCombineCmd |
| CalculationCodeQualify | com.ibm.commerce.order.calculation.CalculationCodeQualifyCmd |
| CalculationCodeCalculate | com.ibm.commerce.order.calculation.CalculationCodeCalculateCmd |
| CalculationRuleCombine | com.ibm.commerce.order.calculation.CalculationRuleCombineCmd |
| CalculationRuleQualify | com.ibm.commerce.order.calculation.CalculationRuleQualifyCmd |
| CalculationRuleCalculate | com.ibm.commerce.order.calculation.CalculationRuleCalculateCmd |
| MonetaryCalculationScaleLookup | com.ibm.commerce.order.calculation.CalculationScaleLookupCmd |
| QuantityCalculationScaleLookup | com.ibm.commerce.order.calculation.CalculationScaleLookupCmd |
| CalculRange | com.ibm.commerce.order.calculation.CalculationRangeCmd |
| SummarizeCalculationUsage | com.ibm.commerce.order.calculation.SummarizeCalculationUsageCmd |
| FinalizeCalculationUsage | com.ibm.commerce.order.calculation.FinalizeCalculationUsageCmd |
Tables de base de données pour les méthodes de calcul
Les méthodes de calcul sont définies dans la table de base de données CALMETHOD.
Schéma du modèle de base de données des méthodes de calcul
Fonctionnement des méthodes de calcul
Diverses méthodes de calcul sont appelées lorsqu'HCL Commerce calcule des montants monétaires. Chaque sous-classe de méthode de calcul est utilisée pour les autres composantes de la structure de calcul.
Méthodes de calcul pour les utilisations de calcul
| Méthodes | Description |
|---|---|
| InitializeCalculationUsage | Elle peut être appelée par la commande OrderPrepare pour initialiser le calcul des montants monétaires. Un exemple d'initialisation est la suppression des valeurs précédemment calculées. |
| ApplyCalculationUsage | Elle peut être appelée par la commande OrderPrepare pour calculer des montants monétaires et les appliquer à une commande. Elle peut également être appelée par les beans de données pour calculer des montants monétaires à des fins d'affichage. Les exemples de montants calculés comprennent les ajustements de commandes, les frais de port et les taxes. Les implémentations par défaut de cette méthode de calcul appellent les méthodes de calcul CalculCodeCombine, CalculCodeCalculate et CalculCodeApply. |
| SummarizeCalculationUsage | Elle peut être appelée par la commande OrderPrepare pour résumer les valeurs calculées et les appliquer à une commande. Par exemple, en remplissant les SubOrderAdjustments ou les frais de port de SubOrder ou les montants des taxes. |
| FinalizeCalculationUsage | Elle peut être appelée par la commande OrderProcess pour marquer les ressources consommées, telles que les coupons, comme n'étant plus disponibles. |
| CalculationCodeApply | Elle peut être appelée par la méthode ApplyCalculationUsage pour appliquer les valeurs calculées pour une liste d'articles dans une commande. |
| CalculationCodeCombine | Elle peut être appelée par la méthode ApplyCalculationUsage pour identifier les relations entre les articles de la commande et les codes de calcul. Les implémentations par défaut de la méthode CalculationCodeCombine utilisent les tables de base de données CATENCALCD, CATGPCALCD, ORDICALCD et ORDCALCD, et appellent la méthode CalculationCodeQualify. |
| CalculationCodeQualify | Elle peut être appelée par la méthode CalculationCodeCombine pour déterminer si un code de calcul s'applique à une liste d'articles de la commande. |
| CalculationCodeCalculate | Elle peut être appelée par la méthode ApplyCalculationUsage pour calculer les valeurs d'une liste de OrderItems pour un CalculationCode (code de calcul) particulier. |
| CalculationRuleCombine | Elle peut être appelée par la méthode CalculationCodeCalculate pour déterminer une liste de règles de calcul et des OrderItems associés à appliquer pour un code de calcul. Les implémentations par défaut de la méthode CalculalRuleCombine appellent la méthode CalculationRuleQualify et la méthode CalculationRuleCalculate pour trouver les valeurs les plus basses pour chaque combinaison admissible de règles de calcul. |
| CalculationRuleQualify | Elle peut être appelée par la méthode CalculationRuleCombine pour déterminer à quels articles d'une liste une règle de calcul s'applique. |
| CalculationRuleCalculate | Elle peut être appelée par la méthode CalculationRuleCombine pour calculer les valeurs d'une liste d'articles de la commande. |
| MonetaryCalculationScaleLookup | Elle peut être appelée par la méthode CalculationRuleCalculate pour déterminer comment une échelle de calcul basée sur l'aspect monétaire peut être utilisée pour déterminer une plage de calcul pour une liste d'articles de la commande. |
| QuantityCalculationScaleLookup | Elle peut être appelée par la méthode CalculationRuleCalculate pour déterminer comment une échelle de calcul basée sur la quantité peut être utilisée pour déterminer une plage de calcul pour une liste d'articles de la commande. |
| CalculRange | Elle peut être appelée par la méthode CalculationRuleCalculate pour déterminer une valeur calculée à partir d'un résultat de recherche de fourchette de calcul. |
Flux général des méthodes de calcul
- InitializeCalculationUsage
- Appels ApplyCalculationUsage :
- Appels CalculationCodeCombine :
- CalculationCodeQualify
- Appels CalculationCodeCalculate :
- Appels CalculationRuleCombine :
- CalculationRuleQualify
- Appels CalculationRuleCalculate :
- CalculationScaleLookup
- CalculRange
- Appels CalculationRuleCombine :
- CalculationCodeApply
- Appels CalculationCodeCombine :
- SummarizeCalculationUsage
- FinalizeCalculationUsage
La méthode ApplyCalculationUsage peut également être appelée par des beans de données pour calculer les montants monétaires utilisés à des fins d'affichage en dehors du traitement de la commande.
La figure suivante illustre le flux des méthodes de calcul appelées par la méthode ApplyCalculationUsage :
Méthodes de calcul appelées par la méthode de calcul ApplyCalculationUsage
