Verwendungszweck abgeschnitten ":" Zeichenproblem?

Verwendungszweck abgeschnitten

 
teesee
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 01 / 2009
Betreff:

Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 19.01.2009 - 19:10 Uhr  ·  #1
Bin durch Zufall auf ein interessantes Problem gestoßen:
Lt. neuer Featurelist auf der Homepage
" Mehr als zwei Zeilen Verwendungszweck [#188] "
wird der vollständige Verwendunszweck dargestellt.
Ich habe in einem Verwendunszweck einen Doppelpunkt ":" mittendrin.
Will ich mir den Verwendungszweck anzeigen lassen, schneidet er den Rest incl. Doppelpunkt weg.
Bsp:

ERTRAEGNISGUTSCHRIFT VOM 10.01.09
DEPOTBESTAND: 90,000
XXXX. SHARES DL 3
8533445 USD 0,05

erscheint als:

ERTRAEGNISGUTSCHRIFT VOM 10.01.09
DEPOTBESTAND

Auf der Webpage der Bank wird alles korrekt angezeigt.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 19.01.2009 - 19:22 Uhr  ·  #2
Werden in jameica.log irgendwelche Warnungen/Fehler dazu angezeigt? Mich wuerde interessieren, ob es sich ggf. nur um einen Anzeigefehler handelt oder die Daten tatsaechlich fehlen.
teesee
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 01 / 2009
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 19.01.2009 - 22:58 Uhr  ·  #3
Wenn ich die entspr. Transaktion bzw. Kontenbewegung auswähle erscheint (jameika debug level: info)
Code
[Mon Jan 19 21:45:26 CET 2009][ERROR][de.willuhn.jameica.hbci.gui.controller.UmsatzDetailControl.getAddressbookEntry] unable to check, if address in addressbook


(jameika debug level: debug)
Code
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.gui.GUI.startView] starting view: de.willuhn.jameica.hbci.gui.views.UmsatzDetail                                                                                                                                   
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.messaging.NamedQueue.unRegisterMessageConsumer] unregistering message consumer de.willuhn.jameica.hbci.gui.controller.KontoControl$SaldoMessageConsumer
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.gui.GUI$2.run] disposing previous view
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.gui.parts.TablePart$1.widgetDisposed] saving table order: !datum_pseudo
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.security.JameicaSecurityManager.checkFile] checking write permissions for file: "/home/tilo/.jameica/cfg/de.willuhn.jameica.gui.parts.AbstractTablePart.properties"
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.messaging.NamedQueue.unRegisterMessageConsumer] unregistering message consumer de.willuhn.jameica.hbci.gui.parts.UmsatzList$UmsMessageConsumer
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.gui.GUI$2.run] dispose finished
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.gui.GUI$2.run] adding view de.willuhn.jameica.hbci.gui.views.KontoNew to history
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from KONTO where ID =1
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.datasource.db.DBIteratorImpl.init] executing sql query: prep91: select * from UMSATZTYP where umsatztyp = 1 or umsatztyp = 2 or umsatztyp is null ORDER BY nummer,name
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.system.ServiceFactory.lookup] searching for service addressbook for plugin de.willuhn.jameica.hbci.HBCI
[Mon Jan 19 21:46:23 CET 2009][DEBUG][de.willuhn.jameica.system.ServiceFactory.lookup] found in cache
[Mon Jan 19 21:46:23 CET 2009][ERROR][de.willuhn.jameica.hbci.gui.controller.UmsatzDetailControl.getAddressbookEntry] unable to check, if address in addressbook

Anscheinend interpretiert das Prog ":" nicht als "normalen" Text sondern als Anweisung/Befehl etc.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 19.01.2009 - 23:50 Uhr  ·  #4
Zitat geschrieben von teesee
Wenn ich die entspr. Transaktion bzw. Kontenbewegung auswähle erscheint (jameika debug level: info)
Code
[Mon Jan 19 21:45:26 CET 2009][ERROR][de.willuhn.jameica.hbci.gui.controller.UmsatzDetailControl.getAddressbookEntry] unable to check, if address in addressbook



