AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IBANs

Ein Thema von Amateurprofi · begonnen am 3. Sep 2012 · letzter Beitrag vom 12. Sep 2020
Antwort Antwort
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#1

AW: IBANs

  Alt 10. Jun 2013, 21:09
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:
Sehr geehrter Herr Amateurprofi,


in der zum 3. Juni 2013 gueltigen Bankleitzahlendatei wurden von der Deutschen Bank versehentlich drei Einträge zur Loeschung aufgegeben, die insbesondere in Systemen des kartengestuetzen Zahlungsverkehr noch Verwendung finden.

Wir bitten Sie daher - soweit moeglich - die folgenden Einträge in den Zahlungsverkehrsanwendung zu berücksichtigen:

Bankleitzahl 10070000
Merkmal 2
Bezeichnung Deutsche Bank Fil Berlin Gf P2
PLZ Ort 10883 Berlin
Kurzbezeichnung Deutsche Bank Fil Berlin
PAN 27700
BIC
Pruefzifferberechnungsmethode 63
Datensatznummer 056400
Aenderungskennzeichen A
Bankleitzahllöschung 0
Nachfolge-Bankleitzahl 00000000

Bankleitzahl 10070024
Merkmal 2
Bezeichnung Deutsche Bank Privat und Geschäftskunden F 700 Gf P2
PLZ Ort 10883 Berlin
Kurzbezeichnung Deutsche Bank PGK Berlin
PAN 21700
BIC
Pruefzifferberechnungsmethode 63
Datensatznummer 056401
Aenderungskennzeichen A
Bankleitzahllöschung 0
Nachfolge-Bankleitzahl 00000000

Bankleitzahl 76026000
Merkmal 2
Bezeichnung norisbank Gf P2
PLZ Ort 10625 Berlin
Kurzbezeichnung norisbank Berlin
PAN 25360
BIC
Pruefzifferberechnungsmethode C7
Datensatznummer 056402
Aenderungskennzeichen A
Bankleitzahllöschung 0
Nachfolge-Bankleitzahl 00000000

In der zum 9. September 2013 gültigen Bankleitzahlendatei werden die Einträge mit den vorgenannten Angaben wieder enthalten sein.

Mit freundlichen Grueßen
__________________________________________________ __________________________________________________
Deutsche Bundesbank | Zentrale | Zahlungsverkehr | Wilhelm-Epstein-Strasse 14 | 60431 Frankfurt am
Main
Internet http://www.bundesbank.de | E-mail presse-information@bundesbank.de
Telefon +49 (0) 69 9566-0 | Fax +49 (0) 69 9566-3077
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#2

AW: IBANs

  Alt 14. Jun 2013, 15:56
Hi,

auch von mir !

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
Gruß
Norman

Geändert von NormanNG (14. Jun 2013 um 15:58 Uhr)
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#3

AW: IBANs

  Alt 14. Jun 2013, 19:07
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
Würde ich ja gern prüfen, aber ohne irgendeinen weiteren Hinweis, bei welcher Konstellation der Fehler auftritt, ist das kaum möglich.
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:
   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;
Dieses Array hat nur 4069 Einträge und enthält die BLZ in numerischer Form.
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
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....

Geändert von Amateurprofi (14. Jun 2013 um 23:11 Uhr) Grund: Hinweis, dass neue Version hochgeladen, hinzugefügt
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#4

AW: IBANs

  Alt 12. Sep 2013, 22:54
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.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Alt 15. Sep 2013, 13:32     Erstellt von Nintendo
Dieser Beitrag wurde von fkerber gelöscht. - Grund: Versehentlicher Beitrag.
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#6

AW: IBANs

  Alt 20. Mai 2014, 00:16
Ich hab eine neue Version in #1 des Threads hochgeladen.
Einzelheiten am Ende von #1
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz