Verwendung von Symboltabellen und Symbolen

Dieser Abschnitt behandelt folgende Themen:


Symboltabellen

Eine Symboltabellen 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 Symboltabellen in Entire Operations manuell definieren und pflegen. Alternativ können diese von Programmen, User Exits oder zusammen mit Entire Operations gelieferten Natural-Subroutinen (API) 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 verknüpft. 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 Master-Definition des Jobs oder des Netzwerks oder in der aktiven Warteschlange für einen einzelnen Job-Lauf angegeben sein.

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 oder in einem Script wird durch ihren aktiven Wert ersetzt.

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 hat dann Vorrang vor der vom Eigentümer SYSDBA definierten Symboltabelle A.

Siehe auch Symbol-Suchhierarchie.

Aktive Symboltabellen

Wenn ein Netzwerk oder ein Job aktiviert wird, dann wird in der aktiven Datenbank eine aktive Kopie jeder vom Netzwerk oder einem Jobs benutzten Symboltabelle angelegt. Diese 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.

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.

Reservierte Symboltabellen-Namen

Der Symboltabellen-Name mit dem Präfix =EOR= ist für interne Steuerungszwecke reserviert. Dieser 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 im Dokument Konzept und Leistungsumfang.

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 NOPUSY6N aufruft, um ein Symbol zu setzen, zurückzusetzen oder zu ändern.

Informationen zum Definieren von Symbolen in JCL (einschließlich Text-Objekten) oder Natural Macro Source-Objekten siehe Dynamische JCL-Generierung (JCL-Speicherart MAC) und Textobjekte in die JCL einfügen in der Systemübersicht.

Dieser Abschnitt behandelt folgene 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 vordefinierte Symbole. Weitere Informationen siehe Vordefinierte Symbole.

Symbolersetzung

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 Symbol-Suchhierarchie.

Symboleingabe

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

  • Während einer manuellen Netzwerk- oder Job-Aktivierung erfolgt die Aufforderung zur Symboleingabe sofort. Siehe Symbolersetzung bei Aktivierung.

  • Bei geplanten (automatischen) Aktivierungen werden Eingabeaufforderungen an eine Mailbox gesendet, die mit dem Netzwerk verlinkt ist. Mit der Netzwerk-Aktivierung wird solange gewartet, bis die Eingabe durch einen Benutzer erfolgt ist. Siehe Empfänger für netzwerkbezogene Nachrichten bestimmen.

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 schreiben, die benutzerspezifische Symbol-Verwaltungsaufgaben und Symbolersetzungsfunktionen ausführen.

User Exits

Globale User Exits (in der Systemverwaltung-Dokumentation)

Symbol-Suchhierarchie

Bei der Suche nach Symbolen wird die nachfolgend beschriebene Reihenfolge eingehalten:

Reihenfolge Symboltabelle Anmerkung
1 Aktive Symboltabelle, die im aktiven Job definiert ist.  -
2 Aktive Symboltabelle, die im Netzwerk definiert ist.  -
3 Aktive Symboltabelle, die im aufrufenden Job definiert ist. Nur wenn der aktive Job innerhalb eines Unternetzwerks ist. 

Wenn der aufrufende Job selbst zu einem Unternetzwerk gehört, dann wird dieses solange wiederholt, bis der oberste aufrufende Job erreicht ist.

4 Master-Symboltabelle, die im Master-Job definiert ist. -
5 Master-Symboltabelle, die im Master-Netzwerk definiert ist. -
6 Master-Symboltabelle <owner> / A. <owner> (Eigentümer) ist der aktuelle Eigentümer des aktiven Jobs.

Die Symboltabelle <owner> / A wird gesucht, auch wenn es auf der Job- und / oder Netzwerk-Ebene keine Symboltabellen- Definition gibt.

7 Master-Symboltabelle SYSDBA / A. Symboltabelle SYSDBA/A wird gesucht, auch wenn es auf der Job- und / oder Netzwerk-Ebene keine Symboltabellen- Definition gibt.

Je nach Verschachtelungsebene des Unternetzwerks können mehrere Aufrufer-Jobs bzw. Netzwerk-Symboltabellen durchsucht werden.

Wenn Sie die Verknüpfung zu der Symboltabelle bzw. den Symboltabellen in dem Objekte-Netzwerk, dem Maste-Job oder dem aktiven Job (normalerweise mit PF7) aufrufen, erhalten Sie eine Liste mit allen Symboltabellen für dieses Objekt in der oben genannten hierarchischen Reihenfolge.

Wenn ein Symbol nirgends gefunden werden kann, wird entweder der globale Exit Symbol nicht gefunden aufgerufen (falls definiert), der die weitere Verarbeitung bestimmt, oder der Job wird auf Fehler-Status gesetzt.

Siehe auch Globaler "Symbol nicht gefunden"-Exit im Abschnitt Globale User Exits in der Systemverwaltung-Dokumentation.

Symboltabellen sind mit den Eigentümern verbunden. Jeder Eigentümer kann mehrere Symboltabellen haben. Sie können nur die Symboltabellen verwalten, die Ihrem Eigentümer gehören.

Symbole können in Entire Operations manuell definiert oder von jedem Programm generiert werden, das ein mit Entire Operations ausgeliefertes Unterprogramm aufruft, um damit Symbole zu setzen, zu löschen oder zu ändern.

Die Symboltabelleneinträge enthalten das Format, die Abfrage-Art, den Abfrage-Text (wahlweise) und den Symbolwert.

Setzen von Symbolen ausgelöst durch SYSOUT eines Jobs

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=$$"

könnte die folgende SYSOUT-Zeile erzeugen:

EOR-SYMBOL SA PID.1131185=4837