Symboltabellen und Symbole - Zweck und Verwendung

Dieser Abschnitt behandelt folgende Themen:


Symboltabellen

Eine Symboltabelle wird verwendet, um gemeinsame Parameterdefinitionen zu verwalten, die für alle Jobs eines Netzwerks gelten. Eine Symboltabelle enthält eine Liste definierter Symbole mit Werten, die zum Ersetzen von Parametern bei der JCL-Generierung verwendet werden können.

Sie können Symbole während der Aktivierung eines Job-Netzwerks oder eines Jobs ersetzen, d.h., beim Laden der aktiven JCL in die aktive Datenbank und außerdem beim Jobstart.

Bei jeder Netzwerkaktivierung wird eine eigene aktive Kopie (aktive Symboltabelle) der verknüpften Symboltabelle(n) initiiert. Somit ist es möglich, Netzwerke mit unterschiedlichen Parametersätzen schon weit im Voraus zu planen. Jede Ausprägung eines Symbolnamens in der JCL bzw. in einem Skript wird durch ihren aktuellen Wert ersetzt.

Sie können Symboltabellen in Entire Operations manuell definieren und pflegen. Alternativ können diese von Programmen, User Exits oder zusammen mit Entire Operations gelieferten Anwendungsprogrammierschnittstellen (APIs) geändert werden. Dadurch ist es möglich, Symboltabellen und Symbolwerte während der Verarbeitung eines Job-Netzwerks zu ändern.

Symboltabellen sind mit Eigentümern verbunden. Jeder Eigentümer kann mehrere Symboltabellen haben. Benutzer können nur die Symboltabellen verwalten, die zu ihrem Eigentümer gehören.

Die von einem Job und/oder einem Netzwerk zu referenzierende Symboltabelle muss in der Definition des Jobs oder des Netzwerks oder in der aktiven Warteschlange für einen einzelnen Job-Lauf angegeben sein. Eine Ausnahme bilden globale Symboltabellen.

Dieser Abschnitt behandelt folgende Themen:

Globale Symboltabellen

Eine Master-Symboltabelle, die vom Eigentümer SYSDBA angelegt wurde, wird als globale Symboltabelle bezeichnet, weil sie von mehreren Jobs und Netzwerken ohne explizite Angaben in den Job- und Netzwerk-Definitionen referenziert werden kann. Standardmäßig wird für den Eigentümer SYSDBA eine globale Symboltabelle mit dem Namen A bereitgestellt, auf die alle Eigentümer Zugriff haben und die von allen Eigentümern referenziert werden kann.

Außerdem können alle anderen Eigentümer ebenfalls eine globale Symboltabelle mit Namen A für ihre Netzwerke definieren. Ihre globale Symboltabelle A hat dann Vorrang vor der vom Eigentümer SYSDBA definierten Symboltabelle A.

Siehe auch Symboltabellen-Typen und Symbol-Suchreihenfolge.

Aktive Symboltabellen

Wird ein Netzwerk oder ein Job aktiviert, dann wird in der aktiven Datenbank eine aktive Kopie jeder vom Netzwerk oder einem Jobs benutzten Symboltabelle angelegt. Diese Kopie wird dann als die aktive Symboltabelle bezeichnet. Symbole, die ersetzt werden sollen, werden aus der aktiven Symboltabelle genommen. So ist es möglich, für verschiedene Läufe des Netzwerks oder Jobs unterschiedliche Werte desselben Symbols zu generieren.

Zur eindeutigen Identifizierung einer aktiven Symboltabelle ist der Name des Netzwerks und die Laufnummer erforderlich. Weitere Informationen siehe Aktive Symboltabellen verwalten.

Bei zeitplanmäßiger Netzwerkaktivierung können Sie in der Netzwerk-Definition den Zeitpunkt wählen, zu dem die Symboltabelle in der Netzwerk-Definition aktiviert werden soll. Es gibt zwei Möglichkeiten:

  • Direkt nach dem Zeitplan-Auszug
    Dadurch ist genügend Zeit für eine manuelle Symbolersetzung gegeben.

  • Während der Netzwerk-Aktivierung
    In diesem Fall ist eine manuelle Symbolersetzung jedoch nicht möglich.

Die Pflege der aktiven Symbole erfolgt in gleicher Weise wie die der Master-Symbole. Sämtliche Änderungen an aktiven Symbolen gelten jedoch nur für den aktuellen Lauf. Weitere Informationen siehe Aktive Symbole verwalten.

Reservierte Symboltabellen-Namen

Der Symboltabellen-Name mit dem Präfix =EOR= ist für interne Steuerungszwecke reserviert. Dieses Präfix darf nicht in den Namen von benutzerdefinierten Symboltabellen verwendet werden.

Symboltabellen-Versionen

Sie können mehrere Versionen einer Symboltabelle anlegen und verwalten. Weitere Informationen siehe Versionierung von Symboltabellen.

Dies gilt jedoch nicht für globale Symboltabellen. Bei diesen ist keine Versionierung zulässig.

Wenn Sie mehrere Versionen einer Symboltabelle haben, können Sie für jede Version einen Gültigkeitszeitraum definieren. Siehe Datumsbereiche für Symboltabellen-Versions-Verwendung verwalten.

Symbole

Ein Symbol in Entire Operations ist eine Variablen-Definition, die das Format, die Eingabeart, ein (optionaler) Eingabeaufforderungstext und ein oder mehrere Werte des Symbols enthält.

