Automatik-Jobs
Categories:
Automatik
In einigen Fällen ist es erwünscht, dass täglich, wöchentlich verschiedene Läufe automatisch, hier vor allem während der Nacht, ausgeführt werden. Wir haben diese auch Nachtjob genannten Aufgaben unter System im Reiter Automatik zusammengefasst.

Grundsätzlich ist diese Darstellung / Anzeige so aufgebaut, dass die Automatik Aufträge in der angeführten Reihenfolge ausgeführt werden. Die Reihenfolge können Sie durch Umreihung mit den Pfeilen
vornehmen.
Die automatischen Aufträge starten zum unten angegebenen Zeitpunkt (Startzeit).
Beachten Sie bitte dass diese Zeit den Startzeitpunkt der ersten Aufgabe bestimmt. Ist die erste aktive Aufgabe erledigt, wird mit der zweiten Aufgabe, die als aktiv gekennzeichnet ist, fortgefahren. Damit die Automatik überhaupt ausgeführt wird, muss in der Übersicht im unteren Detailfenster Aktiv angehakt sein.
Unter Detail können die für diesen Lauf spezifischen Parameter eingestellt werden. Unter anderem kann gegebenenfalls hier auch der gewünschte Drucker, auf den z.B. die Liste der Fehlmengen ausgedruckt werden sollte, angegeben werden.
Unter Detail können folgende Werte / Parameter eingestellt werden:

| Feld | Bedeutung |
|---|---|
| Aktiv | dieser Lauf soll ausgeführt werden |
| Intervall in Tagen | Der Lauf wird nach der Durchführung wieder in “Intervall in Tagen” durchgeführt. |
| Vor Feiertagen ausführen | Ist so gedacht, wenn der Folgetag ein Feiertag ist oder auf ein Wochenende (So, So) fällt, so wird, wenn nicht angehakt der Lauf nicht ausgeführt. Sonst schon. Damit Läufe auch für z.B. den Freitag ausgeführt werden, stellen Sie bitte den Startzeitpunkt auf kurz vor Mitternacht. D.h. wenn der Automatikjob erst nach 12:00 am Freitag starten würde, wird er als bereits auf den “Feiertag” fallend betrachtet und daher nicht ausgeführt. |
| Am Monatsende ausführen | Der Job wird zusätzlich am letzten Tag des Monats ausgeführt. Z.B. wenn er aufgrund der Intervalleinstellung noch nicht ausgeführt werden sollte.D.h. sollte ein Job immer nur am Monatsletzten ausgeführt werden, so ist bei Intervall in Tagen 32 einzustellen. |
| Drucker | Wählen Sie einen Drucker aus den am Server installierten Drucker aus. Zur Installation der Server-Drucker unter Linux Systemen |
| Intervall in Minuten | Der Lauf wird alle xx Minuten durchgeführt |
Bitte beachten Sie, dass für den generellen Start des Automatik Laufes in jedem Falle die unter Startzeit angegebene Uhrzeit überschritten werden muss. D.h. wenn Sie den Automatik Job z.B. für Testzwecke sofort starten möchten, so stellen Sie die Startzeit auf jetzt plus eine Minute. Damit beginnen die aktivierten Automatikjobs zu Laufen. Dies gilt für beide Bereiche, sowohl die Intervalle in Minuten als auch denen in Tagen. Siehe auch.
Wie werden Automatikjobs vor dem Wochenende ausgeführt?
Dies hängt vom Startzeitpunkt des Automatiklaufes ab.
- Ist der Startzeitpunkt vor 12:00 (Mittag), so wird der Automatiklauf auch am Freitag durchgeführt. Am Sonntag erfolgt kein Lauf des Automatikjobs.
- Ist der Startzeitpunkt nach 12:00 (Mittag), so wird der Automatiklauf am Freitag nicht durchgeführt. Dafür wird der Automatiklauf am Sonntag durchgeführt, damit am Montag Morgen die Bestellmahnungen bei ihren Lieferanten sind.
Testlauf aller Automatikjobs
Stellen Sie bitte die Startzeit auf in einer Minute um die Läufe in der angegebenen Reihenfolge zu starten. Denken Sie daran, die Startzeit danach wieder zurückzustellen.
Für die Prüfung eines einzelnen Automatikjobs siehe
Protokoll der Automatik Aufträge
Das Protokoll der Durchführung der Automatik Aufträge findest du unter ..\kieselstein_wildfly\standalone\log\server.log direkt in ihrem Kieselstein ERP Serververzeichnis.
In diesem allgemeinen Server-Log-File sind auch die Einträge der Durchführung der Automatik-Jobs.
Sollten Sie gezielt nach Ergebnissen suchen, so suchen Sie nach “automatikjob.Automatikjob”
Zusätzlich haben wir in den Auswahllistendruck der Automatikjobs,

