Eléments précédents identifiés directement par CER

L'utilitaire identifie directement ces types de dépendances pour une valeur d'attribut calculé :

Tableau 1. Eléments précédents identifiés directement par CER
Nom Lorsqu'il est identifié Déclencheur de recalcul
Valeur d'attribut enregistrée

Identifie une valeur d'attribut d'entrée stockée sur les tables de base de données de CER qui ont été récupérées au cours 1du calcul global de la valeur d'attribut.

L'identificateur d'élément précédent fait référence à l'identificateur interne de la ligne de la base de données de l'attribut stocké sur les tables de base de données de CER.

Si la valeur de l'attribut stocké change, un élément de changement précédent pour la valeur de l'attribut stocké est écrit dans un ensemble de changements précédents.
Définitions de jeux de règles

Identifie chaque jeu de règles contenant l'un des attributs utilisés dans le calcul global de la valeur d'attribut.

L'identificateur d'élément précédent fait référence au nom du jeu de règles contenant une ou plusieurs définitions d'attributs rencontrées au cours du calcul global.

Si les changements apportés à un jeu de règles CER sont publiés, alors un élément de changement précédent relatif au jeu de règles modifié est écrit sur un ensemble de changements précédents.
recherche 'readall'

Identifie les expressions readall (sans correspondance imbriquée) rencontrées lors du calcul global, qui ont récupéré des objets de règles stockés sur les tables de base de données de CER (contrairement aux objets de règles récupérés à l'aide des convertisseurs d'objets de règles ; voir Eléments précédents identifiés par les convertisseurs d'objet de règle).

L'identificateur d'élément précédent fait référence au nom de la classe de règles recherché par l'expression readall.

Un élément de changement précédent pour la classe de règles est écrit sur un ensemble de changements précédents dans les cas suivants :

  • un nouvel objet de règle relatif à cette classe de règles est stocké sur les tables de base de données de CER et/ou
  • un objet de règle existant pour cette classe de règles est supprimé des tables de base de données de CER.
recherche 'readall/match'

Identifie les expressions readall rencontrées lors du calcul global, qui ont récupéré des objets de règles stockés sur les tables de base de données de CER (contrairement aux objets de règles récupérés à l'aide des convertisseurs d'objets de règles ; voir Eléments précédents identifiés par les convertisseurs d'objet de règle).

L'identificateur d'élément précédent fait référence au nom de la classe de règles recherché par l'expression readall, accompagné de critères de recherche tels que le nom et la valeur de l'attribut.

Un élément de changement précédent pour la classe de règles ainsi que son nom d'attribut et sa valeur de correspondance sont écrits sur un ensemble de changements précédents dans les cas suivants :

  • un nouvel objet de règle relatif à cette classe de règles est stocké sur les tables de base de données de CER ;
  • un objet de règle existant pour cette classe de règles est supprimé des tables de base de données de CER et/ou
  • la valeur de l'attribut utilisée dans le critère de recherche est remplacée par un objet de règle existant (auquel cas deux éléments de changements précédents sont écrits, l'un pour l'ancienne valeur de l'attribut et l'autre pour la nouvelle valeur de l'attribut).
2

Ces types de dépendances sont explicités par un exemple.

Supposons qu'un nouveau système est écrit et qu'il utilise CER pour calculer les impôts à payer d'une personne. Ce système d'impôts à payer utilise le gestionnaire de dépendance pour stocker les dépendances, de telle sorte que les impôts à payer peuvent être recalculés (à l'aide de CER) si la situation de la personne change.

Le système d'impôts à payer stocke des informations de seuils d'impôts au niveau du système dans les objets de règles, avec ces objets de règles stockés sur les tables de base de données de CER. Les règles CER concernant le calcul des impôts à payer d'une personne comprennent une expression readall pour récupérer tous les seuils d'impôts dans le système.

Le système d'impôts à payer stocke également des informations sur les actifs au niveau du système dans les objets de règles, avec ces derniers stockés sur les tables de base de données de CER. Chaque actif indique son propriétaire et sa valeur marchande. Les règles CER concernant le calcul des impôts à payer d'une personne comprennent une expression readall pour récupérer tous les actifs appartenant à cette personne (à savoir ceux présentant un identificateur Asset.ownedByPersonID correspondant à Person.personID). Il est possible de modifier la valeur marchande d'un actif et/ou de transférer un actif d'une personne à une autre en transmettant son identificateur Asset.ownedByPersonID à partir de l'identificateur d'une personne à celui d'une autre personne.

Les règles CER concernant le calcul des impôts à payer d'une personne impliquent l'addition des valeurs Asset.marketValue de tous les actifs appartenant à cette personne.

Le système d'impôts à payer contient des jeux de règles CER distincts permettant de récupérer les données d'entrée obligatoires pour le calcul des impôts à payer, contrairement aux calculs de l'entreprise actuels qui utilisent les données récupérées pour calculer les impôts à payer d'une personne.

Un utilisateur utilise le système d'impôts à payer pour calculer les impôts à payer de Joe (ID de personne 456) et de Mary (ID de personne 457), qui possèdent chacun un actif. Le système d'impôts à payer utilise l'utilitaire CER pour identifier les dépendances et les transmet au gestionnaire de dépendance pour le stockage, ce qui entraîne le stockage des dépendances suivantes :

Tableau 2. Exemple de dépendances stockées pour les impôts à payer
Type d'élément dépendant Identificateur d'élément dépendant Type d'élément précédent Identificateur d'élément précédent
Impôts à payer 456 (ID de personne de Joe) recherche 'readall' Classe de règles : TaxThreshold3
Impôts à payer 456 recherche 'readall/match' Classe de règles : Asset, avec la valeur d'attribut ownedByPersonID=4564
Impôts à payer 456 Valeur d'attribut stockée 789 (identificateur interne de la valeur Asset.marketValue de l'actif de Joe)5
Impôts à payer 456 Définitions de jeux de règles TaxLiabilityDataRetrievalRuleSet6
Impôts à payer 456 Définitions de jeux de règles TaxLiabilityBusinessCalculationsRuleSet7
Impôts à payer 457 (ID de personne de Mary) recherche 'readall' Classe de règles: TaxThreshold8
Impôts à payer 457 recherche 'readall/match' Classe de règles : Asset, avec la valeur d'attribut ownedByPersonID=4579
Impôts à payer 457 Valeur d'attribut stockée 780 (identificateur interne de la valeur Asset.marketValue de l'actif de Mary)10
Impôts à payer 457 Définitions de jeux de règles TaxLiabilityDataRetrievalRuleSet11
Impôts à payer 457 Définitions de jeux de règles TaxLiabilityBusinessCalculationsRuleSet12
13141516171819202122

