view release on metacpan or search on metacpan
00liesmich.txt view on Meta::CPAN
Die Bankleitzahl ist immer 5-stellig.
Die Länge der Kontonummer ist variabel und wird auf 11 Stellen gesetzt,
indem führenden Nullen ergänzt werden.
In der INPAR-Datei sind einige Banken als gelöscht angegeben, jedoch sind die
jeweiligen Testparameter angegeben. In diesem Fall besteht die Möglichkeit,
die Bankleitzahl mit einem vorgestellten - zu versehen; das Konto wird dann
getestet, und ein entsprechender Wert zurückgegeben (ob es sinnvoll ist, ist
fraglich; es war allerdings auch kein Aufwand ;-) ). Außerdem lassen sich mit
einem vorangestellten p direkt die Prüfparameter eingeben. Einige Beispiele
dazu finden sich in der Datei testkonten-at.txt.
Für die österreichische Version gab es leider keine Vergleichsprogramme;
allerdings sind die Prüfmethoden des österreichischen Moduls nicht so
divergent wie die der deutschen Version. In der C Bibliothek gibt es noch eine
Trace-Version, die alle Berechnungen genau protokolliert und so eine
Fehlersuche ermöglicht. Zum Test wurden (neben der Trace-Version) einige
hundert Kontonummern aus dem Internet benutzt.
0_history.txt view on Meta::CPAN
- Änderungen in den IBAN-Regeln 54 und 56 implementiert, Klarstellung in
IBAN-Regel 42 (Deutsche Bundesbank)
- Änderung in der Prüfzifferberechnungsmethode 66 implementiert
- Es ist eine Suche nach den BICs der Hauptstellen implementiert
- In der LUT-Datei gibt es einen neuen Indexblock über die BICs der Hauptstellen
- Die Daten der Bundesbank-Datei die mit den Funktionen lut_name(), lut_ort()...
abgefragt werden, können jetzt auch für BICS und IBANs abgefragt werden (s.u.)
- Viele Vergleiche in den IBAN- und BIC-Funktionen die mit strcmp gemacht wurden,
wurden auf strcasecmp() umgestellt, so daß die Groß/Kleinschreibung bei IBANs
und BICs komplett ignoriert wird.
- Die Funktion pz2str() enthält nur noch die wirklich definierten
Prüfziffermethoden, dafür jedoch auch die Untermethoden
- Die Ruby-Dokumentation wird jetzt über yardoc generiert
0_history.txt view on Meta::CPAN
sie schon zu berücksichtigen; betrifft die Regeln 10, 15 und 43).
- Überprüfung in iban_check(), ob die übergebene IBAN mit der selbst erzeugten
übereinstimmt, oder ob evl. ein Unterkonto nicht angehängt wurde oder eine
IBAN-Regel nicht beachtet wurde; so werden falsch erzeugte IBANs erkannt
- Alle Leerzeichen werden vor der Verarbeitung aus der IBAN entfernt
(Funktionen iban2bic() sowie iban_check() )
- Ruby: die Funktion version() akzeptiert einen optionalen Integer-Parameter, mit
dem verschiedene Infos über die konto_check-Bibliothek erfragt werden können
- Ruby ist jetzt wieder mit im SVN
- Die Funktion iban_gen() in Ruby, PHP und Perl gibt nun auch die benutzte IBAN-Regel zurück
- PHP: einige Standardwerte für PHP-Generierung wurden geändert:
* Beschreibung der Prüfziffermethoden werden defaultmäßig eingebunden
* symbolische Rückgabewerte werden defaultmäßig definiert
* BAV Kompatibilität ist standardmäßig aus und hat noch einen zusätzlichen
Schalter in konto_check.h (die Funktionalität wird aktuell nicht benutzt)).
0_history.txt view on Meta::CPAN
* atoi() zur Umwandlung der BLZ in Integer ersetzt durch eigene Funktion.
Eine Arrayvariante zur Umwandlung bringt keinen Geschwindigkeitsvorteil.
* l_datum (globale Variable) ersetzt durch Array (binär); das Löschdatum
erhält man nun über die Funktion get_loesch_datum()
Die beiden ersten Funktionen waren im Vergleich zur insgesamt benötigten
Zeit unverhältnismäßig langsam. Daher wurde die zugehörige Prüftabelle und
die Information, ob eine Bankleitzahl gelöscht ist, in zwei Byte-Arrays
mit jeweils 100.000 Elementen transferiert; die Arrayabfrage ist natürlich
wesentlich schneller als der Funktionsaufruf. Durch diese Umstellung wird
die Variable l_datum nicht mehr gesetzt; falls man setzen wollte, müßte
der Index für jede Bankleitzahl gespeichert werden. In diesem Fall müßte
man für das Array für das Löschdatum ein Integer-Array (4 Byte Integer)
benutzen; da das Löschdatum aber wohl nicht oft benötigt wird, wird es
nicht mehr in jedem Fall bestimmt, sondern nur noch durch den
Funktionsaufruf.
- Fehlerkorrekturen:
0_history.txt view on Meta::CPAN
=======================
- kleiner Fehler in der Trace-Version: falls trace==NULL war, wurden einige
Berechnungen nicht gemacht, und das Ergebnis meist als richtig angesehen
(dies betrifft nur die Trace-Version, nicht die normale; wurde beim
cgi-Programm entdeckt).
- Die Dateien mit dem INPAR Handbuch und -Vertrag werden nach Rücksprache mit
First Data (H. Krickel; jetzt SIX Card Solutions) nicht mehr in das Paket
aufgenommen, sondern sollten direkt bei SIX Card Solutions
(Andreas.Krickl@six-card-solutions.at) angefragt, bzw. von der Website von
SIX Card Solutions Austria heruntergeladen werden (näheres in der Datei
00liesmich unter Punkt 5. Prüfparameter).
Version 2.1 (4.6.07):
=======================
- Die Versionszählung läuft jetzt synchron mit der deutschen Version von
konto_check, da die beiden Pakete für die Perl-Version zusammen verwendet
werden
- einige kleinere Änderungen für die Anpassung an Perl
- Der Datentyp von adler32 wurde von unsigned long auf UINT4 geändert, um
konto_check.c view on Meta::CPAN
/* Berechnungsregel 31: Ehemalige HYPO-Bank
* Wird eine Bankleitzahl mit Löschkennzeichen - erkennbar an
* Kennzeichen "1" in Feld 12 der Bankleitzahlendatei - und mit dem
* oben genannten IBAN-Kennzeichen - siehe Feld 14 der Bankleitzahlen-
* datei - im Feld "Bankleitzahl" angeliefert, so ist die als Anlage
* beigefügte Tabelle
*
* "Tabelle zu Kontokreise exHypo"
*
* anzufragen und anhand des genannten Kontokreises in der ersten
* Spalte bzw. Kontonummernbereich "von-bis" in der dritten und vierten
* Spalte die Nachfolge-Bankleitzahl zu ermitteln.
*
* Nur die ermittelte Nachfolge-BLZ darf zur IBAN-Berechnung verwendet werden.
*
* Achtung:
*
* * Diese Vorgehensweise gilt nur für 10-stellige Kontonummern!
*
* * Die Prüfziffer der Kontonummer ist zu prüfen!
konto_check.c view on Meta::CPAN
*
***************************************************************************
*
* Berechnungsregel 32: HYPO-Bank-Nachfolge
*
* * Die IBAN-Regel Nr. 0032 ist das Gegenstück zu IBAN-Regel Nr. 0031
* und verdeutlicht die zugelassenen Kontokreise für die aufnehmenden
* Bankleitzahlen der ehemaligen HYPO-Bank.
*
* * Bei Bankleitzahlen mit dem Kennzeichen 0032 - siehe Feld 14 der
* Bankleitzahlendatei - erfolgt die Anfrage nach zulässigen
* Kontonummern ebenfalls anhand der Tabelle "Tabelle zu Kontokreise
* exHypo", die der IBAN-Regel 0031 als Anlage beigefügt ist.
*
* * Die Bankleitzahlen enthalten kein Löschkennzeichen in Feld 12 der
* Bankleitzahlendatei.
*
* * Die IBAN-Regel Nr. 0032 gilt nur für 10-stellige Kontonummern.
*
* * Kürzere Kontonummern sind zugelassen, im Rahmen der entsprechenden
* Prüfziffernberechnungsmethode - mit Ausnahme des Kontonummern-
konto_check.c view on Meta::CPAN
/* Iban-Regel 0043.01 +§§§3 */
/* Sparkasse Pforzheim Calw
*
* Die alte BLZ 60651070 verwendet die Prüfziffermethode A9 (diese
* geht auf die Methoden 06 und 01), um eine sanfte Umstellung der
* Konten nach der Fusion zu ermöglichen. Die neue BLZ verwendet nur
* noch die Methode 06. Die Fusion war vor ca. 10 Jahren; Kontonummern
* die nur nach der Methode A9a gültig sind, sollen nach Aussage der
* Bank als ungültig betrachtet werden (Anfrage am 24.5.13, Klarstellung
* ebenfalls in der Email der Bundesbank vom 1.8.13).
*/
case 43:
if(b==60651070){
strcpy(blz,"66650085");
*bicp="PZHSDE66XXX";
return OK_BLZ_REPLACED;
}
RETURN_OK;
konto_check.c view on Meta::CPAN
*
* BAV: falsch
* bankleitzahlen.de: Prüffehler.
* bankdatencheck.de: nicht gültig
*
* Die Mehrheit der Programme sieht die Konten als richtig an (bzw. ohne
* Prüfzifferberechnung als gültig). Daher - und vor allem auch aufgrund der vorhandenen
* realen Konten - wird der Rückgabewert für diesen Kontenkreis von INVALID_KTO auf
* OK_NO_CHK geändert.
*
* Markus Malkusch hat nach einer kurzen Rückfrage auch den BAV umgestellt, daß die Konten
* ohne Prüfung als richtig angesehen werden.
*/
if(strcmp(kto,"0000060000")<0)RETURN(OK_NO_CHK);
#ifdef __ALPHA
pz = ((kto[0]<'5') ? (kto[0]-'0')*2 : (kto[0]-'0')*2-9)
+ (kto[1]-'0')
+ ((kto[2]<'5') ? (kto[2]-'0')*2 : (kto[2]-'0')*2-9)
+ (kto[3]-'0')
konto_check.c view on Meta::CPAN
*
* Kontonummer alt: 0001991182
* Kontonummer für die Berechnung der IBAN: 9911820001
*
* Diese neu ermittelte Kontonummer hat keine Prüfziffer, die
* daher auch nicht geprüft werden darf. Ansonsten kann mit
* dieser Kontonummer die IBAN mit der Standard-IBAN-Regel
* ermittelt werden.
*
* Das Verhalten mit der führenden '9' ist nicht in der IBAN-Regel angegeben,
* wurde aber aufgrund realer Kontodaten gefunden und durch eine Nachfrage bei
* der Bank bestätigt (Vielen Dank an Stefan Banse für den Hinweis).
*/
if(*kto=='9' || *(kto+4)=='9')
return OK_NO_CHK;
else
return FALSE;
/* Berechnung nach der Methode 45 +§§§4 */
/*
* ######################################################################
konto_check.c view on Meta::CPAN
* # Diese Funktion setzt oder löscht das Flag keep_raw_data_flag. Das Flag #
* # legt fest, ob die raw-Daten der Lut-Blocks Name, Kurzname und Ort .#
* # gespeichert werden sollen; falls ja, werden sie bei einem Wechsel der #
* # Kodierung auch umkodiert, falls nein, ist das nicht möglich. Die #
* # Speicherung der raw-Daten benötigt etwa 900 KB an Hauptspeicher. Einige #
* # Anmerkungen zu dem Flag finden sich auch oben bei der Deklaration von #
* # current_encoding etc. #
* # #
* # Mögliche Werte für den Funktionsparameter mode: #
* # 1: Flag setzen #
* # 0: Flag abfragen, nicht verändern #
* # -1: Flag löschen, Speicher der raw-Daten freigeben #
* # #
* # Copyright (C) 2011 Michael Plugge <konto_check@yahoo.com> #
* ###########################################################################
*/
DLL_EXPORT int keep_raw_data(int mode)
{
if(mode==1)
keep_raw_data_flag=1;
konto_check.c view on Meta::CPAN
fclose(in);
fclose(lut);
free(buffer);
free(ibuffer);
return retval;
}
/* Funktion pz_aenderungen_enable() +§§§1 */
/* ###########################################################################
* # Die Funktion pz_aenderungen_enable() dient dazu, den Status des Flags #
* # pz_aenderungen_aktivieren_2019_12 abzufragen bzw. zu setzen. Falls die Variable #
* # set 1 ist, werden die Änderungen aktiviert, falls sie 0 ist, werden #
* # die Änderungen deaktiviert. Bei allen anderen Werten wird das aktuelle #
* # Flag nicht verändert, sondern nur der Status zurückgegeben. #
* # #
* # Parameter: #
* # set: 0 oder 1: Änderungen deaktivieren/aktivieren #
* # anderer Wert: nur Abfrage des Status #
* # Rückgabe: aktueller Status des Flags # #
* # #
* # Copyright (C) 2014 Michael Plugge <konto_check@yahoo.com> #
* ###########################################################################
*/
DLL_EXPORT int pz_aenderungen_enable(int set)
{
if(set==0 || set==1)pz_aenderungen_aktivieren_2019_12=set;
return pz_aenderungen_aktivieren_2019_12;
konto_check.h view on Meta::CPAN
*/
#ifndef KONTO_CHECK_H_INCLUDED
#define KONTO_CHECK_H_INCLUDED
/* Falls EXTRA_BLZ_REGEL auf 1 gesetzt wird, wird beim IBAN-Test
* unterschieden ob eine Regel ignoriert wurde, die nur eine BLZ ersetzt,
* oder eine andere Regel. Die Variante wenn nur eine BLZ ersetzt wird, wird
* von cKonto als richtig angesehen.
*
* Bei einer Nachfrage bei den 17 in Frage kommenden Banken bekam ich von
* zehn Banken Antworten. Von diesen sagte nur eine, daß (aktuell) die
* "alten" IBANs noch akzeptiert würden, die neun anderen sehen eine solche
* IBAN jedoch als fehlerhaft an. In konto_check wird daher das alte
* Verhalten beibehalten, solche IBANs als Fehler zu deklarieren. Wenn das
* folgende Makro auf 1 gesetzt wird, gibt es verschiedene Rückgabewerte für
* Regelverstöße mit nur BLZ-Ersetzung und andere Regeln. Auf diese Weise
* kann das Verhalten von cKonto in Benutzerprogrammen nachgebildet werden.
*/
#define EXTRA_BLZ_REGEL 1
konto_check.h view on Meta::CPAN
DLL_EXPORT const char *kto_check_retval2txt(int retval);
DLL_EXPORT const char *kto_check_retval2iso(int retval);
DLL_EXPORT const char *kto_check_retval2txt_short(int retval);
DLL_EXPORT const char *kto_check_retval2html(int retval);
DLL_EXPORT const char *kto_check_retval2utf8(int retval);
DLL_EXPORT const char *kto_check_retval2dos(int retval);
/* Prüfziffer (numerisch) in String umwandeln */
const DLL_EXPORT char *pz2str(int pz,int *ret);
/* Flag für neue Prüfziffermethoden setzen bzw. abfragen */
DLL_EXPORT int pz_aenderungen_enable(int set);
/* Funktionen für Strings mit Rückgabe per handle */
DLL_EXPORT char *kc_id2ptr(int handle,int *retval);
DLL_EXPORT int kc_id_free(int handle);
/* Handle-Varianten für Funktionen mit Stringkonstanten als Rückgabewert */
DLL_EXPORT int kto_check_encoding_str_id(int mode);
DLL_EXPORT int kto_check_retval2txt_id(int retval);
lib/Business/KontoCheck.pm view on Meta::CPAN
-153 => 'Ungültige Eingabewerte in der SCL-Datei',
-152 => 'Ungültiger Zähler in regulärem Ausdruck (innerhalb von {})',
-151 => 'Ungültiger regulärer Ausdruck (enthält zwei Zeichen aus [+?*] nacheinander)',
-150 => 'Ungültiges Handle angegeben',
-149 => 'Ungültiger Index für die biq_*() Funktionen',
-148 => 'Der Array-Index liegt außerhalb des gültigen Bereichs',
-147 => 'Es werden nur deutsche IBANs unterstützt',
-146 => 'Falscher Parametertyp für die Funktion',
-145 => 'Es werden nur deutsche BICs unterstützt',
-144 => 'Die Länge des BIC muß genau 8 oder 11 Zeichen sein',
-143 => 'Die IBAN-Prüfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden',
-142 => 'Die IBAN-Prüfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprüfung nicht möglich)',
-141 => 'Die IBAN-Prüfsumme stimmt, die BLZ ist allerdings ungültig',
-140 => 'Die IBAN-Prüfsumme stimmt, für die Bank gibt es allerdings eine (andere) Nachfolge-BLZ',
-139 => 'es konnten nicht alle Datenblocks die für die IBAN-Berechnung notwendig sind geladen werden',
-138 => 'Der Datensatz ist noch nicht gültig, außerdem konnten nicht alle Blocks geladen werden',
-137 => 'Der Datensatz ist nicht mehr gültig, außerdem konnten nicht alle Blocks geladen werdeng',
-136 => 'ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden',
-135 => 'falsch, es wurde ein Unterkonto hinzugefügt (IBAN-Regel)',
-134 => 'Die BLZ findet sich in der Ausschlussliste für IBAN-Berechnungen',
-133 => 'Die BLZ ist in der Bundesbank-Datei als gelöscht markiert und somit ungültig',
-132 => 'Die IBAN-Prüfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)',
-131 => 'Die IBAN-Prüfsumme stimmt. Die Bank gibt IBANs nach nicht veröffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden',
-130 => 'Die IBAN-Prüfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)',
-129 => 'Die IBAN-Prüfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)',
-128 => 'Die BLZ passt nicht zur angegebenen IBAN-Regel',
-127 => 'Die Kontonummer ist nicht eindeutig (es gibt mehrere Möglichkeiten)',
-126 => 'Die IBAN-Regel ist noch nicht implementiert',
-125 => 'Die IBAN-Regel ist nicht bekannt',
-124 => 'Für die Bankverbindung ist keine IBAN-Berechnung erlaubt',
-123 => 'Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht',
-122 => 'Das Feld IBAN-Regel wurde nicht initialisiert',
-121 => 'Die Länge der IBAN für das angegebene Länderkürzel ist falsch',
lib/Business/KontoCheck.pm view on Meta::CPAN
'SCL_INPUT_FORMAT_ERROR' => 'Ungültige Eingabewerte in der SCL-Datei',
'INVALID_REGULAR_EXPRESSION_CNT' => 'Ungültiger Zähler in regulärem Ausdruck (innerhalb von {})',
'INVALID_REGULAR_EXPRESSION' => 'Ungültiger regulärer Ausdruck (enthält zwei Zeichen aus [+?*] nacheinander)',
'INVALID_HANDLE' => 'Ungültiges Handle angegeben',
'INVALID_BIQ_INDEX' => 'Ungültiger Index für die biq_*() Funktionen',
'ARRAY_INDEX_OUT_OF_RANGE' => 'Der Array-Index liegt außerhalb des gültigen Bereichs',
'IBAN_ONLY_GERMAN' => 'Es werden nur deutsche IBANs unterstützt',
'INVALID_PARAMETER_TYPE' => 'Falscher Parametertyp für die Funktion',
'BIC_ONLY_GERMAN' => 'Es werden nur deutsche BICs unterstützt',
'INVALID_BIC_LENGTH' => 'Die Länge des BIC muß genau 8 oder 11 Zeichen sein',
'IBAN_CHKSUM_OK_RULE_IGNORED_BLZ' => 'Die IBAN-Prüfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden',
'IBAN_CHKSUM_OK_KC_NOT_INITIALIZED' => 'Die IBAN-Prüfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprüfung nicht möglich)',
'IBAN_CHKSUM_OK_BLZ_INVALID' => 'Die IBAN-Prüfsumme stimmt, die BLZ ist allerdings ungültig',
'IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED' => 'Die IBAN-Prüfsumme stimmt, für die Bank gibt es allerdings eine (andere) Nachfolge-BLZ',
'LUT2_NOT_ALL_IBAN_BLOCKS_LOADED' => 'es konnten nicht alle Datenblocks die für die IBAN-Berechnung notwendig sind geladen werden',
'LUT2_NOT_YET_VALID_PARTIAL_OK' => 'Der Datensatz ist noch nicht gültig, außerdem konnten nicht alle Blocks geladen werden',
'LUT2_NO_LONGER_VALID_PARTIAL_OK' => 'Der Datensatz ist nicht mehr gültig, außerdem konnten nicht alle Blocks geladen werdeng',
'LUT2_BLOCKS_MISSING' => 'ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden',
'FALSE_UNTERKONTO_ATTACHED' => 'falsch, es wurde ein Unterkonto hinzugefügt (IBAN-Regel)',
'BLZ_BLACKLISTED' => 'Die BLZ findet sich in der Ausschlussliste für IBAN-Berechnungen',
'BLZ_MARKED_AS_DELETED' => 'Die BLZ ist in der Bundesbank-Datei als gelöscht markiert und somit ungültig',
'IBAN_CHKSUM_OK_SOMETHING_WRONG' => 'Die IBAN-Prüfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)',
'IBAN_CHKSUM_OK_NO_IBAN_CALCULATION' => 'Die IBAN-Prüfsumme stimmt. Die Bank gibt IBANs nach nicht veröffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden',
'IBAN_CHKSUM_OK_RULE_IGNORED' => 'Die IBAN-Prüfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)',
'IBAN_CHKSUM_OK_UNTERKTO_MISSING' => 'Die IBAN-Prüfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)',
'IBAN_INVALID_RULE' => 'Die BLZ passt nicht zur angegebenen IBAN-Regel',
'IBAN_AMBIGUOUS_KTO' => 'Die Kontonummer ist nicht eindeutig (es gibt mehrere Möglichkeiten)',
'IBAN_RULE_NOT_IMPLEMENTED' => 'Die IBAN-Regel ist noch nicht implementiert',
'IBAN_RULE_UNKNOWN' => 'Die IBAN-Regel ist nicht bekannt',
'NO_IBAN_CALCULATION' => 'Für die Bankverbindung ist keine IBAN-Berechnung erlaubt',
'OLD_BLZ_OK_NEW_NOT' => 'Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht',
'LUT2_IBAN_REGEL_NOT_INITIALIZED' => 'Das Feld IBAN-Regel wurde nicht initialisiert',
'INVALID_IBAN_LENGTH' => 'Die Länge der IBAN für das angegebene Länderkürzel ist falsch',
case SCL_INPUT_FORMAT_ERROR: return "Ungültige Eingabewerte in der SCL-Datei";
case INVALID_REGULAR_EXPRESSION_CNT: return "Ungültiger Zähler in regulärem Ausdruck (innerhalb von {})";
case INVALID_REGULAR_EXPRESSION: return "Ungültiger regulärer Ausdruck (enthält zwei Zeichen aus [+?*] nacheinander)";
case INVALID_HANDLE: return "Ungültiges Handle angegeben";
case INVALID_BIQ_INDEX: return "Ungültiger Index für die biq_*() Funktionen";
case ARRAY_INDEX_OUT_OF_RANGE: return "Der Array-Index liegt außerhalb des gültigen Bereichs";
case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterstützt";
case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp für die Funktion";
case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterstützt";
case INVALID_BIC_LENGTH: return "Die Länge des BIC muß genau 8 oder 11 Zeichen sein";
case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Prüfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Prüfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprüfung nicht möglich)";
case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Prüfsumme stimmt, die BLZ ist allerdings ungültig";
case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Prüfsumme stimmt, für die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die für die IBAN-Berechnung notwendig sind geladen werden";
case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht gültig, außerdem konnten nicht alle Blocks geladen werden";
case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr gültig, außerdem konnten nicht alle Blocks geladen werdeng";
case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugefügt (IBAN-Regel)";
case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste für IBAN-Berechnungen";
case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gelöscht markiert und somit ungültig";
case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Prüfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Prüfsumme stimmt. Die Bank gibt IBANs nach nicht veröffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Prüfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Prüfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere Möglichkeiten)";
case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
case NO_IBAN_CALCULATION: return "Für die Bankverbindung ist keine IBAN-Berechnung erlaubt";
case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
case INVALID_IBAN_LENGTH: return "Die Länge der IBAN für das angegebene Länderkürzel ist falsch";
case SCL_INPUT_FORMAT_ERROR: return "Ungltige Eingabewerte in der SCL-Datei";
case INVALID_REGULAR_EXPRESSION_CNT: return "Ungltiger Z hler in regul rem Ausdruck (innerhalb von {})";
case INVALID_REGULAR_EXPRESSION: return "Ungltiger regul rer Ausdruck (enth lt zwei Zeichen aus [+?*] nacheinander)";
case INVALID_HANDLE: return "Ungltiges Handle angegeben";
case INVALID_BIQ_INDEX: return "Ungltiger Index fr die biq_*() Funktionen";
case ARRAY_INDEX_OUT_OF_RANGE: return "Der Array-Index liegt auáerhalb des gltigen Bereichs";
case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs untersttzt";
case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp fr die Funktion";
case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs untersttzt";
case INVALID_BIC_LENGTH: return "Die L nge des BIC muá genau 8 oder 11 Zeichen sein";
case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Prfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Prfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprfung nicht mglich)";
case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Prfsumme stimmt, die BLZ ist allerdings ungltig";
case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Prfsumme stimmt, fr die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die fr die IBAN-Berechnung notwendig sind geladen werden";
case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht gltig, auáerdem konnten nicht alle Blocks geladen werden";
case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr gltig, auáerdem konnten nicht alle Blocks geladen werdeng";
case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugefgt (IBAN-Regel)";
case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste fr IBAN-Berechnungen";
case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gelscht markiert und somit ungltig";
case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Prfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Prfsumme stimmt. Die Bank gibt IBANs nach nicht verffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Prfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Prfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere Mglichkeiten)";
case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
case NO_IBAN_CALCULATION: return "Fr die Bankverbindung ist keine IBAN-Berechnung erlaubt";
case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
case INVALID_IBAN_LENGTH: return "Die L nge der IBAN fr das angegebene L nderkrzel ist falsch";
case SCL_INPUT_FORMAT_ERROR: return "Ungültige Eingabewerte in der SCL-Datei";
case INVALID_REGULAR_EXPRESSION_CNT: return "Ungültiger Zähler in regulärem Ausdruck (innerhalb von {})";
case INVALID_REGULAR_EXPRESSION: return "Ungültiger regulärer Ausdruck (enthält zwei Zeichen aus [+?*] nacheinander)";
case INVALID_HANDLE: return "Ungültiges Handle angegeben";
case INVALID_BIQ_INDEX: return "Ungültiger Index für die biq_*() Funktionen";
case ARRAY_INDEX_OUT_OF_RANGE: return "Der Array-Index liegt außerhalb des gültigen Bereichs";
case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterstützt";
case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp für die Funktion";
case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterstützt";
case INVALID_BIC_LENGTH: return "Die Länge des BIC muß genau 8 oder 11 Zeichen sein";
case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Prüfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Prüfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprüfung nicht möglich)";
case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Prüfsumme stimmt, die BLZ ist allerdings ungültig";
case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Prüfsumme stimmt, für die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die für die IBAN-Berechnung notwendig sind geladen werden";
case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht gültig, außerdem konnten nicht alle Blocks geladen werden";
case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr gültig, außerdem konnten nicht alle Blocks geladen werdeng";
case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugefügt (IBAN-Regel)";
case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste für IBAN-Berechnungen";
case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gelöscht markiert und somit ungültig";
case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Prüfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Prüfsumme stimmt. Die Bank gibt IBANs nach nicht veröffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Prüfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Prüfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere Möglichkeiten)";
case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
case NO_IBAN_CALCULATION: return "Für die Bankverbindung ist keine IBAN-Berechnung erlaubt";
case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
case INVALID_IBAN_LENGTH: return "Die Länge der IBAN für das angegebene Länderkürzel ist falsch";
case SCL_INPUT_FORMAT_ERROR: return "Ungültige Eingabewerte in der SCL-Datei";
case INVALID_REGULAR_EXPRESSION_CNT: return "Ungültiger Zähler in regulärem Ausdruck (innerhalb von {})";
case INVALID_REGULAR_EXPRESSION: return "Ungültiger regulärer Ausdruck (enthält zwei Zeichen aus [+?*] nacheinander)";
case INVALID_HANDLE: return "Ungültiges Handle angegeben";
case INVALID_BIQ_INDEX: return "Ungültiger Index für die biq_*() Funktionen";
case ARRAY_INDEX_OUT_OF_RANGE: return "Der Array-Index liegt auÃerhalb des gültigen Bereichs";
case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterstützt";
case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp für die Funktion";
case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterstützt";
case INVALID_BIC_LENGTH: return "Die Länge des BIC muà genau 8 oder 11 Zeichen sein";
case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Prüfsumme stimmt, die BLZ sollte aber durch eine zentrale BLZ ersetzt werden. Die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_KC_NOT_INITIALIZED: return "Die IBAN-Prüfsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontoprüfung nicht möglich)";
case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Prüfsumme stimmt, die BLZ ist allerdings ungültig";
case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Prüfsumme stimmt, für die Bank gibt es allerdings eine (andere) Nachfolge-BLZ";
case LUT2_NOT_ALL_IBAN_BLOCKS_LOADED: return "es konnten nicht alle Datenblocks die für die IBAN-Berechnung notwendig sind geladen werden";
case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht gültig, auÃerdem konnten nicht alle Blocks geladen werden";
case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr gültig, auÃerdem konnten nicht alle Blocks geladen werdeng";
case LUT2_BLOCKS_MISSING: return "ok, bei der Initialisierung konnten allerdings ein oder mehrere Blocks nicht geladen werden";
case FALSE_UNTERKONTO_ATTACHED: return "falsch, es wurde ein Unterkonto hinzugefügt (IBAN-Regel)";
case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste für IBAN-Berechnungen";
case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gelöscht markiert und somit ungültig";
case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Prüfsumme stimmt, es gibt allerdings einen Fehler in der eigenen IBAN-Bestimmung (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_NO_IBAN_CALCULATION: return "Die IBAN-Prüfsumme stimmt. Die Bank gibt IBANs nach nicht veröffentlichten Regeln heraus, die Richtigkeit der IBAN kann nur mit einer Anfrage bei der Bank ermittelt werden";
case IBAN_CHKSUM_OK_RULE_IGNORED: return "Die IBAN-Prüfsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Prüfsumme stimmt, es fehlt aber ein Unterkonto (wahrscheinlich falsch)";
case IBAN_INVALID_RULE: return "Die BLZ passt nicht zur angegebenen IBAN-Regel";
case IBAN_AMBIGUOUS_KTO: return "Die Kontonummer ist nicht eindeutig (es gibt mehrere Möglichkeiten)";
case IBAN_RULE_NOT_IMPLEMENTED: return "Die IBAN-Regel ist noch nicht implementiert";
case IBAN_RULE_UNKNOWN: return "Die IBAN-Regel ist nicht bekannt";
case NO_IBAN_CALCULATION: return "Für die Bankverbindung ist keine IBAN-Berechnung erlaubt";
case OLD_BLZ_OK_NEW_NOT: return "Die Bankverbindung ist mit der alten BLZ stimmig, mit der Nachfolge-BLZ nicht";
case LUT2_IBAN_REGEL_NOT_INITIALIZED: return "Das Feld IBAN-Regel wurde nicht initialisiert";
case INVALID_IBAN_LENGTH: return "Die Länge der IBAN für das angegebene Länderkürzel ist falsch";