Bei der Ausführung von Jobs können automatisch Vorlaufdatenwerte durch aktuelle Werte ersetzt werden. Dies wird vor allem genutzt, um z. B. das aktuelle Tagesdatum, oder das aktuelle Jahr in einmal hinterlegte Vorlaufdaten einsetzten zu können, und nicht jedes Mal vor Ausführung eines Jobs alle Vorlaufdatenmasken einzeln aktualisieren zu müssen.
Die Idee ist dabei, innerhalb der Vorlaufdatenerfassung mit wohl definierten symbolischen Daten zu arbeiten, die klar erkannt, und durch aktuelle Daten ersetzt werden können.
Beispiel: Innerhalb der Vorlaufdatenmasken wird jeweils mit dem Datum "01.01.1970" an Stelle des "01.01." des aktuellen Jahrs gearbeitet. Der "31.12.1970" wird an Stelle des "31.12." des aktuellen Jahres verwendet. Der "20.06.1970" an Stelle des aktuellen Tages.
Nun können wie im nachfolgenden beschrieben, Ersetzungen definiert werden, die so hinterlegte Vorlaufdaten vor dem Start der Anwendung auf die realen, aktuellen Zeiten und Daten verändern.
Die Hinterlegung von Ersetzungen erfolgt in Form von XML-Konfigurationsdateien. Die Dateien müssen dabei folgenden Namen tragen:
VacosJob_{Jobname}_cfg.xml
oder
VacosJob_cfg.xml
Die Dateien werden über der Variable "${FRMCFGPATH}" gesucht. Sofern der Name des Job ein / (Slash) enthält, muss dies durch einen _ im Dateinamen ersetzt werden.
Für den Jobname "System/Defragmentierung" muss die Konfigurationsdatei VacosJob_System_Defragmentierung_cfg.xml heißen.
<Config>
<Job Name="DEFAULT" Translate="true" />
<Job Name="test1" Translate="false" />
<Define Var="now" Text="${fn:dat::::dd.MM.yy}" />
<Define Var="FirstOfYear" Text="${fn:dat::::01.01.yy}" />
<Define Var="LastOfYear" Text="${fn:dat::::31.12.yy}" />
<Replace From="20.06.70" To="${now}" />
<Replace From="01.01.70" To="${FirstOfYear}" />
<Replace From="31.12.70" To="${LastOfYear}" />
</Config>
Über den Eintrag "Job" können Sie bestimmte Jobs von der Umsetzung ausnehmen. Dies macht natürlich nur Sinn, wenn eine zentrale Konfigurationsdatei verwendet wird. In dem Beispiel oben werden die Vorlaufdaten des Jobs "test1" nicht umgesetzt.
Der Eintrag "DEFAULT" steuert dabei, ob für Jobs die hier nicht einzeln aufgeführt sind eine Umsetzung durchgeführt werden soll, oder nicht.
Über "Define" können bestimmte, immer wieder verwendete, Ausdrücke festgelegt werden, damit diese in der nachfolgenden "Replace"-Definition nicht mehrfach geschrieben werden müssen. Die "Define" Anweisungen werden auch dann aus einer zentralen Konfigurationsdatei verarbeitet, wenn es eine eigene Konfigurationdatei für einen einzelnen Job gibt. Das bedeutet: Die Define-Anweisungen brauchen nur einmal geschrieben zu werden, und können dann in vielen Job-Konfigurationen verwendet werden.
Bei der Festlegung der Text-Eigenschaft kann auf Environment-Variable und Einvironment-Funktionen zugegriffen werden.
Über "Replace" können nun die eigentlichen Umsetzungen festgelegt werden. Bei der Festlegung der "To" Eigenschaft können Environment-Variable und Einvironment-Funktionen verwendet werden.
Über die Syntax "${Name}" kann auf den Inhalt von SOG-Environmentvariablen zugegriffen werden. Eine Erweiterung dieser Syntax bietet "${fn:xxx}". Hier stehen Funktionen zur Verfügung, die bei jedem Abruf ausgeführt werden, und je nach Funktion unterschiedliche Ergebnisse liefern.