Precedentes identificados directamente por CER

El programa de utilidad identifica directamente estos tipos de dependencias para un valor de atributo calculado:

Tabla 1. Precedentes identificados directamente por CER
Nombre Cuándo se identifica Desencadenante para recálculo
Valor de atributo almacenado

Identifica cualquier valor de atributo de "entrada" almacenado en las tablas de base de datos de CER que se ha recuperado durante el cálculo general 1 del valor de atributo.

El ID de precedente hace referencia al ID interno para la fila de base de datos del atributo almacenado en las tablas de base de datos de CER.

Si el valor del atributo almacenado cambia, se grabará un elemento de cambio de precedente para el valor de atributo almacenado se grabará en un conjunto de cambios de precedente.
Definiciones de conjunto de reglas

Identifica cada conjunto de reglas que contiene cualquiera de los atributos utilizados en el cálculo general del valor de atributo.

El ID de precedente hace referencia al nombre del conjunto de reglas que contiene una o más definiciones de atributo encontradas durante el cálculo general.

Si se publican los cambios realizados en un conjunto de reglas CER, se grabará en un conjunto de cambios de precedente un elemento de cambio de precedente para el conjunto de reglas cambiado.
Búsqueda de 'readall'

Identifica las expresiones readall (sin match anidado) encontradas durante el cálculo general, que han recuperado objetos de regla almacenados en tablas de base de datos de CER (en lugar de objetos de regla recuperados utilizando conversores de objetos de regla - en su lugar, consulte Precedentes identificados por conversiones de objeto de regla).

El ID de precedente hace referencia al nombre de la clase de regla buscado por la expresión readall.

Un elemento de cambio de precedente para la clase de regla se grabará en un conjunto de cambios de precedente si:

  • se almacena un objeto de regla nuevo para esa clase de regla en las tablas de base de datos de CER y/o
  • se elimina un objeto de regla existente para esa clase de regla de las tablas de base de datos de CER.
Búsqueda de 'readall/match'

Identifica las expresiones readall encontradas durante el cálculo general, que han recuperado objetos de regla almacenados en tablas de base de datos de CER (en lugar de objetos de regla recuperados utilizando conversores de objeto de regla - en su lugar, consulte Precedentes identificados por conversiones de objeto de regla).

El ID de precedente hace referencia al nombre de la clase de regla buscada por la expresión readall, junto con el nombre de atributo y valor utilizados como criterios de búsqueda.

Un elemento de cambio de precedente para la clase de regla y el nombre de atributo y valor de coincidencia se grabarán en un conjunto de cambios de precedente si:

  • se almacena un objeto de regla nuevo para esa clase de regla en las tablas de base de datos de CER;
  • se elimina un objeto de regla existente para esa clase de regla de las tablas de base de datos de CER y/o
  • el valor del atributo utilizado en los criterios de búsqueda cambia para un objeto de regla existente (en cuyo caso se grabarán dos elementos de cambio de precedente - uno para el valor antiguo del atributo y otro para el valor nuevo del atributo).
2

Estos tipos de dependencias se ilustran mejor con un ejemplo.

Supongamos que se graba un sistema nuevo que utiliza CER para calcular la responsabilidad fiscal de una persona. Este sistema de Responsabilidad fiscal utiliza el Gestor de dependencias para almacenar dependencias, para que la responsabilidad fiscal se pueda volver a calcular (utilizando CER) si cambian las circunstancias de la persona.

El sistema de responsabilidad fiscal almacena información de "umbral de impuestos" de todo el sistema en objetos de regla, con estos objetos de regla almacenados en tablas de base de datos de CER. Las reglas CER para calcular la responsabilidad fiscal de una persona incluyen una expresión readall para recuperar todos los umbrales de impuestos del sistema.

El sistema de responsabilidad fiscal también almacena información de "activos" de todo el sistema en objetos de regla, con estos objetos de regla almacenados en tablas de base de datos de CER. Cada activo especifica su propietario y su valor de mercado. Las reglas CER para calcular la responsabilidad fiscal de una persona incluyen una expresión readall para recuperar todos los activos que son propiedad de dicha persona (es decir, aquellos con un Asset.ownedByPersonID coincidente con Person.personID). Es posible que el valor de mercado de un activo cambie y/o que un activo se transfiera de una persona a otra, cambiando su Asset.ownedByPersonID de un ID de persona a otro.