Nous pouvons voir maintenant comment les recalculs des impôts à payer sont déclenchés par divers changements de données :

Tableau 3. Exemple d'éléments de changements précédents pour les impôts à payer
Changements de données Eléments de changements précédents enregistrés Recalculs déclenchés
La valeur marchande de l'actif de Joe augmente de 100 $ à 120 $
  • Valeur d'attribut stockée, 789
  • Les impôts à payer de Joe sont recalculés
Mary vend son actif et son objet de règle est supprimé
  • recherche 'readall/match', Classe de règles : Asset, avec la valeur d'attribut ownedByPersonID=457
  • Les impôts à payer de Mary sont recalculés
Joe reçoit un nouvel actif, stocké en tant que nouvel objet de règle
  • recherche 'readall/match', Classe de règles : Asset, avec la valeur d'attribut ownedByPersonID=456
  • Les impôts à payer de Joe sont recalculés
Joe transfère son premier actif à Mary, l'élément ownedByPersonID de l'actif passe donc de 456 à 457
  • recherche 'readall/match', Classe de règles : Asset, avec la valeur d'attribut ownedByPersonID=456 (ancienne valeur)
  • recherche 'readall/match', Classe de règles : Asset, avec la valeur d'attribut ownedByPersonID=457 (nouvelle valeur)
  • Les impôts à payer de Joe sont recalculés
  • Les impôts à payer de Mary sont recalculés
Un administrateur présente un nouveau seuil d'impôts, stocké en tant que nouvel objet de règle
  • recherche 'readall', Classe de règles : TaxThreshold
  • Les impôts à payer de Joe sont recalculés
  • Les impôts à payer de Mary sont recalculés
Un administrateur supprime un seuil d'impôts existant, ce qui supprime son objet de règle
  • recherche 'readall', Classe de règles : TaxThreshold
  • Les impôts à payer de Joe sont recalculés
  • Les impôts à payer de Mary sont recalculés
