Hi Christian,
[...]Wenn mir jemand eine Code-Korrektur schickt, nehme ich die gerne ins Programm und bringe eine neue Version raus.

Gruß

Christian Stimming

anbei ein Patch fuer die Methode 74.
Den Part mit "if (accountId.length() < 7)" habe ich auskommentiert da ich in der aktuellen Methodenbeschreibung der Bundesbank keinen Anhaltspunkt fuer diese Variante finde.

Ansonsten scheint sich bei den Berechnungsmethoden nichts geaendert zu haben, die Berechnungen sollten damit wieder aktuell sein.

Beste Grüße,

Jochen

--
ECS-Solution GmbH   Handelsregister   Geschäftsführer   Prokurist
Raiffeisenstr. 26   Kaiserslautern    Jochen Schrör     RA Felix Kuntz
67817 Imsbach       HRB 12047         ebenda
Germany
Tel.: +49 (6302) 60971-0    Vom Präsidenten des Landgerichtes Kaisers-
Fax : +49 (6302) 60971-1    lautern zugelassenes Inkassounternehmen

*** methods.cc_old      2007-02-09 22:29:50.000000000 +0100
--- methods.cc  2007-06-22 00:29:10.000000000 +0200
***************
*** 753,762 ****
      number2Array("2121212120", weight);
      if (AccountNumberCheck::OK == algo01(10, weight, true, 10, account))
        return AccountNumberCheck::OK;
!     if (accountId.length() < 7) {
!       if (account[9] == (5 - (algo03a(weight, true, account, 0, 9) % 5)))
!           return AccountNumberCheck::OK;
      }
      return AccountNumberCheck::ERROR;
  }
  AccountNumberCheck::Result method_75(int *account, int *weight) {
--- 753,772 ----
      number2Array("2121212120", weight);
      if (AccountNumberCheck::OK == algo01(10, weight, true, 10, account))
        return AccountNumberCheck::OK;
! // --> Modify by Jochen Schroer, 2007-06-22
! // deactivate this variant because don't find it in documentation of 
Pruefmethode 74
! //    if (accountId.length() < 7) {
! //        if (account[9] == (5 - (algo03a(weight, true, account, 0, 9) % 5)))
! //            return AccountNumberCheck::OK;
! //    }
!     if (accountId.length() == 6) {
!         // little trick, documentation says "checksum = diff crossfoot to 
next halfdecade"
!         // but because it is simpler to calculate we add 5 (a halfdecade) to 
the crossfoot and
!         // calculate the diff to next full decade
!         if (account[9] == (10 - ((algo03a(weight, true, account, 0, 9) + 5) % 
10)))
!             return AccountNumberCheck::OK;
      }
+ // <-- end modifaction by Jochen Schroer
      return AccountNumberCheck::ERROR;
  }
  AccountNumberCheck::Result method_75(int *account, int *weight) {
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Aqbanking-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel

Reply via email to