Hallo Gemeinde,
da ich das selbst mal gebraucht habe, habe ich eine Prüfung für IBANs (bisher nur Deutsche) in Formelsprache geschrieben. Evlt. braucht es ja auch mal einer von euch.
Das ganze habe ich von der Seite
http://www.iban.de/iban-pruefsumme.html abgeleitet.
Gruß
Thorsten
FeldInhalt:=@Text(@GetField("Iban"));
_pruef:=@Left(FeldInhalt;4);
_pruef:=@Right(_pruef;2);
_iban := FeldInhalt;
_land:=@Left(_iban;2);
_blz:=@Left(_iban;12);
_blz:=@Right(_blz;8);
_kto:=@Right(FeldInhalt;10);
_bban:=_blz + _kto;
_land:=@ReplaceSubstring(@UpperCase(_land);"D":"E";"13":"14");
_bban:=_bban + _land +"00";
_Div:=@TextToNumber(@Left(_bban;9));
_bban:=@Right(_bban;@Length(_bban)-9);
_c:=@Modulo(_Div;97);
@While(@Length(@Text(_bban))!=0;
@If(@Length(@Text(_bban))<9;@Do(_Div:=@Text(_c) + @Left(@Text(_bban);@Length(@Text(_bban)));_bban:="");@Do(_Div:=@Text(_c) + @Left(@Text(_bban);9-@Length(@Text(_c)));_bban:=@Right(@Text(_bban);@Length(@Text(_bban))-(9-@Length(@Text(_c))))));
_Div:=@TextToNumber(_Div);
_c:=@Modulo(_Div;97)
);
_c:=98-_c;
_c:=@If(@Length(@Text(_c))=1;"0" + @Text(_c);_c);
IBANpruefer:=@If(@Text(_c)=@Text(_pruef);1;0);
@If(IBANpruefer=1;@Prompt([Ok];"Ergebnis";"IBAN OK");@Prompt([Ok];"Ergebnis";"IBAN FALSCH"))