Das kannst du ignorieren. Es bedeutet nur, dass Hibiscus im Adressbuch gesucht hat, ob dort eine Adresse mit der gleichen Bankverbindung wie die des Umsatzes existiert.

Zitat geschrieben von teesee

Anscheinend interpretiert das Prog ":" nicht als "normalen" Text sondern als Anweisung/Befehl etc.


Nein. Einen Text "versehentlich" als Befehl zu interpretieren, ist in Java (im Gegensatz zu diversen Scriptsprachen) gar nicht moeglich. Wie kommst du auf diese Vermutung?

Kannst du zum Test mal einen Umsatz als CSV-Datei exportieren, diese anschliessend in einem Texteditor oeffnen, im Verwendungszweck manuell einen Doppelpunkt einfuegen und die Datei dann wieder importieren? Wird es da korrekt angezeigt? Ich vermute fast, dass der Text hinter dem Doppelpunkt schon vorher verlorengegangen ist.
Captain FRAG
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Westfalen
Beiträge: 5096
Dabei seit: 05 / 2003
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 08:40 Uhr  ·  #5
Wir der Verwendungszweck im Programm inhaltlich auf Gültigkeit geprüft?
Nur so ne Idee, weil der Doppelpunkt in DTAUS nicht erlaubt ist, in SWIFT aber schon.
teesee
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 01 / 2009
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 10:36 Uhr  ·  #6
Wie vorgeschlagen csv Export, Doppelpunkte in Verwendungszweck und "Weitere Verwendungszwecke" hinzugefügt, wieder csv Import (alles utf) der Doppelpunkt wurde angezeigt.
Also liegt es an der Bank. Die schneiden einfach die Zeichen nach dem ":" weg. :-(
Ich habe die Probleme mit der comdirect Bank. Könnt Ihr evtl. mal mit einer Testüberweisung auch an andere Banken das verifizieren?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 10:58 Uhr  ·  #7
Zitat geschrieben von Captain FRAG
Wir der Verwendungszweck im Programm inhaltlich auf Gültigkeit geprüft?
Nur so ne Idee, weil der Doppelpunkt in DTAUS nicht erlaubt ist, in SWIFT aber schon.


Guter Tipp. Fuer einen Moment dachte ich: "Jepp, das koente es sein". Aber beim Abrufen der Umsaetze pruefe ich das nicht.
Captain FRAG
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Westfalen
Beiträge: 5096
Dabei seit: 05 / 2003
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 11:07 Uhr  ·  #8
Zitat geschrieben von teesee
Also liegt es an der Bank. Die schneiden eifach die Zeichen nach dem ":" weg. :-(


Das müsste man in der "nackten" HBCI-Kommunikation sehen können. Ich weiss nicht, ob diese von der Software per Default aufgezeichnet und mitgeloggt wird. Ich schätze aber mal, das es dafür einen Parameter gibt.

Willow, was sagst du?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 11:53 Uhr  ·  #9
Einfach mal Log-Level in Datei->Einstellungen auf "DEBUG" stellen, dann Rechtsklick auf das betreffende Konto und "Kontoauszugsdatum zuruecksetzen..." klicken (das fuehrt dazu, dass bereits abgerufene Umsaetze nochmal geholt werden, insofern sie bei der Bank noch vorliegen.

Anschliessend in ~/.jameica/jameica.log schauen.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 15:47 Uhr  ·  #10
teesee hatte mir die Daten per PM zukommen lassen. Hier der relevante und IMHO fehlerverursachende Teil:

Code

:20:MT940-0901200102 
:21:NONREF 
:25:****************
:28C:0/38 
:60M:**********
:61:*****************
:86:300?20KUPON?21ERTRAEGNISGUTSCHRIFT VOM 15?22.01.09?23DEPOTBESTAND 
:             9?240,000?25MOTOROLA INC. SHARES DL 3?26853936 
        USD 0,05?32 
:62F:***********


Entweder die Bank schickt kaputtes Swift oder Swift ist wirklich ein so derart kaputtes Format, dass sowas erlaubt ist. Zeile 8 beginn mit einem Doppelpunkt. Der laeutet aber nicht das naechste Tag ein sondern ist Bestandteil des Content (steht eigentlich hinter "DEPOTBESTAND"). Ich nehme an, der Fehler waere nicht aufgetreten, wenn der Doppelpunkt noch auf die vorherige Zeile gepasst haette.

@Stefan: Ich hab in org.kapott.hbci.swift.Swift#getTagValue(String, String, int) (Zeile 53) mal etwas mit folgendem Regex rumprobiert, um Zeilen mit einzuschliessen, wenn sie zwar mit Doppelpunkt beginnen, aber aber darauf kein Tag folgt:

^\r\n:[0-9]{2}\\w?:[\\s\\S]+

Bin mit den anschliessenden Offsets fuer startpos und endpos dann aber etwas durcheinandergekommen. Willst du es dir mal anschauen?
Captain FRAG
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Westfalen
Beiträge: 5096
Dabei seit: 05 / 2003
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 16:54 Uhr  ·  #11
Das von der Bank erzeugte Swift dürfte kaputt sein:

Zitat geschrieben von FinTS.org
B. S.W.I.F.T.-FORMATE
Da für Homebanking nicht die kompletten S.W.I.F.T.-Fomate erforderlich sind, handelt es sich bei den nachfolgenden Formaten nicht um die Originalbeschreibung von S.W.I.F.T., sondern um modifizierte Belegungsrichtlinien. Es werden nur die notwendigen Felder belegt. Nicht benötigte Felder werden entweder konstant belegt oder ausgelassen. Gleichwohl stellen alle anhand dieser Vorschriften erzeugten Datensätze gültige S.W.I.F.T-Formate dar.

-Allgemeine Syntaxvereinbarungen:
[...viel Text...]
• Der Inhalt eines Feldes darf am Anfang einer Zeile nicht mit einem Doppelpunkt oder einem Bindestrich beginnen.
[...viel Text...]
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 20.01.2009 - 17:08 Uhr  ·  #12
Zitat geschrieben von Captain FRAG
Das von der Bank erzeugte Swift dürfte kaputt sein:


Da muss ich mir ja jetzt echt ein hämisches Grinsen verkneifen ;)
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 21.01.2009 - 19:15 Uhr  ·  #13
Der DTAUS-Parser von HBCI4Java geht davon aus, dass keine Doppelpunkte in "payload"-Texten vorkommen. Da hier doch ein Doppelpunkt auftaucht, kommt der Parser durcheinander...

Um das "sauber" zu lösen, müsste ich ein entsprechendes Rewriter-Modul für "kaputte DTAUS-Streams" schreiben und der betreffenden Bank die Rechnung dafür zukommen lassen...

Grüße
-stefan-
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 21.01.2009 - 19:22 Uhr  ·  #14
Sorry, mein letztes Posting ist nicht ganz korrekt.

Im MT940 (SWIFT-Format für "Kontoauszüge") sind theoretisch ":" in den Verwendungszweckzeilen erlaubt. Beim Erzeugen von Überweisungsaufträgen via HBCI sind in den Verwendungszweckzeilen jedoch KEINE ":" erlaubt, weil das Format als "DTAUS" spezifiziert, wobei ":" kein gültiges Zeichen ist.

Letzere Aussage gilt übrigens genomen erst ab HBCI-2.1 - in HBCI-2.01 war diese Einschränkung noch nicht da...

Streng genommen handelt es sich also um einen Bug im SWIFT-MT940-Parser von HBCI4Java - also ein TODO für mich...

-stefan-
Captain FRAG
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Westfalen
Beiträge: 5096
Dabei seit: 05 / 2003
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 21.01.2009 - 21:44 Uhr  ·  #15
Ja, Doppelpunkte sind in SWIFT prinzipiell erlaubt, jedoch innerhalb eines Feldes (hier das Mehrzweckfeldes :86:) nicht zu Beginn eines Zeile bzw. nach CR+LF.

Ich sehe das so, das die Bank fehlerhaft liefert. Es sei denn, ich habe in den Swift-Rules innerhalb FinTS3 etwas übersehen. Hab ja nicht alles gelesen...
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 21.01.2009 - 22:59 Uhr  ·  #16
Zitat geschrieben von Captain FRAG
Ja, Doppelpunkte sind in SWIFT prinzipiell erlaubt, jedoch innerhalb eines Feldes (hier das Mehrzweckfeldes :86:) nicht zu Beginn eines Zeile bzw. nach CR+LF.

Ah ja, dieses Detail habe ich in dem gezeigten "kaputten" SWIFT-Datenstrom übersehen. Daran wird es wohl in der Tat liegen - Doppelpunkt am Zeilenanfang ist tödlich :-)
Also schieben wir es doch erst mal wieder auf die (lange) Bank, bis wir ein Dementi haben :-)

