Rekursives Wenn‑Dann‑Sonst
Rekursives Wenn‑Dann‑Sonst
Ausnahmen bestätigen Regeln: Deshalb umarmt FLUX Abweichungen vom Normalfall, indem es für jedes Fluxlet einer Report-Definition erlaubt, dass es sich je nach Situation anders verhält. In der Konsequenz bedeutet das, dass jede Report-Definition aus Regeln besteht, die festlegen, wie der Report für welchen Fall aussehen muss und damit nur virtuell existiert. Die tatsächlich gültige Konfiguration wird zum Produktionszeitpunkt für jeden Report kontextabhängig neu berechnet – pfeilschnell dank jahrelang optimierten Datenmodellen und Algorithmen sowie transparentem Caching.
Dadurch verhindert FLUX, dass wie bei allen anderen Reporting Engines Templates kopiert werden müssen und daraus folgend das Problem dupliziert wird. Beispielsweise kann so das Problem „Übersetzung“ von den Problemen „Verschiedene Disclaimer für verschiedene Vertriebsländer“ und „Unterschiedliche Darstellung von verschiedenen Produkte-Typen“ separiert werden, was Änderungen an den Kardinalitäten stark vereinfacht oder sogar erst ermöglicht.
Da sich die konfigurierten Regeln vererben, wird der Konfigurationsaufwand auf das fachlich vorgegebene Minimum beschränkt. So kann zum Beispiel mit einer einzigen Regel auf dem Kontext 'Factbook' festgelegt werden, dass bei der Produktion eines Factsheet-Buches der Disclaimer der einzelnen Factsheets nicht dargestellt werden darf. Werden die Factsheets jedoch als eigenständige Dokumente produziert, so greift diese Regel nicht und jedes Factsheet wird inklusive Disclaimer erstellt.
Regeln können in FLUX beliebig verschachtelt und kombiniert werden. Das Schöne daran ist, dass man sich um die vielen sich daraus ergebenden Möglichkeiten nicht kümmern muss. Vielmehr kann man sich darauf verlassen, dass es bei einer konkreten Anforderung eine einfache Möglichkeit gibt, diese umzusetzen.