IBAN Validierung (Admin)
Die IBAN Validierung unterstützt bei der Eingabe einer korrekten Bankverbindung.
Voraussetzungen
Die Modul-Lizenz EVI-BASIS liegt im System vor und ist aktiv
Technische Dokumentation
Die IBAN Validierung erfolgt über eine Modulo-Berechnung. Es ist keine Internetverbindung erforderlich.
Komponentenübersicht
Skriptbibliothek
SC12EVIBaseUtils
Administrationsmöglichkeiten
Die IBAN-Validierung muss in der Anwendung nicht gesondert konfiguriert werden. Die zu ermittelnden Banken müssen im System vorhanden sein. D.h. sie müssen mit BIC, BLZ und Banknamen in der Entität BankHouse angelegt sein.
Übersteuerungsmöglichkeiten
IBAN-Validierung deaktivieren
Zur Deaktivierung der Validierung der IBAN ist die Methode SC12EVIBaseUtils.validateIBAN wie folgt zu übersteuern:
Die Eingabeparameter müssen gleich sein
Die übersteuernde Methode muss eine Map mit dem Wert "valid"=true zurückgeben
Wenn die IBAN-Validierung deaktiviert wurde, wird das Feld BIC nicht mehr automatisch gefüllt
Skriptklasse | Methodenname | Funktionalität |
---|---|---|
SC12EVIBaseUtils | validateIBAN | Führt eine strukturelle Prüfung der übergebenen IBAN durch. Die übersteuernde Methode muss eine Map mit dem Wert "valid"=true zurückgeben. Da ausländische IBANs neben der Bankleitzahl auch eine Filialnummer enthalten können, wurde die Ermittlung der Bank angepasst. Es wird nun geprüft, ob das IBAN-Pattern eine "agencyNumber" enthält. In diesem Fall wird die agencyNumber zur Ermittlung der Bank verwendet. In allen anderen Fällen wird die Bankleitzahl verwendet. |
getIBANMapping | Teilt eine übergebene IBAN anhand des Musters aus getIBANPatterns auf, liefert die einzelnen Bestandteile zurück und prüft, ob die übergebene IBAN zumindest syntaktisch korrekt ist | |
getIBANPatterns | Enthält die Muster der IBANs für viele Länder |
Ablaufbeschreibung
Syntaktische Prüfung
Die Methode SC12EVIBaseUtils.validateIBAN führt eine strukturelle Prüfung der übergebenen IBAN durch. Dafür wird die Methode SC12EVIBaseUtils.getIBANMapping verwendet.
Diese zerlegt die IBAN in ihre Bestandteile (Länderkennung, Prüfziffer, etc.) gibt als Ergebnis eine Map mit den einzelnen Bestandteilen und dem Key "valid" zurück. Dieser ist ein Boolean, der aussagt, ob die IBAN syntaktisch valide ist.
Semantische Prüfung
Nach der syntaktischen Prüfung wird die IBAN über ein Modulo 97 Verfahren semantisch geprüft. Das Verfahren funktioniert wie folgt:
Länderschlüssel und Prüfziffer aus IBAN entfernen und hinten anhängen. Alphanumerische Zeichen sind dabei in Zahlen (A=10, B=11, etc...) umzuwandeln.
Die daraus entstandene neue Zahl modulo 97 rechnen
wenn Rest = 1, ist die IBAN valide, sonst nicht
Beispiel
Beispiel:
IBAN: DE68 2105 0170 0012 3456 78
2105 0170 0012 3456 78DE 68
210501700012345678131468 mod 97 = 1
Abschluss der Methode
Nach der erfolgreichen Validierung sucht die Methode mit den gelieferten Bestandteilen (BIC) nach der Bank im System. Die BIC ist zwingend zu pflegen, da die Validierung sonst nicht nachschlagen kann.