IBAN
Date: 2015-04-26

de.jost_net.OBanToo.SEPA

## Class IBAN

- java.lang.Object
- - de.jost_net.OBanToo.SEPA.IBAN

-     public class IBAN
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.lang.String` | `bic`
    `private IBANCode` | `code`
    `private java.lang.String` | `iban`
    `private SEPALand` | `land`
    `private static java.util.HashMap<java.lang.String,java.lang.String>` | `transformation`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IBAN(java.lang.String iban)` Konstruktor mit Übergabe der IBAN als String
    `IBAN(java.lang.String kontoNr, java.lang.String blz, java.lang.String landkennzeichen)` Vor der Erstellung der persönlichen internationalen Bankkontonummer für jeden Kontoinhaber wird von der Bank die Prüfziffer elektronisch berechnet.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `private static java.lang.String` | `fillup(java.lang.String konto)`
    `java.lang.String` | `getBIC()`
    `java.lang.String` | `getBLZ()`
    `IBANCode` | `getCode()`
    `java.lang.String` | `getIBAN()`
    `java.lang.String` | `getKonto()`
    `SEPALand` | `getLand()`
    `private static java.lang.String` | `getPruefziffer(java.lang.String bban, java.lang.String laenderkennung)`
    `private static java.lang.String` | `getPruefziffer(java.lang.String blz, java.lang.String konto, java.lang.String laenderkennung)`
    `static IBANRet` | `ibanRegel_000000(java.lang.String blz, java.lang.String konto, SEPALand land)`
    `static IBANRet` | `ibanRegel_000000(java.lang.String blz, java.lang.String konto, SEPALand land, java.lang.String bic, boolean ungueltigePruefzifferZugelassen)` Standardregel
    `static IBANRet` | `ibanRegel_000100(java.lang.String blz, java.lang.String konto, SEPALand land)` keine IBAN-Ermittlung (diese Bankleitzahl findet im Zahlungsverkehr keine Verwendung)
    `static IBANRet` | `ibanRegel_000200(java.lang.String blz, java.lang.String konto, SEPALand land)` Augsburger Aktienbank
    `static IBANRet` | `ibanRegel_000300(java.lang.String blz, java.lang.String konto, SEPALand land)` Aareal Bank AG ZWL Wiesbaden
    `static IBANRet` | `ibanRegel_000400(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Berlin / Berliner Sparkasse
    `static IBANRet` | `ibanRegel_000501(java.lang.String blz, java.lang.String konto, SEPALand land)` Commerzbank AG
    `static IBANRet` | `ibanRegel_000502(java.lang.String blz, java.lang.String konto, SEPALand land)` Commerzbank AG 02: Anpassung der Buchungskontonummern der Spendenkonten 100 (Kap. 5.4), 909090, 555, 343434
    `static IBANRet` | `ibanRegel_000503(java.lang.String blz, java.lang.String konto, SEPALand land)` Commerzbank AG 03: Anpassung des Testfalls "Gesperrte BLZ" Fkeine Änderungen in der Logik erforderlich
    `static IBANRet` | `ibanRegel_000600(java.lang.String blz, java.lang.String konto, SEPALand land)` Stadtsparkasse München
    `static IBANRet` | `ibanRegel_000700(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse KölnBonn
    `static IBANRet` | `ibanRegel_000800(java.lang.String blz, java.lang.String konto, SEPALand land)` BHF-Bank AG
    `static IBANRet` | `ibanRegel_000900(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Schopfheim-Zell
    `static IBANRet` | `ibanRegel_001000(java.lang.String blz, java.lang.String konto, SEPALand land)` Frankfurter Sparkasse
    `static IBANRet` | `ibanRegel_001001(java.lang.String blz, java.lang.String konto, SEPALand land)` Frankfurter Sparkasse
    `static IBANRet` | `ibanRegel_001100(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Krefeld
    `static IBANRet` | `ibanRegel_001201(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Hessen-Thüringen Girozentrale
    `static IBANRet` | `ibanRegel_001301(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Hessen-Thüringen Girozentrale
    `static IBANRet` | `ibanRegel_001400(java.lang.String blz, java.lang.String konto, SEPALand land)` Deutsche Apotheker- und Ärztebank eG
    `static IBANRet` | `ibanRegel_001500(java.lang.String blz, java.lang.String konto, SEPALand land)` Pax-Bank eG
    `static IBANRet` | `ibanRegel_001501(java.lang.String blz, java.lang.String konto, SEPALand land)` Pax-Bank eG
    `static IBANRet` | `ibanRegel_001600(java.lang.String blz, java.lang.String konto, SEPALand land)` Kölner Bank eG
    `static IBANRet` | `ibanRegel_001700(java.lang.String blz, java.lang.String konto, SEPALand land)` Volksbank Bonn Rhein-Sieg
    `static IBANRet` | `ibanRegel_001800(java.lang.String blz, java.lang.String konto, SEPALand land)` Aachener Bank eG
    `static IBANRet` | `ibanRegel_001900(java.lang.String blz, java.lang.String konto, SEPALand land)` Bethmann Bank
    `static IBANRet` | `ibanRegel_002001(java.lang.String blz, java.lang.String konto, SEPALand land)` Deutsche Bank AG
    `static IBANRet` | `ibanRegel_002002(java.lang.String blz, java.lang.String konto, SEPALand land)` Deutsche Bank AG
    `static IBANRet` | `ibanRegel_002101(java.lang.String blz, java.lang.String konto, SEPALand land)` National-Bank AG
    `static IBANRet` | `ibanRegel_002200(java.lang.String blz, java.lang.String konto, SEPALand land)` GLS Gemeinschaftsbank eG
    `static IBANRet` | `ibanRegel_002300(java.lang.String blz, java.lang.String konto, SEPALand land)` Volksbank Osnabrück eG
    `static IBANRet` | `ibanRegel_002400(java.lang.String blz, java.lang.String konto, SEPALand land)` Bank im Bistum Essen eG
    `static IBANRet` | `ibanRegel_002500(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Baden-Württemberg / Baden-Württembergische Bank
    `static IBANRet` | `ibanRegel_002600(java.lang.String blz, java.lang.String konto, SEPALand land)` Bank für Kirche und Diakonie eG, KD Bank
    `static IBANRet` | `ibanRegel_002700(java.lang.String blz, java.lang.String konto, SEPALand land)` Volksbank Krefeld eG
    `static IBANRet` | `ibanRegel_002800(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Hannover
    `static IBANRet` | `ibanRegel_002900(java.lang.String blz, java.lang.String konto, SEPALand land)` Société Générale
    `static IBANRet` | `ibanRegel_003000(java.lang.String blz, java.lang.String konto, SEPALand land)` Volksbank Krefeld eG
    `static IBANRet` | `ibanRegel_003101(java.lang.String blz, java.lang.String konto, SEPALand land)` UniCredit Bank AG
    `static IBANRet` | `ibanRegel_003200(java.lang.String blz, java.lang.String konto, SEPALand land)` UniCredit Bank AG
    `static IBANRet` | `ibanRegel_003301(java.lang.String blz, java.lang.String konto, SEPALand land)` UniCredit Bank AG
    `static IBANRet` | `ibanRegel_003400(java.lang.String blz, java.lang.String konto, SEPALand land)` UniCredit Bank AG
    `static IBANRet` | `ibanRegel_003501(java.lang.String blz, java.lang.String konto, SEPALand land)` UniCredit Bank AG
    `static IBANRet` | `ibanRegel_003600(java.lang.String blz, java.lang.String konto, SEPALand land)` HSH Nordbank AG, Hamburg und Kiel
    `static IBANRet` | `ibanRegel_003700(java.lang.String blz, java.lang.String konto, SEPALand land)` The Bank of Tokyo-Mitsubishi UFJ, Ltd.
    `static IBANRet` | `ibanRegel_003800(java.lang.String blz, java.lang.String konto, SEPALand land)` Ostfriesische Volksbank eG
    `static IBANRet` | `ibanRegel_003900(java.lang.String blz, java.lang.String konto, SEPALand land)` Oldenburgische Landesbank AG
    `static IBANRet` | `ibanRegel_004001(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Staufen-Breisach
    `static IBANRet` | `ibanRegel_004100(java.lang.String blz, java.lang.String konto, SEPALand land)` Bausparkasse Schwäbisch Hall AG
    `static IBANRet` | `ibanRegel_004200(java.lang.String blz, java.lang.String konto, SEPALand land)` Deutsche Bundesbank
    `static IBANRet` | `ibanRegel_004300(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Pforzheim Calw
    `static IBANRet` | `ibanRegel_004301(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Pforzheim Calw
    `static IBANRet` | `ibanRegel_004400(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse Freiburg
    `static IBANRet` | `ibanRegel_004500(java.lang.String blz, java.lang.String konto, SEPALand land)` SEB AG
    `static IBANRet` | `ibanRegel_004501(java.lang.String blz, java.lang.String konto, SEPALand land)` SEB AG
    `static IBANRet` | `ibanRegel_004600(java.lang.String blz, java.lang.String konto, SEPALand land)` Santander Consumer Bank
    `static IBANRet` | `ibanRegel_004700(java.lang.String blz, java.lang.String konto, SEPALand land)` Santander Consumer Bank
    `static IBANRet` | `ibanRegel_004800(java.lang.String blz, java.lang.String konto, SEPALand land)` Santander Consumer Bank
    `static IBANRet` | `ibanRegel_004900(java.lang.String blz, java.lang.String konto, SEPALand land)` WGZ Bank
    `static IBANRet` | `ibanRegel_005000(java.lang.String blz, java.lang.String konto, SEPALand land)` Sparkasse LeerWittmund
    `static IBANRet` | `ibanRegel_005100(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Baden-Württemberg / Baden-Württembergische Bank
    `static IBANRet` | `ibanRegel_005200(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Baden-Württemberg / Baden-Württembergische Bank
    `static IBANRet` | `ibanRegel_005300(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Baden-Württemberg / Baden-Württembergische Bank
    `static IBANRet` | `ibanRegel_005400(java.lang.String blz, java.lang.String konto, SEPALand land)` Landesbank Baden-Württemberg / Baden-Württembergische Bank
    `static IBANRet` | `ibanRegel_005401(java.lang.String blz, java.lang.String konto, SEPALand land)` Evangelische Darlehnsgenossenschaft eG
    `static IBANRet` | `ibanRegel_005500(java.lang.String blz, java.lang.String konto, SEPALand land)` BHW Kreditservice GmbH
    `static IBANRet` | `ibanRegel_005600(java.lang.String blz, java.lang.String konto, SEPALand land)` SEB AG
    `static IBANRet` | `ibanRegel_005700(java.lang.String blz, java.lang.String konto, SEPALand land)` Badenia Bausparkasse
    `private static java.lang.String` | `truncateLeadingZeros(java.lang.String konto)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### code

          private IBANCode code

    - #### iban

          private java.lang.String iban

    - #### bic

          private java.lang.String bic

    - #### land

          private SEPALand land

    - #### transformation

          private static final java.util.HashMap<java.lang.String,java.lang.String> transformation

  - ### Constructor Detail

    - #### IBAN

          public IBAN(java.lang.String iban)
               throws SEPAException

      Konstruktor mit Übergabe der IBAN als String
      Parameters:
        `iban` - IBAN
      Throws:
        `SEPAException` - wenn die IBAN nicht den Konventionen entspricht.

    - #### IBAN

          public IBAN(java.lang.String kontoNr,
              java.lang.String blz,
              java.lang.String landkennzeichen)
               throws SEPAException

      Vor der Erstellung der persönlichen internationalen Bankkontonummer für jeden Kontoinhaber wird von der Bank die Prüfziffer elektronisch berechnet. Dazu werden in Deutschland die achtstellige Bankleitzahl, die zehnstellige Kontonummer und die zweistellige, alphanumerische Länderkennung benötigt. Kontonummern mit weniger als zehn Stellen werden mit führenden Nullen aufgefüllt. Die Berechnung erfolgt in mehreren Schritten. Zuerst wird die Länderkennung um zwei Nullen ergänzt. Danach wird aus Kontonummer und Bankleitzahl die BBAN kreiert. Also beispielsweise Bankleitzahl 70090100 und Kontonummer 1234567890 ergeben die BBAN 700901001234567890. Anschließend werden die beiden Alpha-Zeichen der Länderkennung sowie weitere eventuell in der Kontonummer enthaltene Buchstaben in rein numerische Ausdrücke umgewandelt. Die Grundlage für die Zahlen, die aus den Buchstaben gebildet werden sollen, bildet ihre Position der jeweiligen Alpha-Zeichen im lateinischen Alphabet. Zu diesem Zahlenwert wird 9 addiert. Die Summe ergibt die Zahl, die den jeweiligen Buchstaben ersetzen soll. Dementsprechend steht für A (Position 1+9) die Zahl 10, für D (Position 4+9) die 13 und für E (Position 5+9) die 14. Der Länderkennung DE entspricht also die Ziffernfolge 1314. Im nächsten Schritt wird diese Ziffernfolge, ergänzt um die beiden Nullen, an die BBAN gehängt. Hieraus ergibt sich 700901001234567890131400. Diese bei deutschen Konten immer 24-stellige Zahl wird anschließend Modulo 97 genommen. Das heißt, es wird der Rest berechnet, der sich bei der Teilung der 24-stelligen Zahl durch 97 ergibt. Das ist für dieses Beispiel 90. Dieses Ergebnis wird von der nach ISO-Standard festgelegten Zahl 98 subtrahiert. Ist das Resultat, wie in diesem Beispiel, kleiner als Zehn, so wird der Zahl eine Null vorangestellt, sodass sich wieder ein zweistelliger Wert ergibt. Somit ist die errechnete Prüfziffer 08. Aus der Länderkennung, der zweistelligen Prüfsumme und der BBAN wird nun die IBAN generiert. Die ermittelte IBAN lautet in unserem Beispiel: DE08700901001234567890. D = 4.stelle im Alphabet + 9 = 13 E = 5.stelle im Alphabet + 9 = 14 -> DE = 1314 Länderkennung um 2 Nullen ergänzen -> 131400 1. Konstante zur Berechnung; Modulo 97 700901001234567890131400 % 97 -> 90 2. Konstante zur Berechnung: 98 - 90 = 8 -> ergänzt um führende 0 -> 08 DE08700901001234567890131400
      Throws:
        `SEPAException`

  - ### Method Detail

    - #### getIBAN

          public java.lang.String getIBAN()

    - #### getBIC

          public java.lang.String getBIC()

    - #### getCode

          public IBANCode getCode()

    - #### getLand

          public SEPALand getLand()

    - #### getBLZ

          public java.lang.String getBLZ()

    - #### getKonto

          public java.lang.String getKonto()

    - #### getPruefziffer

          private static java.lang.String getPruefziffer(java.lang.String blz,
                                        java.lang.String konto,
                                        java.lang.String laenderkennung)
                                                  throws SEPAException

      Throws:
        `SEPAException`

    - #### getPruefziffer

          private static java.lang.String getPruefziffer(java.lang.String bban,
                                        java.lang.String laenderkennung)
                                                  throws SEPAException

      Throws:
        `SEPAException`

    - #### ibanRegel_000000

          public static IBANRet ibanRegel_000000(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000000

          public static IBANRet ibanRegel_000000(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land,
                                 java.lang.String bic,
                                 boolean ungueltigePruefzifferZugelassen)
                                          throws java.lang.Exception

      Standardregel
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000100

          public static IBANRet ibanRegel_000100(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)

      keine IBAN-Ermittlung (diese Bankleitzahl findet im Zahlungsverkehr keine Verwendung)

    - #### ibanRegel_000200

          public static IBANRet ibanRegel_000200(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Augsburger Aktienbank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000300

          public static IBANRet ibanRegel_000300(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Aareal Bank AG ZWL Wiesbaden
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000400

          public static IBANRet ibanRegel_000400(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Berlin / Berliner Sparkasse
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000501

          public static IBANRet ibanRegel_000501(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Commerzbank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000502

          public static IBANRet ibanRegel_000502(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Commerzbank AG 02: Anpassung der Buchungskontonummern der Spendenkonten 100 (Kap. 5.4), 909090, 555, 343434
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000503

          public static IBANRet ibanRegel_000503(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Commerzbank AG 03: Anpassung des Testfalls "Gesperrte BLZ"
      Fkeine Änderungen in der Logik erforderlich
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000600

          public static IBANRet ibanRegel_000600(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Stadtsparkasse München
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000700

          public static IBANRet ibanRegel_000700(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse KölnBonn
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000800

          public static IBANRet ibanRegel_000800(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      BHF-Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_000900

          public static IBANRet ibanRegel_000900(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Schopfheim-Zell
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001000

          public static IBANRet ibanRegel_001000(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Frankfurter Sparkasse
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001001

          public static IBANRet ibanRegel_001001(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Frankfurter Sparkasse
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001100

          public static IBANRet ibanRegel_001100(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Krefeld
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001201

          public static IBANRet ibanRegel_001201(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Hessen-Thüringen Girozentrale
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001301

          public static IBANRet ibanRegel_001301(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Hessen-Thüringen Girozentrale
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001400

          public static IBANRet ibanRegel_001400(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Deutsche Apotheker- und Ärztebank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001500

          public static IBANRet ibanRegel_001500(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Pax-Bank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001501

          public static IBANRet ibanRegel_001501(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Pax-Bank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001600

          public static IBANRet ibanRegel_001600(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Kölner Bank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001700

          public static IBANRet ibanRegel_001700(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Volksbank Bonn Rhein-Sieg
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001800

          public static IBANRet ibanRegel_001800(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Aachener Bank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_001900

          public static IBANRet ibanRegel_001900(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Bethmann Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002001

          public static IBANRet ibanRegel_002001(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Deutsche Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002002

          public static IBANRet ibanRegel_002002(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Deutsche Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002101

          public static IBANRet ibanRegel_002101(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      National-Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002200

          public static IBANRet ibanRegel_002200(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      GLS Gemeinschaftsbank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002300

          public static IBANRet ibanRegel_002300(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Volksbank Osnabrück eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002400

          public static IBANRet ibanRegel_002400(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Bank im Bistum Essen eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002500

          public static IBANRet ibanRegel_002500(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Baden-Württemberg / Baden-Württembergische Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002600

          public static IBANRet ibanRegel_002600(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Bank für Kirche und Diakonie eG, KD Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002700

          public static IBANRet ibanRegel_002700(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Volksbank Krefeld eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002800

          public static IBANRet ibanRegel_002800(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Hannover
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_002900

          public static IBANRet ibanRegel_002900(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Société Générale
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003000

          public static IBANRet ibanRegel_003000(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Volksbank Krefeld eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003101

          public static IBANRet ibanRegel_003101(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      UniCredit Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003200

          public static IBANRet ibanRegel_003200(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      UniCredit Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003301

          public static IBANRet ibanRegel_003301(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      UniCredit Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003400

          public static IBANRet ibanRegel_003400(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      UniCredit Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003501

          public static IBANRet ibanRegel_003501(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      UniCredit Bank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003600

          public static IBANRet ibanRegel_003600(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      HSH Nordbank AG, Hamburg und Kiel
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003700

          public static IBANRet ibanRegel_003700(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      The Bank of Tokyo-Mitsubishi UFJ, Ltd.
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003800

          public static IBANRet ibanRegel_003800(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Ostfriesische Volksbank eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_003900

          public static IBANRet ibanRegel_003900(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Oldenburgische Landesbank AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004001

          public static IBANRet ibanRegel_004001(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Staufen-Breisach
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004100

          public static IBANRet ibanRegel_004100(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Bausparkasse Schwäbisch Hall AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004200

          public static IBANRet ibanRegel_004200(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Deutsche Bundesbank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004300

          public static IBANRet ibanRegel_004300(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Pforzheim Calw
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004301

          public static IBANRet ibanRegel_004301(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Pforzheim Calw
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004400

          public static IBANRet ibanRegel_004400(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse Freiburg
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004500

          public static IBANRet ibanRegel_004500(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      SEB AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004501

          public static IBANRet ibanRegel_004501(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      SEB AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004600

          public static IBANRet ibanRegel_004600(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Santander Consumer Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004700

          public static IBANRet ibanRegel_004700(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Santander Consumer Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004800

          public static IBANRet ibanRegel_004800(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Santander Consumer Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_004900

          public static IBANRet ibanRegel_004900(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      WGZ Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005000

          public static IBANRet ibanRegel_005000(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Sparkasse LeerWittmund
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005100

          public static IBANRet ibanRegel_005100(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Baden-Württemberg / Baden-Württembergische Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005200

          public static IBANRet ibanRegel_005200(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Baden-Württemberg / Baden-Württembergische Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005300

          public static IBANRet ibanRegel_005300(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Baden-Württemberg / Baden-Württembergische Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005400

          public static IBANRet ibanRegel_005400(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Landesbank Baden-Württemberg / Baden-Württembergische Bank
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005401

          public static IBANRet ibanRegel_005401(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Evangelische Darlehnsgenossenschaft eG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005500

          public static IBANRet ibanRegel_005500(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      BHW Kreditservice GmbH
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005600

          public static IBANRet ibanRegel_005600(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      SEB AG
      Throws:
        `java.lang.Exception`

    - #### ibanRegel_005700

          public static IBANRet ibanRegel_005700(java.lang.String blz,
                                 java.lang.String konto,
                                 SEPALand land)
                                          throws java.lang.Exception

      Badenia Bausparkasse
      Throws:
        `java.lang.Exception`

    - #### truncateLeadingZeros

          private static java.lang.String truncateLeadingZeros(java.lang.String konto)

    - #### fillup

          private static java.lang.String fillup(java.lang.String konto)