Seite 1 von 1

Fehler "Ungültige Sequenz" bei Abrechnung Kursteilnehmer

Verfasst: Freitag 14. März 2014, 20:17
von jenzuslongus
Hallo zusammen,

ich bin seit einiger Zeit JVerein-Nutzer und melde mich zum ersten Mal im Forum, weil ich ein Problem habe. Derzeit nutze ich die Version 2.6.2 von JVerein unter Linux.

Unter der Version 2.6.1 habe ich zwei Mal SEPA-Lastschriften für Kursteilnehmer von JVerein erzeugen lassen und erfolgreich eingezogen. Ich habe mir dazu eine xml-Datei erstellen lassen und diese dann bei der Bank eingereicht. Nach dem Update auf 2.6.2 wollte ich dasselbe zum dritten Mal machen. Wenn ich jetzt auf Abrechnung klicke, gebe ich Folgendes ein:

Modus: keine Beitragsberechnung
Fälligkeit SEPA (Erst-/Einzel-Lastschrift): 31.03.2014
Fälligkeit SEPA (Folge-/Letzte-Lastschrift): 31.03.2014
Stichtag 01.03.2014
Von Eingabedatum: leer
Zahlungsgrund für Beiträge Klassenmusizieren Grundschule
Zusatzbeträge: kein Haken
Kursteilnehmer: Haken
Kompakte Abbuchung: kein Haken
SEPA-Datei drucken: Haken
Abbuchungsausgabe: Datei

Dann klicke ich auf "starten" und erhalte nach Angabe der Dateinamen folgenden Fehler (Nachname steht hier als Platzhalter für den ersten Kursteilnehmer):
Nachname: Ungültige Sequenz
Hier der Ausschnitt aus dem Logfile mit Level DEBUG:

Code: Alles auswählen

[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.transactionBegin] [begin] transaction count: 1
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.getInsertSQL] executing sql statement: prep100: insert into ABRECHNUNGSLAUF (FAELLIGKEIT2,STICHTAG,FAELLIGKEIT,MODUS,ZAHLUNGSGRUND,ABBUCHUNGSAUSGABE,EINGABEDATUM,KURSTEILNEHMER,DATUM,ZUSATZBETRAEGE,DTAUSDRUCK) values (?,?,?,?,?,?,?,?,?,?,?) {1: DATE '2014-03-31', 2: DATE '2014-03-01', 3: DATE '2014-03-31', 4: 0, 5: 'Klassenmusizieren Grundschule', 6: 1, 7: NULL, 8: TRUE, 9: DATE '2014-03-14', 10: FALSE, 11: TRUE}
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.DBIteratorImpl.init] executing sql query: prep101: select KONTO.* from KONTO where nummer = ? {1: 'DE28354611063100948019'}
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.DBIteratorImpl.init] executing sql query: prep102: select KONTO.* from KONTO where nummer = ? {1: '3100948019'}
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.DBIteratorImpl.init] executing sql query: prep103: select BEITRAGSGRUPPE.* from BEITRAGSGRUPPE where betrag = 0
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.DBIteratorImpl.init] executing sql query: prep104: select BEITRAGSGRUPPE.* from BEITRAGSGRUPPE where betrag > 0
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.DBIteratorImpl.init] executing sql query: prep105: select KURSTEILNEHMER.* from KURSTEILNEHMER where abbudatum is null
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.transactionRollback] [rollback] transaction count: 0
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.transactionRollback] [rollback] transaction rollback
[Fri Mar 14 20:06:36 CET 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor.check] creating progress monitor for GUI
[Fri Mar 14 20:06:36 CET 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Fri Mar 14 20:06:36 CET 2014][DEBUG][de.willuhn.jameica.messaging.NamedConcurrentQueue.deliver] deliver message [Fri Mar 14 20:06:36 CET 2014][ERROR] Bekovic: Ungültige Sequenz
Mittlerweile glaube ich, dass die Abrechnung für "Kursteilnehmer" eher für einmalige Abrechnungen gedacht ist, oder? Ich hätte wahrscheinlich eine SEPA-Sammellastschrift anlegen müssen. Bei dem "Kurs" handelt es sich um eine Aktion an der örtlichen Grundschule, die bis Ende des Schuljahres läuft und für die monatliche Beiträge eingezogen werden. Ich habe auch in den alten xml-Dateien geschaut, dort ist als Typ für die SEPA-Lastschrift

