Thread Prüfziffer nach ISO 13616 berechnen (2 answers)
Opened by bianca at 2012-12-05 14:22

bianca
 2012-12-05 14:22
#163937 #163937
User since
2009-09-13
6975 Artikel
BenutzerIn

user image
Hi!
Laut Bundesbankseite wird für die Gläubiger-ID dasselbe PZ-Verfahren wie für die IBAN's verwendet.
Allerdings ohne die Geschäftsbereichskennung. Also nur die Stellen 8 bis 18.
Nun habe ich hier ein Beispiel, wo die nationale ID (Stellen 8 bis 18) so lauten: 11768
Die zugehörige PZ müsste eigentlich 72 ergeben.
Das mache ich mit diesem Code:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#perl
use warnings;
use strict;
use Math::BigFloat;

my $id = 11768;
my $land = 'DE';

my $wert = Math::BigFloat->new($id.(ord(substr($land,0,1))-55).(ord(substr($land,1,1))-55));
print sprintf('%02d',98 - ($wert->bmod(97)));

Leider kommt 57 raus.
Der selbe Code bringt aber beim Bundesbank-Beispiel mit der ID 9999999999 korrekterweise 98 raus.
Jemand eine Idee, was ich falsch mache?
Den Code verwende ich bei IBAN's dauernd und hatte noch keine Fehler.
10 print "Hallo"
20 goto 10

View full thread Prüfziffer nach ISO 13616 berechnen