Seite 1 von 2

Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Dienstag 18. September 2012, 10:59
von chris
Hallo Heiner,

ich wollte heute einen Abrechnungslauf von Zusatzbeiträgen löschen, weil sich bei einem Mitglied ein Fehler in der Bankverbindung eingeschlichen hatte. Ich habe zuerst die Bankverbindung korrigiert; anschließend wollte ich den Abrechnungslauf löschen und erneut ausführen, was aber auf einen Fehler gelaufen ist:

Code: Alles auswählen

[Tue Sep 18 10:51:47 CEST 2012][ERROR][de.jost_net.JVerein.gui.action.AbrechnungslaufDeleteAction.handleAction] Fehler beim Löschen eines Abrechnungslaufes
java.rmi.RemoteException: delete failed, rollback successful; nested exception is: 
	org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
delete from BUCHUNG where ID = 1152 [23003-145]
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
	at de.jost_net.JVerein.gui.action.AbrechnungslaufDeleteAction.handleAction(AbrechnungslaufDeleteAction.java:100)
	at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:173)
	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:803)
	at de.willuhn.jameica.gui.GUI.init(GUI.java:294)
	at de.willuhn.jameica.system.Application.init(Application.java:144)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:86)
	at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
delete from BUCHUNG where ID = 1152 [23003-145]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
	at org.h2.message.DbException.get(DbException.java:167)
	at org.h2.message.DbException.get(DbException.java:144)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:382)
	at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:399)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:275)
	at org.h2.table.Table.fireConstraints(Table.java:803)
	at org.h2.table.Table.fireAfterRow(Table.java:820)
	at org.h2.command.dml.Delete.update(Delete.java:80)
	at org.h2.command.CommandContainer.update(CommandContainer.java:69)
	at org.h2.command.Command.executeUpdate(Command.java:201)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:126)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:111)
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:366)
	... 11 more

[Tue Sep 18 10:51:47 CEST 2012][ERROR][de.willuhn.jameica.messaging.LogMessageConsumer.handleMessage] Fehler beim Löschen eines Abrechnungslaufes
Soweit ich sehen kann, wird die referentielle Integrität verletzt. Allerdings wüsste ich nicht, wieso. Ich habe keine manuellen Eingriffe in die Datenbank vorgenommen.
Kannst Du mir vielleicht einen Tipp geben, woran es liegen kann und wie ich das Ganze wieder richtig hinbekomme?

Vielen Dank schon einmal.
Christian

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Donnerstag 20. September 2012, 20:47
von heiner
Hallo Christian,

kann es sein, dass du einer Buchung aus dem Buchungslauf bereits ein Dokument zugewiesen hast? Wenn ja, lösche es. Danach wird es funktionieren. Die Löschfunktion geht davon aus, dass eine Löschung direkt nach der der Erstellung des Buchungslaufes vorgenommen wird und nicht bereits Arbeiten an den Buchungen vorgenommen wurden.

Heiner

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Donnerstag 20. September 2012, 20:58
von chris
Das war es - vielen Dank! Heiner, Du bist der Größte.
Kann man das als Fehler vielleicht irgendwie abfangen und eine etwas aussagekräftigere Fehlermeldung ausgeben, damit sich nicht noch mehr Leute wundern müssen?

Christian

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Freitag 14. Februar 2014, 16:36
von Magic02
Hallo, ich habe auch einen Fehler beim Löschen eines Abrechnungslaufs. Warum, weiß ich nicht. Ich habe nur die Meldung "Fehler beim Löschen eines Abrechnungslaufes". Woran kann das liegen? Und was heißt "ein Dokument zugewiesen"?

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Freitag 14. Februar 2014, 16:53
von heiner
Hallo Magic02,

schaue bitte in die Datei .jameica/jameica.log nach, ob du dort Fehlermeldungen findest.

Heiner

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Freitag 14. Februar 2014, 17:15
von Magic02
Also, im Ordner .jameica habe eine jameica.log-Datei mit heutigem Datum gefunden, Typ "GZ-Datei", diese kann ich aber mit keinem Programm öffnen.

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Samstag 15. Februar 2014, 17:39
von Magic02
Kann mir jemand helfen? Ich kann immer noch nicht den Abrechnungslauf löschen.

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Samstag 15. Februar 2014, 22:10
von Magic02
Habe im Explorer im Ordner .jameica eine Textdatei jameica. Wenn ich diese öffne, habe ich gestern, 14.02.14, folgenden Text: "Fehler beim Löschen eines Abrechnungslaufes java.rmi.RemoteException: Datum kann nicht weiter zurückgesetzt werden". Was bedeutet das?

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Sonntag 16. Februar 2014, 20:20
von heiner
Hast du in der Datei .jameica/cfg/de.willuhn.jameica.system.Config.properties einen Eintrag zum Pfad zur Log-Datei?

Heiner

Re: Fehler beim Löschen eines Abrechnungslaufs

Verfasst: Sonntag 16. Februar 2014, 20:32
von Magic02
Ich habe folgenden Eintrag:
#Sun Feb 16 17:54:55 CET 2014
jameica.system.ssl.trustjava=true
jameica.system.log.level=INFO
jameica.system.proxy.port=-1
jameica.system.checkmandatory=true
jameica.system.proxy.https.port=-1
jameica.system.mandatorylabel=false
jameica.log.size.mb=1
jameica.system.proxy.usesystem=true
jameica.system.locale=de_DE
jameica.system.backup.enabled=true
jameica.system.backup.count=10