Seite 1 von 1

Löschen Buchungsart schlägt fehl

Verfasst: Mittwoch 6. Februar 2013, 19:38
von Dominic
Hallo,

ich versuche drei Buchungsarten zu löschen.
Die Buchungsarten sind keiner Buchung mehr zugewiesen. Er meckert allerdings immer noch, dass die Buchungsarten sich nicht löschen lassen.

Gibt es irgendwie die Möglichkeit die Buchungsarten trotzdem zu löschen?

Code: Alles auswählen

Fehler beim Löschen der Buchungsart.
java.rmi.RemoteException: delete failed, rollback successful; nested exception is: 
	org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBEITRAGSGRUPPE1: PUBLIC.BEITRAGSGRUPPE FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"
Referential integrity constraint violation: "FKBEITRAGSGRUPPE1: PUBLIC.BEITRAGSGRUPPE FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"; SQL statement:
delete from BUCHUNGSART where ID = 92 [23003-145]
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
	at de.jost_net.JVerein.server.BuchungsartImpl.delete(BuchungsartImpl.java:180)
	at de.jost_net.JVerein.gui.action.BuchungsartDeleteAction.handleAction(BuchungsartDeleteAction.java:72)
	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: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: "FKBEITRAGSGRUPPE1: PUBLIC.BEITRAGSGRUPPE FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"
Referential integrity constraint violation: "FKBEITRAGSGRUPPE1: PUBLIC.BEITRAGSGRUPPE FOREIGN KEY(BUCHUNGSART) REFERENCES PUBLIC.BUCHUNGSART(ID)"; SQL statement:
delete from BUCHUNGSART where ID = 92 [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)
	... 12 more
Danke und Gruß
Dominic

Re: Löschen Buchungsart schlägt fehl

Verfasst: Donnerstag 7. Februar 2013, 08:34
von Danzelot
Hallo Dominic,

überprüfe doch mal Deine Beitragsgruppen.
Hier ist bestimmt noch eine Buchungsart eingetragen.

Gruß
Danzelot

Re: Löschen Buchungsart schlägt fehl

Verfasst: Donnerstag 7. Februar 2013, 10:44
von Dominic
Hallo,

alles klar, dass war's.
In den Beitragsgruppe waren noch die Einträge vorhanden.

Besten Dank.

Gruß
Dominic

Re: Löschen Buchungsart schlägt fehl

Verfasst: Sonntag 1. Juni 2014, 22:03
von jepo
Ich habe jetzt ein ähnliches Problem:
Nach anfänglichem Rumspielen mit Kontoarten möchte ich nun einen "richtigen" Kontorahmen importieren.
Dazu muss ich anscheinend alle Buchungsarten löschen. Eine einzelne Buchungsart lässt sich aber nicht löschen.
Das liegt nach diesem Thread anscheinend an den Beitragsgruppen, die darauf referenzieren.
In den Beitragsgruppen kann ich aber die Buchungsart nicht löschen: Beim Bearbeiten der Beitragsgruppe setze ich die Beitragsart von "abc" (meine bisherige Dummy-Beitragsart) auf "bitte wählen" und speichere die Beitragsgruppe. Wenn ich dann wieder die Liste der Beitragsgruppe ansehe, bleibt die bisher eingestellte Beitragsart aber bestehen. Auch beim erneuten Öffnen der Beitragsgruppe ist wieder Beitragsart "abc" aktiv.

Meine 11 Beitragsgruppen möchte ich aber ungern löschen, weil ich die sonst bei allen meinen Mitgliedern wieder neu zuweisen müsste.

Gibt es da irgendeine einfache Möglichkeit einen Kontorahmen zu importieren, ohne die gesamte Datenbank mit allen Zuordnungen zu löschen?

Ich nutze JVerein 2.6.3.

Re: Löschen Buchungsart schlägt fehl

Verfasst: Sonntag 1. Juni 2014, 22:58
von DIG
Jeder Beitrag muss einer Buchungsgruppe zugeordnet sein - Du kannst das nicht wegbekommen.
Warum beläst Du nicht diese eine Beitragsgruppe "abc" übrig? Dann importierst Du den neuen Kontenrahmen, änderst bei den Beiträgen die Buchungsart aud eine passende aus dem neuen Kontenrahmen und zuletzt kannst Du dann ja die alte "abc"-Buchungsart löschen.

Viele Grüße,
Carsten

Re: Löschen Buchungsart schlägt fehl

Verfasst: Montag 2. Juni 2014, 01:25
von heiner
Sofern du bislang "nur gespielt" hast, kannst du die Datenbank komplett löschen, die Mitglieder neu importieren und dann den Kontenrahmen importieren. Wenn das nicht möglich ist, musst du leider bei allen Buchungen die Buchungsart entfernen. Danach kannst du die Buchungsarten löschen.

Heiner