Hallo Martin und aqbanking-Leser,

der momentane DTAUS-importer von aqbanking akzeptiert nur hunderprozent 
korrekte DTAUS-Dateien. Im Rahmen von diversen Testaktionen hatte ich aber 
den Fall, dass die Checksums zwar falsch, der Rest der Daten aber korrekt und 
sinnvoll war. Der momentane DTAUS-Importer verweigert auf Grund der falschen 
checksums aber jeglichen Import. Kann man das nicht etwas lockern? 

Im angehängten patch hab ich die jeweiligen Abbrüche komplett rauskommentiert; 
man würde also nur auf der console entsprechende Fehlermeldungen lesen, 
könnte sich in der importierenden Applikation aber ansonsten selber 
überlegen, ob man die Buchungen will und vor allem welche davon. Beim 
testweisen Import von DTAUS nach gnucash einer Datei, die man manuell aber 
mächtig bearbeitet hatte, las man auf der console dann:

3:2006/09/19 21-15-04:aqbanking(6565):dtaus-import.c:  741: Bad number of C 
sets (is 3, should be 23)
3:2006/09/19 21-15-04:aqbanking(6565):dtaus-import.c:  790: Bad account id 
checksum (is 8017637352,000000, should be 0,000000)
3:2006/09/19 21-15-04:aqbanking(6565):dtaus-import.c:  818: Bad bank code 
checksum (is 44761380,000000, should be 0,000000)
3:2006/09/19 21-15-04:aqbanking(6565):dtaus-import.c:  846: Bad EUR checksum 
(is 56,37, should be 0,00)

Nur weil die Abbrüche rauskommentiert waren, hat man überhaupt mehr als die 
erste Meldung gesehen und die Buchungen dann in der Applikation gehabt. Wäre 
das eine Option? Alternativ: Gäbe es eine Möglichkeit, wenn man den 
AB_IMEXPORTER hat, dass  man da sagt "Checksum-Fehler etc. bitte ignorieren"? 
In der momentanen Struktur vom dtaus-importer sieht mir das nicht ganz so 
einfach aus. Da würde ich eher dafür stimmen, die checksum-Fehler nicht zum 
Abbruch zu machen. Meinungen?

Christian
Index: src/plugins/parsers/dtaus/dtaus-import.c
===================================================================
--- src/plugins/parsers/dtaus/dtaus-import.c	(Revision 1058)
+++ src/plugins/parsers/dtaus/dtaus-import.c	(Arbeitskopie)
@@ -739,8 +739,8 @@
   }
   if (i!=csets) {
     DBG_ERROR(AQBANKING_LOGDOMAIN, "Bad number of C sets (is %d, should be %d)", csets, i);
-    GWEN_Buffer_free(tmp);
-    return -1;
+    /* GWEN_Buffer_free(tmp);
+       return -1; */
   }
 
   /* checksum of DEM values */
@@ -788,8 +788,8 @@
     if (sumAccountIds!=dd) {
       DBG_ERROR(AQBANKING_LOGDOMAIN, "Bad account id checksum (is %f, should be %f)",
                 sumAccountIds, dd);
-      GWEN_Buffer_free(tmp);
-      return -1;
+      /* GWEN_Buffer_free(tmp);
+	 return -1; */
     }
     else {
       DBG_DEBUG(AQBANKING_LOGDOMAIN, "Account id checksum ok");
@@ -816,8 +816,8 @@
     if (sumBankCodes!=dd) {
       DBG_ERROR(AQBANKING_LOGDOMAIN, "Bad bank code checksum (is %f, should be %f)",
                 sumBankCodes, dd);
-      GWEN_Buffer_free(tmp);
-      return -1;
+      /* GWEN_Buffer_free(tmp);
+	 return -1; */
     }
     else {
       DBG_DEBUG(AQBANKING_LOGDOMAIN, "Bank code checksum ok");
@@ -844,8 +844,8 @@
     if (sumEUR!=dd) {
       DBG_ERROR(AQBANKING_LOGDOMAIN, "Bad EUR checksum (is %.2f, should be %.2f)",
                 sumEUR/100.0, dd/100.0);
-      GWEN_Buffer_free(tmp);
-      return -1;
+      /* GWEN_Buffer_free(tmp);
+	 return -1; */
     }
     else {
       DBG_DEBUG(AQBANKING_LOGDOMAIN, "EUR checksum ok");
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Aqbanking-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel

Reply via email to