Parameter
Parameter sind Konstanten und Variable, welche während der Verarbeitung eines Ablaufs verwendet werden, um:
- Argumente für Kommandozeilen eines Jobs bereit zu stellen
- Namen von Arbeitsverzeichnissen und Protokoll-Dateinamen zu dynamisieren
- Bedingungen zu evaluieren
- Informationen im Monitoring anzuzeigen und Detail-Bookmarks einzustellen
- Ergebnisse von Jobs an andere Jobs weiterzureichen
- Anpassung von Submit-Masken
Parameter können an unterschiedlichen Objekt-Typen definiert werden. Diese sind:
- Definitionen von Ablaufobjekten
- Folder
- Trigger-Definitionen
- Ressourcen-Definitonen (Named Ressources)
In Kommandozeilen und Bedingungen können Parameter durch ein $-Zeichen gefolgt vom Parameter-Namen angesprochen werden. Ist die Variable in eine Zeichenkette eingebettet, sodass das Ende des Parameter-Namens nicht eindeutig erkennbar ist, so kann der Parameter-Name in geschweiften Klammern gesetzt werden (${
Desweiteren können Parameter über die Kommandozeilen-Werkzeuge sdms-get_variable und sdms-set_variable für ein Ablaufobjekt abgefragt und gesetzt werden.
Werte von Parametern können wiederum Parameter-Referenzen enthalten. Bei der Auflösung eines Parameters werden eingebettete Parameter rekursiv aufgelöst.
Bei hierarchisch organisierten Objekt-Typen (Batches, Jobs, Folder etc.) werden Parameter von übergeordneten Objekten auf untergeordnete Objekte vererbt.
Parameter-Auflösung
Parameter werden grundsätzlich im Kontext des Objektes aufgelöst, für das der Parameter definiert ist. Im Fall eineeines zur Ausführung gebrachten Ablaufobjektes (submitted Entity) findet die Suche nach einem Parameter in der folgenden Reihenfolge statt:
- Job-Umgebungsparameter
- Instanzvariable des Ablaufobjektes
- Die Instanzvariable der übergeordneten Ablaufobjekte (Eltern)
- Die Parameter des ausführenden Job Server
- Die Parameter der dem Job Server übergeordneten Scopes
- Die Parameter der Definition des Ablaufobjektes
- Die Parameter der übergeordneten Folder der Definition des Ablaufobjektes
- Die Parameter der Eltern-Folder der Definitionen übergeordneter Ablaufobjekte
Um Probleme durch Mehrdeutigkeiten zu vermeiden, wird empfohlen, für Parameter eindeutige Namen zu verwenden.
Die Parameter-Auflösung wird auch durch die Konfiguration der Option "ParameterHandling" in der Server-Konfigurationsdatei "server.conf" beeinflusst. Ist diese Option auf "Strict" gesetzt, so muss der Parameter in der Definition des Ablaufobjektes definiert sein. Andernfalls liefert der Versuch der Parameter-Auflösung einen Fehler.
Eine Ausnahme bildet dabei die Anzeige von Parametern im Monitoring. Um die Performance des Monitorings zu optimieren, werden bei der Auflösung von Parametern zur Anzeige im Monitoring ausschließlich Parameter betrachtet, welche in der Definition des Ablaufobjektes definiert sind, oder vom Job selbst im eigenen Kontext gesetzt wurden.
Nicht definierte Parameter liefern in diesem Kontext keine Fehlermeldung, wenn ein Parameter nicht definiert ist, sondern einen Leerstring. Eine Suche nach nicht in der Definition des Ablaufobjektes definierten Parametern findet nicht statt.