Teilnahmecodes (Serials) sind dafür ausgelegt, dass man sie per Hand von einem Brief abtippen kann. Deshalb nimmt SoSci Survey bei der Eingabe eine Umwandlung in Großbuchstaben vor. Dieses Verhalten lässt sich auch nicht ohne Weiteres ändern.
Wenn es nur um das Matching geht, würde ich vorschlagen, die Variable einfach als Referenz (r=) zu übergeben. Was dann aber nicht funktioniert, ist die Beschränkung auf einen Fall pro Code.
Wenn es nur um die Prüfung der Zugangsbereichtigung geht, würde ich vorschlagen, die gültigen Codes in der "Datenbank für Inhalte" als Schlüssel zu hinterlegen, und auf Seite 1 des Fragebogens mittels dbGet()
das Vorhandensein zu prüfen.
Wenn der Code zusätzlich auch das Fortsetzen des Ausfüllens erlauben soll, dann können Sie in der Datenbank für Inhalte beim ersten Aufruf das caseToken()
hinterlegen, und auf Seite 1 nach der Zugangsprüfung ggf. eine Weiterleitung zum passenden Fall vornehmen. Der einzige Unterschied, der dann zur SERIAL bleibt ist, dass die Entscheidung Neustart/Fortsetzung nicht automatisch anhand von MISSING getroffen werden kann.