Las reglas CER para calcular la responsabilidad fiscal de una persona incluyen la suma de Asset.marketValue de todos los activos que son propiedad de dicha persona.

El sistema de responsabilidad fiscal contiene conjuntos de reglas CER independientes para recuperar los datos de entrada necesarios para el cálculo de responsabilidad fiscal frente a los cálculos de negocio actuales que utilizan los datos recuperados para calcular la responsabilidad fiscal de una persona.

Un usuario utiliza el sistema de responsabilidad fiscal para calcular la responsabilidad fiscal de Juan (personid 456) y de María (personid 457), cada uno de los cuales tienen un activo. El sistema de responsabilidad fiscal utiliza el programa de utilidad CER para identificar las dependencias y las pasa al gestor de dependencias para su almacenamiento, lo que hace que se almacenen las dependencias siguientes:

Tabla 2. Ejemplo de Dependencias almacenadas para responsabilidad fiscal
Tipo de dependiente ID de dependiente Tipo de precedente ID de precedente
Responsabilidad fiscal 456 (ID de persona de Juan) Búsqueda de 'readall' Clase de regla: TaxThreshold3
Responsabilidad fiscal 456 Búsqueda de 'readall/match' Clase de regla: Activo, con el valor de atributo ownedByPersonID=4564
Responsabilidad fiscal 456 Valor de atributo almacenado 789 (ID interno de Asset.marketValue para el activo de Juan)5
Responsabilidad fiscal 456 Definiciones de conjunto de reglas TaxLiabilityDataRetrievalRuleSet6
Responsabilidad fiscal 456 Definiciones de conjunto de reglas TaxLiabilityBusinessCalculationsRuleSet7
Responsabilidad fiscal 457 (ID de persona de María) Búsqueda de 'readall' Clase de regla: TaxThreshold8
Responsabilidad fiscal 457 Búsqueda de 'readall/match' Clase de regla: Activo, con el valor de atributo ownedByPersonID=4579
Responsabilidad fiscal 457 Valor de atributo almacenado 780 (ID interno de Asset.marketValue para el activo de María)10
Responsabilidad fiscal 457 Definiciones de conjunto de reglas TaxLiabilityDataRetrievalRuleSet11
Responsabilidad fiscal 457 Definiciones de conjunto de reglas TaxLiabilityBusinessCalculationsRuleSet12
13 14 15 16 17 18 19 20 21 22

Ahora podemos ver cómo los diversos cambios en los datos desencadenarán recálculos de responsabilidad fiscal:

Tabla 3. Ejemplo de elementos de cambio de precedente para responsabilidad fiscal
Cambio de datos Elementos de cambios de precedentes registrados Recálculos desencadenados
El valor de mercado del activo de Juan aumenta de 100 $ a 120 $
  • Valor de atributo almacenado, 789
  • Se recalcula la responsabilidad fiscal de Juan
María vende el activo y el objeto de regla se elimina
  • Búsqueda de 'readall/match', Clase de regla: Asset, con un valor de atributo ownedByPersonID=457
  • Se recalcula la responsabilidad fiscal de María
Juan recibe un nuevo activo, almacenado como objeto de regla nuevo
  • Búsqueda de 'readall/match', Clase de regla: Asset, con un valor de atributo ownedByPersonID=456
  • Se recalcula la responsabilidad fiscal de Juan
Juan transfiere su primer activo a María, por lo tanto el ownedByPersonID del activo cambia de 456 a 457
  • Búsqueda de 'readall/match', Clase de regla: Asset, con un valor de atributo ownedByPersonID=456 (valor antiguo)
  • Búsqueda de 'readall/match', Clase de regla: Asset, con el valor de atributo ownedByPersonID=457 (valor nuevo)
  • Se recalcula la responsabilidad fiscal de Juan
  • Se recalcula la responsabilidad fiscal de María
Un administrador entra un umbral de impuestos nuevo, almacenado como objeto de regla nuevo
  • Búsqueda de 'readall', Clase de regla: TaxThreshold
  • Se recalcula la responsabilidad fiscal de Juan
  • Se recalcula la responsabilidad fiscal de María
Un administrador elimina un umbral de impuestos existente, eliminando así el objeto de regla
  • Búsqueda de 'readall', Clase de regla: TaxThreshold
  • Se recalcula la responsabilidad fiscal de Juan
  • Se recalcula la responsabilidad fiscal de María
