Seite 1 von 1

Abrechnungslauf wird nicht ausgeführt

Verfasst: Donnerstag 20. April 2017, 18:12
von ThomasKdot
Liebe Forumsmitglieder,

ich bin Kassierer von einem Schulförderverein. In den letzten beiden Jahren sind die Abrechungen fehlerfrei erstellt worden. Kürzlich habe ich auf OS Sierra (OS 10.12) aufgerüstet und seitdem funktionieren die Abrechnungsläufe nicht mehr.

Jameica Version 2.6.4
JVerein Version 2.6.2

Installierte Java-Version:

Code: Alles auswählen

thomassi$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Abschnitt aus jameica.log:

Code: Alles auswählen

[Thu Apr 20 17:56:12 CEST 2017][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor.check] creating progress monitor for GUI
[Thu Apr 20 17:56:12 CEST 2017][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Thu Apr 20 17:56:12 CEST 2017][ERROR][de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run] error while reading objects from /Users/thomassi/Documents/Jameica/FoeV/SEPA/abbuchungFRST-20170420-175608.XML
java.rmi.RemoteException: insert failed; nested exception is: 
	org.h2.jdbc.JdbcSQLException: NULL nicht zulässig für Feld "ABGESCHLOSSEN"
NULL not allowed for column "ABGESCHLOSSEN"; SQL statement:
insert into ABRECHNUNGSLAUF (DATUM,STICHTAG,ABBUCHUNGSAUSGABE,KURSTEILNEHMER,FAELLIGKEIT2,ZUSATZBETRAEGE,FAELLIGKEIT,EINGABEDATUM,DTAUSDRUCK,MODUS,BEMERKUNG,ABGESCHLOSSEN,ZAHLUNGSGRUND) values (?,?,?,?,?,?,?,?,?,?,?,?,?) [23502-172]
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:701)
	at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:308)
	at de.jost_net.JVerein.io.AbrechnungSEPA.getAbrechnungslauf(AbrechnungSEPA.java:692)
	at de.jost_net.JVerein.io.AbrechnungSEPA.<init>(AbrechnungSEPA.java:106)
	at de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run(AbrechnungSEPAControl.java:430)
	at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1057)
Caused by: org.h2.jdbc.JdbcSQLException: NULL nicht zulässig für Feld "ABGESCHLOSSEN"
NULL not allowed for column "ABGESCHLOSSEN"; SQL statement:
insert into ABRECHNUNGSLAUF (DATUM,STICHTAG,ABBUCHUNGSAUSGABE,KURSTEILNEHMER,FAELLIGKEIT2,ZUSATZBETRAEGE,FAELLIGKEIT,EINGABEDATUM,DTAUSDRUCK,MODUS,BEMERKUNG,ABGESCHLOSSEN,ZAHLUNGSGRUND) values (?,?,?,?,?,?,?,?,?,?,?,?,?) [23502-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.table.Column.validateConvertUpdateSequence(Column.java:295)
	at org.h2.table.Table.validateConvertUpdateSequence(Table.java:699)
	at org.h2.command.dml.Insert.insertRows(Insert.java:122)
	at org.h2.command.dml.Insert.update(Insert.java:86)
	at org.h2.command.CommandContainer.update(CommandContainer.java:79)
	at org.h2.command.Command.executeUpdate(Command.java:235)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:154)
	at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:140)
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:649)
	... 5 more
Ich kann mit der Fehlermeldung leider nichts anfangen, auch nachdem ich ähnliche Beiträge hier im Forum durchsucht habe. Woran liegt es, und was kann ich tun?

Hoffnungsgrüße,
Thomas

Re: Abrechnungslauf wird nicht ausgeführt

Verfasst: Donnerstag 20. April 2017, 19:22
von wpein2m
Hallo Thomas,
möglicherweise bist Du in das gleiche Problem gelaufen wie ich, als ich zu Beginn MySQL auf einem aktuellen Ubuntu 16.04 Linux-Server installiert habe.
Hast Du bei dem Umstieg auf OS 10.12 auch eine neuere Datenbankversion von MySQL eingesetzt?
Dann steigt die Wahrscheinlichkeit, dass es sich um den gleichen Fehler handelt.

Bei neueren Versionen von MySQL gibt es defaultmäßig scheinbar strengere Prüfungen bei Datenänderungen.

Wenn das der Fehler ist, dann gibt es m.E. 2 Lösungsmöglichkeiten:

1. eine ältere MySQL-Version nutzen, in welcher die Prüfungen weniger streng sind o d e r
2. in der aktuellen MySQL-Version die strengen Prüfungen "aussetzen"

Das Verfahren zu 2. habe ich in einem älteren Forumsbeitrag beschrieben, siehe letzter Beitrag in folgendem Link: viewtopic.php?f=5&t=3129&start=10

Hoffentlich hilft es!

Wolfgang

Re: Abrechnungslauf wird nicht ausgeführt

Verfasst: Donnerstag 20. April 2017, 19:32
von wpein2m
Hhmm - ich sehe gerade, dass Du gar nicht MySQL nutzt sondern die interne Datenbank H2.
Klingt trotzdem nach einem ähnlichen Problem, vor allem wenn mit dem OS Update auch eine neue Version von H2 installiert wurde.
Ob man in H2 ähnlich wie in MySQL die Prüfungen aussetzen kann ( set global sql_mode = " "; ), weiß ich leider nicht!

Re: Abrechnungslauf wird nicht ausgeführt

Verfasst: Sonntag 23. April 2017, 16:27
von heiner
Außerdem hast du eine uralte Version im Einsatz. Aktualisiere deine Version bitte. Wenn der Fehler dann immer noch besteht, melde dich hier wieder mit der aktuellen Fehlermeldung.

Heiner

Re: Abrechnungslauf wird nicht ausgeführt

Verfasst: Freitag 19. Mai 2017, 09:08
von ThomasKdot
Das war es: Ich habe Jameica komplett neu aufgesetzt und die aktuellsten Versionen von Hibiscus und JVerein nachinstalliert. Jetzt läuft alles so, wie es soll! Das Entscheidende war das Updating von Jameica.

Danke für Eure Hilfe!

Thomas K.