-stefan-
Nemax
Neuling
Avatar
Geschlecht: keine Angabe
Beiträge: 1
Dabei seit: 06 / 2010
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 13.06.2010 - 13:47 Uhr  ·  #17
Hallo,

ich habe aktuell das Problem, das, glaube ich, zu diesem Thread passt. Deshalb wollte ich fragen, ob es noch gelöst wird oder wie es hier weitergeht, oder ob ich damit leben werden muss.

In Jameica/Hibiscus wird der Verwendungszweck einer Buchung wie folgt angezeigt (Jameica 1.9.0, Hibiscus 1.11.0, Bank: Comdirect Bank):

Zitat
KUPON
ERTRAEGNISGUTSCHRIFT VOM 09
.06.10
DEPOTBESTAND


In dem Original-Comdirect-Webinterface wie folgt:

Zitat
ERTRAEGNISGUTSCHRIFT VOM 09.06.10
DEPOTBESTAND: 40,000
SALZGITTER AG AKTIEN O.N.
620200 EUR 0,25
Ref. xxxxxxxxxxxxxxxx/x


Anscheinend ist tatsächlich alles ab dem ersten Doppelpunkt abgeschnitten, obwohl dieser nicht an einem Zeilenanfang steht.

Eine weitere Frage wäre, wo der Zeilenumbruch mitten im Datum herkommt.

