KONTOPRUEF-Navigation:
Kundencenter
KONTOPRUEF allgemein:
KONTOPRUEF-ONLINE:
KONTOPRUEF-INHOUSE ("HanftServer"):
KONTOPRUEF-OFFLINE:
Tools und Demos:
Impressum
Datenschutz
|
Häufig gestellte Fragen zu KONTOPRUEF-OFFLINE
Diese Website
Wohin ist die Seite Rahmenprogramme verschwunden?
Sie finden die Rahmenprogramme jetzt auf der Downloadseite.
Wohin ist die Seite Tools verschwunden?
Die IBAN-Berechnung ist jetzt in KONTOPRUEF integriert. Eine separate
Software ist daher nicht mehr nötig.
Bankverbindungsprüfung allgemein
Warum sind alle Citi-/Targobank-Kontonummern fehlerhaft?
Die Targobank (früher Citiprivatkunden Düsseldorf) – BLZ 300 209 00
– verwendete
bisher meist "Geburtstags-Kontonummern" (d.h. die ersten sechs Ziffern
der zehnstelligen Kontonummer waren das Geburtsdatum des Kontoinhabers).
Kontonummern dieser Art beinhalten leider keine Prüfziffern, so daß
KONTOPRUEF als Ergebnis stets "4" liefert ("ist eine spezielle
Kontonummer, die nicht geprüft werden kann"). KONTOPRUEF-Ergebnisse
zwischen 1 und 10 ("kann nicht geprüft werden") müssen also leider
quasi "zähneknirschend" akzeptiert werden; erst ab einem KONTOPRUEF-Ergebnis
von 11 aufwärts ist die Kontonummer definitiv falsch.
Neuere Kontonummern scheinen inzwischen unter bestimmten Umständen prüfbar
zu sein. Leider liegen uns keine näheren Informationen über die aktuelle
Kontonummernvergabe vor.
Bei vielen Prüfverfahren ergibt die Kontonummer 0
(Null) das Ergebnis "gültig". Gibt es diese Kontonummer wirklich?
Das ist leider "nicht definiert". Grundsätzlich ist es
natürlich schon so, daß eine Kontonummer "0" theoretisch
von einer Bank vergeben werden könnte, wenn die Prüfziffernberechnung
dafür "gültig" ergibt. Auf der anderen Seite habe ich bisher
noch keine Bank gefunden, bei der es eine solche Kontonummer gibt
(und wenn ich eine Bank wäre, würde ich eine
Kontonummer "0" auch nicht vergeben – wer weiß, welche Software
damit alles nicht funktioniert...).
Es ist also schwer zu sagen. Ganz ausschließen kann man eine
Kontonummer "0" also eigentlich nicht, da sie gemäß
Bundesbankunterlagen nicht ausdrücklich verboten ist, aber
vielleicht sollte man in einem solchen Fall doch nochmals manuell
beim Kunden nachfragen (oder im Falle automatisierter Systeme erst
"Bitte nehmen Sie mit uns Kontakt auf" einblenden o.ä.), bevor
man Gut- oder Lastschriften mit dieser Kontonummer bei seiner
Bank einreicht.
Aufgrund dieser Problematik liefert KONTOPRUEF in der
Online-Version seit dem 31. Juli 2005 und in der Offline-Version
ab der Datendatei 0521 für die Kontonummer 0 stets das Ergebnis
14/Kontonummer 0 ist ungültig zurück. Falls Sie
eine Kontonummer 0 akzeptieren wollen, müssen Sie daher Ihre
Software dahingehend ändern, daß das KONTOPRUEF-Ergebnis
14 als gültig erkannt wird. Ich rate jedoch von
einer solchen Maßnahme ab.
Kann man mit KONTOPRUEF auch österreichische
und schweizerische Bankverbindungen prüfen?
Ausländische nationale Kontonummern können leider nicht geprüft
werden. Für die Prüfung von österreichischen Kontonummern hatten wir unseren
Online-Server zwar fünf Jahre lang (2007-2012) ausgerüstet; aufgrund der
mangelnden Nachfrage überstiegen jedoch die Kosten für den
Einkauf der Prüfdaten bei weitem den Ertrag aus diesen
Prüfungen. Und in der Schweiz gibt es keine allgemeingültige
Veröffentlichung
der verschiedenen Prüfverfahren, so dass man die einzelnen
Algorithmen bei den jeweiligen (=allen!) Banken einzeln erfragen
müsste – das ist ein undurchführbares Unterfangen.
Langfristig wollen die Schweizer Kreditinstitute allerdings auch
ihren inländischen Zahlungsverkehr auf die IBAN-Kontonummer
umstellen; die IBAN kann mit KONTOPRUEF geprüft werden
(online und offline) – das gilt natürlich auch für
Österreich.
Adressprüfung allgemein
Gibt es auch eine lokal installierbare Version der Adressprüfung?
Leider nein, da ich nicht befugt bin, die Postleitdaten an meine
Kunden weiterzugeben. Sie können jedoch unter Windows den COM-Server
HanftWddx
installieren und die Adreßprüfung wie z.B. unter
ASP üblich mit set Pruef=CreateObject("HanftWddx.Address") usw.
ausführen, als ob die Adreßprüfung lokal bei Ihnen
installiert wäre. Der Aufbau der Online-Verbindung (ggf. über
einen Proxy-Server, falls gewünscht) geschieht dann völlig
unbemerkt vom Anwender im Hintergrund.
Eine weitere Alternative wäre, dass Sie sich einen eigenen Prüfserver
installieren und die Prüfserver-Software
von mir mieten. Sie müssten dazu aber die Postdaten-CDROM direkt
von der Post abonnieren, da Sie diese nicht von mir beziehen können.
Lizenzen und Preise müssten Sie ebenfalls direkt mit der Post
verhandeln.
Lokale Installationen
Allgemeines
Muß ich getrennte Wartungsverträge für Windows
und Linux abschließen?
Nein. Ein KONTOPRUEF-OFFLINE-Wartungsvertrag gilt gleichermaßen für die
Windows- oder die Linux-Version. Sie entscheiden beim Herunterladen,
welche Version der vollständigen Datendatei Sie verwenden wollen. Sie
können auch jederzeit zwischen den Betriebssystemen wechseln, ohne
irgendwelche Lizenzen oder Software neu bestellen oder kaufen zu müssen.
Lediglich wenn sich Ihr Nutzungsumfang gegenüber dem abgeschlossenen
Wartungsvertrag ändert, muß der Wartungsvertrag an die neue
Nutzung angepaßt werden.
Warum ist die Bankverbindungsprüfung sooo langsam?
Beim Anlegen des KONTOPRUEF-Objekts muß Windows erst den
COM-Server starten, was je nach Rechnergeschwindigkeit ca. 100ms dauert. Wenn
Sie also das KONTOPRUEF-Objekt bei jeder einzelnen Bankverbindung neu
erzeugen, dauert das Prüfen von großen Dateien oder Datenbanken
gefühlsmäßig "ewig". Abhilfe: Erzeugen Sie
das KONTOPRUEF-Objekt nur ein einziges Mal (z.B. beim Programmstart)
und speichern Sie es in einer globalen Variable. Die einzelne Prüfung
dauert dann nur noch ca. 0,1ms - geht also tausendmal schneller!
Hinweis: Updates der Datendatei werden korrekt durchgeführt
und beachtet, auch wenn das KONTOPRUEF-Objekt während des
Updates bereits erzeugt und in Verwendung ist!
Mit ASP und IIS erhalte ich beim Anlegen des Objekts
die Fehlermeldung Server.CreateObject konnte beim Überprüfen
der Berechtigungen nicht aufgerufen werden. Der Zugriff auf dieses Objekt
wurde verweigert.
Dem Server muß die Berechtigung zum Ausführen von Skripten und
Lesen/Schreiben im KONTOPRUEF-Verzeichnis gegeben werden. Hier der
Bericht eines Benutzers:
- ich habe unterhalb des Webservers ein Verzeichnis angelegt (KtoPruef),
in das ich alle Files kopiert habe
- unter Arbeitsplatz habe ich die 'Eigenschaften' ausgewählt
- unter Tab Sicherheitseinstellungen habe ich 'Erweitert' gewählt
- dann Haken gesetzt 'Berechtigung in allen untergeordneten Objekten ...'
und 'OK' gedrückt
- nachdem alle Berechtigungen neu gesetzt waren hat alles funktioniert
Möglicherweise genügen diese Einstellungen (insbesondere
unter Windows 2000 oder Windows XP) noch nicht; hier das Rezept eines
weiteren Benutzers:
- Aufruf von dcomcnfg in der Konsole auf dem Server, öffnet die
Kompononentendienste. Dort unter DCOM-Konfiguration die registrierte Com
Anwendung für die Bank.exe (in meinem Fall als KtoUpdate Objekt) heraussuchen
und dem ASP.NET Machine Account unter Eigenschaften Sicherheit die Rechte
für die Ausführung geben.
Mit .NET und IIS erhalte ich Access Denied beim Anlegen des Objekts.
Dies liegt an den Zugriffsrechten für IIS und .NET. Sobald
man impersonate zuläßt, so daß Bank.exe
vom anonymen IUSR_... ausgeführt werden kann, funktioniert es.
Dazu muß man
<identity impersonate="true"/>
in der WEB.config bei .NET angeben. Dann Verweis auf das registrierte COM-Objekt setzen
und mit
Bank.KtoPruef MeineKlasse = new Bank.KtoPruef();
aufrufen. (MeineKlasse steht für einen beliebigen Namen).
Linux
Ich erhalte mit der Demoversion den Fehlercode 250 –
der ist aber nirgendwo beschrieben.
Sie verwenden als Ergebnisvariable irgendetwas ohne Vorzeichen
("unsigned"). Das Ergebnis, das KONTOPRUEF zurückliefert,
ist eigentlich -6 ("Bank existiert in Demo-Version nicht"), aber
Sie werten es ohne Vorzeichen als 256 (2 hoch 8, ein Byte) minus 6 = 250 aus.
Lösung: Verwenden Sie vorzeichenbehaftete Variablen
wie z.B. Integer.
Kann ich KONTOPRUEF auch unter C++ (z.B. mit g++)
einsetzen?
Ja, natürlich! Die Header-Files sind dabei durch extern "C"
zu klammern, also zu Beginn Ihres .cpp-Programms z.B. wie folgt:
#include <iostream>
extern "C" {
#include "KtoUpdate.h"
#include "KtoPruef.h"
}
Ein Beispiel dazu können Sie
hier herunterladen (.tar.gz, 7 KB).
|