Moin,

On Sonntag, 15. Juni 2008, Thomas Baumgart wrote:
[...]
> yyyyy zzzzzzz/zzzzzzzzz - S^M
> TETTINER STR. 14           ^M
>
> Das taucht dann als
>
> 'xxxxxxxxx, xxxxxx           yyyyy zzzzzzz/zzzzzzzzz - S TETTINER STR.
> 14           '
>
> als Returnwert von GWEN_StringListEntry_Data auf. Die Frage ist jetzt, was
> mit den Blanks los ist? Vor dem ^M stehen ja immer die uns allen bekannten
> 27 Zeichen aus dem Verwendungszweck.
[...]

Das Problem ist hier: Wie soll auf ein Linefeed reagiert werden? In Deinem 
Fall gehoert offensichtlich das S der ersten Zeile zum ersten Wort der 2. 
Zeile. Das muss aber nicht immer so sein, es kommt eher noch haeufiger vor, 
dass beim Linefeed das Wort endet, und in der naechsten Zeile tatsaechlich 
etwas neues anfaengt.

Man sollte hier vielleicht ueberlegen, ob man da nicht irgendwie Filter 
einfuehrt (auch fuer das Extrahieren des Gegenkontos, was QBankManager ja 
auch macht).

Allerdings waeren solche Filter wieder eher Aufgabe der Anwendung, und nicht 
unbedingt etwas fuer die Ebene von AqBanking :-/

Ich nehme an, dass die Probleme ueberhaupt erst dadurch entstehen, dass die 
Bank die Angagen zum Gegenkonte kuenstlich in den Verwendungszweck einbaut. 
Das macht auch die HaSpa so, und die NetBank. Meine Sparkasse Wilhelmshaven 
verwendet aber dafuer z.B. vernuenftigerweise die anderen :86:-Tags, die 
extra fuer diese Angaben definiert wurden.

Warum manche Banken immer noch in :86: einfach pauschal ein einzelnes Feld 
liefert, in das alles hineingewuerfelt wird, ist mir echt schleiderhaft...

Das ist auch die Erklaerung, warum es bei der anderen Bank bei Dir korrekt 
gefiltert wird: Da wird fuer jede Zeile des Verwendungszweckes ein eigenes 
Tag geliefert (also ?21-?24), mit dieser Information koennen die CRLF 
ausgefiltert werden, weil in solchen Tags im Prinzip ein Linefeed nicht 
gewollt sein kann (schliesslich wird ja das Zeilenden explizit durch das Ende 
des Tags angegeben).

Die andere Bank liefert aber als Code im :86: nur "999", was soviel heisst 
wie "freies Textfeld, unformatiert". Die Bank hat da zwar offensichtlich ihr 
eigenes Format intern definiert, aber das kann AqBanking nicht wissen. 
Folglich kann es hier nicht unbedingt die CR/LF ignorieren, denn die koennten 
hier tatsaechlich das Ende einer Zeile anzeigen...

Das Problem ist also der Datensatz von der Bank, und um den fuer Deinen Fall 
korrekt zu filtern, muesste man halt pro-Bank-Filter haben...

Sowas koennte man ja definierten und z.B. einem Konto zuordnen (also quasi: 
Beim Umsatzabruf fuer Bank X auch Filter X verwenden), aber das sind alles 
Dinge, die eher in die Anwendung gehoeren :-/ Zumindest ist das in AqBanking 
nicht so gut transparent einzubauen...


Gruss
Martin



-- 
"Things are only impossible until they're not"

Martin Preuss - http://www.aquamaniac.de/
AqBanking - http://www.aqbanking.de/
LibChipcard - http://www.libchipcard.de/

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Aqbanking-devel mailing list
Aqbanking-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel

Reply via email to