portfolio-performance / portfolio

Track and evaluate the performance of your investment portfolio across stocks, cryptocurrencies, and other assets.
http://www.portfolio-performance.info
Eclipse Public License 1.0
2.94k stars 606 forks source link

Wertpapiere mit gleicher ISIN / WKN beim Import #477

Closed notaword closed 8 years ago

notaword commented 8 years ago

Hallo, mein erster Post hier! Bei mir ist folgendes Problem aufgetreten: Ich habe ein Wertpapier mit gleicher ISIN und WKN angelegt, eines jedoch in der Währung USD mit dem NASDAQ-Ticker und eines in meiner "Hauswährung" Euro mit dem Ticker aus Frankfurt. In der Folge war es mir aber nicht mehr möglich die Import-Funktion (für jegliche comdirect-Importe) zu nutzen. Es hat erst eine Weile gedauert, bis ich den Zusammenhang zu den Wertpapieren mit gleicher ISIN/WKN mit Hilfe des Error-Logs identifiziert habe. Die Wertpapiere: github_gleicheisinundwkn Error-Log-Meldung:

Wed Mar 23 09:00:10 CET 2016 An internal error occurred during: "comdirect".

java.lang.IllegalArgumentException: ISIN US00507V1098 existiert mehrfach

at name.abuchen.portfolio.datatransfer.SecurityCache.failWith(SecurityCache.java:47)

at name.abuchen.portfolio.datatransfer.SecurityCache.lambda$2(SecurityCache.java:33)

at java.util.HashMap.merge(Unknown Source)

at java.util.stream.Collectors.lambda$toMap$172(Unknown Source)

at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)

at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

at java.util.stream.AbstractPipeline.copyInto(Unknown Source)

at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

at java.util.stream.AbstractPipeline.evaluate(Unknown Source)

at java.util.stream.ReferencePipeline.collect(Unknown Source)

at name.abuchen.portfolio.datatransfer.SecurityCache.<init>(SecurityCache.java:32)

at name.abuchen.portfolio.datatransfer.pdf.AbstractPDFExtractor.extract(AbstractPDFExtractor.java:65)

at name.abuchen.portfolio.datatransfer.pdf.ComdirectPDFExtractor.extract(ComdirectPDFExtractor.java:1)

at name.abuchen.portfolio.ui.wizards.datatransfer.ReviewExtractedItemsPage$10.run(ReviewExtractedItemsPage.java:503)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Wenn man bei einem der Wertpapiere ISIN und WKN entfernt, ist die Benutzung der Import-Funktion wieder möglich (hat bei mir aber erstmal gedauert bis ich draufgekommen bin).

VG Tobi

buchen commented 8 years ago

Du hast Recht, ich sollte vielleicht nicht ganz so brutal sein und gar keine Importe mehr erlauben. Ehrlich gesagt habe ich nicht damit gerechnet, dass Benutzer Wertpapiere mit derselben ISIN / WKN mehrfach anlegen. Damit mein Programm nicht in weitere Probleme reinläuft, breche ich einfach mit dieser Fehlermeldung ab.

Ich muss mir mal überlegen wie ich damit umgehe. Wenn ich Wertpapiere mit doppelter WKN/ISIN ignoriere, dann aber Buchungen im PDF für dieses Wertpapier sind, dann würde ich ggf. das Wertpapier erneut anlegen.

Natürlich könnte ich den Benutzer bei doppelten ISIN auch fragen - den Aufwand habe ich bisher gescheut weil ich dachte es tritt nicht so häufig auf.

Bis ich was geändert habe, führt leider kein Weg daran vorbei die ISIN und WKN für das zweite Wertpapier einfach leer zu lassen.

buchen commented 8 years ago

Der Import schlägt jetzt nur noch fehl (mit Fehlermeldung um UI) wenn man ein Wertpapier importieren will, das tatsächlich doppelte ISIN, WKN oder Ticker Symbole hat.