Gewöhnlicherweise besteht jeder Batch aus 4 Bestandteilen:
- Konstruktor
- Methode "start()"
- Methode "execute()"
- Methode "finish()"
Execute führt diverse Berechnungen durch und erstellt neue Datensätze.
Finish versendet anschließend eine Email. Diese Email enthält unter anderem die Anzahl der erstellten Datensätze.
Problem: die in execute() mit neuen Datensätzen gefüllte Liste war in finish() leer.
Lösung: Database.Stateful in der Klassendefinition, z.B.
- Konstruktor
- Methode "start()"
- Methode "execute()"
- Methode "finish()"
Execute führt diverse Berechnungen durch und erstellt neue Datensätze.
Finish versendet anschließend eine Email. Diese Email enthält unter anderem die Anzahl der erstellten Datensätze.
Problem: die in execute() mit neuen Datensätzen gefüllte Liste war in finish() leer.
Lösung: Database.Stateful in der Klassendefinition, z.B.
global
class meinBatch implements
Database.Stateful, Database.Batchable<SObject>{
Kommentare
Kommentar veröffentlichen