eine Darstellung implementiert, wann welcher Automatikjob zuletzt gelaufen ist.
Einstellung des PDF Drucks der Auslieferliste

Hier bedeuten die zusätzlichen Felder:
| Bezeichnung | Beschreibung |
|---|---|
| PDF-Pfad Pattern | {0,date,w} … 0 = gib mir ein Datumsobjekt welches nach dem Datumsformat (w) ausgegeben wird. Das Date besagt, dass ich vom System ein Datum will. {1} … Bezeichnung der Reportvariante (Standard, ….) Somit bedeutet obige Einstellung, dass ausgehend vom Root-Verzeichnis, in das Verzeichnis pdf je Kalenderwoche ein Ordner angelegt wird. In den jeweiligen Wochenordner werden alle Report-Varianten des Drucks Auslieferliste eingepflegt. Dafür wird das aktuelle Datum mit TagMonatJahr und dem Namen des Reports angelegt. Z.B.: 31012023_Standard.pdf Für das date können die üblichen Java-Stringformater verwendet werden.Siehe |
| Tage bis Stichtag | D.h. für das Bisdatum der Auslieferliste wird vom Berechnungszeitpunkt die angegebenen Tage dazugezählt. |
| Archivierungstage | Die Dateien werden soviele Tage ab Erzeugung aufbewahrt. Die Daten danach werden gelöscht. Es wird nach dem Pfad-Pattern wie oben angegeben vorgegangen. Das bedeutet auch, wird dieses Pattern geändert, müssen die “alten” Dateien manuell entfernt werden. |
Hinweise: Beachten Sie am Linux die Groß/klein-Schreibung. Bitte beachten Sie auch die unterschiedliche Schreibweise für den Ordner (\ für Windows, / für Linux)
Die Verzeichnisstruktur wird gegebenenfalls angelegt.
Beachten Sie, dass der Benutzer unter dem der Kieselstein ERP Server gestartet ist auf diesen Pfad schreibenden Zugriff haben muss. Wir empfehlen dies am Kieselstein ERP Server in einem eigenen Verzeichnis abzulegen. Für den Zugriff des (Kieselstein ERP-) Dienstes muss das Laufwerk immer für den Server verfügbar sein. Wenn dies auf einem anderen Netzlaufwerk abgelegt werden sollte, muss in Linux Systemen das Laufwerk / der Pfad gemounted (mnt) werden.
In Windows-Systemen muss gegebenenfalls der Dienst unter einem Benutzernamen ausgeführt werden.
Fehlermeldungen rund um den Automatikjob
Automatik Job startet generell nicht
Details dazu findest du im server.log siehe.
Informationen dass ein Automatik-Job nicht gegangen ist.
Diese Informationen werden per EMail an den Benutzer lpwebappzemecs gesandt. D.h. dem Benutzer lpwebappzemecs ist eine (versteckte) Person zugeordnet. Ist bei dieser Person unter Daten, Absenderdaten eine EMailadresse eingetragen, so wird ein Kieselstein ERP Versandauftrag mit diesem Empfänger (und Absender) angelegt und über die üblichen Techniken versandt.
Beim Automatiklauf werden einige / viele EMails an den einem bestimmten Benutzer / an den Administrator gesandt
Dies sind Fehlerinformationen, dass z.B. beim Mahnlauf der Bestell-ABs bei einigen Empfängern, Ansprechpartner der jeweiligen Bestellung, keine EMail Adressen hinterlegt sind. Hinterlegen Sie bitte bei den entsprechenden Adressaten die EMail Adressen, damit diese auch tatsächlich die Mahnungen erhalten können.
Finden der Ursache von fehlgeschlagenen Automatik-Jobs.
Jeder Job funktioniert grundsätzlich gleich wie seine manuelle Entsprechung in den einzelnen Modulen. Konnte nun ein Automatik Job nicht durchgeführt werden, so kann die Ursache dafür dadurch herausgefunden werden, dass der Lauf / die Auswertung mit den gleichen Einstellungen wie im Automatik Job manuell gestartet wird.
Beispiel:
Die AB-Mahnungen der Bestellungen gehen nicht.
Sie gehen in das Bestellungsmodul, Mahnwesen und starten einen neuen Mahnlauf mit der Einstellung AB-Mahnungen. Nun erscheint die entsprechende Fehlermeldung. Beachten Sie diese und stellen Sie die Ursache ab, dann wird auch der Mahnlauf im Automatik Job funktionieren.
Die Automatik startet nicht
Startet ein / kein Automatik-Job so kann das daran liegen, dass diese nicht in der internen Verwaltung eingetragen sind, z.B. aus einem unkontrollierten Abbruch mit erneutem Start des Kieselstein ERP Applikationsservers.
Um dies nun erneut zu triggern, gehen Sie in System, Automatik. Klicken Sie in der Übersicht auf Ändern und daran anschließend auf speichern. Durch diese “Änderung” werden die Daten neu erzeugt und somit der Automatik Job gestartet. Bitte beachten Sie auch obige Beschreibung, des möglicherweise nicht Durchführens von automatischen Läufen.
Hinweis:
- die Automatik Jobs gliedern sich in die Tageweisen Automatikjobs und in die Minutenbasierten Jobs
- die Minuten basierten werden jede Minute geprüft, ob sie ausgeführt werden sollten
- die Tageweisen haben einen eigenen Timer, der initialisiert sein muss (wird unter LW:\Kieselstein\dist\wildfly-26.1.2.Final\standalone\data\timer-service-data\ abgelegt) und muss daher nach dem Serverupdate neu initialisiert werden.
- Wurde der tägliche Automatikjob an einem Tag bereits ausgeführt, z.B. wegen Vorverlegung des Beginnzeitpunktes, so wird er, auch wenn der neue Beginnzeitpunkt danach ist, “heute” nicht mehr ausgeführt, sondern erst am nachfolgenden Tag/Datum.
Die Automatik bringt keine Daten
Da die Mahnautomatik der Bestellungen keine Mahnungen erzeugte, wurde der Mahnlauf per Hand gestartet und die Mahnungen verschickt. Nun wurde am nächsten Tag geprüft ob Mahnungen erzeugt wurden. Es wurde zwar der Mahnlauf durchgeführt, aber keine Daten erzeugt.
Ursache:
Der Start der Automatik stand auf 21:00. Das bedeutet, dass durch den manuellen Mahnlauf alle Bestellungen für heute bereits gemahnt wurden und daher im nächtlichen Automatiklauf keine Positionen mehr zu mahnen sind. Stellen Sie daher sicher, dass die Zeitliche- und die Tages-Komponente übereinstimmen. In diesem Beispiel muss der Start des Automatiklaufes auf 01:00 verlegt werden. Damit erhalten Sie für den Mahnlauf ein anderes Datum und damit können die für den “heutigen” Tag fälligen Mahnungen ausgedruckt werden.
Kann der Automatiklauf sofort gestartet werden?
Ab der Version 1.0.26 steht im Detail des Automatiklaufes der sofortige Start
dieses einen Automatiklaufes zur Verfügung.
Danach erscheint die Meldung, dass dieser Job gestartet / ausgeführt wurde.
Bitte beachte, dass die tatsächliche Durchführung von sehr vielen weiteren Faktoren abhängt. D.h. ob dieser Lauf wirklich durchgeführt werden konnte, siehst du z.B. im Server.log.
Hinweis:
Der Sofortige Start bewirkt auch, dass die von der Report-Automatik verwendeten Ausführungsintervalle zurückgesetzt werden (d_lastperformed wird gelöscht). D.h. es beginnt damit auch der Zähler der Ausführungsintervalle wieder von vorne.
Bitte beachten.
Automatische PDF Erzeugung für das Arbeitszeitjournal
Beim Aufruf des Automatikjobs für das Arbeitszeitjournal wird nur der Standardreport herangezogen, somit keine Reportvarianten.
Um nun eine Datei pro Tag zu erzeugen, kann z.B. folgendes Pattern verwendet werden: /mnt/Automatikjobs/{0,date,ddMMyyyy}_{1}.pdf
Damit wird für den jeweiligen Tag einen Datei angelegt.
Im Pattern bedeuten die Werte des ersten Parameters:
0 … Druckdatum
1 … Name der Reportvariante, also Standard
2 … Name des Reports
Die Parameter sind optional, um auch alte Reports aufzubewahren. Beachte dazu auch die Einstellung für die Archivierungstage.
Stringformater für das Date
In den verschiedensten Automatik Jobs können auch Dateien erzeugt werden. Für diese stehen, in Abhängigkeit vom Datum der Erzeugung, entsprechende Patterns zur Verfügung, welche sich an den Java Stringformatern orientieren. Die meist verwendeten Kennzeichen sind:
| Pattern | Bedeutung |
|---|---|
| yyyy-MM-dd | Jahr 4stellig, Monat 2stellig nummerisch, Tag 2stellig |
| yyyy-MMM | Jahr 4stellig, Monatsname die ersten drei Buchstaben |
| yyyy-MMMM | Jahr 4stellig, Monatsname ausgeschrieben |
| yyyy-ww | Jahr 4stellig, Kalenderwoche 2stellig (in Bezug auf das Jahr) |
Ausführung von Reports jede Stunde
Die Frage des Anwenders war, können automatische Reports, z.B. die Anwesenheitsliste, jede Stunde, ausgeführt werden.
Für die Anwesenheitsliste ist diese Einstellmöglichkeit implementiert.
D.h. du kannst bei der Definition des Automatik-Reports dies entsprechend angeben.

