Entire Operations-Funktionen

#### Search Results

Search

# Entire Operations-Funktionen

Entire Operations bietet dem Benutzer Funktionen, die die Definition von Objekten innerhalb des Systems und die Kontrolle und Überwachung der Ausführung von Netzwerken ermöglichen.

- Hauptmenü

- Verwaltung der Job-Netzwerke

- Zeitplanung für Job-Netzwerke

- Job-Verwaltung

- Job-Zeitplanung

- Kalender-Definition

- Verwaltung der Bedingungen

- Job-Ende-Prüfung und -Aktionen

- Dynamische JCL-Generierung (MACRO-Funktionalität)

- Editor für System-Objekte

- Berichtsfunktionen

- Cross-Referenzen

- Benachrichtigung

## Hauptmenü

Nach Anmeldung bei Entire Operations erscheint das Hauptmenü. Sobald der Benutzer hier eine Auswahl trifft, wird er entweder nachgeordnete Funktionsmenüs oder aber eine Auflistung von Objekten angezeigt bekommen, die dann mit Zeilenkommandos oder aber per PF-Tasten verarbeitet werden können.

     20.02.18                ***** Entire Operations *****                17:33:01
     Eigentuemer EXAMPLE               Hauptmenue              Benutzer-ID EXAMPLE
     ------------------------------------------------------------------------------

          Hauptmenue                              RZ-Loesungen

       1  Netzwerk- und Job-Definition        20  Entire Output Management
       2  Aktive Job-Netzwerke                21  Natural ISPF
       3  Zeitplaene
       4  Kalender
       5  Log-Information
       6  Symboltabellen
       7  Systemverwaltung
       8  Berichte
       9  Cross-Referenzen
      10  Import/Export
      11  Hilfe

     Kommando => ____________________________________________________________
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help        End                                             Owner Mail

Die Gestaltung des Hauptmenüs kann von Benutzer zu Benutzer unterschiedlich sein, je nach Autorisierung in seinem Benutzerprofil.

Eigene Anwendungen können in das Hauptmenü integriert werden, was umständliche An- und Abmeldeprozeduren überflüssig macht. Im obigen Beispiel eines Hauptmenüs sind unter der Überschrift RZ-Lösungen die Software AG-Produkte Entire Output Management als Option 20 und Natural ISPF (Integrated Structured Programming Facility) als Option 21 eingetragen und direkt aufrufbar.

Weitere Informationen siehe Entire Operations-Hauptmenü im Benutzerhandbuch.

## Verwaltung der Job-Netzwerke

Bevor Entire Operations ein Job-Netzwerk identifizieren und aktivieren kann, muss dieses im System definiert werden. Zur Erläuterung kann eine kurze Beschreibung hinzugefügt werden. Eine Knoten-Nummer sollte als Standardwert für die Ausführung aller Jobs in diesem Netzwerk angegeben werden. Eine Symboltabelle kann ebenfalls angegeben werden, um so die Möglichkeit der dynamischen Generierung von Jobkontrollanweisungen zu nutzen. Die Knoten-Nummer eines Rechners wird als Standardwert für die Ausführung aller Jobs des Netzwerks herangezogen und kann für jeden Job überschrieben werden.

     20.02.18                ***** Entire Operations *****                17:53:28
     Eigentuemer EXAMPLE           Netzwerk-Verwaltung
      +------------------------------------------------------------------------+
    - |                                                                        | --
      |                           Netzwerk-Definition                          |
      |  Eigentuemer EXAMPLE    Netzwerk __________ Version __________         |
      |  Beschreibung  __________________________________________________      |
      |                                                Schleife  existiert     |
      |  Standardwerte fuer die Jobs                                           |
      |   Ausfueh. Knoten   146 MVS/ESA              Symboltabelle __________  |
      |   JCL Knoten        146 MVS/ESA     Symboltabellen-Version __________  |
      |   JCL Speicherart ___                  Symboltab.-Aktivierungsmodus X  |
      |                                          Fluchtzeichen Akt. @ Start $  |
      |            Jobende-Aktions-Fehler setzen 'nicht ok' Bedingungen ==> N  |
      |                                                                        |
      |   Datei   ______________________________________________________       |
      |   VolSer  ______                               Passwort                |
      |                                               definiert  nein          | **
      |  --PF1-----PF3-----PF5---PF6---PF7---PF8---PF9---PF10---PF11---------  |
      |    Help    End     Save  Spec  Symb  SP-UR DfJb  Copy   MsgRe          |
      +------------------------------------------------------------------------+
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Add   End         Save        Up    Down              NxtSt Menu

Weitere Informationen siehe Netzwerk-Verwaltung im Benutzerhandbuch.

## Zeitplanung für Job-Netzwerke