Code: Alles auswählen

<SeqTp>OOFF</SeqTp>
angegeben, was einer einmaligen Lastschrift entspricht.

Ich habe mal versucht, den ersten Kursteilnehmer zu löschen, weil ich dachte, dass das am ersten Datensatz liegt, aber das klappt leider nicht mit der Meldung "Fehler beim Löschen des Kursteilnehmers". Hier ein Auszug aus dem Log:

Code: Alles auswählen

[Fri Mar 14 20:14:00 CET 2014][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog$1.run] modal type: primary
[Fri Mar 14 20:14:01 CET 2014][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog.close] closing dialog
[Fri Mar 14 20:14:01 CET 2014][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog$5.run] dialog closed
[Fri Mar 14 20:14:01 CET 2014][DEBUG][de.willuhn.jameica.gui.dialogs.AbstractDialog.close] notifying listeners
[Fri Mar 14 20:14:01 CET 2014][DEBUG][de.willuhn.jameica.messaging.NamedConcurrentQueue.deliver] deliver message [Fri Mar 14 20:14:01 CET 2014][ERROR] Fehler beim Löschen des Kursteilnehmers
[Fri Mar 14 20:14:01 CET 2014][ERROR][de.jost_net.JVerein.gui.action.KursteilnehmerDeleteAction.handleAction] Fehler beim Löschen des Kursteilnehmers
java.rmi.RemoteException: delete failed, rollback successful; nested exception is: 
        org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKLASTSCHRIFT3: PUBLIC.LASTSCHRIFT FOREIGN KEY(KURSTEILNEHMER) REFERENCES PUBLIC.KURSTEILNEHMER(ID) (1)"
Referential integrity constraint violation: "FKLASTSCHRIFT3: PUBLIC.LASTSCHRIFT FOREIGN KEY(KURSTEILNEHMER) REFERENCES PUBLIC.KURSTEILNEHMER(ID) (1)"; SQL statement:
delete from KURSTEILNEHMER where ID = 1 [23503-172]
        at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
        at de.jost_net.JVerein.gui.action.KursteilnehmerDeleteAction.handleAction(KursteilnehmerDeleteAction.java:68)
        at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:200)
        at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
        at de.willuhn.jameica.gui.GUI.loop(GUI.java:827)
        at de.willuhn.jameica.gui.GUI.init(GUI.java:310)
        at de.willuhn.jameica.system.Application.init(Application.java:148)
        at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
        at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKLASTSCHRIFT3: PUBLIC.LASTSCHRIFT FOREIGN KEY(KURSTEILNEHMER) REFERENCES PUBLIC.KURSTEILNEHMER(ID) (1)"
Referential integrity constraint violation: "FKLASTSCHRIFT3: PUBLIC.LASTSCHRIFT FOREIGN KEY(KURSTEILNEHMER) REFERENCES PUBLIC.KURSTEILNEHMER(ID) (1)"; SQL statement:
delete from KURSTEILNEHMER where ID = 1 [23503-172]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
        at org.h2.message.DbException.get(DbException.java:169)
        at org.h2.message.DbException.get(DbException.java:146)
        at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:421)
        at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:438)
        at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:314)
        at org.h2.table.Table.fireConstraints(Table.java:880)
        at org.h2.table.Table.fireAfterRow(Table.java:897)
        at org.h2.command.dml.Delete.update(Delete.java:100)
        at org.h2.command.CommandContainer.update(CommandContainer.java:79)
        at org.h2.command.Command.executeUpdate(Command.java:235)
        at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:127)
        at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:112)
        at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:366)
        ... 11 more
Ich kann nicht sage, ob die Fehler miteinander zu tun haben. Ich hoffe aber, dass einer von euch das kann und vor allem hoffe ich, dass ich mir meine Datenbank nicht zerschossen habe. Hoffentlich habe ich jetzt nicht zu viele Informationen auf einmal rausgelassen. Wenn noch etwas fehlt für die Fehlersuche, lasst es mich bitte wissen.

