Seite 1 von 2

Abrechung generiert Fehler

Verfasst: Donnerstag 6. August 2015, 22:32
von rscw
Ich habe für ein Mitglied ein Zusatzbeitrag eingegeben. Wenn ich nun versuche, eine Abrechung zu generieren, bekomme ich folgenden Fehler:

Code: Alles auswählen

error while reading objects from C:\DOKUME~1\USER~1.ARB\LOKALE~1\Temp\sepa6128005065232657090.tmp
java.rmi.RemoteException: insert failed; nested exception is: 
	com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'abgeschlossen' cannot be null
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:695)
	at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:308)
	at de.jost_net.JVerein.io.AbrechnungSEPA.getAbrechnungslauf(AbrechnungSEPA.java:665)
	at de.jost_net.JVerein.io.AbrechnungSEPA.<init>(AbrechnungSEPA.java:102)
	at de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run(AbrechnungSEPAControl.java:411)
	at de.willuhn.jameica.gui.GUI$6.run(GUI.java:976)
Caused by: com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'abgeschlossen' cannot be null
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1585)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1500)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1485)
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:649)
	... 5 more
Es scheint dass SQL nicht mit den übergebenen Daten einverstanden ist. Allerdings weiss ich nicht, wo ich da ansetzen müßte.

Re: Abrechung generiert Fehler

Verfasst: Donnerstag 6. August 2015, 22:45
von rscw
Problem gelöst. Ich war irgendwie zurück auf eine Uralt-version von JVerein. Nach Installation von 2.8.10 geht es wieder.

Re: Abrechung generiert Fehler

Verfasst: Montag 17. August 2015, 19:24
von phil
Hallo,
ich bin noch relativ unvertraut mit jverein. Ich hab einen Verein mit ca. 50 Mitgliedern, hab alle eingegeben mit Bankverbindung, Beitragsgruppen etc und würde nun gerne den Jahresbeitrag (der entsprechend den Beitragsgruppen unterschiedlich ist) einziehen.
Nach Klick auf Abrechnung kommt nur die Meldung:

[17.08.2015 19:22:36] Fehler beim erstellen der Abbuchungsdatei: /home/phil/abbuchungFRST-20150817-192231.XML
[17.08.2015 19:22:36] Fehler beim erstellen der Abbuchungsdatei: /home/phil/abbuchungFRST-20150817-192231.XML

Kann mir jemand helfen?

Code: Alles auswählen

[Mon Aug 17 19:17:48 CEST 2015][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor.check] creating progress monitor for GUI
[Mon Aug 17 19:17:48 CEST 2015][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Mon Aug 17 19:17:48 CEST 2015][ERROR][de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run] error while reading objects from /home/phil/abbuchungFRST-20150817-191743.XML
java.lang.StringIndexOutOfBoundsException: String index out of range: 22
	at java.lang.String.substring(String.java:1907)
	at de.jost_net.OBanToo.SEPA.IBAN.getKonto(IBAN.java:326)
	at de.jost_net.JVerein.io.AbrechnungSEPA.getKonto(AbrechnungSEPA.java:1015)
	at de.jost_net.JVerein.io.AbrechnungSEPA.<init>(AbrechnungSEPA.java:121)
	at de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run(AbrechnungSEPAControl.java:442)
	at de.willuhn.jameica.gui.GUI$6.run(GUI.java:976)

Re: Abrechung generiert Fehler

Verfasst: Dienstag 18. August 2015, 11:21
von Frederic
Hallo phil,

ohne jetzt in den Quellcode von JVerein geschaut zu haben: die Fehlermeldung klingt doch recht aufschlussreich. Hier wurde offenbar versucht, einen Teil (java.lang.String.substring) einer IBAN (de.jost_net.OBanToo.SEPA.IBAN.getKonto) aus der Datei /home/phil/abbuchungFRST-20150817-191743.XML zu lesen. Und das war nicht möglich, weil dabei auf eine Zeichenposition zugegriffen wurde, die es gar nicht gibt (String index out of range: 22).

22 ist zufällig genau die Länge einer deutschen IBAN - und diesen Wert müsste man auch als zweiten Parameter von substring angeben, um bis zum Ende zu lesen.

Von daher meine Vermutung: irgendwo in Deinem System gibt es eine deutsche IBAN, die kürzer als 22 Stellen ist (wie auch immer das entstanden ist).

Gibt es die Datei /home/phil/abbuchungFRST-20150817-191743.XML noch, und kannst Du sie in einem Texteditor öffnen? Dann wäre es vielleicht ganz einfach, die betroffene IBAN zu finden.

Viele Grüße,
Frederic.

Re: Abrechung generiert Fehler

Verfasst: Mittwoch 19. August 2015, 18:32
von phil
Hallo Frederic,

danke für die prompte Antwort.
Die Datei gibt es nicht. Ich versuche ja sie zu erstellen, aber es funktioniert nicht. IBAN hab ich gecheckt, die ist bei allen 22-stellig.

