Calculate Balances
Der Prozess calculate-balances schliesst die jeweils älteste, noch nicht verbuchte Periode ab und meldet alle für die neue Periode relevanten User für die Saldenberechnung an. Die eigentliche Saldenrechnung erfolgt anschliessend fortlaufend durch den Job zur kontinuierlichen Saldenberechnung.
Ablauf im Überblick
Abschnitt betitelt „Ablauf im Überblick“-
Periode bestimmen: Es wird die erste Periode ermittelt, deren Enddatum in der Vergangenheit oder am heutigen Tag liegt und die noch nicht verbucht wurde.
-
Periode verbuchen: Diese Periode wird mit dem aktuellen Zeitstempel als verbucht markiert. Damit gilt sie als abgeschlossen und wird in den nachgelagerten Exporten (z. B. Saldenexport) als verbucht behandelt.
-
Saldenberechnung anstossen: Für die direkt darauf folgende Periode werden alle relevanten User für die Neuberechnung der Salden vorgemerkt. Berücksichtigt werden dabei nur User, die
- in den letzten 6 Monaten ein gültiges Stammdaten- und Profilrecord mit einem regulären Working Profile besitzen, oder
- in der gerade verbuchten Periode eine Zahlung bzw. eine Saldokorrektur haben.
Zusätzlich muss bereits ein Saldo für die verbuchte Periode existieren oder es muss ein gültiger Stammdatensatz für den Zeitraum der Folgeperiode vorhanden sein.
Die so vorgemerkten User sind der Auslöser für die kontinuierliche Saldenberechnung, welche pro betroffenem User die Salden neu berechnet, die Saldenflüsse zwischen den Saldotypen aktualisiert und am Jahresende die entsprechenden Übertrags- und Verfall-Buchungen ausführt.
Konfiguration
Abschnitt betitelt „Konfiguration“Der Prozess wird über den Interface Client (Porter) gestartet. Die Konfiguration erfolgt in einer YAML-Datei.
Beispiel Konfiguration (calculateBalances.yaml)
Abschnitt betitelt „Beispiel Konfiguration (calculateBalances.yaml)“tenant: "ihr_tenant"url: "https://api.chronapp.com"description: "Calculate balances and book period"sso: url: "https://sso.chronapp.com/realms/" client: "chronapp-porter" secret: "ihr_secret"jdbcurl: "jdbc:sqlserver://ihr_server;database=ihr_db;..."exp: - api: "calculate-balances" variant: "standard"