Vielen Dank für eure Hilfe und viele Grüße
Jens

Re: Fehler "Ungültige Sequenz" bei Abrechnung Kursteilnehmer

Verfasst: Samstag 15. März 2014, 20:52
von Tobit
Hallo zusammen,

auch ich nutzt schon seit einiger Zeit JVerein und melde mich zum ersten Mal im Forum...

Mir erscheint die gleiche Fehlermeldung beim Abrechnen einer von uns angebotenen Fortbildung:
habe die Teilnehmer (alle Nichtmitglieder) in „Kursteilnehmer" erfasst und wollte die Abrechnung starten,

Modus: keine Beitragsberechnung
Fälligkeit SEPA (Erst-/Einzel-Lastschrift): 25.03.2014
Fälligkeit SEPA (Folge-/Letzte-Lastschrift): 25.03.2014
Stichtag 01.01.2014
Zahlungsgrund: Kursgebühr
Zusatzbeträge: kein Haken
Kursteilnehmer: Haken
Kompakte Abbuchung: kein Haken
SEPA-Datei drucken: Haken
Abbuchungsausgabe: Hibiscus

es kommt folgende Fehlermeldung:

[14.03.2014 15:10:26] Mayr: Ungültige Sequenz
[14.03.2014 15:10:26] Mayr: Ungültige Sequenz

Mayr ist der erste Teilnehmername.

Kann mir außerdem jemand erklären, wann ich „Kursteilnehmer“ oder „Adressen-Kursteilnehmer“ verwende?

Die aktuellen Versionen werden verwendet (Hibiscus 2.6.4 und JVerein 2.6.2).

Schon mal Danke für die Hilfe und Grüße
Tobit

Re: Fehler "Ungültige Sequenz" bei Abrechnung Kursteilnehmer

Verfasst: Sonntag 16. März 2014, 07:34
von heiner
Hallo,

bislang wurden Kursteilnehmer mit der Sequenz OOFF verarbeitet. Nachdem von Testern vor Monaten die Meldung kam, dass in einer SEPA-Datei Sequenzen nicht gemixt werden dürfen, habe ich eine Trennung in FRST und RCUR vorgenommen. Um es nicht unnötig kompliziert zu machen, verarbeite ich OOFF jetzt nicht auch noch separat. Daher habe ich die Kursteilnehmer auf FRST umgestellt.

Die Version werde ich vermutlich heute im Laufe des Tages zur Verfügung stellen.

@Jens: Kursteilnehmer in JVerein sind als Einzelabrechnung ausgelegt. Für deine Vorgehensweise (Nichtmitglied, wiederkehrende Zahlung) gibt es in JVerein keine Lösung. Du könntest zwar mit der neuen Version deine Kursteilnehmer monatlich neu eingeben und abrechnen, dass verstößt dann aber gegen die SEPA-Regeln. Kursteilnehmer-Adressen gibt es nicht. Du kannst zwar Adressen von z. B. Sponsoren, Lieferanten, Trainern .... eingeben, die werden aber nicht abgerechnet.

Heiner

Re: Fehler "Ungültige Sequenz" bei Abrechnung Kursteilnehmer

Verfasst: Montag 17. März 2014, 06:34
von jenzuslongus
Hallo Heiner,

vielen Dank für die schnelle Antwort bzw. den Fix. Die Version, die du zur Verfügung stellst, ist das eine Entwicklerversion (wahrscheinlich ja)?

Zum Thema Kursteilnehmer: Wenn ich bei den Kursteilnehmern das Abrechnungsdatum lösche, dann kann ich diese neu abrechnen. Wenn ich das einmal mit der Sequenz FRST und danach mit RCUR mache, sollte das doch den SEPA-Regeln entsprechen, oder?

Eine andere Variante wäre es, eine Sammel-Lastschrift anzulegen, die ich jeden Monat neu ausführe. Das wäre aber erst praktikabel, wenn das in Hibscus so umgesetzt wird, dass man für den Auftrag nur eine TAN eingeben muss. Ist das in den aktuellen Versionen von JVerein und Hibiscus bereits möglich?

Viele Grüße, Jens