![]() |
IBANs
Liste der Anhänge anzeigen (Anzahl: 6)
Ich habe mich noch einmal mit IBANs beschäftigt.
Dabei fiel mir auf, dass die seinerzeit (auch von mir) veröffentlichten Routinen die Überprüfung nur unvollständig vornehmen. Zum Beispiel dürfen nach ISO 13616 die 2 auf den Ländercode folgenden Ziffern nicht 00 und nicht 01 sein. Ein weiterer beliebter "Fehler" ist die Annahme, in IBANs dürften nur Ziffern und Majuskeln enthalten sein. Richtig ist, dass nach ISO 13616 auch Minuskeln enthalten sein dürfen. Das ist unkritisch, wenn man nur deutsche IBANs prüfen will, weil hier, abgesehen von dem führenden "DE" tatsächlich nur Ziffern erlaubt sind. Ein weiterer Mangel der bisher vorgestellten Routinen ist, dass im Prinzip nur eine numerische Prüfung vorgenommen wird, nicht aber eine länderspezifische Prüfung, ob die Länge der IBAN korrekt ist und ob an allen Positionen nur die Zeichentypen stehen, die für das betreffende Land zugelassen sind. Im Anhang ist mein Projekt IBANS Was kann das?: Numerische und syntaktische Prüfung von IBANS aller in der z.Zt. gültigen IBAN-Registry aufgeführten Länder. Für "Deutsche" IBANs zusätzlich die Prüfung der Bankleitzahl und der Kontonummer. Funktions- und Performancetest der seinerzeit veröffentlichten IBAN-Checker. Anzeige folgender Listen Tabelle der bei der Deutschen Bundesbank registrierten Bankleitzahlen mit diversen Infos zu diesen. Tabelle der Ländercodes nach ISO 3166. Tabelle der IBAN-Formate der in der IBAN-Registry gelisteten Länder. Tabelle der Bankplätze in Deutschland. Tabelle der Clearinggebiete in Deutschland. Tabelle der Bankgruppen in Deutschland. In den Tabellen kann in den einzelnen Datenspalten nach bestimmten Daten gesucht werden. Die jeweils selektierten Datensätze der Tabellen können ins Clipboard oder in eine Datei geschrieben werden. Im Anhang sind folgende Dateien - IBANS.exe - IBANs.pdf - Die IBAN Registry Stand 04/2012 als PDF - Die ISO 13616 als PDF Vielleicht kann der eine oder andere damit etwas anfangen. Neue Version: Im Datei Menu Eintrag "IBans erstellen" hinzugefügt. Liest aus einer Textdatei oder aus dem Clipboard beliebig viele BLZ + Kontonummer und erstellt eine Liste, die vom Anwender festzulegende Daten enthält. Verfügbare Daten sind BLZ, Kontonummer, IBAN sowie alle Datenfelder aus der BLZ-Datei der Deutschen Bundesbank. Die Liste kann in eine Textdatei oder ins Clipboard geschrieben werden. Ich übernehme keine Haftung für die Richtigkeit der IBANs. Hinweis: Grundsätzlich sollten immer die vom jeweiligen Kreditinstitut genannten IBANs verwendet werden. In der Regel werden die identisch mit den vom Programm erstellten IBANs sein, jedoch soll es einzelne Kreditinstitute geben, die sich nicht exakt an die Regeln der ISO 13616 halten (Z.B Prüfziffern dürfen nicht 00, 01 oder 99 sein. Neue Version wegen Fehler in BLZ-Datei der Deutschen Bundesbank vom 03.06.2013 Siehe #11 Neue Version wegen Fehlers im Programm Siehe #15 und #16 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 09.09.2013 Geänderte Prüfmethoden für Kontonummern ab 01.09.2013 Neue Version wegen Neue IBAN-Registry ab 01/2014 Neue BLZ-Datei der Deutschen Bundesbank vom 09.06.2014 Geänderte Prüfmethoden für Kontonummern ab 06/2014 Neue Version wegen Neue IBAN-Registry ab 02/2015 Neue BLZ-Datei der Deutschen Bundesbank vom 14.12.2014 Neue Version wegen Neue IBAN-Registry ab 04/2016 Neue BLZ-Datei der Deutschen Bundesbank vom 07.03.2016 Geänderte Prüfmethoden für Kontonummern ab 03/2016 Neue Version wegen Neue IBAN-Registry ab 05/2016 Neue BLZ-Datei der Deutschen Bundesbank vom 05.12.2016 Geänderte Prüfmethoden für Kontonummern ab 03/2017 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 05.06.2017 Neue Version wegen Geänderte Prüfmethoden für Kontonummern ab 09/2017 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 04.09.2017 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 04.12.2017 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 05.03.2018 Neue Version wegen Geänderte Prüfmethoden für Kontonummern ab 06/2018 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 04.06.2018 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 03.09.2018 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 03.12.2018 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 04.03.2019 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 09.12.2019 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 08.06.2020 Neue Version wegen Neue BLZ-Datei der Deutschen Bundesbank vom 07.09.2020 |
AW: IBANs
Stark!
Eine Menge Arbeit. Hoffentlich gibt es jemanden der das wirklich nutzen kann. Gruß K-H |
AW: IBANs
Zitat:
Schlimm waren die insgesamt 139 verschiedenen Prüfmethoden für Kontonummern. Jede kleine pissige Sparkasse hat 'ne eigene Prüfmethode und die kleinsten haben die kompliziertesten – hat wohl historische Gründe. Hat mir aber trotzdem viel Spaß gemacht. |
AW: IBANs
3-2-1-Meins.
Super! Als Freelancer wird man das irgendwann gebrauchen können. Edit: DANKE! |
AW: IBANs
Das als Open Source auf
![]() |
AW: IBANs
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein Update das beinhaltet:
1) Bankleitzahlenverzeichnis Stand 04.03.2013 2) Iban-Formate entsprechend IBAN-Registry von 02/2013 3) Kontonummern-Prüfmethoden entsprechend Prüfmethodenverzeichnis Stand 03/2013 |
AW: IBANs
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein Update das beinhaltet:
1) Bankleitzahlenverzeichnis Stand 03.06.2013 2) Iban-Formate entsprechend IBAN-Registry von 05/2013 3) Kontonummern-Prüfmethoden entsprechend Prüfmethodenverzeichnis Stand 06/2013 |
AW: IBANs
Könnte das bitte ein Moderator vielleicht nach Projekte verschieben, so kann Amateurprofi den aktuellste Download immer im ersten Beitrag einstellen.
|
Dieses Thema wurde am "03. Jun 2013, 16:50 Uhr" von "Daniel" aus dem Forum "Programmieren allgemein" in das Forum "Software-Projekte der Mitglieder" verschoben.
|
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Hallo,
die neue Funktion "IBans erstellen" gefällt mir und ich hätte noch ein paar Anregungen: Es wäre schön, wenn man als Input nicht nur die BLZ und Kontonummer hätte sondern noch beliebige andere Daten, die dann unverändert wieder rausgegeben werden. Dies kann bei einer Massenverarbeitung helfen, die Datensätze zuzuordnen. Evtl. könnte man da auch das IBANHIN und IBANRUECK Format verwenden, ggf. mit den entsprechenden Fehlercodes? Das Optimum wäre, wenn diese Funktion per Kommandozeile aufrufbar wäre. Das können afaik die ganzen vergleichbaren Programme nicht. Ich hab z.B. bei uns in der Firma eine Verarbeitung geschrieben, die aus allen Bankspezifischen Tabellen die Informationen holt und in eine Datei schreibt. Dann muss ein Mensch diese Datei mit einem Iban-Umsetzprogramm umsetzten, anschließend macht mein Programm wieder weiter und schreibt die geänderten Daten wieder in die Datenbank und erzeugt dann ein Log, welche Datensätze welche Fehler haben und ob die jetzt umgesetzt wurden oder nicht, oder trotz Umsetztung nochmal geprüft werdenmüssen usw. Hier wäre es halt perfekt gewesen, wenn der "Mensch in der Mitte" nicht nötig gewesen wäre, um da ein externes Programm zu bedienen. |
AW: IBANs
Ich kann nur sagen: Respekt! Ich war vor Jahren mal dran, sowas zu schreiben und bin an den unzähligen Prüfsummenformeln verzweifelt und habs schließlich aufgegeben. Jetzt hast du dir aber auch was aufgehalst, denn nun musst du bei jeder Aktualisierung der Prüfvorschriftenliste seitens Bundesbank alles abgrasen. Denn als ich das letzte Mal damit zu tun hatte, veröffentlichte die BB keine Delta-Liste der Änderungen sondern immer nur ein neues Dokument.
|
AW: IBANs
Zitat:
Ich finde das ist ein recht guter Service. Man muss nicht regelmä8ig prüfen, ob es was neues gibt, sondern kriegt alles "frei Haus und für Lau" geliefert. Und ja! Die Implementierung der z.Z. 140 Prüfmethoden war schon heftig. Aber wenn dann ab und zu eine Änderung kommt, ist die eigentlich schnell und einfach zu machen. Die einfachste Prüfmethode ist übrigens die Methode 09 Da heißt es "Keine Prüfzifferberechnung" |
AW: IBANs
Ich bin heute von der Deutschen Bundesbank informiert worden, dass die BLZ-Datei vom 03.06.2013 fehlerhaft ist.
Ich habe die Daten korrigiert und die neue Version in die DP gestellt (Siehe #1) Hintergrund : Zitat:
|
AW: IBANs
Hi,
auch von mir :thumb:! Einen Fehler glaube ich gefunden zu haben (oder ich stelle mich zu doof an): Wenn ich IBANS erstellen lasse wird neben der (korrekten) IBAN irgendwie immer ein falscher Bankname/BIC ermittelt? Kann das jemand nachvollziehen? Ich möchte hier keine BSP-Daten nennen... P.S. Die gleiche BLZ in der Suche führt zur richtigen Bank :gruebel: |
AW: IBANs
Zitat:
Was ich brauche, ist die BLZ, bei der der Fehler auftritt, die Kontonummer ist hier irrelevant, weil die BLZ-Daten ausschließlich über die BLZ zugeordnet werden. Da alle BLZ veröffentlicht werden, kann die ja nicht so fürchterlich geheim sein, oder? Also nenne doch bitte die BLZ, dann gehe ich dem gerne nach. Hat sich schon erledigt. Background: Die BLZ-Datei enthält zur Zeit 19340 Datensätze, aber "nur" 4069 verschiedene BLZ; es werden also viele BLZ mehrfach genannt. Außerdem sind in der BLZ-Date alle Daten als Text enthalten. Die Suche nach einer bestimmten BLZ ist deshalb recht "unperformant". Aus diesem Grund erstelle ich bei Programmstart ein Array of TBankInfoIndex, wobei TBankInfoIndex so definiert ist:
Delphi-Quellcode:
Dieses Array hat nur 4069 Einträge und enthält die BLZ in numerischer Form.
TBankInfoIndex=Record
BankCode:integer; // BLZ First:integer; // Erster Eintrag für BLZ in BLZ-Datei Last:integer; // Letzter Eintrag für BLZ in BLZ-Datei Lead:integer; // Der "führende" Eintrag für BLZ (Mark=1) FUNCTION Bank:String; // "BLZ = Name, Plz, Ort, Anzahl Stellen" FUNCTION CFIndex:integer; // Prüfmethode für Kontonummern End; Die Funktion BankCodeIndex findet in diesem Array jede BLZ mit maximal 12 Zugriffen. Der Fehler war, dass ich bei der Zuordung der bankbezogenen Daten mit dem Index in dieses Array auf die BLZ-Datei zugegriffen habe. Richtig wäre, zunächst aus TBankInfoIndex[Index] entweder Lead, First, Last oder einen zwischen First und Last liegenden Index zu holen, und mit diesem auf die BLZ Datei zuzugreifen. Ich habe das korrigiert und ordne jetzt die bankbezogenen Daten via "Lead", also der führenden Stelle einer Bank zu. An dieser Stelle (mir ist das auch erst jetzt aufgefallen) sei gesagt, dass eine eindeutige Zuordung über die BLZ nicht möglich ist. Was ich implementieren kann und werde, ist, den Anwender wählen zu lassen, ob er die Daten aus der führenden Stelle oder dem erst- oder letztgenannten Eintrag haben möchte, oder aus allen Einträgen. Letzteres ergibt dann für viele BLZ mehrere Resultate, aber ich sehe im Moment keine Lösung einer eindeutigen Datenzuordnung. Die Änderung werde ich im Laufe des Abends durchführen und die neue Version hochladen. NormanNG: Danke für den Hinweis.
Delphi-Quellcode:
FUNCTION BankCodeIndex(blz:integer):integer; overload;
var first,last:integer; p:TPBankInfoIndex; begin first:=0; last:=High(BankInfoIndex); if last>=0 then repeat result:=(last+first) shr 1; p:=@BankInfoIndex[result]; if p.BankCode<blz then first:=result+1 else if p.BankCode>blz then last:=result-1 else exit; until (first>last); result:=-1; end; FUNCTION BankCodeIndex(const blz:string):integer; overload; var n:integer; begin if TryStrToInt(blz,n) then result:=BankCodeIndex(n) else result:=-1; end; Neue Version in #1 |
AW: IBANs
Ich habe eine neue Version in #1 hochgeladen.
Grund: Neue BLZ-Datei der Deutschen Bundesbank vom 09.09.2013 Geänderte Prüfmethoden für Kontonummern ab 01.09.2012 Ich habe auch versucht, einen der Wünsche von Jumpy (siehe #11) zu realisieren. "Es wäre schön, wenn man als Input nicht nur die BLZ und Kontonummer hätte sondern noch beliebige andere Daten, die dann unverändert wieder rausgegeben werden. Dies kann bei einer Massenverarbeitung helfen, die Datensätze zuzuordnen." Das verbirgt sich unter Menu > Datei > IBans erstellen. In der Hilfedatei ist das noch nicht dokumentiert. Deshalb hier ganz kurz. Die Funktion "IBans Erstellen" basiert auf einer Datei die BLZ und Kontonummern enthält. Mit Menu > Datei > IBans erstellen wird ein Fenster geöffnet in dem die Parameter für die Erstellung definiert werden. Wenn in der Gruppe Optionen die Checkbox "Enthält Userdaten" markiert ist, kann aus dem Feld "Verfügbare Daten" der Eintrag "User- Daten" dem Feld "Auszugebende Daten" hinzugefügt werden. Alle Daten, die in der Source-Datei hinter den Kontonummern stehen, werden dann in die Ausgabedatei übernommen. Ich habe das nur sehr "sparsam" getestet. |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Wäre es denn möglich, aus diesem Standalone-Programm eine DLL zu machen? Das wäre sicherlich für viele Projekte nützlich.
|
AW: IBANs
@CodeHunter:
Ich habe mich nie mit DLLs beschäftigt. Deshalb weiß ich nicht, ob das prinzipiell möglich wäre, aber ich gehe davon aus, dass ein nicht unerheblicher Aufwand zu treiben wäre, um das zu realisieren. Da mein Interesse an diesem Programm eher gegen 0 tendiert möchte ich mich nicht mehr intensiv damit beschäftigen. Dass ich ein Update vornehme, wenn ich eine Info von der Deutschen Bundesbank erhalte, dass eine neue Bankleitzahlen-Datei verfügbar ist oder dass Prüfmethoden für Kontonummern verändert oder hinzugefügt wurden, oder auch auf Änderungen der IBAN-Registry reagiere, ist mehr Gewohnheit als Interesse. |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Zitat:
Wenn das erst getrennt werden müsste, dauert es vermutlich einige Stunden. Zitat:
Gerade wenn Du selbst an dem Programm nicht mehr viel machen möchtest, wäre das ja eine Option, damit es dennoch weiterentwickelt wird. Wenn du das denn möchtest meine ich natürlich. Denn so ist das Programm zwar sehr nützlich, aber gerade in einem Forum wie diesem wäre sicherlich die Benutzung in einem eigenen Programm für viele eher interessant. |
AW: IBANs
Zitat:
|
AW: IBANs
Wie schon in #24 angedeutet, interessiere ich mich nicht mehr für dieses Thema.
Gut, wenn die Bundesbank eine neue BLZ-Datei veröffentlicht oder sich Prüfmethoden für Kontonummern verändern, dann berücksichtige ich das, aber darüber hinaus möchte ich an diesem Projekt nichts mehr machen. Und die Source-Codes möchte ich auch nicht veröffentlichen. |
AW: IBANs
Zitat:
Zitat:
|
AW: IBANs
Ja, selbstverständlich darfst du fragen - nur habe ich keine Lust, meine Entscheidung zu begründen, weil das nur weitere Fragen auslösen würde.
Tja, das war es, was mir spontan einfiel. Als ich seinerzeit das Programm in die DP stellte, bekam ich diverse Anfragen nach den Source-Codes. Meine Antwort war stets eine Rückfrage ob der Wunsch nach den Source-Codes kommerzielle Gründe hat und in der Regel bekam ich darauf keine Antwort, was für mich ja auch eine Antwort war. Allerdings gab es eine wohltuende Ausnahme - und der hat damals die Source-Codes auch bekommen. Ich denke du verstehst, in welche Richtung meine Gedanken gehen. |
AW: IBANs
Zitat:
Wenn ich Quelltext veröffentlicht habe, dann aber auch immer absichtlich unter Lizenzen, die die kommerzielle Verwendung auch explizit erlauben (in meinem Fall normalerweise GPL/MPL/LGPL). Ich profitiere ja andersherum auch von anderen veröffentlichten Quelltexten, auch beruflich. (Außerdem freue ich mich, wenn ich anderen damit helfen kann.) Im Falle der von mir veröffentlichten ![]() (Ein weiteres Projekt kommt vermutlich bald. Sobald ich die Zeit finde...) Aber wenn du das nicht möchtest, ist das natürlich ganz alleine deine Sache. Das muss ja jeder für sich entscheiden, ob und in welcher Form man anderen helfen möchte. Deshalb respektiere ich natürlich diese Entscheidung, auch wenn ich rein persönlich dieser Sichtweise nichts abgewinnen kann. Danke auf jeden Fall für die Erklärung! |
AW: IBANs
Da ist ein kleiner Tippfehler in der CompilerVersions.inc in Zeile 89
Der richtige Versionscode ist 320 nicht 330
Delphi-Quellcode:
{$IFDEF VER320}
{$DEFINE Delphi10Tokyo} {$DEFINE Delphi10TokyoUp} |
AW: IBANs
Zitat:
|
AW: IBANs
Keine Sorge, die falschen 320 schleichen sich irgendwie durch viele Projekte.
(einer macht's falsche und alle anderen nach) |
AW: IBANs
Achtung die 320 stimmen.
|
AW: IBANs
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich habe eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich habe eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
AW: IBANs
Ich habe eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz