Trigger zur automtischen Berechnung von Rücktrittsfristen

Die Prüfungsordnungen der neuen Bachelor- und Masterstudiengänge sehen – mit Ausnahme der Philosophischen Fakultät – vor, dass die Rücktrittsfristen für Prüfungen drei Tage vor dem Prüfungstermin enden.  Diese Fristen sollten automatisch im System festgelegt werden, was sich im ersten Anlauf als nicht so trivial darstellte. Der Sonderweg der Philosophischen Fakultät, die Rücktrittsfristen bis zum Prüfungsdatum ausdehnen zu dürfen, war technisch aufgrund der Prüfungspools unmöglich. Außerdem war die Frage zu klären, ob es sich bei diesen drei Tagen um kalendarische Tage, Werktage oder Arbeitstage handelt. Die Entscheidung fiel auf Arbeitstage. Sonderregelungen der Philosophischen Fakultät sollten nicht technisch abgebildet werden. Im System werden auch für die Prüfungen der Philosophischen Fakultät immer drei Arbeitstage vor dem Prüfungsdatum festgelegt. Ein Rücktritt nach Ende dieser Frist ist mit dem Prüfer persönlich zu klären. Die Abmeldung selbst erledigt dann das Prüfungsamt.
Nachdem die Anforderungen klar waren, ging es an die technische Umsetzung. Leider konnte uns die verwendete Geschäftslogik diese Funktionalität nicht zur Verfügung stellen, so dass wir gezwungen waren, einen anderen Weg einzuschlagen. Als Lösung wurde beschlossen, einen Trigger auf die Tabelle mit den Organisationdaten der Prüfungen anzusetzen. Dieser reagiert auf Änderungen des Prüfungsdatums und berechnet dann das Datum für das Ende der Rücktrittsfrist. Dabei war nicht nur auf Wochenenden Rücksicht zu nehmen, sondern auch auf Feiertage. Das erfordert natürlich das Berechnen der Feiertage (die kirchlichen hängen überwiegend von Ostern ab). Um die Laufzeit möglichst kurz zu halten, wurde der Trigger als DSO in C programmiert.