Stelle dazu das Intervall auf Minuten und gib den gewünschten Zeitraum an.
Danach idealerweise den Automatikjob neu initialisieren.
Um nun auch die Uhrzeit mit in den Dateinamen mit aufnehmen zu können, kann ergänzend zu obigem, ab der 1.0.28 auch time verwendet werden. Beispiel:
Dateiname_{0,date,yyyy-MM-dd}_{0,time,HH-mm}
Liefert z.B. Dateiname_2025-06-10_12-30.
Bitte auf das Großbuchstaben H achten.
Einrichten automatischer Reports
Ab der Version 1.0.27 steht für viele Reports die Erweiterung als automatischer Report zur Verfügung. Somit können tägliche monatliche Auswertungen für die verschiedensten Anwendungen eingerichtet werden.
Es ist dafür das Rollenrecht LP_AUTOMATIKJOB_CU erforderlich.

Wenn du dieses Recht besitzt, so steht in den angepassten Reports unter dem Symbol
Automatikjob anlegen, ein Dialog für die Automatisierung des Laufes dieses Reports zur Verfügung.
- es werden die von dir gewählten Einstellungen für den Report übernommen
- Achte dabei darauf, dass die von dir gewählte Reportvariante verwendet wird.
- Im wesentlichen werden die Datumsdefinitionen übersteuert
- Es können Intervalle von Minuten, Tage, Wochen und Monate verwendet werden
- Der Name ist der Name unter dem der Report in der Automatikliste aufscheint
- die Beschreibung ist der erklärende Text dazu
Beachte bitte, dass durch Speichern die Automatikjobdefinition in die Automatikläufe übernommen wird. Hier können nun weitere Definitionen wie, Am Monatsende ausführen, aktivieren / deaktivieren, PDF-Pfad Pattern, E-Mail Empfänger angepasst werden.
Das Löschen eines Automatikjobs aus den Reports ist derzeit nicht vorgesehen. Bitte denen Kieselstein ERP Betreuer dies gegebenenfalls für dich durchzuführen.
Falsch angelegte Automatikjobs können jedoch de-aktiviert werden.
Es können durchaus mehrere Automatikjobs aus dem gleichen Report heraus angelegt werden. Z.B. um die Jahresumsatzbetrachtung und die Monatsumsatzbetrachtung hintereinander durchzuführen.
Beachte, dass der Zeitpunkt der Ausführung des Automatikjobs nicht exakt bestimmt werden kann, da dieser auch von der Laufzeit seiner Vorgänger abhängig ist.
Die Logik der Datumsdefinitionen

