NOPFB2-N und NOPXPL-A - SYSOUT-Dateinamen für BS2000 generieren

Dieser Abschnitt behandelt folgende Themen:


Generieren von SYSOUT-Dateinamen für BS2000

Zur benutzerdefinierten Generierung von SYSOUT-Dateinamen im BS2000 kann der Exit NOPFB2-N in die Bibliothek SYSEOR gestellt werden. Der Exit existiert genau einmal im System und wird nur ausgeführt, falls er vorhanden ist; sonst wird die Standard-Namensgenerierung verwendet.

Der Exit wird mit der Parameterliste NOPXPL-A aufgerufen. Die erste Zeile des Exits muss somit lauten:

DEFINE DATA PARAMETER USING NOPXPL-A

Bedeutung der Parameter in NOPXPL-A:

Parameter Format Verwendung
P-CALL-PLACE  A03 ein Konstante FSB (Dateiname SYSOUT BS2000).
P-RC  N04 aus Rückgabe-Code:
      0 Funktion ok (Namensgenerierung ok).
      1 Es konnte kein Name generiert werden.

Die Standard-Namensroutine von Entire Operations soll aufgerufen werden.

      2 Es konnte kein Name generiert werden.

Die Aktion (Aktivierung) soll abgebrochen werden.

      Falls die Aktivierung durch die Namensroutine abgebrochen wird, so wird ein entsprechender Protokoll-Eintrag geschrieben.
P-RT  A66 aus Rückgabe-Text (wird nicht ausgewertet).
P-OWNER  A10 ein Eigentümer des Netzwerks.
P-NETWORK  A10 ein Job-Netzwerk.
P-JOB  A10 ein Job.
P-RUN  P13 ein Laufnummer.
P-ACTIVATION-TIME  T ein Aktivierungszeit des Netzwerks.
P-EXECUTION-NODE  N03 ein Entire System Server-Ausführungsknoten.
P-EXECUTION-OPSYS  A08 ein Betriebssystem des Entire System Server-Knotens.
P-SYMBOL-TABLE  A10 ein Name der definierten Symboltabelle.
P-FSB-OBJECT-TYPE  A05 ein Datei-Typ:
      SO-C Aktuelle SYSOUT-Datei.
      SO-P Vorherige SYSOUT-Datei.
      SO-P1 Vorherige SYSOUT-Datei, ohne Benutzerkennung.
      SO-A Alle SYSOUT-Dateien eines Jobs.
P-FSB-USERID  A08 ein BS2000-User-ID.
P-FSB-CATID  A04 ein BS2000-Catid.
P-FSB-SUFFIX  A02 ein BS2000-Suffix.
P-SYSOUT-FILE  A54 aus Generierter Dateiname.

Vorschriften zur Codierung des Exits

  • Es müssen systemweit eindeutige Dateinamen erzeugt werden. Sonst ist der ordnungsgemäße Ablauf von Entire Operations nicht mehr möglich.

  • Systemweit eindeutige Dateinamen ergeben sich durch gleichzeitige Verwendung der Felder P-OWNER, P-NETWORK, P-RUN, P-JOB, P-FSB-SUFFIX.

  • Alle oben definierten Objekttypen müssen behandelt werden können.

  • Außer beim Objekttyp SO-P1 muss der Dateiname vollqualifiziert inklusive BS2000-Benutzerkennung erzeugt werden.

  • Für den Type SO-A muss eine Platzhalterzeichen-Dateiangabe erzeugt werden, die auf alle SYSOUT-Dateien eines aktiven Jobs zutrifft. Dieser Typ wird zum Löschen von Dateien verwendet.

  • Das Feld P-FSB-SUFFIX wird übergeben und muss verwendet werden, um SYSOUT-Dateien eventueller Job-Wiederholungen unterscheiden zu können. Der Aufrufer stellt sicher, dass der Suffix für den jeweiligen aktiven Job eindeutig ist. Für den Objekttyp SO-C ist dieses Feld leer.

Anmerkung:
Wird kein Dateiname zurückgegeben, wird für diesen Fall die Standard-Namensgenerierung angewendet.

Verwendung bei der Löschung von Arbeitsdateien

Auch beim Löschen von Arbeitsdateien (bei der Deaktivierung oder Bereinigung) wird dieser Exit aufgerufen, falls er vorhanden ist. Dafür gilt folgendes:

  • Auf jeden Fall wird versucht, auch Arbeitsdateien zu löschen, die den standardmäßigen Namenskonventionen von Entire Operations entsprechen, unabhängig von der Existenz des Exits.

  • Es wird vorausgesetzt, dass der Exit die Laufnummer mit genau 5 Stellen generiert, die von Punkten eingeschlossen sind:

    • aaa.00000.bbb (Beispiel: aaa.01234.bbb)

    Dieses Muster wird für die Datei-Suche von Entire Operations durch ein Platzhalterzeichen ersetzt:

    • aaa.00000.bbb --> aaa.*.bbb

  • Falls die Namenssyntax des Exits geändert wird, können Dateien nicht mehr gefunden werden, deren Namen vor der Änderung generiert worden sind. Es wird davon abgeraten, den Exit auszutauschen, während aktive Jobs im Betriebssystem laufen.

Beispiel

* NOPFB2-N
* EXAMPLE EXIT FOR SYSOUT FILE NAME
*
* MODIFICATIONS:
* 18.11.08 (139240) SYSOUT FILE NAME EXIT                       SN210
* -------------------------------------------------------------------
DEFINE DATA PARAMETER USING NOPXPL-A
END-DEFINE
* -------------------------------------------------------------------
COMPRESS P-OWNER P-NETWORK P-RUN P-JOB
  INTO P-SYSOUT-FILE LEAVING NO SPACE
IF P-FSB-OBJECT-TYPE NE 'SO-P1'
* -- ALL OBJECT TYPES EXCEPT SO-P1  M U S T  HAVE A BS2000 USERID --
  COMPRESS '$' P-FSB-USERID '.' P-SYSOUT-FILE
    INTO P-SYSOUT-FILE LEAVING NO SPACE
END-IF
IF P-FSB-OBJECT-TYPE EQ 'SO-A'
* -- ALL SYSOUT FILES FOR A JOB --
  COMPRESS P-SYSOUT-FILE '*'
    INTO P-SYSOUT-FILE LEAVING NO SPACE
ELSE
  COMPRESS P-SYSOUT-FILE '.S' P-FSB-SUFFIX
    INTO P-SYSOUT-FILE LEAVING NO SPACE
END-IF
RESET P-RC        /* OK
END