NOPUST3N - Abfrage von Netzwerk- und Job-Status, Symboltabelle

Dieser Abschnitt behandelt folgende Themen:


Status eines aktiven Netzwerks abfragen

Sie können das folgenden Statement innerhalb Ihrer Natural-Anwendung benutzen, um den aktuellen Status eines aktiven Job-Netzwerkes oder eines einzelnen aktiven Jobs abzufragen:

CALLNAT 'NOPUST3N'
  P-FUNCTION P-RC P-DBENV P-OWNER P-NETWORK P-NETWORK-VERSION P-JOB P-RUN
  P-SYMTAB P-SYMTAB-VERSION P-JOB-ID P-STATUS-TIME

Bedeutung der Parameter:

Parameter Format/Länge Verwendung
P-FUNCTION  A1 ein Funktions-Code:
A  Nächste aktive Laufnummer (in numerischer Reihenfolge) holen, ausgehend von einer Start-Laufnummer.

Wenn die Start-Laufnummer gleich dem Limit für Laufnummern ist, wird der Bereich von 1 bis zur Start-Laufnummer geprüft.

R  Laufnummer des zuletzt aktivierten Laufs des angegebenen Netzwerks (in zeitlicher Reihenfolge) holen.
Status abfragen.
N  Status des nächsten Jobs (in alphabetischer Reihenfolge) abfragen.
W  Status des nächsten, auf etwas wartenden Jobs, oder des nächsten Jobs mit dem Status permanent error (permanenter Fehler).
Y  Name der Symboltabelle holen, entweder aus der Master-Netzwerk- oder aus der Job-Definition.
P-RC  N3 aus Rückgabe-Code:
  0  Funktion ok.
  1  Netzwerk oder Job nicht gefunden, bzw. Laufnummer existiert nicht.
  20  Wartet auf Symboleingabe usw.
  21  Wartet auf Aktivierung.
  25  Wartet auf Vorbedingung.
  26  Job ist angehalten (HOLD).
  27  Wartet auf nächste Aktion, oder wartet auf Startzeit.
  28  Wartet auf Bedingung.
  29  Wartet auf Ressource.
  30 Wartet auf Server (Knoten) des Betriebssystems.
  31  Zu ladende JCL.
  32 Netzwerk-Aktivierungsfehler.
  33  Job-Aktivierungsfehler.
  34 Symbolersetzungsfehler.
  35 Ein Zeitplanauszug- oder Aktivierungsfehler.
  36 Jobstart.
  37 Jobstart-Fehler.
  38 Job-Ausführung.
  39 Job-Ausführungsfehler.
  41  Ein derzeit in Ausführung befindlicher Job.
  42  Job-Ende-Prüfung.
  43  Job-Ende-Prüfungsfehler.
  44  Job-Ende-Aktionen.
  45  Job-Ende-Aktionsfehler.
  65  (alle Jobs) ok beendet.
  66  (mindestens ein Job) nicht ok beendet.
  69  (mindestens ein) permanenter Fehler.
  93  Wartet auf Deaktivierung.
  101  ungültiger Funktions-Code.
  102  Parameter fehlen.
- 121 Eigentümer existiert nicht.
  999   Status unbestimmt.
P-DBENV A10 ein Datenbankumgebung (OPTIONAL, für zukünftige Benutzung)
P-OWNER  A10 ein Eigentümer des Netzwerks.
P-NETWORK  A10 ein Job-Netzwerk
P-NETWORK-VERSION A10 ein Job-Netzwerk-Version.
P-JOB  A10 ein Job. Wenn leer, gilt die Abfrage für das ganze Netzwerk.
aus Der Job für den der Rückgabe-Code zurückgegeben wurde.
P-RUN  I4 in

Funktions-Code:

