On 10.01.2014 07:04, Jörg Schmidt wrote:
> Hallo, 
> 
>> -----Original Message-----
>> From: RA Stehmann [mailto:anw...@rechtsanwalt-stehmann.de] 
> 
>> Das Hauptverfahren zur Berechnung der Prüfziffer der IBAN 
>> kann übrigens
>> nicht in einem Starbasic-Makro umgesetzt werden, da der zu 
>> bearbeitende
>> Integerwert zu viele Stellen hat. 
> 
> Man kann das als Stringberechnung implementieren. Ich bin zu faul es selbst
> hinzuschreiben, weswegen ich auf ein Beispiel in VBA verweise:
> http://www.ms-office-forum.net/forum/showthread.php?t=259499
> 
> Dort ist nur in der Zeile die eine Fehlermeldung wegen des Dateityps bringt 
> ein
> VAL() zu ergänzen, aus:
>  bytPrd = Mid$(strNo1, lngVar1, 1) * Mid$(strNo2, lngVar2, 1) + bytCarry
> 
> Wird also:
> 
> bytPrd = VAL(Mid$(strNo1, lngVar1, 1)) * VAL(Mid$(strNo2, lngVar2, 1)) + 
> bytCarry
> 

Das ist das Hauptverfahren:

Zunächst wird aus der Bankleitzahl, der gegebenenfalls mit führenden
Nullen auf zehn Ziffern aufgefüllten Kontonummer (Werte gilt für
Deutschland) und der Zahl 1314 (=DE) und dann noch zwei Nullen eine Zahl
gebildet, aus der die Prüfziffer errechnet wird. Dies erfolgt nach
folgender Methode: Aus der genannten Zahl wird Modulo 97 berechnet und
von 98 abgezogen. Ist die Prüfziffer einstellig, wird sie mit einer
führenden Null aufgefüllt.

Sodann wird die IBAN wie folgt gebildet: DE, zweistellige Prüfziffer,
Bankleitzahl und zehnstellige Kontonummer.

Das Problem ist, dass der so gebildete Integerwert, auf den die
Modulo-Operation anzuwenden ist, für einige Programmiersprachen zu groß ist.

(Mit Python beispielsweise geht es.)

Daher gibt es ein Hilfsverfahren:

http://www.pruefziffernberechnung.de/I/IBAN.shtml

Gruß
Michael





Attachment: signature.asc
Description: OpenPGP digital signature

Antwort per Email an