Zeitplanung für ein Job-Netzwerk bedeutet, Datums- und Zeitangaben festzulegen, an denen dieses Netzwerk durchgeführt werden soll. Ein Job-Netzwerk wird aktiviert (d.h. in die aktiven Datenbank kopiert) entsprechend seiner eingeplanten Startzeit und unter Berücksichtigung weiterer Plan-Parameter des Netzwerks.

     10.12.18                ***** Entire Operations *****                11:23:59
                             Netzwerk-Zeitplan-Definition
                      Eigentuemer EXAMPLE     Netzwerk A-1
    -------------------------------------------------------------------------------
        Zeitplan-Eigent. ==> EXAMPLE___
        Zeitplan         ==> A-1_______    gueltig ab ==> ________ ________

           Zeitplan-         Fruehester  Spaetester Tage     Endezeit   Tage
       Kdo abhaengig         Start       Start   spaeter T           spaeter T
        _  +WW+135     14:00:00    15:00:00  ___     16:00:00  ___
        _              22:00:00    22:30:00  ___     23:00:00  ___
        _              16:00:00    16:30:00  ___     17:00:00  ___
        _              ________    ________  ___     ________  ___
        _              ________    ________  ___     ________  ___

        Anzahl Aktivierungen ==> _____  alle ==> _____ Minuten
        oder aktivieren um ==> _____ _____ _____ _____ _____
                               _____ _____ _____ _____ _____
        Tages-Endezeit     ==> _____

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help        End   ExplD Save        Sch.L Sch.M Delet             Menu

Während der Durchführung eines Job-Netzwerks überprüft Entire Operations, ob alle Vorbedingungen für einen Job erfüllt sind: Zeitfenster, Ressourcen und Eingabebedingungen. Entsprechend dieser Überprüfung wird der Job automatisch gestartet und seine Ausführung überwacht.

Weitere Informationen siehe Zeitpläne und Zeitplan-Definition anlegen im Benutzerhandbuch.

## Job-Verwaltung

Innerhalb der Job-Netzwerk-Verwaltung kann der Benutzer die Liste aller zu einem Netzwerk gehörenden Jobs anfordern. Er kann dann Jobs hinzufügen, löschen oder aber verändern. Ein Job wird hierbei definiert durch einen (logischen) Namen, einen Typ und seinen Speicherort (PDS-Datei, Natural-Bibliothek usw.). Eine kurze Beschreibung des Jobs kann hinzugefügt werden. Daneben kann für die Ausführung dieses Jobs eine Knoten-Nummer angegeben werden, die dann den Standardwert überschreibt, der bei der Netzwerk-Definition angegeben wurde.

     20.02.18                ***** Entire Operations *****                18:01:07
     Job-Verwaltung      Eigentmr EXAMPLE    Netzwerk B60-FLOW   Version
     ------------------------------------------------------------------------------
      +------------------------------------------------------------------------+
      |                                                                        |
      |                        Job-Definition (Master)                         | 2
      |                                                                        | 1
      |  Job-Name       ==> JOB-01____  Geaendert ==> SAG      20.03.17 14:20  | 1
      |  Beschreibung   ==> Where it all starts_______________________________ | 1
      |  Jobtyp         ==> JOB                                                |
      |  Ausfueh.Knoten ==>    31 BS2000                                       | 1
      |                                                                        | 2
      |  Spezieller Typ ==> ________             Symboltabelle ==> EXAM-ST1__  | 1
      |  Meilensteine   ==> ________    Symboltabellen-Version ==> __________  | 1
      |  Restart-faehig ==> _                                                  |
      |            Suffix-Symbol ==> ________________________________________  | 2
      |                                Fluchtzeichen:    Aktivierung    ==> @  |
      |                                                  Jobstart       ==> $  | **
      |  Jobende-Aktions-Fehler setzen 'nicht ok' Bedingungen ==> _            |
      |                                                                        |
      | Enter-PF1---PF2--PF3--PF4---PF5---PF6---PF7---PF8---PF9--PF10---PF12-  |
    E |       Help  Add  End  Edit  Save  Spec  Symb  Net   JCL  Anzg.  Menu   | --
      +------------------------------------------------------------------------+

Wenn im Job die Möglichkeit der dynamischen Generierung von Jobkontrollanweisungen genutzt werden soll, muss die zu verwendende Symboltabelle ebenfalls angegeben werden (siehe hierzu auch den Abschnitt Dynamische Generierung von Jobkontrollanweisungen ). Der Benutzer kann dann alle derart referenzierten Jobkontrollanweisungen einfach über eine zugeordnete PF-Taste editieren.

Weitere Informationen siehe Job-Verwaltung im Benutzerhandbuch.

## Job-Zeitplanung

Die Aktivierung des einzelnen Jobs hängt von seinen Zeitplanungsparametern ab. Genauso wie für ganze Netzwerke können auch für einzelne Jobs (früheste) Startzeiten vergeben werden.

     05.03.2024                ***** Entire Operations *****                13:52:12
     Job-Verwaltung      Eigentmr EXAMPLE    Netzwerk B60-FLOW   Version
      +-------------------------------------------------------------------------+ -
      |                                                                         |
      |                           Zeitplan-Parameter                            |
      |  Job JOB-012                                                            |
      |                                                                         |
      |  Geschaetzte Laufzeit   ==> _________ Min.  Durchschnitt ==>      0.00  |
      |       Letzte Laufzeit   ==>         0.00      0.00      0.00      0.00  |
      |                                     0.00      0.00      0.00      0.00  |
      |                                                                         |
      |                                                                         |
      |  Frueheste Startzeit    ==> ________  ___ Tage spaeter                  |
      |  Spaeteste Startzeit    ==> ________  ___ Tage spaeter                  |
      |  Endezeit               ==> ________  ___ Tage spaeter                  |
      |                                                                         |
      |  Zeitplanabhaengigkeit  ==> N                                           |
      |                                                                         |
      | ---PF1---PF3---PF4---PF5-------------------PF9---PF10---PF11---PF12--   |
      |    Help  End   Quit  Save                  LMsg  Acct   ScDep  Menu     |
      +-------------------------------------------------------------------------+
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Add   End         Save        Up    Down                    Menu

