22. Juli 2013 09:12
Hallo Reini,
das lässt sich am besten durch Übersteuerung in der Methode run() umsetzen.
Beispiel:
- Code:
if (this.isInBatch() && transDate < (today()-1))
{
transDate = today()-1;
xSysLastValue::saveLast(this);
info(strfmt("Kalkulationsdatum wurde auf den %1 gesetzt",transDate));
}
Man sollte nicht das aktuelle Datum nehmen, um Berechnungen mit Tagesdatum im laufenden Betrieb zu vermeiden.
Außerdem muss man überlegen, ob eventuell ein Parameter ergänzt wird, mit dem die Übersteuerung aktiviert wird. Sonst könnte man im Batchlauf nie mehr mit einem anderen gewünschten Datum rückwirkend das Lager berechnen lassen. Man möchte ja vielleicht gezielt Monatsabschlüsse berechnen lassen.
Grüße
Ina