Le dernier logiciel d'application que j'ai écrit pour un grand hôpital de Melbourne en Australie avait l'objectif suivant . Permettre la définition d'entités de haut niveau, dans ce cas un Hôpital, il y avait plusieurs Hôpitaux dans le groupe. Au sein d'une entité de premier niveau définie, vous pouviez définir un nombre quelconque d'entités de niveau inférieur, en définissant le parent de la nouvelle entité. Il peut y avoir plusieurs entités de niveau inférieur avec le même parent, mais le pourcentage de contribution de chaque entité à son parent peut, doit, être défini. L'entité de niveau inférieur dans chaque entité de niveau supérieur était un centre de coûts. Une fois la structure nécessaire établie, les soldes du grand livre, obtenus à partir d'une autre application propriétaire, peuvent être remontés dans la structure, ce qui permet d'examiner les détails financiers au niveau de chaque entité. Les relations circulaires ont été évitées et tous les centres de coûts inconnus ont été rattachés à une entité fictive pour être examinés et corrigés ultérieurement. L'entité "Balance de vérification", à laquelle chaque coût du grand livre est rattaché, doit s'équilibrer à zéro après chaque exercice de "roll up" ; si ce n'est pas le cas, cela signifie que le grand livre est en cours de mise à jour. Le " roll up " était alors répété jusqu'à ce que l'entité du grand livre général s'équilibre effectivement à zéro.
Il était également possible, et nécessaire, de définir autant de groupes de rapport que souhaité pour chaque structure. Les propriétaires de chaque entité étaient définis et les propriétaires n'avaient accès qu'aux structures dont ils étaient propriétaires. Il était également possible de définir des jointures inclusives ou exclusives entre des structures définies en utilisant des groupes de rapport spécifiés, permettant ainsi une structure montrant, par exemple, le coût des 'trombones' à chaque niveau d'une structure.
Vous pouviez faire des rapports sur n'importe quel niveau sur lequel vous aviez l'autorité et les comptes généraux détaillés étaient également attachés aux centres de coûts de plus bas niveau et pouvaient faire l'objet de rapports, de manière interactive ou sous forme de rapport.
Ce système a été construit au milieu des années 90 et contenait 750 000 lignes de code. Ma mémoire n'est plus ce qu'elle était, mais j'ai dû dater et minuter chaque " Roll Up " pour que seuls les enregistrements du grand livre ayant une date et une heure ultérieures soient traités chaque fois que le " Roll Up " était effectué, ce qui réduisait le temps de " Roll Up " au minimum. Il y avait d'autres astuces mais le détail m'échappe maintenant, je pense que vous pouviez comparer les soldes de plusieurs exercices financiers à n'importe quelle date. Le système contenait également des budgets auxquels les chiffres réels pouvaient être comparés et déplacés par l'administrateur financier entre les entités selon les besoins.
L'activité à chaque niveau de la structure était enregistrée et l'administrateur du système pouvait examiner, et faire un rapport sur l'activité de l'utilisateur.
L'activité de l'utilisateur était enregistrée.