Daneben kann der Benutzer angeben, ob ein eingeplanter Job, der aus irgendeinem Grund nicht durchgeführt wurde (z.B. wegen Hardware-Problemen) nochmals eingeplant werden soll: der Job würde dann zum nächsten Planungsdatum zweimal ausgeführt werden. Es kann darüber hinaus bestimmt werden, wie lange Jobs in der aktiven Datenbank auf ihre Ausführung warten dürfen. Auch kann der Benutzer dem Job eine geschätzte Laufzeit zuordnen: der Entire Operations-Monitor benutzt diese dann zur Berechnung der voraussichtlichen Ende-Zeit des Jobs.

Mit Hilfe der Zeitplan-Angaben eines Jobs ist es Entire Operations möglich, ausgewählte Benutzer des Systems davon zu unterrichten, dass der Start eines Jobs nicht erfolgt ist, um eine vorher definierte späteste Endezeit nicht zu überschreiten.

## Kalender-Definition

Kalender werden in Zeitplänen referenziert, welche ihrerseits in der Netzwerk-Verwaltung definiert sind. Die Anzahl von Kalendern innerhalb des Systems ist beliebig. Kalender können einem Eigentümer gehören oder aber innerhalb des gesamten Systems zur Verfügung stehen. In der Kalender-Verwaltung kann der Benutzer diese hinzufügen, löschen oder verändern (systemweite Kalender können nur vom Administrator verändert werden).

     20.02.18                ***** Entire Operations *****                18:04:17
     Eigent. EXAMPLE             Kalender EXAMPLECAL Jahr 2018

                     Januar               Februar              Maerz
     Montag       .  8 15 22 29           5 12 19 26           5 12 19 26
     Dienstag     2  9 16 23 30           6 13 20 27           6 13 20 27
     Mittwoch     3 10 17 24 31           7 14 21 28           7 14 21 28
     Donnerstag   4 11 18 25           1  8 15 22           1  8 15 22 29
     Freitag      5 12 19 26           2  9 16 23           2  9 16 23 30
     Samstag      .  .  .  .           .  .  .  .           .  .  .  .  .
     Sonntag      .  .  .  .           .  .  .  .           .  .  .  .

                     April                Mai                  Juni
     Montag          2  9 16 23 30        7 14 21 28           4 11 18 25
     Dienstag        3 10 17 24        1  8 15 22 29           5 12 19 26
     Mittwoch        4 11 18 25        2  9 16 23 30           6 13 20 27
     Donnerstag      5 12 19 26        3 10 17 24 31           7 14 21 28
     Freitag         6 13 20 27        4 11 18 25           1  8 15 22 29
     Samstag         .  .  .  .        .  .  .  .           .  .  .  .  .
     Sonntag      .  .  .  .  .        .  .  .  .           .  .  .  .

    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help        End   Wkdy              Up    Down

Ein Kalender wird durch seinen Namen und eine Jahresangabe definiert. Die Definition neuer oder die Verwaltung bestehender Kalender besteht dann einfach darin, Feiertage zu markieren.

Entire Operations berücksichtigt diese Feiertage dadurch, dass es Netzwerke, die für diese Tage eingeplant wurden, nicht aktiviert. Weitergehende Regelungen für diesen Fall können getroffen werden, wie z.B. aktiviere Netzwerk am folgenden Werktag.

Weitere Informationen siehe Kalender im Benutzerhandbuch.

## Verwaltung der Bedingungen

Logische Bedingungen stellen Abhängigkeiten zwischen Jobs dar. Sie werden mit einer dafür vorgesehenen Verwaltungsfunktion definiert, gelöscht oder aber verändert. Mit einem Job kann eine beliebige Anzahl logischer Bedingungen verknüpft werden. Eine logische Bedingung kann zwei Zustände annehmen, die dann die weitere Verarbeitung innerhalb von Entire Operations bestimmen: wahr (Bedingung existiert) oder falsch (Bedingung existiert nicht).

Jede Bedingung wird durch einen Namen und ein Referenzdatum identifiziert. Dies erlaubt es dem Entire Operations-Monitor, zwischen gleichen Ereignissen zu unterscheiden, die zu verschiedenen Zeitpunkten eingetreten sind. Zeitangaben können entweder in relativen oder absoluten Einheiten gemacht werden. Alle relativen Angaben werden in absolute umgerechnet, wenn der Job in die aktive Datenbank eingestellt wird.

Logische Bedingungen können verwendet werden als:

