El programa de utilidad identifica directamente estos tipos de dependencias para un valor de atributo calculado:
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:
|
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:
|
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:
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:
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 $ |
|
|
María vende el activo y el objeto de regla se elimina |
|
|
Juan recibe un nuevo activo, almacenado como objeto de regla nuevo |
|
|
Juan transfiere su primer activo a María, por lo tanto el ownedByPersonID del activo cambia de 456 a 457 |
|
|
Un administrador entra un umbral de impuestos nuevo, almacenado como objeto de regla nuevo |
|
|
Un administrador elimina un umbral de impuestos existente, eliminando así el objeto de regla |
|
|
Un administrador publica cambios en el conjunto de reglas TaxLiabilityBusinessCalculationsRuleSet |
|
|