Die Idee hinter den Datumsdefinitionen ist, dass z.B. monatliche Auswertungen immer zum gleichen Stichtag, aber immer z.B. zum Monatletzten ausgeführt werden.
Somit haben wir das sogenannte Bezugsdatum definiert.
Dieses Bezugsdatum ergibt sich aus dem Zeitpunkt des Starts des einen Automatikjobs. Aus der Uhrzeit ergibt sich, ist diese zwischen 00:00 und vor 06:00, so wird als Bezugsdatum der Tag davor genommen. In allen anderen Zeiträumen ist das Bezugsdatum gleich dem Beginndatum der Ausführung des Automatikjobs.
Es wird nun ein Auswertebereich und ein Beginn-Offset und ein Ende-Offset angegeben. Die Kombination von Bezugsdatum und Auswertebereich ergeben in Verbindung mit Beginn- und Ende-Offset die jeweiligen Datumsbereiche (Von, Bis, Stichtag) die an den aufgerufenen Report übergeben werden.
Für die Offsets können positive und negative Werte eingegeben werden.
Für den Auswertebereich Geschäftsjahr beziehen sich die Auswertungen immer auf das Geschäftsjahr.
Es stehen folgende Auswertebereiche zur Verfügung:
| Auswertebereich | Von | Bis | Bemerkung |
|---|---|---|---|
| Tag | Datum und 00:00:00 | Bis = Datum und 23:59:59 | |
| Woche | Montag des Datums 00:00:00 | Sonntag des Datums 23:59:59 | Es ist damit die Kalenderwoche laut deiner Kalenderdefinition gemeint |
| Monat | 1. des Datums 00:00:00 | Letzter Tag des Monates des Datums 23:59:59 | |
| Quartal | 1. des Quartals des Datum (ohne Rücksicht auf Geschäftsjahresbeginn) | Letzter Tag des Quartals des Datums | |
| Jahr | 1.1. des Datums | 31.12. des Datums | |
| Geschäftsjahr | 1. des Geschäftsjahresbeginn des Datums | Letzter Tag des Geschäftsjahres des Datums |
Beachte bitte Stichtag
Beispiele für z.B. Ende Mai 2025. Die Automatikjobs starten am Samstag den 31.5.2025 um 21:30
- Lagerstandsauswertung (Artikel, Journal, Lagerstandsliste) wenn das verlässlich zwischen 20:00 und 06:00 läuft, brauchen wir keinen Stichtag
- Kundenumsatzstatistik
- Monatsauswertung -> Von = 1.5.2025, Bis = 31.5.2025
- Jahresauswertung -> Von = 1.1.2025, Bis = 31.5.2025
- Auftragsstand, offene Details -> Auftrag, Journal, offene Details -> Stichtag -> 31.5.2027 (wenn da P2Y stünde)
Würde das am 29.2.2028 um 22:30 starten, dann
- Lagerstandsauswertung -> kein Stichtag -> Annahme dauert aber bis 1.3.2028, 0:30
- Kundenumsatzstatistik
- Monatsauswertung -> Von = 1.2.2028, Bis = 29.2.2028
- Jahresauswertung -> Von = 1.1.2028, Bis = 29.2.2028
- Auftragsstand, offene Details -> Auftrag, Journal, offene Details -> Stichtag -> 28.2.2030 (wenn da ein Offset von 2 stünde)
welche Sprache wird für den Report verwendet?
Sollte für den Automatikjob eine abweichende Ausführungssprache erforderlich sein, kann diese ab der Version 1.1.2 definiert werden.
- im Automatikjob
, ODER - am Benutzer lpwebappzemecs -> zugewiesenes Personal -> Partner -> Kommunikationssprache ODER
- Sprache des Hauptmandanten
Neue Datei erzeugen oder überschreiben
Ab der Version 1.1.2 kann durch anhaken von Datei überschreiben
gewählt werden, dass der oben ermittelte Dateiname auf jeden Fall verwendet wird, auch wenn es die Datei bereits geben sollte.
Ist dies nicht angehakt, so wird eine bestehende Datei immer belassen und den neu zu erzeugenden hinten ein _ (Unterstrich) mit einer fortlaufenden Nummer hinzugefügt.
Unterschied Datum Von Bis und Stichtag
Generell wird von der Automatik das Von Bis anhand des Bezugsdatums siehe übersteuert.
Ist in deinem Report, z.B. Auftrag, Journal, offene Details ein Stichtag angegeben, so wird der Stichtag vom Bis = Ende-Offset befüllt. Es wird (meist) auch das Von an die Auswertung übergeben. Daher empfiehlt sich hier, den Beginnoffset (meist) sehr weit in die Vergangenheit zu setzen.

