Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pack-Methode funktioniert noch nicht richtig #79

Closed
markusneidhart opened this issue Mar 14, 2022 · 4 comments
Closed

Pack-Methode funktioniert noch nicht richtig #79

markusneidhart opened this issue Mar 14, 2022 · 4 comments

Comments

@markusneidhart
Copy link
Contributor

markusneidhart commented Mar 14, 2022

Hallo Oli,

mir sind bei der Datenpaket.pack() Methode noch zwei Fehler aufgefallen:

  1. Lücken werden durchgereicht und verhindern korrekte "Paketierung"
  2. Auf mehr als 2 Datensätze aufgeteilte Teildatensätze werden nicht richtig paketiert.

Zu 1, beispielhaft:
Vertrag "12345"
0220.010.13.1, Tds 1
0221.010.13.1, Tds 1
0220.010.13.1, Tds 2
...
Vertrag "12349"
0220.010.13.1, Tds 1
0221.010.13.1, Tds 1
0220.010.13.1, Tds 2
...

Beim "pack" des ersten Vertrags (0220 zusammengefasst) hinterlässt die Prozedur eine Lücke dort, wo der zweite Tds gelegen hat (keine Tds mehr). Diese Lücke wurde aber fälschlicherweise durch den Tds1 vom nächsten Vertrag (hier 12349) wieder aufgefüllt und die Lücken so immer weiter propagiert. D.h. eigentlich hat nur das Pack beim ersten Vertrag wirklich einen Effekt gezeigt.

Zu 2:
0220.010.13.1, Tds 1
0221.010.13.1, Tds 1
0220.010.13.1, Tds 2
0221.010.13.1, Tds 2
0220.010.13.1, Tds 3

Dieses Muster hätte für 0220 die 3 Tds nicht zusammengefasst, sondern hätte einmal 0220 mit Tds 1 und 2 und einmal 0220 mit Tds 3 hinterlassen.

Ist mir mit real-life Daten aufgefallen. Ich mache Dir einen Pull-Request und passen den bestehenden pack-Test entsprechend an. Ich habe dies auf dem neusten develop-Branch gefixt, wäre es aber möglich, dass Du dies auf 5.4 zurückportierst und ggf. eine 5.4.3 lieferst?

markusneidhart added a commit to markusneidhart/gdv.xport that referenced this issue Mar 14, 2022
- korrigiert, dass Leersätze, die durch Mergen entstehen, aufgefüllt werden durch Sätze von späteren Verträgen. Leersätze werden während pack übersprungen.
- korrigiert, dass immer nur max. ein Datensatz zu einem bestehenden gemergt wird. Es könnten bei >2 Teildatensätzen aber auch mehrere Datensätze zu einem verschmolzen werden müssen.
- Angepasste Tests
oboehm added a commit that referenced this issue Mar 14, 2022
Issue #79: Pack-Methode funktioniert noch nicht richtig
@oboehm
Copy link
Owner

oboehm commented Mar 14, 2022

PR ist jetzt gemerge't. Allerdings bin ich gerade auf javaland.eu und komme wohl erst am Wochenende zum releasen. Ob ich einen Rückport auf 5.4.3 schaffe, kann ich nicht versprechen. Was spricht denn gegen einen Update auf 6.1?

@markusneidhart
Copy link
Contributor Author

PR ist jetzt gemerge't. Allerdings bin ich gerade auf javaland.eu und komme wohl erst am Wochenende zum releasen. Ob ich einen Rückport auf 5.4.3 schaffe, kann ich nicht versprechen. Was spricht denn gegen einen Update auf 6.1?

Hallo Oli,

danke vielmals. Das ist schon ok, eilt nicht. Wegen Update auf 6.1: Ja, das wäre schon auch möglich.

@oboehm
Copy link
Owner

oboehm commented Mar 18, 2022

Version 6.1.2 ist jetzt draußen. Daher schließe ich jetzt das Ticket. Sollte der Fix auch auf 5.4 benötigt werden, bitte einen neuen Issue aufmachen.

@oboehm oboehm closed this as completed Mar 18, 2022
@markusneidhart
Copy link
Contributor Author

Version 6.1.2 ist jetzt draußen. Daher schließe ich jetzt das Ticket. Sollte der Fix auch auf 5.4 benötigt werden, bitte einen neuen Issue aufmachen.

Genial, danke. 6.1.2 reicht aus.

oboehm pushed a commit that referenced this issue Apr 30, 2024
- korrigiert, dass Leersätze, die durch Mergen entstehen, aufgefüllt werden durch Sätze von späteren Verträgen. Leersätze werden während pack übersprungen.
- korrigiert, dass immer nur max. ein Datensatz zu einem bestehenden gemergt wird. Es könnten bei >2 Teildatensätzen aber auch mehrere Datensätze zu einem verschmolzen werden müssen.
- Angepasste Tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants