Business-KontoCheck

 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',

retvals.h  view on Meta::CPAN

      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";

retvals.h  view on Meta::CPAN

      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";

retvals.h  view on Meta::CPAN

      case SCL_INPUT_FORMAT_ERROR: return "Ung&uuml;ltige Eingabewerte in der SCL-Datei";
      case INVALID_REGULAR_EXPRESSION_CNT: return "Ung&uuml;ltiger Z&auml;hler in regul&auml;rem Ausdruck (innerhalb von {})";
      case INVALID_REGULAR_EXPRESSION: return "Ung&uuml;ltiger regul&auml;rer Ausdruck (enth&auml;lt zwei Zeichen aus [+?*] nacheinander)";
      case INVALID_HANDLE: return "Ung&uuml;ltiges Handle angegeben";
      case INVALID_BIQ_INDEX: return "Ung&uuml;ltiger Index f&uuml;r die biq_*() Funktionen";
      case ARRAY_INDEX_OUT_OF_RANGE: return "Der Array-Index liegt au&szlig;erhalb des g&uuml;ltigen Bereichs";
      case IBAN_ONLY_GERMAN: return "Es werden nur deutsche IBANs unterst&uuml;tzt";
      case INVALID_PARAMETER_TYPE: return "Falscher Parametertyp f&uuml;r die Funktion";
      case BIC_ONLY_GERMAN: return "Es werden nur deutsche BICs unterst&uuml;tzt";
      case INVALID_BIC_LENGTH: return "Die L&auml;nge des BIC mu&szlig; genau 8 oder 11 Zeichen sein";
      case IBAN_CHKSUM_OK_RULE_IGNORED_BLZ: return "Die IBAN-Pr&uuml;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&uuml;fsumme stimmt, konto_check wurde jedoch noch nicht initialisiert (Kontopr&uuml;fung nicht m&ouml;glich)";
      case IBAN_CHKSUM_OK_BLZ_INVALID: return "Die IBAN-Pr&uuml;fsumme stimmt, die BLZ ist allerdings ung&uuml;ltig";
      case IBAN_CHKSUM_OK_NACHFOLGE_BLZ_DEFINED: return "Die IBAN-Pr&uuml;fsumme stimmt, f&uuml;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&uuml;r die IBAN-Berechnung notwendig sind geladen werden";
      case LUT2_NOT_YET_VALID_PARTIAL_OK: return "Der Datensatz ist noch nicht g&uuml;ltig, au&szlig;erdem konnten nicht alle Blocks geladen werden";
      case LUT2_NO_LONGER_VALID_PARTIAL_OK: return "Der Datensatz ist nicht mehr g&uuml;ltig, au&szlig;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&uuml;gt (IBAN-Regel)";
      case BLZ_BLACKLISTED: return "Die BLZ findet sich in der Ausschlussliste f&uuml;r IBAN-Berechnungen";
      case BLZ_MARKED_AS_DELETED: return "Die BLZ ist in der Bundesbank-Datei als gel&ouml;scht markiert und somit ung&uuml;ltig";
      case IBAN_CHKSUM_OK_SOMETHING_WRONG: return "Die IBAN-Pr&uuml;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&uuml;fsumme stimmt. Die Bank gibt IBANs nach nicht ver&ouml;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&uuml;fsumme stimmt, es wurde allerdings eine IBAN-Regel nicht beachtet (wahrscheinlich falsch)";
      case IBAN_CHKSUM_OK_UNTERKTO_MISSING: return "Die IBAN-Pr&uuml;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&ouml;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&uuml;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&auml;nge der IBAN f&uuml;r das angegebene L&auml;nderk&uuml;rzel ist falsch";

retvals.h  view on Meta::CPAN

      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";



( run in 1.737 second using v1.01-cache-2.11-cpan-b16cb0d3907 )