Als Parameter hab ich eingegeben:

Modus: alle
Fälligkeit Erstlastschrift: morgen
Fälligkeit Folgelastschrift: morgen + 365
Stichtag: vor 2 Wochen
keine Haken
Ausgabe: Datei

*START*

SEPA Ausgabedatei wählen: /home/phil/abbuchungFRST-20150819-182241.XML

*OK*

SEPA Ausgabedatei wählen: /home/phil/abbuchungRCUR-20150819-182259.XML

*OK*

[19.08.2015 18:30:38] Fehler beim erstellen der Abbuchungsdatei: /home/phil/abbuchungFRST-20150819-182909.XML


So recht weiß ich nicht, was ich da falsch mache.

Re: Abrechung generiert Fehler

Verfasst: Mittwoch 19. August 2015, 18:34
von phil
Frederic hat geschrieben:diesen Wert müsste man auch als zweiten Parameter von substring angeben
Was meinst du damit?

Re: Abrechung generiert Fehler

Verfasst: Freitag 21. August 2015, 07:55
von heiner
Hallo,

der Fehler tritt bei der Prüfung, ob das Konto in der Buchführung vorhanden ist, auf. Dabei wird zunächst nur die Kontonummer abgeglichen. Wenn die nicht existiert, wird auf IBAN geprüft. Dabei tritt der Fehler auf.

Heiner

Re: Abrechung generiert Fehler

Verfasst: Freitag 21. August 2015, 11:17
von Frederic
Aber was könnte das hier heißen? Dass es ein Konto mit Kontonummer, aber ohne IBAN gibt?
phil hat geschrieben:
Frederic hat geschrieben:diesen Wert müsste man auch als zweiten Parameter von substring angeben
Was meinst du damit?
Das war nur laut gedacht. Ich denke, dass hier die substring-Methode mit zwei Parametern aus der Java-API aufgerufen wird. Und da müsste man z. B. meineIBAN.substring(12, 22) verwenden, um aus einer deutschen IBAN die Kontonummer zu extrahieren. Insofern ist es plausibel, dass die Zahl 22 hier auftaucht. Und die Fehlermeldung "String index out of range" würde eben kommen, wenn die IBAN weniger als 22 Stellen hat (oder auch ganz leer ist).

Aber noch was ganz anderes:
phil hat geschrieben:Fälligkeit Erstlastschrift: morgen
Fälligkeit Folgelastschrift: morgen + 365
Das kommt mir ungewöhnlich vor. Eine Folgelastschrift mit diesem Termin wird die Bank vermutlich ablehen, weil zu weit in der Zukunft. Und die "Fälligkeit Erstlastschrift: morgen" wird umgekehrt wegen zu kurzer Frist nicht funktionieren, wenn Du nicht extra eine COR1-Lastschrift verwendest.

Bist Du Dir sicher, dass Du verstanden hast, was diese beiden Felder bedeuten? Eventuell musst Du Dich noch ein wenig mit SEPA-Lastschriften und deren Fristen befassen. Gemeint ist nicht "Fälligkeit des diesjährigen und des nächstjährigen Beitrags", sondern "Fälligkeit für die erste bzw. eine spätere Lastschrift unter einem bestimmten Mandat".

Viele Grüße,
Frederic.

Re: Abrechung generiert Fehler

Verfasst: Freitag 21. August 2015, 12:03
von heiner
Gehe bitte auf Buchführung | Konten. Dort muss das Vereinskonto eingetragen sein. Entweder nur die "alte" Kontonummer oder die komplette IBAN.

Die Zahlungen, die über die Abrechnung generiert werden, müssen doch dem richtigen Konto in der Buchführung zugeordnet werden.

Heiner

Re: Abrechung generiert Fehler

Verfasst: Montag 24. August 2015, 18:59
von phil
heiner hat geschrieben:Gehe bitte auf Buchführung | Konten. Dort muss das Vereinskonto eingetragen sein. Entweder nur die "alte" Kontonummer oder die komplette IBAN.
Also das Konto habe ich direkt aus Hibiscus importiert. Umsatzabfrage und Überweisungen funktionieren dort auch soweit. Angegeben ist bei Buchführung/Konten nur die alte Kontonummer. Muss ich denn zwingend die Buchführung auch über jverein machen? Unsere Buchhaltung funktioniert eigentlich über Excel, und das auch recht gut. Ich wollte jverein nur nutzen um etwas einfacher meine Einzüge (Jahresbeiträge einmal jährlich und individuelle Beiträge zweimal jährlich) machen zu können.
Frederic hat geschrieben:Bist Du Dir sicher, dass Du verstanden hast, was diese beiden Felder bedeuten?
Nein, bin ich mir ganz und gar nicht. Ich bin auch gerade am zweifeln, ob der Weg über jverein für mich der richtige ist, oder ob ich nicht doch etwas mühselig, dafür verständlich meine Einzüge über die Sparkassenwebsite mache.