- Eingabebedingungen
  Sämtliche Eingabebedingungen müssen erfüllt sein, bevor Entire Operations einen zuvor aktivierten Job zur Ausführung bringen kann. Um nun zwei Jobs zu verknüpfen, muss eine Eingabebedingung des einen Jobs mit als Ausgabebedingung seines Vorgängers definiert werden. Eine Eingabebedingung kann durch ein CPU-basiertes Ereignis oder durch einen manuellen Benutzereingriff erfüllt werden.

  Bildschirm zum Verwalten der Eingabebedingungen (Beispiel):

       20.02.18                ***** Entire Operations *****                18:16:53
               +-------------------------------------------------------------+
       Eigentu |                                                             | 2
               |               Master-Eingabebedingung aendern               |
      -------- |                                                             | ------
       K Bedin |  Eigentuemer  ==> EXAMPLE___                                | it
       m E60-J |     Netzwerk  ==> B60-FLOW__   Version ==>                  |
               |    Bedingung  ==> E60-JOB2-O1_________                      |
               |     Referenz  ==> RUN_____                                  |
               |                                                             |
               |  Verwendung (markiere mit Y oder N)                         |
               |   Muss Exist.: Y   Exklusiv: _  Loeschen n. Verwendung: _   |
               |  Aktivierungsmodus   ==> N                                  |
               |                                                             |
               |  Abhaengig von                                              |
               |    Exit              ==> _        Mehrfache Suffixe ==> _   |
       ******* |    Dateiexistenz     ==> _        Mailbox           ==> _   | ******
       D Loesc |    Ben.-Sch.(BS2000) ==> _        Symbol-Wert       ==> _   |
               |    Job-Var.(BS2000)  ==> _                                  |
               |                                                             |
       Kommand | -PF1---PF2---PF3-------PF5------------PF9---PF10---PF12--   |
      Enter-PF |  Help  Add   End       Save           Xref  ScDep  Menu     | F12---
            He +-------------------------------------------------------------+ enu

  Neben dem Namen und dem Referenzdatum kann der Benutzer auch eine Mailbox mit einer Bedingung verknüpfen. Entire Operations wird dann automatisch alle Benutzer dieser Mailbox über alle ihre zugeordneten, ausstehenden Bedingungen informieren. Jedem Benutzer des Systems können bis zu 10 Mailboxen zugeordnet werden: er wird so die Liste aller Meldungen sehen können, die an eine dieser Mailboxen geschickt worden ist.

  Daneben kann der Benutzer festlegen, in welchem Status eine Bedingung sein muss, damit ein Job zur Ausführung gebracht werden kann (wahr oder falsch), ob ein Job warten soll, bis ihm diese Bedingung exklusiv zur Verfügung steht (dies kann benutzt werden, um die parallele Ausführung von Jobs zu verhindern, die die gleiche Bedingung benutzen) und ob Entire Operations am Job-Ende die Bedingung automatisch zurücksetzen soll.

  Vor der Durchführung eines Jobs überprüft der Entire Operations-Monitor automatisch alle Eingabebedingungen. Daneben können sie diese Prüfung auch von einer Natural-Benutzerroutine durchführen lassen: diese muss dazu bei der Definition der logischen Bedingung angegeben werden.

  Weitere Informationen siehe Eingabebedingungen für Job verwalten im Benutzerhandbuch.

- Ausgabebedingungen
  Ausgabebedingungen werden vom Entire Operations-Monitor automatisch gepflegt, wenn das ihnen zugeordnete Ereignis eingetreten ist. In diesem Fall werden alle Jobs gestartet, für die diese Bedingung einzige Eingabebedingung ist. Ereignisse und Ausgabebedingungen werden in Entire Operations innerhalb der Job-Ende-Prüfungen festgelegt (siehe Jobende-Prüfung und -Aktionen).

  Fenster zum Verwalten der Ausgabebedingungen (Beispiel):

       20.02.18                ***** Entire Operations *****                18:24:46
       Eigentuemer EXAMPLE    Netzwerk B60-FLOW   Version              Job JOB-01
       Jobende-Pruefung + Aktionen  BS2000                Lauf       Datum
       ------------------------------------------------------------------------------
       K Aktion      +---------------------------------------------------------+ t AA
       c  C          |                                                         | k
                     |   Auftreten von String 'INVALID RESPONSE-CODE'          |
                     |                  Ausgabebedingungen                     |
                     |   Kdo Status Name der Bedingung    Referenz     Lauf    |
                     |    _  Setze  E60-JOB1-O            RUN                  |
                     |    _  Setze  E60-JOB2-02           RUN                  |
                     |    _  Loe.   E60-JO15-0            RUN                  |
                     |    _  Loe.   E60-JO19-0            RUN                  |
       ************* |    _  Loe.   E60-JOB1-0            RUN                  | ****
       _  C          |                                                         |
       _             |                                                         |
       ------------- |                                                         | ----
       A Aktiv. B An |                                                         | And.
       P Beschreib.  |                                                         | mbol
                     |    D Loeschen  M Aendern  W Wo benutzt                  |
       Kommando => _ | Enter-PF1---PF2---PF3---PF5-------PF7---PF8----PF12-    |
      Enter-PF1---PF |       Help  Add   End   Save      Up    Down   Menu     | 2---
            Help  Ad +---------------------------------------------------------+ u

  Genau wie im Fall der Eingabebedingungen werden auch Ausgabebedingungen durch Namen und Referenzdatum definiert. Darüber hinaus kann der Benutzer bestimmen, ob die Ausgabebedingung bei Eintreffen des zugeordneten Ereignisses (auf wahr) gesetzt oder (auf falsch) zurückgesetzt werden soll.

  Bis zu 20 Ausgabebedingungen können mit einem einzelnen Ereignis verknüpft werden.

## Job-Ende-Prüfung und -Aktionen

Die Job-Ende-Prüfung bezeichnet die Verarbeitung, mit der Entire Operations das Job-Ende feststellt.