Un administrateur publie les changements apportés au jeu de règles TaxLiabilityBusinessCalculationsRuleSet
  • Définitions de jeux de règles, TaxLiabilityBusinessCalculationsRuleSet
  • Les impôts à payer de Joe sont recalculés
  • Les impôts à payer de Mary sont recalculés
1 C'est-à-dire le calcul de l'attribut lui-même, ou sur une des valeurs d'attribut internes dont il dépend finalement (calculs intermédiaires entre la valeur d'attribut calculé et ses entrées de données externes).
2 C'est-à-dire le calcul de l'attribut lui-même, ou sur une des valeurs d'attribut internes dont il dépend finalement (calculs intermédiaires entre la valeur d'attribut calculé et ses entrées de données externes).
3 Stockée car le calcul des impôts à payer de Joe a provoqué la récupération de tous les objets de règle TaxThreshold.
4 Stockée car le calcul des impôts à payer de Joe a provoqué la récupération de tous les objets de règle Asset appartenant à Joe.
5 Stockée car le calcul des impôts à payer de Joe a accédé à la valeur stockée marketValue sur l'actif unique récupéré pour Joe.
6 Stockées car le calcul des impôts à payer de Joe impliquait les définitions des attributs de règles dans TaxLiabilityDataRetrievalRuleSet (utilisé pour récupérer les objets de règles TaxThreshold et Asset).
7 Stockées car le calcul des impôts à payer de Joe impliquait les définitions des attributs de règles dans TaxLiabilityBusinessCalculationsRuleSet (utilisé pour calculer les impôts à payer globaux en fonction des données d'entrée).
8 Stockée car le calcul des impôts à payer de Mary a provoqué la récupération de tous les objets de règle TaxThreshold.
9 Stockée car le calcul des impôts à payer de Mary a provoqué la récupération de tous les objets de règle Asset appartenant à Mary.
10 Stockée car le calcul des impôts à payer de Mary a accédé à la valeur stockée marketValue sur l'actif unique récupéré pour Mary.
11 Stockées car le calcul des impôts à payer de Mary impliquait les définitions des attributs de règles dans TaxLiabilityDataRetrievalRuleSet (utilisé pour récupérer les objets de règles TaxThreshold et Asset).
12 Stockées car le calcul des impôts à payer de Mary impliquait les définitions des attributs de règles dans TaxLiabilityBusinessCalculationsRuleSet (utilisé pour calculer les impôts à payer globaux en fonction des données d'entrée).
13 Stockée car le calcul des impôts à payer de Joe a provoqué la récupération de tous les objets de règle TaxThreshold.
14 Stockée car le calcul des impôts à payer de Joe a provoqué la récupération de tous les objets de règle Asset appartenant à Joe.
15 Stockée car le calcul des impôts à payer de Joe a accédé à la valeur stockée marketValue sur l'actif unique récupéré pour Joe.
16 Stockées car le calcul des impôts à payer de Joe impliquait les définitions des attributs de règles dans TaxLiabilityDataRetrievalRuleSet (utilisé pour récupérer les objets de règle TaxThreshold et Asset).
17 Stockées car le calcul des impôts à payer de Joe impliquait les définitions des attributs de règles dans TaxLiabilityBusinessCalculationsRuleSet (utilisé pour calculer les impôts à payer globaux en fonction des données d'entrée).
18 Stockée car le calcul des impôts à payer de Mary a provoqué la récupération de tous les objets de règle TaxThreshold.
19 Stockée car le calcul des impôts à payer de Mary a provoqué la récupération de tous les objets de règle Asset appartenant à Mary.
20 Stockée car le calcul des impôts à payer de Mary a accédé à la valeur stockée marketValue sur l'actif unique récupéré pour Mary.
21 Stockées car le calcul des impôts à payer de Mary impliquait les définitions des attributs de règles dans TaxLiabilityDataRetrievalRuleSet (utilisé pour récupérer les objets de règles TaxThreshold et Asset).
22 Stockées car le calcul des impôts à payer de Mary impliquait les définitions des attributs de règles dans TaxLiabilityBusinessCalculationsRuleSet (utilisé pour calculer les impôts à payer globaux en fonction des données d'entrée).