Habe schon das Loglevel auf DEBUG gestellt, aber erst, nachdem ich die Transaktion runtergeladen habe. Muss wohl bis zur nächsten Gutschrift (die hoffentlich bald kommt!) warten.

Grüße,
Nemax
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 14.06.2010 - 09:14 Uhr  ·  #18
Der Zeilenwechsel kommt wohl daher, dass eine Verwendungszweckzeile nur 27 Zeilen lang sein darf. In den abgeholten Kontoauszügen steht der Verwendungszweck darum auf ZWEI Zeilen verteilt. Hibiscus kann nun nicht "wissen", dass diese zwei technischen Zeilen eigentlich eine logische Zeile sein sollten.

Warum die "DEPOTBESTAND"-Zeile nach dem Doppelpunkt abgeschnitten ist, kann nur geklärt werden, wenn wir im Logfile (DEBUG) sehen, wie eine solche Buchung von der Bank abgeholt wird (am besten per Mail oder PN).

-stefan-
kleiner77
Benutzer
Avatar
Geschlecht:
Beiträge: 779
Dabei seit: 08 / 2004
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 15.07.2010 - 09:52 Uhr  ·  #19
HBCI4Java enthält nun einen Workaround für die fehlerhaften ":" am Zeilenanfang. Wird voraussichtlich demnächst auch in Hibiscus verfügbar sein.

Danke für die Logfiles!

-stefan-
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10835
Dabei seit: 03 / 2005
Betreff:

Re: Verwendungszweck abgeschnitten ":" Zeichenproblem?

 · 
Gepostet: 15.07.2010 - 11:22 Uhr  ·  #20
Ist eingecheckt und morgen im Nightly-Build.
Gewählte Zitate für Mehrfachzitierung:   0