Bildschirm zum Verwalten der Job-Ende-Prüfungen und -Aktionen (Beispiel):

     20.02.18                ***** Entire Operations *****                18:27:42
     Eigentuemer EXAMPLE    Netzwerk B60-FLOW   Version              Job JOB-01
     Jobende-Pruefung + Aktionen  BS2000                Lauf       Datum
     ------------------------------------------------------------------------------
     K Aktion       Step       wird geprueft auf                        bedeutet AA
     _  C                      Auftreten von String 'INVALID RESPONSE-CODE' n.ok

     ******************************* Ende der Daten *******************************
     _  C           Alle Pruefungen ok
     _              Mindestens eine Pruefung nicht ok
     ------------------------------------------------------------------------------
     A Aktiv. B Anzg. C Bed. D Loe. E Ed.Exit J Job-Var. L Ress.frg. M Aend. O And.
     P Beschreib. R Fe.beh. S SYSOUT T Output Mgmt. U Nachr. X Aktion-Exit Y Symbol

     Kommando => ____________________________________________________________
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Add   End         Save        Up    Down                    Menu

Unmittelbar nach Job-Ende untersucht Entire Operations, ob benutzerdefinierte Ereignisse eingetreten sind. Solche Ereignisse können sein:

- ein Return-Code wurde in einem bestimmten Arbeitsschritt innerhalb eines Jobs gesetzt,

- ein Return-Code wurde in einem beliebigen Arbeitsschritt eines Jobs gesetzt,

- eine Zeichenkette wurde im Protokoll oder in den Ausgabe-Listen des Jobs gefunden,

- ein Natural-User Exit wurde ausgeführt, welcher seinerseits den Job-Ende-Status durch das Setzen eines Return-Codes anzeigt.

  Diese Benutzerroutine kann:

  - das Job-Protokoll oder die Ausgabelisten selbst untersuchen,

  - alle vom Job erzeugten Daten lesen,

  - Systemfunktionen durchführen,

  - Meldungen verschicken.

#### Standard-Prüfungen

Je nach Betriebssystem, auf dem der Job durchgeführt wurde, unternimmt Entire Operations eine Reihe von Standard-Prüfungen zur Feststellung des Job-Ergebnisses. Für z/OS-Systeme werden z.B. Systemabbrüche oder Syntaxfehler in den Jobkontrollanweisungen automatisch erkannt. Diese Standard-Prüfungen werden für jeden Job durchgeführt, unabhängig davon, ob daneben noch benutzerdefinierte Prüfungen für diesen Job angefordert sind.

#### Job-Ende-Aktionen

Für jedes definierte Ereignis kann der Benutzer festlegen, wie Entire Operations darauf reagieren soll. Folgende Möglichkeiten stehen zur Verfügung:

- Verknüpfte Ausgabebedingungen automatisch setzen oder zurücksetzen (siehe Ausgabebedingungen).

- Eine Nachricht schicken, und zwar wahlweise an:

  - einen bestimmten Betriebssystem-Benutzer,

  - die System-Konsole,

  - eine Entire Operations Mailbox,

  - an eine E-Mail-Adresse.

- Job-Protokoll und Ausgabelisten löschen oder drucken.

- Fehlerbehebungsmaßnahmen einleiten (im Falle eines Job-Abbruchs).

- Datei-Übergabe an Entire Output Management.

Weitere Informationen siehe Job-Ende-Prüfungen und -Aktionen im Benutzerhandbuch.

## Dynamische JCL-Generierung (MACRO-Funktionalität)

Bei der Definition eines Jobs innerhalb eines Job-Netzwerks kann der Benutzer bestimmen, dass dessen Jobkontrollanweisungen dynamisch generiert werden, und zwar entweder zur Zeit der Jobaktivierung oder des Jobstarts.

Die dynamische Generierung von Jobkontrollanweisungen ist mit Hilfe der Entire Operations MACRO-Funktionalität realisiert, als Erweiterung der Programmiersprache Natural. Ein solches MACRO besteht aus normalen Natural-Anweisungen sowie Jobkontrollanweisungen beliebigen Formats. Innerhalb der Jobkontrollanweisungen können durch Steuerzeichen gekennzeichnete Variablen verwendet werden, die während der dynamischen Generierung durch ihre Werte ersetzt werden.

