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 :

Différentes méthodes sont utilisées pour appliquer, combiner, finaliser, qualifier et résumer différents morceaux de la structure de calcul. Les méthodes de calcul sont affectées à une sous-classe pour catégoriser la façon dont la méthode de calcul sera utilisée. HCL Commerce fournit les sous-classes de méthode de calcul suivantes, énumérées dans l'ordre où elles sont utilisées dans 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-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

Modèle de données de méthode 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

Le flux général des méthodes de calcul, lorsqu'elles sont utilisées dans le cadre du processus de commande, est le suivant :
  1. InitializeCalculationUsage
  2. Appels ApplyCalculationUsage :
    1. Appels CalculationCodeCombine :
      1. CalculationCodeQualify
    2. Appels CalculationCodeCalculate :
      1. Appels CalculationRuleCombine :
        1. CalculationRuleQualify
        2. Appels CalculationRuleCalculate :
          1. CalculationScaleLookup
          2. CalculRange
    3. CalculationCodeApply
  3. SummarizeCalculationUsage
  4. 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

Schéma des méthodes de calcul appelées par la méthode de calcul ApplyCalculationUsage