A Start-Laufnummer (darf 0 sein).
S Zu testende Laufnummer.
aus Funktions-Code:
A Nächste aktive Laufnummer (in numerischer
R Letzte Laufnummer des Netzwerks in zeitlicher Reihenfolge.
P-SYMTAB  A10 aus Name der definierten Symboltabelle.

Funktion R:

Name der definierten Symboltabelle auf der Netzwerk-Ebene.

Funktion Y:

Name der definierten Symboltabelle auf der Netzwerk-Ebene (P-JOB leer) oder auf der Job-Ebene (P-JOB gegeben).

Leer, wenn eine Symboltabelle auf der angeforderten Ebene nicht definiert ist.

P-SYMTAB-VERSION A10 aus Version der Symboltabelle.

Dieses Parameter gilt nur, wenn P-SYMTAB einen Namen enthält.

P-JOB-ID A10 aus Job-ID des Jobs (nur für einzelne Jobs, und nur, wenn der Job bereits gestartet wurde).
P-STATUS-TIME A14 aus Zeitstempel, wann der aktuelle Status des Jobs gesetzt wurde. Format: YYYYMMDDHHIISS

Hinweis zu Parametern, die als OPTIONAL gekennzeichnet sind:

Die Reihenfolge der Parameter ist feststehend.

Von dem aufrufenden Objekt muss ein Wert an jeden Parameter übergeben werden. Ausnahme: ein als OPTIONAL gekennzeichneter Parameter. Um einen solchen Parameter zu überspringen, können Sie ihn im CALLNAT-Statement durch 1X ersetzen. Siehe Beispiel für die Benutzung von NOPUST3N.

Weitere Informationen zu OPTIONAL-Parametern siehe DEFINE DATA-Statement, Definition von Parameterdaten, Syntax-Element-Beschreibung, OPTIONAL, in der Natural-Statements-Dokumentation.

Status eines gesamten aktiven Netzwerks abfragen

Verwenden Sie dazu die Funktion S. Lassen Sie den Parameter P-JOB leer.

Status aller Jobs eines aktiven Netzwerks einzeln abfragen

Verwenden Sie dazu die Funktion N.

Löschen Sie den Parameter P-JOB.

Rufen Sie dann diese API in einer REPEAT-Schleife solange auf, bis Sie RC = 1 (Netzwerk-Ende) erhalten.

Jeder Aufruf gibt den Status eines Jobs zurück. Der Name steht in P-JOB.

Verändern Sie den Inhalt von P-JOB nicht, da er als Startwert für den nächsten Aufruf dient.

Verwendete Symboltabelle abfragen

Die verwendete Symboltabelle wird für aktive Netzwerke und Jobs immer zurückgegeben.

Bei Master-Netzwerken bzw. Master-Jobs können Sie die Funktion Y verwenden.

Anmerkungen:

  1. Die Status-Abfrage funktioniert unabhängig von der Aktivität des Monitors, da sie nur auf Datenbank-Einträge zugreift.
  2. Bei Abfrage eines ganzen Netzwerks (mit Funktion S) werden die Zustände der Einzeljobs konjunktiv (mit logischem UND) verknüpft. Der ungünstigste Fall wird angezeigt: Wenn mindestens ein Job fehlerhaft ist, wird für das ganze Netzwerk der Status "fehlerhaft" zurückgegeben.
  3. Ein aktives Netzwerk wird nur als "ok beendet" angesehen, wenn seine sämtlichen aktiven Jobs mit ok endeten.
  4. Die Status-Abfrage ist nur möglich, solange das jeweilige Netzwerk bzw. der jeweilige Job nicht deaktiviert wurde.
  5. Wenn man alle aktiven Laufnummern eines Netzwerkes erhalten will, ist wie folgt zu verfahren:
  1. Funktion A verwenden.

  2. Mit Start-Laufnummer 0 beginnen.

  3. API aufrufen.

  4. Abbrechen, wenn der Rückgabe-Code RC ungleich 0 oder die zurückgegebene Laufnummer kleiner als die übergebene Laufnummer ist.

  5. Resultat als Start-Laufnummer für Folge-Aufruf stehenlassen und weiter mit Schritt 3, API aufrufen.

Beispiel für die Benutzung von NOPUST3N

... 
 1 #RC (N3) 
 1 #OWNER (A10) 
 1 #NETWORK (A10) 
 1 #NETWORK-VERSION (A10) 
 1 #JOB (A10) 
 1 #RUN (I4) 
 1 #SYMTAB (A10) 
 1 #SYMTAB-VERSION (A10) 
 1 #JOB-ID (A10) 
 1 #STATUS-TIME (A14) 
 ... 
CALLNAT 'NOPUST3N' 
 'S' /* get status 
  #RC 1X #OWNER #NETWORK #NETWORK-VERSION #JOB #RUN 
  #SYMTAB #SYMTAB-VERSION #JOB-ID #STATUS-TIME 

Im obigen Beispiel ist 1X der Platzhalter für den OPTIONAL-Parameter P-DBENV.