Symbol-Definitionen können mit Hilfe der in Entire Operations zur Verfügung stehenden Verwaltungsfunktionen erstellt und gepflegt werden. Darüber hinaus können Sie aus jedem Programm heraus erzeugt werden, das eine in Entire Operations mitgelieferte Symbol-API NOPUSY7N aufruft, um ein Symbol zu setzen, zurückzusetzen oder zu ändern.

Dieser Abschnitt behandelt folgende Themen:

Global Symbole

Ein in einer globalen Symboltabelle enthaltenes Master-Symbol wird als globales Symbol bezeichnet, weil es von mehreren Jobs und Netzwerken ohne explizite Definitionen für jeden einzelnen Job und/oder Netzwerk verwendet werden kann, das dieses Symbol referenziert. Siehe auch Globale Symboltabellen.

Vordefinierte Symbole

Es gibt zahlreiche vordefinierte Symbole. Diese sind reserviert für Systemvariablen und besondere Systemaufgaben. Weitere Informationen siehe Vordefinierte Symbole.

Zu ersetzende Symbole

Symbole werden normalerweise während der Aktivierung eines Job-Netzwerks oder beim Start eines Jobs aktiviert, d.h. während die aktive JCL in die aktive Datenbank geladen wird. In bestimmten Fällen kann Symbolersetzung auch in Dateinamen, Meldungstexten usw. verwendet werden.

Ein zu ersetzendes Symbol wird anhand eines vorangestellten Fluchtzeichens erkannt, das in den Entire Operations-Standardwerte- und Netzwerkeinstellungen definiert ist oder als Präfix in JCL oder Natural-Macro-Source-Modulen verwendet wird. Weitere Informationen siehe Fluchtzeichen definieren.

Falls ein Symbol in der für einen Job oder ein Netzwerk angegebenen Symboltabelle nicht gefunden wird, wird die globale Symboltabelle bzw. globalen Symboltabellen in alphabetischer Reihenfolge gelesen. Der erste Treffer wird dann verwendet, um das Symbol zu ersetzen. Falls ein Symbol in keiner Symboltabelle gefunden werden kann, erfolgt keine Symbolersetzung, sondern es wird eine entsprechende Fehlermeldung ausgegeben. Siehe auch Symbolersetzung und Symboltabellen-Typen und Symbol-Suchreihenfolge.

Symbol-Eingabe

Sie können für jedes Symbol festlegen, ob während oder vor einer Job-Netzwerk-Aktivierung eine Aufforderung zur Symbol-Eingabe erfolgen soll.

Vordefinierte Symbole für Unternetzwerke und Fehlerbehebungs-Jobs

Für ein Netzwerk definierte Unternetzwerke und Fehlerbehebungs-Jobs benötigen vordefinierte Symbole, um Informationen an die Jobs des Netzwerks übergeben zu können. Die Namen dieser vordefinierten Symbole beginnen mit P-C-. Weitere Informationen siehe Vordefinierte Symbole für Unternetzwerke und Fehlerbehebungs-Jobs.

User-Exits für benutzerspezifische Symbol-Verwaltungsaufgaben

Sie können User-Exit-Routinen verwenden, die benutzerspezifische Symbol-Verwaltungsaufgaben und Symbolersetzungsfunktionen ausführen. Weitere Informationen siehe:

User Exits

Globale User Exits (in der Systemverwaltung-Dokumentation)

User-Exits zur globalen Symboländerung

Zur aktiven Symboländerung kann auch ein User Exit zur globalen Symboländerung definiert werden. Dieser globale User Exit wird nur benutzt, wenn auf der Netzwerk-Ebene kein spezifischer User Exit definiert ist. Der globale User Exit wird mit derselben Parameter-Liste aufgerufen wie der User Exit auf der Netzwerk-Ebene.

Weitere Informationen siehe Globaler Symbol-Änderungs-Exit in der Systemverwaltung-Dokumentation.

Setzen von Symbolen ausgelöst durch SYSOUT eines Jobs

(Nur bei Jobs, die unter UNIX oder Windows laufen. Auf Großrechnern nicht verfügbar.)

Sie können Symbole während der Job-Ende-Prüfung eines Jobs setzen, indem Sie das Setzen durch folgendes Meta-Kommando in der SYSOUT-Datei des Jobs auslösen lassen:

EOR-SYMBOL

Mit diesem Meta-Kommando können Sie ein Entire Operations-Symbol während er Job-Ende-Prüfung eines Jobs setzen. Verfügbar ist es für Jobs, die unter UNIX oder Windows laufen.

Das Symbol wird in die Symboltabelle der aktiven Symbole oder der Master-Symbole des aktiven Jobs gesetzt. Falls der aktive Job keine aktive Symboltabelle hat, wird das Ergebnis des Jobs auf "nicht ok" gesetzt.

Syntax:

EOR-SYMBOL SA symbol=value

Setzt ein aktives Symbol.

EOR-SYMBOL SM symbol=value

Setzt ein Master-Symbol.

Das Meta-Kommando kann z.B. mit einem echo-Kommando generiert werden.

echo "EOR-SYMBOL SA SYMBOL1=$HOSTNAME"

Mit HOSTNAME=pcsn erzeugt das die SYSOUT-Zeile:

EOR-SYMBOL SA SYMBOL1=pcsn

Während der Job-Ende-Prüfung wird das Symbol SYMBOL1 in der Tabelle der aktiven Symbole des Jobs auf pcsn gesetzt.

Die echo-Anweisung kann dynamisch mittels Symbolersetzung generiert werden. Dadurch ist diese Art des Setzens von Symbolen sehr flexibel.

Beispiel:

echo "EOR-SYMBOL SA PID.&*TIMN=$$"

Erzeugt die folgende SYSOUT-Zeile:

EOR-SYMBOL SA PID.1131185=4837