**Kursimport: die gewählten Lizenzstufen verschwanden aus der Maske**: Im Kursergebnis-Import trägt der Importeur je Zeile die Lizenzstufe ein, und jede Auswahl wird sofort einzeln gespeichert. Angezeigt wurde sie danach trotzdem nicht mehr zuverlässig: Sobald die Tabelle neu gezeichnet wurde, standen sämtliche Auswahlfelder wieder auf „bitte wählen". Neu gezeichnet wird sie beim Neuladen der Seite, nach dem Verwerfen einer Zeile, nach dem Einreichen und immer dann, wenn das Speichern einer Zeile fehlschlägt — zuletzt gemeldet nach dem Zurückstellen einer Zeile, bei der genau dieser Fehlerfall eintrat. Gespeichert war alles, verloren ging nur die Anzeige; wer es nicht wusste, trug die Stufen ein zweites Mal ein. Ursache war die Reihenfolge im Auswahlfeld: Der Wert wurde gesetzt, bevor die Liste der Stufen darunter überhaupt existierte, und ein Wert ohne passenden Eintrag verfällt — nachgetragen wurde er nie. Am Speichern und an den Daten ändert sich nichts, das Feld zeigt jetzt nur, was ohnehin schon in der Datenbank steht.
**Gast-Schiedsrichter belegten Lizenznummern und legten damit den Kursimport lahm**: Ein Gast ist eine Aushilfe ohne eigene Zuständigkeit im Verband, trägt keine Lizenznummer und wird als „G-…" geführt. Über das Anlageformular hat er trotzdem eine bekommen: Es belegt das Nummernfeld mit der nächsten freien Nummer vor, und der Haken „Gast" blendete das Feld nur aus — der Wert blieb stehen und wurde mitgespeichert. Aufgefallen ist das an anderer Stelle: Die automatische Vergabe einer neuen Nummer suchte den höchsten Wert **unter den Nicht-Gästen**, während die Eindeutigkeit für alle Schiedsrichter gilt. Die Nummer eines Gasts galt damit als frei und sollte ein zweites Mal vergeben werden — doppelt vergebene Nummern liegen deshalb nicht in der Datenbank, die Eindeutigkeitsprüfung schlug vorher zu. Im Kursergebnis-Import brach daran die Neuanlage eines Schiedsrichters mit „Lizenznummer has already been taken" ab, und weil der Import alle Zeilen in einer Transaktion anwendet, riss die eine Zeile den ganzen Vorgang mit zurück — vorbei kam man nur, indem man die Nummer von Hand setzte oder die Zeile zurückstellte. Dieselbe falsche Rechnung stand hinter der Vorbelegung im Anlageformular, die also ebenfalls eine bereits vergebene Nummer vorschlug. Jetzt zählt die Vergabe alle Schiedsrichter mit, ein Gast bekommt beim Speichern keine Nummer mehr, und wer einen bestehenden Datensatz zum Gast macht, gibt dessen Nummer frei. Die bereits belegten Nummern werden mit dem Update freigegeben; steht im Spielplan zu einer veröffentlichten Ansetzung die Nummer eines Gasts, verschwindet sie dort mit — sie gehört sonst später einem anderen Menschen. Freigegeben wird allerdings nur, woran nichts mehr hängt: Steht die Nummer noch in einem Spielbericht oder in einem festen Gespann, behält der Gast sie und das Update meldet es, denn dort verknüpft die Nummer und nicht die Datensatz-Kennung — der nächste Inhaber erbte sonst die Spiele des Gasts bis in die Abrechnung. An den Ansetzungen selbst ändert sich nichts, sie verweisen auf den Datensatz. Und die Nummer eines Gasts löscht nur, wer sie auch pflegen darf: Im eingeschränkten Zugriff bleibt sie stehen wie bisher.