Bei einem Kunden werden mit einer Software SEPA-Zahlungen für das Diskettenclearing vorbereitet.
Da die Buchhalterin in den Urlaub wollte, erhielten eine Kollegin und ich eine Kurzeinweisung ins Programm, probierten das Ganze einmal scharf und gut war es.
Letzte Woche nun war es soweit, es mußte eine Datei für eine sehr wichtige Sammelüberweisung erzeugt werden.
Wir gingen also gemeinsam nach Plan vor. Alles klappte nach Plan bis… der Clearing-Lauf angestoßen wurde. Die Fehlermeldung war wenig erhellend. Ich ahnte zwar schon grob die Richtung, brauchte aber dennoch die Hilfe eines (sehr kompetenten) Software-Ingenieurs, der nach einigem Nachdenken die Lösungsrichtung vorgab.
Was war passiert? Vor einem Jahr wurde die Software von einem IT-Dienstleister im Domänennetzwerk installiert. Da es sich um Buchhaltungsdaten handelt, wurden die Nutzerrechte für den FiBu-Ordner stark beschränkt. So hat selbst die Adminfgruppe keinerlei Rechte und selbst das OS sieht den Ordner nicht. Und die entsprechende Software darf im Ordner nur Dateien erzeugen, nicht aber löschen und da lag das Problem.
Denn vor dem Clearing wird eine temporäre Datei in diesem Ordner geschrieben, die nach Freigabe durch den Nutzer autmatisch gelöscht wird. Und dieses Recht hatte das Programm eben nicht. Programmintern wird dieser Fehler ignoriert und einfach ein Zähler gesetzt und der Dateiname hochgezählt, bspw. MANDANTDC.D01, MANDANTDC.D02, MANDANTDC.D03 usw.
Naja, und bei 99 war eben Schluß und unser Clearingversuch scheiterte.
Ich mußte also am DC direkt mit einem taugenden Datei-Manager den versteckten Ordner lokalisieren und mir, dem OS und der Software passende Rechte setzten. Dann sicherte ich die 99 Dateien weg und voila!, es lief wieder alles wie am Schnürchen.
Naja, fast alles, denn die Diskette (sprich: der USB-Stick), auf den ich den nun korrekt erzeugten XML-Datensatz schob, war dann im Zielgerät nicht lesbar, aber das war ja nun das geringste Problem…