Métodos de cálculo
Un método de cálculo implementa una parte de la infraestructura de cálculo. Se utilizan clases de método de cálculo diferentes para las distintas operaciones que son necesarias para realizar un cálculo en la infraestructura de cálculo.
Si se utilizan varios métodos de cálculo en lugar de utilizar un método de cálculo extenso, la personalización de los cálculos resulta más simple. Para personalizar un cálculo, a menudo sólo es necesario modificar o reemplazar uno o dos de los métodos de cálculo.
Los métodos de cálculo utilizan la información que forma parte de los usos de cálculo, los códigos de cálculo y las escalas de cálculo a fin de determinar los importes monetarios para los artículos de pedido. Los métodos de cálculo se clasifican por categorías según la tarea que realizan en la infraestructura de cálculo y la parte de la infraestructura de cálculo a la que pertenece el método de cálculo. Se realizan las tareas siguientes como parte de la infraestructura de cálculo:
Tarea | Descripción: |
---|---|
Aplicación | La aplicación implica guardar los importes calculados en la base de datos de HCL Commerce para utilizarlos en cálculos posteriores. |
Inicialización | La inicialización implica el restablecimiento de las variables utilizadas en los cálculos y el borrado de los resultados calculados anteriormente. |
Combinación | La combinación implica la determinación de las relaciones entre los artículos de pedido y los códigos de cálculo, las normas de cálculo o las escalas de cálculo. La combinación también puede implicar la determinación del pedido en el que se aplican los códigos de cálculo a los artículos de pedido. |
Calificación | La calificación implica la restricción del conjunto de códigos de cálculo, normas de cálculo o escalas de cálculo aplicables utilizando unos criterios que existen fuera de la infraestructura de cálculo. Por ejemplo, es posible que determinados códigos de cálculo sólo se apliquen a clientes que pertenecen a un grupo de miembros específico. La calificación es una subtarea de la combinación. |
Cálculo | El cálculo implica la determinación de un importe monetario que se aplica a los artículos de pedido. |
Búsqueda | La búsqueda implica la utilización de un valor para determinar otro valor. |
Suma | La suma implica la determinación de los totales de los importes monetarios de los artículos de pedido. Una suma es, por ejemplo, determinar los impuestos totales de un pedido sumando los impuestos calculados para cada artículo del pedido. |
Finalización | La finalización implica cualquier proceso que se produzca después de la aplicación. Marcar los cupones utilizados en un pedido para evitar que dichos cupones se utilicen en otros pedidos es un ejemplo de finalización. |
- InitializeCalculationUsage
- ApplyCalculationUsage
- CalculationCodeApply
- CalculationCodeCombine
- CalculationCodeQualify
- CalculationCodeCalculate
- CalculationRuleCombine
- CalculationRuleQualify
- CalculationRuleCalculate
- MonetaryCalculationScaleLookup
- QuantityCalculationScaleLookup
- CalculationRange
- SummarizeCalculationUsage
- FinalizeCalculationUsage
La subclase de un método de cálculo indica la interfaz que su mandato correspondiente extiende. Las clases Java que componen la infraestructura de cálculo forman parte del paquete com.ibm.commerce.order.calculation. La tabla siguiente muestra las subclases de método de cálculo y las interfaces relacionadas.
Subclase de método de cálculo | Interfaz |
---|---|
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 |
CalculationRange | com.ibm.commerce.order.calculation.CalculationRangeCmd |
SummarizeCalculationUsage | com.ibm.commerce.order.calculation.SummarizeCalculationUsageCmd |
FinalizeCalculationUsage | com.ibm.commerce.order.calculation.FinalizeCalculationUsageCmd |
Tablas de base de datos para métodos de cálculo
Los métodos de cálculo se definen en la tabla de base de datos CALMETHOD.
Diagrama de modelo de datos de método de cálculo
Cómo funcionan los métodos de cálculo
Se invocan diversos métodos de cálculo cuando HCL Commerce calcula importes monetarios. Cada subclase de método de cálculo se utiliza para los demás componentes de la infraestructura de cálculo.
Métodos de cálculo para usos de cálculo
Métodos | Descripción: |
---|---|
InitializeCalculationUsage | Lo puede llamar el mediante el mandato OrderPrepare para inicializar el cálculo de importes monetarios. Un ejemplo de inicialización es eliminar valores calculados anteriormente. |
ApplyCalculationUsage | Lo puede llamar el mandato OrderPrepare para calcular importe monetarios y aplicarlos a un pedido. También lo pueden invocar los beans de datos para calcular importes monetarios con el fin de visualizarlos. Los ajustes de pedido, los cargos de envío y los impuestos son ejemplos de importes calculados. Las implementaciones predeterminadas de este método de cálculo llaman a los métodos de cálculo CalculationCodeCombine, CalculationCodeCalculate y CalculationCodeApply. |
SummarizeCalculationUsage | Lo puede llamar el mandato OrderPrepare para resumir los valores calculados y aplicarlos a un pedido. Llenar de datos los cargos de envío o los importes monetarios de ajustes de subpedido o subpedidos es un ejemplo de ello. |
FinalizeCalculationUsage | Lo puede llamar el mandato OrderProcess para marcar los recursos empleados, como, por ejemplo, cupones. |
CalculationCodeApply | Lo puede invocar el método ApplyCalculationUsage para aplicar los valores calculados para una lista de artículos de un pedido. |
CalculationCodeCombine | Lo puede invocar el método ApplyCalculationUsage para identificar relaciones entre artículos de pedido y códigos de cálculo. Las implementaciones predeterminadas del método CalculationCodeCombine utilizan las tablas de base de datos CATENCALCD, CATGPCALCD, ORDICALCD y ORDCALCD y llaman al método CalculationCodeQualify. |
CalculationCodeQualify | Lo puede llamar el método CalculationCodeCombine para determinar si un código de cálculo es aplicable a una lista de artículos de pedido. |
CalculationCodeCalculate | Lo puede llamar el método ApplyCalculationUsage a fin de calcular los valores de una lista de artículos de pedido para un código de cálculo determinado. |
CalculationRuleCombine | Lo puede llamar el método CalculationCodeCalculate para determinar una lista de normas de cálculo y los artículos de pedido asociados que se deben aplicar para un código de cálculo. Las implementaciones predeterminadas del método CalculationRuleCombine llaman al método CalculationRuleQualify y al método CalculationRuleCalculate a fin de encontrar los valores más bajos para cada combinación permitida de normas de cálculo. |
CalculationRuleQualify | Lo puede llamar el método CalculationRuleCombine para determinar a cuál de los artículos de pedido de una lista se aplica una norma de cálculo. |
CalculationRuleCalculate | Lo puede llamar el método CalculationRuleCombine para calcular los valores de una lista de artículos de pedido. |
MonetaryCalculationScaleLookup | Lo puede llamar el método CalculationRuleCalculate para determinar cómo se puede utilizar una escala de cálculo basada en un valor monetario a fin de determinar un rango de cálculo para una lista de artículos de pedido. |
QuantityCalculationScaleLookup | Lo puede llamar el método CalculationRuleCalculate para determinar cómo se puede utilizar una escala de cálculo basada en una cantidad a fin de determinar un rango de cálculo para una lista de artículos de pedido. |
CalculationRange | Lo puede llamar el método CalculationRuleCalculate para determinar un valor calculado a partir de un resultado de búsqueda de rango de cálculo. |
Flujo general de los métodos de cálculo
- InitializeCalculationUsage
- Llamadas de ApplyCalculationUsage:
- Llamadas de CalculationCodeCombine:
- CalculationCodeQualify
- Llamadas de CalculationCodeCalculate:
- Llamadas de CalculationRuleCombine:
- CalculationRuleQualify
- Llamadas de CalculationRuleCalculate:
- CalculationScaleLookup
- CalculationRange
- Llamadas de CalculationRuleCombine:
- CalculationCodeApply
- Llamadas de CalculationCodeCombine:
- SummarizeCalculationUsage
- FinalizeCalculationUsage
Al método ApplyCalculationUsage también lo pueden llamar los beans de datos para calcular importes monetarios utilizados con el fin de visualizarlos fuera del proceso de pedidos.
La figura siguiente ilustra el flujo de los métodos de cálculo llamados por el método ApplyCalculationUsage:
Métodos de cálculo llamados por el método de cálculo ApplyCalculationUsage
![Diagrama de métodos de cálculo invocados por el método de cálculo ApplyCalculationUsage](../images/cfcalc_meth_map.gif)