Reports die die Automatik bereits unterstützen
Aktuell steht bei folgenden Reports die Automatik bereits zur Verfügung.
Weitere können gerne implementiert werden.
Bitte beachte, dass reine Tabellen Darstellungen (z.B. Auftrag, Journal, Umsatzübersicht) und reine Auswahllistendrucke (
) für die Automatik Reports nicht geeignet sind.
| Modul | Menüpunkt | Report |
|---|---|---|
| Artikel | Journal, Lagerstandsliste | ww_lagerstandliste |
| Kunde | Journal, Umsatzstatistik | ww_kundeumsatzstatistik |
| Angebot | Journal, Alle | angb_angebot_journal |
| Angebot | Journal, Offene | angb_angebot_journal |
| Angebot | Journal, Abgelehnte | angb_angebot_journal_abgelehnte |
| Auftrag | Journal, offene Details | auft_auftrag_offene_details |
| Auftrag | Journal, Umsatzstatistk | auft_umsatzstatistik |
| Rechnung | Journal, Umsatz | rech_rechnungen_umsatz |
| Los | Journal, Halbfertigfabrikatsinventur | fert_halbfertigfabrikatsinventur |
| Los | Journal, Zeitentwicklung | fert_zeitentwicklung |
| Los | Journal, Auslastungsvorschau | fert_auslastungsvorschau |
| Los | Journal, Auslastungsvorschau detailliert | fert_auslastungsvorschau_detailiert |
| Eingangsrechnungen | Journal, Alle | er_eingangsrechnung_alle |
Ausführender Benutzer
Der Automatik Job wird mit dem Benutzer lpwebappzemecs ausgeführt.
WICHTIG
Wenn du die Rolle des Benutzers lpwebappzemecs änderst, muss dein Kieselstein ERP Server neu gestartet werden, da der Benutzer nur einmal geladen wird.Einträge im system.log
Suche nach
AutomatikjobErzeugterReportFacade
Automatik liefert nur ein leeres PDF
Die Ursache ist in der Regel, dass der errechnete Zeitraum nicht stimmt bzw. die Filterbedingungen nicht stimmen.
Um dies entsprechend beurteilen zu können, bitte zuerst den Zeitraum, welche im System, Automatik, im Detail des jeweiligen Automatiklaufes angezeigt wird, überprüfen.

So muss für eine Jahresauswertung im Detail des Automatiklaufes der richtige Zeitraum angezeigt werden.
Sollte dies kein passendes Ergebnis liefern, so stelle den Report so ein, dass auch ohne Daten die Reportinhalte angezeigt werden.
- im iReport, Rechtsklick auf Reportname, Eigenschaften

- im JasperStudio, Rechtsklick auf Reportname, Properties

Diese erscheinen dann im rechten Andockfenster, hier ebenfalls All Sections, No Detail auswählen.
