MOD 97 10 - homebeaver/ungueltig GitHub Wiki

MOD 97-10 Prüfzeichensystem

Das ISO-MOD 97-10 Prüfzeichensystem ist ein reines Systeme (Divisor ist 97) mit zwei Prüfzeichen, siehe de.wikipedia. Reine Systeme verwenden nur einen Divisor.

Simplified procedure

In ISO/IEC 7064 wird ein vereinfachtes Verfahren (Simplified procedure) zur Berechnung der Prüfzeichen vorgestellt.

... since in normal decimal notation the digits are already weighted by the powers of the radix 10, a simplified procedure may be adopted. Append two zeros to the string, and divide by 97. Subtract the remainder from 98. The two digits in the result are the check characters.

Prüfzeichen

Die [ISO/IEC_7064]] Spec ist kostenpfichtig. In [ISO-11649 "Structured creditor reference to remittance information" Kreditorreferenz gibt es eine Beschreibung, die man ebenso auf IBAN anwenden kann.

6.2 Checking the check digits

6.2.1 If the RF Creditor Reference is in paper format (see Annex A: RF68 5390 0754 7034), delete all blank spaces.

6.2.2 Move the first four characters to the right-hand end of the RF Creditor Reference

6.2.3 Convert upper and lower case letters to digits in accordance with the following: A = 10, B = 11, ... Z = 35

6.2.4 Apply the check character system MOD 97-10 (see ...).

6.2.5 If the remainder is 1 (one), the number is valid.

Für die Berechnung gibt es ein Beispiel mit Ziffern: customer-defined creditor reference 2348231.

B.1 Constructing ...

B.1.4 Convert the alpha characters RF to numeric characters 2715 in accordance with 6.2.3. The number now becomes 2348231271500 ( plus Anhängen von 00 )

B.1.5 Calculate the modulo 97 (the remainder after division by 97). The remainder is 27.

B.1.6 Subtract the remainder from 98 and, if the result is less than ten, insert a leading zero. 98 minus 27 equals 71.

B.1.7 Insert the code RF and check digit at the left-hand end of the creditor reference. The RF Creditor Reference is equal to RF712348231 (electronic format).

Prüfzeichen berechnen

Hier ein Auszug aus der Leitweg Format-Spezifikation.

Beispielhafte Berechnung für eine Leitweg-ID ohne Prüfziffer: 04011000-1234512345 Daraus wird die zweistellige Prüfziffer (06) in den folgenden Schritten berechnet:

  1. Die Grobadressierung wird übernommen (Stellen 1 bis zum ersten Bindestrich-Minus): 04011000
  2. Die Feinadressierung ohne Bindestrich-Minus wird übernommen: 1234512345
    • Besteht diese nur aus numerischen Zeichen wird sie unverändert übernommen.
    • Beinhaltet diese auch Buchstaben des lateinischen Alphabets, werden diese durch deren Position im Alphabet ersetzt, beginnend bei A = 10, B = 11 bis Z = 35. Diese Variation ist nicht Bestandteil der ISO/IEC 7064 Norm und wird daher nicht in IsoIecPure97System sondern in Klasse Modulus97CheckDigit implementiert.
  3. Zwei Nullen (0) werden angefügt, um die Stellen der Prüfziffer zu belegen: 04011000123451234500
  4. Berechnung Modulo 97: 04011000123451234500 mod 97 = Rest = 92
  5. Subtraktion des Rests von 98 (97+1): 98 – 92 = 06

Validierung

Zur Überprüfung, wird die Leitweg-ID ohne Bindestriche und nach Alphabet-Übersetzung durch 97 geteilt: 04011000123451234506 / 97 Rest 1.

Wenn der Rest 1 ist, dann ist es eine valide Leitweg-ID.

Verwendung

Varianten von MOD 97-10 werden verwendet für