jetzt muss ich doch nochmal zu dem Thema nachhaken. Anforderung ist das bei Anlage einer Materialkalkulation (CK11N) mit Kalkulationsvariante X automatisch eine Variante Y angelegt wird. Das funktioniert auch soweit wenn ich es manell anstarte.
Meine Idee war, in der CK11N ein Event ( cl_batch_event=>raise ) abzusetzen wenn ein Material erfolgreich kalkuliert wurde. Dieses Event weckt den Job auf der auf dieses Event wartet und erzeugt Kalkulation für Variante Y. Funktioniert genau 1 mal.
Nachdem dieser Job aber fertig ist müsste ja ein neuer Job vorhanden sein, der wieder auf das Event wartet. Ich war der Meinung das jedes Event immer diesen einen Job neu einplant / auslöst wie ein Ereignisbehandler. Dem ist aber nicht so wie es aussieht, man müsste nach jedem Joblauf diesen sofort wieder als neuen Job anlegen. Das könnte aber zu einem zeitlichen Problem werden wenn im selben Moment wieder eine Kalkulation angelegt wird und noch kein Job angelegt wurde. Ausserdem könnte es bei Massenverarbeitung mehr Events geben als eingeplante Jobs die auf ein Event warten. Oder stehen die Events dann alle in einer Queue und werden dann bei Anlage eines neuen Jobs wieder ausgeführt?
Habe ich hier den falschen Ansatz gewählt? Ich wollte in der CK11N keine Datenbankoperationen machen und dachte mit dem auslösen eines Events bin ich fein raus?
das hatte ich auch schon gefunden, beantwortet mir aber nicht die Frage ob ich nach jedem Job, der per Event gestartet wurde, einen neuen Job selbst anlegen muss?
der Job ( es wird ja immer der selbe Job sein, dem natürlich Parameter übergeben werden) wird nur einmal erstellt und durch das Auslösen des Events immer neu gestartet