Un administrador publica cambios en el conjunto de reglas TaxLiabilityBusinessCalculationsRuleSet
  • Definiciones de conjunto de reglas, TaxLiabilityBusinessCalculationsRuleSet
  • Se recalcula la responsabilidad fiscal de Juan
  • Se recalcula la responsabilidad fiscal de María
1 es decir, el cálculo del propio atributos o en cualquiera de los valores de atributo internos de los que básicamente depende (los cálculos "intermedios" entre el valor de atributo calculado y las entradas de datos externos).
2 Es decir, el cálculo del propio atributo, o en cualquiera de los valores de atributo internos de los que básicamente depende (los cálculos "intermedios" entre el valor de atributo calculado y las entradas de datos externos).
3 Se almacena porque el cálculo de la responsabilidad fiscal de Juan ha producido una recuperación de todos los objetos de regla TaxThreshold.
4 Se almacena porque el cálculo de la responsabilidad fiscal de Juan ha producido una recuperación de todos los objetos de regla de activos que son propiedad de Juan.
5 Se almacena porque el cálculo de la responsabilidad fiscal de Juan ha accedido al valor almacenado de marketValue en el único activo recuperado para Juan.
6 Se almacena porque el cálculo de la responsabilidad fiscal de Juan implicaba las definiciones de los atributos de regla de TaxLiabilityDataRetrievalRuleSet (se utiliza para recuperar los objetos de regla de TaxThreshold y Asset).
7 Se almacena porque el cálculo de la responsabilidad fiscal de Juan implicaba las definiciones de los atributos de regla en TaxLiabilityBusinessCalculationsRuleSet (se utiliza para calcular la responsabilidad fiscal general basándose en los datos de entrada).
8 Se almacena porque el cálculo de la responsabilidad fiscal de María ha producido una recuperación de todos los objetos de regla TaxThreshold.
9 Se almacena porque el cálculo de la responsabilidad fiscal de María ha producido una recuperación de todos los objetos de regla de activos que son propiedad de María.
10 Se almacena porque el cálculo de la responsabilidad fiscal de María ha accedido al valor almacenado de marketValue en el único activo recuperado para María.
11 Se almacena porque el cálculo de la responsabilidad fiscal de María implicaba las definiciones de los atributos de regla de TaxLiabilityDataRetrievalRuleSet (se utiliza para recuperar los objetos de regla de TaxThreshold y Asset).
12 Se almacena porque el cálculo de la responsabilidad fiscal de María implicaba las definiciones de los atributos de regla en TaxLiabilityBusinessCalculationsRuleSet (se utiliza para calcular la responsabilidad fiscal general basándose en los datos de entrada).
13 Se almacena porque el cálculo de responsabilidad fiscal de Juan ha producido una recuperación de todos los objetos de regla TaxThreshold.
14 Se almacena porque el cálculo de responsabilidad fiscal de Juan ha producido una recuperación de todos los objetos de regla Asset propiedad de Juan.
15 Se almacena porque el cálculo de responsabilidad fiscal de Juan ha accedido al valor almacenado de marketValue en el único activo recuperado para Juan.
16 Se almacena porque el cálculo de responsabilidad fiscal de Juan implicaba las definiciones de los atributos de regla en el TaxLiabilityDataRetrievalRuleSet (que se utiliza para recuperar los objetos de regla TaxThreshold y Asset).
17 Se almacena porque el cálculo de responsabilidad fiscal de Juan implicaba las definiciones de los atributos de regla en TaxLiabilityBusinessCalculationsRuleSet (que se utiliza para calcular la responsabilidad fiscal general basándose en los datos de entrada).
18 Se almacena porque el cálculo de responsabilidad fiscal de María ha producido una recuperación de todos los objetos de regla TaxThreshold.
19 Se almacena porque el cálculo de responsabilidad fiscal de María ha producido una recuperación de todos los objetos de regla Asset que son propiedad de María.
20 Se almacena porque el cálculo de responsabilidad fiscal de María ha accedido al valor almacenado de marketValue en el único elemento recuperado para María.
21 Se almacena porque el cálculo de responsabilidad fiscal de María implicaba las definiciones de atributos de regla en TaxLiabilityDataRetrievalRuleSet (que se utiliza para recuperar los objetos de regla TaxThreshold y Asset).
22 Se almacena porque el cálculo de responsabilidad fiscal de María implicaba las definiciones de atributos de regla en TaxLiabilityBusinessCalculationsRuleSet (que se utiliza para calcular la responsabilidad fiscal general basándose en los datos de entrada).