Diese aktuellen Werte werden aus den Symboltabellen entnommen, die die aktuellen, als Ersetzungswerte zu verwendenden Werte enthalten müssen. Die zu benutzenden Symboltabellenhierarchie kann im Fenster Verwendbare Symboltabellen bestimmt werden (siehe In einem Netzwerk oder Job verwendbare Symboltabellen auflisten im Benutzerhandbuch. Weitere Informationen siehe Fluchtzeichen definieren im Benutzerhandbuch.

Zum Zeitpunkt der Variablenersetzung (entweder Aktivierung oder Ausführung) wird jedes in den Jobkontrollanweisungen referenzierte Symbol, das nicht in der Symboltabelle des Jobs gefunden wird, in der oder den Symboltabellen des Eigentümers SYSDBA gesucht. Die Anzahl der Einträge, die ein Benutzer in einer Symboltabelle definieren kann, ist beliebig, die Anzahl der Symboltabellen ebenfalls.

Darüber hinaus stellt Entire Operations eine Reihe von Standardvariablen dem dynamisch zu generierenden Programm in einem Parameterabschnitt zur Verfügung, wie z.B. den Namen des Job-Eigentümers, des Jobs, des Job-Netzwerks und des ursprünglichen Zeitplan-Datums. Ebenso sind Natural-Systemvariablen z.B. für Datum (`*DAT*`), Zeit (`*TIM*`), Benutzerkennung (`*USER`) verfügbar. Da es möglich ist, all diese Parameter an beliebigen Stellen der Jobkontrollanweisungen einzubauen, können unterschiedliche Folgen der Jobkontrollanweisungen in Abhängigkeit von `*DAT*`, `*TIM*` usw. generiert werden.

Die Möglichkeit zur dynamischen Generierung von Jobkontrollanweisungen bietet Entire Operations auf allen unterstützen Betriebssystemen an (z/OS, z/VSE, BS2000, UNIX).

Weitere Informationen siehe

Dynamische JCL-Generierung (JCL-Speicherart MAC).

#### Beispiele

- Beispiel 1: Dynamische Jobkontrollanweisungen in einer z/OS-Umgebung

- Beispiel 2: Dynamische Jobkontrollanweisungen in einer BS2000-Umgebung

- Beispiel 3: Dynamische Jobkontrollanweisungen in einer UNIX-Umgebung

#### Beispiel 1: Dynamische Jobkontrollanweisungen in einer z/OS-Umgebung:

Die Symboltabelle des MACRO-Programms soll wie folgt aussehen:

Symbolname | Aktueller Wert
--- | ---
BIBLIOTHEK | SN.SYSF.SOURCE
KLASSE | G

Eine der Variablen im übergebenen Parameterabschnitt soll den Wert haben:

P-OWNER | NET1

Systemvariablen sollen die folgenden Werte besitzen:

*TPSYS | COMPLETE
*DEVICE | BATCH
*INIT-USER | SN

Die folgende Auflistung stellt nun ein Natural MACRO-Programm dar, das einen Parameterabschnitt und Jobkontrollanweisungen umfasst. Variablennamen sind durch #gekennzeichnet und werden aus obiger Symboltabelle entnommen:

    # DEFINE DATA PARAMETER USING NOPXPL-A
    # LOCAL /* MUST BE CODED
    # END-DEFINE
    //SNMAC4 JOB ,#P-OWNER,MSGCLASS=X,CLASS=#CLASS //STEP01 EXEC
    PGM=NOPCONTI,PARM='C0004' //STEPLIB  DD DISP=SHR,DSN=#STEPLIB
    //* DEVICE: *DEVICE, INIT-USER: *INIT-USER //* TPSYS: *TPSYS
    # IF CLASS = 'G'
    //* THE MSGCLASS IS REALLY 'G'
    # ELSE
    //* ANOTHER MSG-CLASS FOUND
    # END-IF
    //*

Die hieraus dynamisch generierten Jobkontrollanweisungen lauten:

    //SNMAC4 JOB ,NET1,MSGCLASS=X,CLASS=G
    //STEP01 EXEC PGM=NOPCONTI,PARM='C0004' //STEPLIB  DD
    DISP=SHR,DSN=SN.SYSF.SOURCE //* DEVICE: BATCH, INIT-USER: SN
    //* TPSYS: COMPLETE
    //* THE MSGCLASS IS REALLY 'G'
    //*

#### Beispiel 2: Dynamische Jobkontrollanweisungen in einer BS2000-Umgebung:

Die Felder des View DB-INFO sollen hierbei nach dem Datenbank-Zugriff (FIND-Anweisung) folgende Werte haben:

Feld | Wert
--- | ---
NUCLEUS | 055
LP1 | 1000
NU1 | 100
ACCOUNT | EXAMPLE
NH1 | 4000
MSG | FHL
VERSION | 524

Die Variablen aus dem Parameterabschnitt sollen folgende Werte haben:

Variable | Wert
--- | ---
P-OWNER | OS
P-JOB | NUC055
P-EXECUTION-NODE | 055

Es wird keine Symboltabelle für den MACRO-Job referenziert, alle Variablen sind durch ein vorangestelltes Steuerzeichen (hier: #) gekennzeichnet:

    # DEFINE DATA PARAMETER USING NOPXPL-A
    #  1 L-JOB
    # 1 REDEFINE L-JOB
    # 2  L-JOB-A    (A3)
    # 2  L-JOB-NUC  (N3)
    # LOCAL   /* LOCAL VARIABLES START HERE
    # 1 DB-INFO VIEW OF DB-INFO
    # 2  NUCLEUS
    # 2  LP1
    # 2  NU1
    # 2  ACCOUNT
    # 2  NH1
    # 2  MSG
    # 2  VERSION    /* E.G. 524
    # 1 LWP  (N7)
    # 1 NUC  (N3)
    # 1 SPOOL  (A10) INIT <'NOSPOOL'>
    # END-DEFINE
    # *
    # MOVE P-JOB TO L-JOB-A
    # MOVE P-EXECUTION-NODE TO NUC
    # F1. FIND DB-INFO WITH NUCLEUS = NUC
    /.NUC NUC LOGON #P-OWNER,#ACCOUNT
    /OPTION MSG=#MSG
    /REMARK
    /REMARK  NUCLEUS #NUC
    /REMARK
    /SYSFILE  SYSLST = NUC NUC..LST.NUC
    /SYSFILE  SYSDTA = SYSCMD
    /FILE  ADA VERSION..MOD,LINK=DDLIB
    /FILE  *DUMMY,LINK=DDLOG
    /FILE  *DUMMY,LINK=DDSIBA
    /FILE  ADA NUC..ASSO,LINK=DDASSOR1,SHARUPD=YES
    /FILE  ADA NUC..DATA,LINK=DDDATAR1,SHARUPD=YES
    /FILE  ADA NUC..WORK,LINK=DDWORKR1,SHARUPD=YES
    /EXEC  (ADARUN,ADA VERSION..MOD)
    # COMPUTE LWP = F1.LP1 * (F1.NU1 + 100)
    ADARUN PROG=ADANUC,LP=F1.LP1,LU=65535,LWP=#LWP ADARUN
    DB=#NUC,NU=#NU1,NC=20,TT=600,TNAE=1800 ADARUN NH= NH1
    /SYSFILE  SYSLST = (PRIMARY)
    /SYSFILE  SYSDTA = (PRIMARY)
    /SYSFILE  SYSOUT = (PRIMARY)
    /LOGOFF  SPOOL
    # END-FIND

Hieraus resultieren folgende dynamisch generierte Jobkontrollanweisungen:

    /.NUC055 LOGON OS,EXAMPLE
    /OPTION MSG=FHL
    /REMARK
    /REMARK  NUCLEUS 055
    /REMARK
    /SYSFILE  SYSLST = NUC055.LST.NUC
    /SYSFILE  SYSDTA = SYSCMD
    /FILE ADA524.MOD,LINK=DDLIB
    /FILE *DUMMY,LINK=DDLOG
    /FILE *DUMMY,LINK=DDSIBA
    /FILE ADA055.ASSO,LINK=DDASSOR1,SHARUPD=YES
    /FILE ADA055.DATA,LINK=DDDATAR1,SHARUPD=YES
    /FILE ADA055.WORK,LINK=DDWORKR1,SHARUPD=YES
    /EXEC (ADARUN,ADA524.MOD)
    ADARUN PROG=ADANUC,LP=1000,LU=65535,LWP=200000 ADARUN
    DB=055,NU=100,NC=20,TT=600,TNAE=1800 ADARUN NH=4000
    /SYSFILE  SYSLST = (PRIMARY)
    /SYSFILE  SYSDTA = (PRIMARY)
    /SYSFILE  SYSOUT = (PRIMARY)
    /LOGOFF NOSPOOL

Anmerkung
Jede JCL, die zur Aktivierungs-Zeit generiert wurde und die MACRO-Sprache benutzt, kann vom Benutzer geändert werden, bis der Job endgültig bestätigt wurde. Natürlich ist diese Veränderung nur für den aktuellen Netzwerk-Lauf gültig.

#### Beispiel 3: Dynamische Jobkontrollanweisungen in einer UNIX-Umgebung:

Im folgenden Beispiel soll eine dynamische Symbol-Ersetzung innerhalb eines Bourne Shell Scripts erfolgen (als Steuerzeichen dient hier §):

    #
    # Bourne shell script for checking the number of users
    # entered in /etc/passwd.
    # If more than §USER-LIMIT entries appear,
    # the script will be ended with exit 1.
    #
    #!/bin/sh
    set -x
    USER_COUNT='wc -l < /etc/passwd'
    echo Number of users on node 'hostname' : $USER_COUNT
    if test $USER_COUNT -gt §USER-LIMIT
    then
        echo USER_COUNT_WARN
        exit 1
    else
        echo USER_COUNT_OK
    fi

Die zu verwendende Symboltabelle soll wie folgt aussehen:

Symbol-Name | Aktueller Wert
--- | ---
USER-LIMIT | 100

Daraus ergibt sich die folgende ausführbare Shell-Prozedur:

    #
    # Bourne shell script for checking the number of users
    # entered in /etc/passwd.
    # If more than 100 entries appear,
    # the script will be ended with exit 1.
    #
    #!/bin/sh
    set -x
    USER_COUNT='wc -l < /etc/passwd'
    echo Number of users on node 'hostname' : $USER_COUNT
    if test $USER_COUNT -gt 100
    then
        echo USER_COUNT_WARN
        exit 1
    else
        echo USER_COUNT_OK
    fi

Anmerkung
Alle zur Aktivierungszeit durch die Natural MACRO-Funktionalität aufgebauten Jobkontrollanweisungen können durch den Benutzer noch solange modifiziert werden, bis der Job tatsächlich gestartet wird. Natürlich sind diese Modifikationen dann nur für den aktuellen Netzwerklauf gültig.

## Editor für System-Objekte

Mit der Editor-Funktionalität in Entire Operations kann der Benutzer folgende Objekte erstellen, anzeigen oder bearbeiten:

- Die Jobkontrollanweisungen (JCL) von Jobs, entweder aus der Master-Datenbank (und somit beliebigen externen Speicherquellen) oder aus der aktiven Datenbank.

  Änderungen an den Jobkontrollanweisungen von aktiven Jobs beeinflussen nur den aktuellen Netzwerklauf, sie haben keine Auswirkungen auf die Master-Datenbank.

- Natural-Programme und Benutzerroutinen;

- Entire Operations MAC (Makro)-Jobs;

- Online Dokumentation von Netzwerken, Jobs oder Ereignissen innerhalb von Jobs (Notizzettel-Informationen)

- Job-Protokolle (nur zum Anzeigen)

- Job-Ausgabelisten (nur zum Anzeigen)

Der Benutzer von Entire Operations ist somit zum Beispiel in der Lage, so unterschiedliche Daten wie UNIX-Prozeduren, CA-LIBRARIAN-Dateien oder LMS-Dateien mit einem einzigen Editor zu bearbeiten.

Der Benutzer kann den Editor aufrufen, indem er die Edit-Funktion im Verwaltungsbildschirm des entsprechenden Objekts auswählt.

Der Editor stellt eine umfassende Funktionalität z/OS/ISPF-ähnlicher Kommandos zur Verfügung. Diese sind dem Typ des Objekts angepasst, welches editiert werden soll: zum Beispiel sichert und katalogisiert das Kommando `STOW` ein Natural-Programm, es sollte aber für Natural-MACRO-Programme nicht verwendet werden. Natural-MACRO-Programme werden mit dem `MACRO`-Kommando gesichert, vorverarbeitet und katalogisiert.

An textverarbeitenden Funktionen bietet der Editor Zentrierung, physische und logische Tabulator-Benutzung und Text-Überlagerung.

Umfassende Online-Hilfe ist über eine PF-Taste innerhalb der Editor-Funktion verfügbar.

## Berichtsfunktionen

Entire Operations bietet eine große Auswahl an Berichten ("Reports") an, um die Arbeit mit dem System auf allen Ebenen zu unterstützen. Der Benutzer kann die Berichtsfunktionen aufrufen, indem er die entsprechende Option im Entire Operations-Hauptmenü auswählt oder das Direktkommando `REPORTS` in der Kommandozeile einer beliebigen Bildschirmmaske benutzt.

Berichte decken folgende Bereiche ab:

- Information über alle Jobs, selektierbar nach abgebrochenen, beendeten oder nicht gestarteten Jobs. Datumsintervalle sowie Netzwerknamen können zur weiteren Einschränkung der Suche angegeben werden. Die für diese Objekte erstellten Berichte können alle Ereignisse, Aktivierungszeit, Meldungen, Job-Ende-Status usw. enthalten. Alle Job-Auswertungen sind nach Protokollierungszeitpunkten sortiert.

- Netzwerk-Information, entweder in der Form eines kurzen Überblicks oder als umfassender Bericht, der detaillierte Informationen aller Netzwerk-Komponenten enthält. In allen Netzwerk-Berichts sind Informationen über das Netzwerk selbst, alle Jobs, die Eingabebedingungen und Ressourcen sowie bei Job-Ende-Behandlung inklusive der Ausgabebedingungen enthalten. Diese ausführlichere Beschreibung beinhaltet zudem auch alle Prosa-Beschreibungen auf Netzwerk-, Job- und Ereignis-Ebene.

- Zeitplanübersicht für ausgewählte oder alle Netzwerke, inklusive der Liste aller Jobs, die innerhalb eines bestimmten Zeitfensters eingeplant sind. Diese Auswertung kann entweder für bereits vergangene Perioden angefordert werden, um z.B. alle nicht erfolgten Netzwerk-Aktivierungen aufgelistet zu bekommen, oder aber für zukünftige Produktionsperioden, um Informationen für deren Vorhersage und Planung zu gewinnen.

- Vergleich, ob alle Symbole einer Tabelle in einer anderen Tabelle vorhanden sind. Außerdem werden die Definitionen von gleichnamigen Symbolen verglichen.

- Vergleich, ob alle Jobs eines Netzwerks in einem anderen Netzwerk vorhanden sind. Außerdem werden die Definitionen der Netzwerke und die der gleichnamigen Jobs verglichen.

- Knoten-Übersicht, liefert eine nach Auswahlkriterien einschränkbare Übersicht über die in Entire Operations verwendeten Knoten (Server) sowie ausführliche Angaben zu den aufgelisteten Knoten.

- Eine nach Auswahlkriterien (Eigentümer, Netzwerk, Version) einschränkbare Übersicht über die Verwendung von Unternetzwerken.

Alle Berichte sind online verfügbar, die Daten können aber auch gedruckt werden. Hiermit ist eine einfache Möglichkeit einer Langzeit-Dokumentation gegeben.

Die oben aufgeführten Funktionen können auch im Batch-Betrieb ausgeführt werden.

Mit Hilfe der Entire Operations Import/Export-Funktionen kann der Inhalt der Master-Datenbank in eine Einfachdatei (Flat File) entladen werden. Neben der eigentlichen Verwendung für Datenmigration und Transport können Sie diese Funktionen auch dazu benutzen, Ihr eigenes Berichtssystem aufzubauen.

Weitere Informationen siehe Berichte im Benutzerhandbuch.

## Cross-Referenzen

Es stehen Online-Funktionen zur Verfügung, die Aussagen über die Verwendung von Objekten in Entire Operations liefern. Dieselben Funktionen können auch im Batch-Betrieb ausgeführt werden.

Weitere Informationen siehe Cross-Referenzen im Benutzerhandbuch.

## Benachrichtigung

Entire Operations kann Nachrichten an verschiedene Stellen versenden. Das Versenden kann durch systeminterne oder benutzerdefinierte Ereignisse ausgelöst werden.

### On this page

- Hauptmenü
- Verwaltung der Job-Netzwerke
- Zeitplanung für Job-Netzwerke
- Job-Verwaltung
- Job-Zeitplanung
- Kalender-Definition
- Verwaltung der Bedingungen
- Job-Ende-Prüfung und -Aktionen
- Dynamische JCL-Generierung (MACRO-Funktionalität)
- Editor für System-Objekte
- Berichtsfunktionen
- Cross-Referenzen
- Benachrichtigung