Besondere Hinweise für Administratoren

In diesem Abschnitt werden die Security-Aspekte des Dienstprogramms SYSMAIN und der für SYSMAIN bereitgestellten User-Exit-Routinen beschrieben.


File Security

File Security (Dateisicherheit, d. h. Kennwörter und Chiffrierschlüssel) bezieht sich auf die Security, die für eine Systemdatei in einer Adabas- oder VSAM-Umgebung definiert wurde. Wenn für eine Systemdatei File Security definiert wurde, müssen Sie ein Passwort, einen Chiffrierschlüssel und/oder einen VSAM-Namen für die Quell- und/oder Ziel-Systemdatei angeben, bevor Sie eine SYSMAIN-Funktion ausführen. Andernfalls wird Adabas oder VSAM eine entsprechende Fehlermeldung ausgeben. Für die Standard-Systemdateien, die der Natural-Sitzung beim Start des SYSMAIN-Dienstprogramms zugeordnet sind, müssen Sie keine Security-Informationen angeben.

Beginn der AnweisungslisteUm Passwörter und Chiffriercodes anzugeben:

  1. Rufen Sie von einem beliebigen Menü des SYSMAIN-Dienstprogramms aus ein Security-Fenster für die gewünschte Systemdatei auf, indem Sie, wie in der folgenden Tabelle angegeben, entweder eine PF-Taste oder ein spezielles Kommando verwenden:

    Systemdatei Kommando PF-Taste Betroffene Objekte / Daten
    FUSER, FNAT SET FNAT PF12

    - Programmierobjekte
    - Debug-Umgebungen
    - Fehlermeldungen
    - Profile

    FDIC SET FDIC PF11

    - Rules
    - DL/I Subfiles
    - DDMs
    - XRef-Informationen

    FSEC SET FSEC PF10 - Natural Security-Profil

    Das Security-Fenster, das für die angegebene Systemdatei erscheint, sieht ähnlich aus wie das unten gezeigte Beispiel für die Systemdateien FUSER und FNAT:

    +---------------------------------------------------+
    !   --- Security for the Natural System Files ---   !
    !                                                   !
    !  Specify the password(s), cipher(s) and VSAM FCT  !
    !  name(s) for the source/target file(s) below:     !
    !                                                   !
    !      - Source -                - Target -         !
    ! Library .... OLDLIB       Library .... NEWLIB     !
    ! Database ... 10           Database ... 10         !
    ! File ....... 32           File ....... 32         !
    !                                                   !
    ! Password ...              Password ...            !
    ! Cipher .....              Cipher .....            !
    ! VSAM Name .. ________     VSAM Name .. ________   !
    +---------------------------------------------------+
    
  2. Geben Sie im Fenster das/die entsprechende(n) Passwort/Passwörter, den/die Chiffrierschlüssel und/oder den VSAM-Namen für die gewünschte Quell- und/oder Ziel-Systemdatei ein.

    Anmerkung:
    Das Feld Library ist nur für die Verarbeitung von Programmierobjekten, Debug-Umgebungen oder Fehlermeldungen relevant.

Sobald die File Security definiert ist, verwendet das Dienstprogramm SYSMAIN diese Security-Informationen für alle nachfolgenden Verarbeitungen. Wenn Sie dann die Standard-Security-Informationen (die Sie bei der Initialisierung der Sitzung erhalten haben) verwenden möchten, müssen Sie das entsprechende Security-Fenster erneut aufrufen und die Felder für Passwort, Chiffierschlüssel und/oder VSAM-Name löschen. Die Passwörter und Chiffrierschlüssel werden nicht angezeigt, d.h. auch wenn die Felder leer zu sein scheinen, sollten sie wieder gelöscht werden.

Natural Security

Bei der Verwendung des Dienstprogramms SYSMAIN in einer Umgebung mit Natural Security müssen zwei Aspekte berücksichtigt werden:

Definition der Natural Security-Umgebung

Die Quell- und Ziel-Libraries können sich in derselben Natural Security-Umgebung oder in zwei verschiedenen Natural Security-Umgebungen befinden. Diese Umgebungen müssen für das Dienstprogramm SYSMAIN definiert werden.

Die Definition der zu verwendenden Natural Security-Umgebung(en) erfolgt mit dem speziellen Kommando SET FSEC.

Standardmäßig werden die aktuellen FSEC-Einstellungen verwendet, die beim Start der Natural-Sitzung zugewiesen wurden. Wenn Sie diese Einstellungen (im Fenster Security for Natural Security (FSEC) Files) ändern, bleiben sie so lange gültig, bis sie durch den nächsten SET FSEC-Vorgang geändert werden. Im Batch- oder Direktkommando-Modus sollte das Schlüsselwort SEC verwendet werden, um die File Security und die Zuweisungen der Anforderung anzugeben.

Sobald die Quell- und Zielumgebungen festgelegt sind, verifiziert SYSMAIN sowohl die Quell- als auch die Ziel-Library mit Natural Security. (Quell- und/oder Ziel-Library und -Datei müssen der Datenbankkennung (DBID) und der Dateinummer (FNR) entsprechen, die im Security-Profil der Library angegeben sind. Sind diese Werte nicht angegeben, werden Standardwerte aus dem Security-Profil übernommen).

Einschränkung der Verwendung von SYSMAIN unter Natural Security

Die Verwendung des SYSMAIN-Dienstprogramms selbst kann eingeschränkt werden oder die Verwendung der Quell- und Ziel-Libraries, die mit dem SYSMAIN-Dienstprogramm behandelt werden sollen, kann eingeschränkt werden. Die Verwendung von SYSMAIN-Funktionen, die über die Anwendungsprogrammierschnittstelle MAINUSER aufgerufen werden, kann separat kontrolliert werden. Einzelheiten hierzu finden Sie unter Protecting Utilities in der Natural Security-Dokumentation.

User-Exit-Routinen

Die User-Exit-Routinen des SYSMAIN-Dienstprogramms werden verwendet, um Informationen über jedes verarbeitete Objekt zu liefern oder die Verarbeitung von Funktionen zu steuern. Eine User-Exit-Routine ist ein Natural-Subprogramm, das mit einem CALLNAT-Statement aufgerufen wird.

Die Quellcodes der Subprogramme und die von ihnen verwendeten Datenbereiche sind als Quellcodeobjekte unter dem Namen SM-UX-nn (nn = 01 bis 11) in der Library SYSMAIN abgelegt. Um eine User-Exit-Routine verfügbar zu machen, müssen Sie das entsprechende Quellcodeobjekt unter dem Namen MAINEXnn katalogisieren, und zwar entweder in der Library SYSMAIN oder in einer ihrer Steplibs.

Anmerkung:
Die Namen von Quellcodeobjekten und katalogisierten Objekten von User-Exit-Routinen sind unterschiedlich, um sicherzustellen, dass das Überschreiben der Quellcodeobjekte durch eine Update-Installation die katalogisierten Objekte nicht beeinflusst.

Sie können jede der User-Exit-Routinen nach Bedarf ändern oder erweitern.

Die Verwendung dieser Exits führt je nach Code-Logik zu einem zusätzlichen Verwaltungsaufwand für das SYSMAIN-Dienstprogramm. Es ist daher immer notwendig, die Kontrolle an SYSMAIN zurückzugeben, wenn die Exit-Verarbeitung abgeschlossen ist.

Da das SYSMAIN-Dienstprogramm ET-Logik mit Adabas-Dateien verwendet, kann die Verwendung von User-Exit-Routinen das Transaktionszeitlimit (Adabas-Parameter TT) verlängern. Außerdem sollte die Definition der Adabas-Transaktion nicht verändert werden, d.h. Sie sollten keine ET/BT-Befehle oder END/BACKOUT TRANSACTION-Statements absetzen. Für das Absetzen aller END TRANSACTION-Statements ist SYSMAIN zuständig. Eine Ausnahme von dieser Regel besteht dann, wenn ein Benutzer die normale Beendigung einer SYSMAIN-Funktion mit den User-Exit-Routinen abbricht. In diesem Fall müssen Sie vor der Beendigung ein BACKOUT TRANSACTION absetzen.

Wenn der Rückgabecode auf einen Wert ungleich Null gesetzt wird, hat dies Vorrang vor einem von SYSMAIN ausgegebenen Fehler. Wenn ein Fehler von einem Exit empfangen wird, wird er in das Message-Feld gestellt und je nach Bedarf angezeigt oder gedruckt. Die Ausnahme ist die automatisierte Verarbeitung, da die Verarbeitung mit einem Minimum an Terminal-Ein-/Ausgaben abgeschlossen wird.

Die einzelnen User-Exit-Routinen werden im folgenden Abschnitt beschrieben:

MAINEX01 - Erste User-Exit-Routine für die Objektabfrage

Funktion Abfrage der aktuellen Werteinstellungen der mit einem Objekt verbundenen Datenelemente, bevor das Objekt von SYSMAIN verarbeitet wird.
Bemerkungen Jedes an MAINEX01 übergebene Objekt kann zurückgewiesen werden, indem der Parameter RESP-CODE auf einen Wert ungleich Null gesetzt wird.

Wenn eine zusätzliche Logik ausgeführt werden soll, darf sich die Transaktion nicht im End of Transaction-Status befinden, so dass kein END TRANSACTION- oder BACKOUT TRANSACTION-Statement ausgegeben werden sollte.

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter
PARM-AREA1 (A250) SYSMAIN-Parameterbereich (feste Werte).
PARM-AREA2 (A250) SYSMAIN-Parameterbereich (variable Werte).
RESP-CODE (B1) Rückgabecode, der an SYSMAIN zurückgegeben wird.

Anmerkung:
Nur der Parameter RESP-CODE kann geändert werden.

Lokaler Datenbereich (LDA) SM-UX-L

MAINEX02 - Zweite User-Exit-Routine für die Objektabfrage

Funktion Abfrage der aktuellen Werteinstellungen der mit einem Objekt verbundenen Datenelemente, nachdem das Objekt von SYSMAIN verarbeitet wurde.
Bemerkungen Jedes an MAINEX02 übergebene Objekt kann zurückgewiesen werden, indem der Parameter RESP-CODE auf einen Wert ungleich Null gesetzt wird.

Wenn eine zusätzliche Logik ausgeführt werden soll, darf die Transaktion nicht den End of Transaction-Status erreicht haben, so dass kein END TRANSACTION- oder BACKOUT TRANSACTION-Statement ausgegeben werden sollte.

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter
PARM-AREA1 (A250) SYSMAIN-Parameterbereich (feste Werte).
PARM-AREA2 (A250) SYSMAIN-Parameterbereich (variable Werte).
RESP-CODE (B1) Rückgabecode, der an SYSMAIN zurückgegeben wird.

Anmerkung:
Nur der Parameter RESP-CODE kann geändert werden.

Lokaler Datenbereich (LDA) SM-UX-L

MAINEX03 - User-Exit-Routine zur Abfrage von Anforderungen

Funktion Abfrage jeder an SYSMAIN gerichteten Anforderung in Form eines Direktkommandos oder einer online im Menümodus eingegebenen Information. MAINEX03 erhält die Kontrolle, bevor SYSMAIN das Kommando verarbeitet.
Bemerkungen Jedes an MAINEX03 übergebene Kommando kann zurückgewiesen werden, indem der Parameter RESP-CODE auf einen Wert ungleich Null gesetzt wird.

Zusätzliche Logik kann hinzugefügt werden, aber es liegt in Ihrer Verantwortung, alle notwendigen END TRANSACTION-Anforderungen an die Datenbank zu stellen.

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter
PARM-AREA (A250) Kommandozeichenfolge
RESP-CODE (B1) Rückgabecode, der an SYSMAIN zurückgegeben wird.

Anmerkung:
Nur der Parameter RESP-CODE kann geändert werden.

MAINEX04 - User-Exit-Routine zur Änderung von Dateizuordnungen

Funktion Überschreiben des Datenbank-, Datei-Passworts und Chiffrierschlüssels für die Natural-Systemdatei(en).
Bemerkungen MAINEX04 wird aufgerufen, bevor eine Anforderung von SYSMAIN verarbeitet oder validiert wird. Wenn die Kontrolle an MAINEX04 übergeben wird, befinden Sie sich im End-of-Transaction-Status. Daher müssen Sie den RESP-CODE-Parameter auf einen Wert ungleich Null setzen, wenn Sie die Anforderung ablehnen wollen.

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter
PARM-AREA (A250) SYSMAIN-Parameterbereich.
RESP-CODE (B1) Rückgabecode, der an SYSMAIN zurückgegeben wird.
Lokaler Datenbereich (LDA) SM-UX-L4

MAINEX05 - User-Exit-Routine zur Verifizierung von Direktkommandos

Funktion Überprüfung eines Direktkommandos, das während der Online-Verarbeitung von SYSMAIN eingegeben wurde. Darüber hinaus können die Sonderzeichen, die zur Erkennung eines Systembefehls verwendet werden, überschrieben werden.
Bemerkungen MAINEX05 wird aufgerufen, bevor ein in SYSMAIN eingegebenes Direktkommando verarbeitet wird. Mit MAINEX05 können Sie z.B. alle SET Kommandos abfragen (siehe An SYSMAIN absetzbare spezielle Kommandos) und auch verhindern, dass sie abgesetzt werden. Sie können diese Kommandos überprüfen und zurückweisen, indem Sie im Parameter RESP-CODE einen Wert ungleich Null zurückgeben. Sie befinden sich im End of Transaction-Status, wenn die Kontrolle an MAINEX05 übergeben wird.

Einem in SYSMAIN eingegebenen Systemkommando müssen zwei Schrägstriche (//) vorangestellt werden; siehe auch SYSMAIN-Kommandozeile benutzen. Mit MAINEX05 können Sie zu diesem Zweck zwei weitere Sonderzeichen definieren: Weisen Sie dazu dem Parameter CMD-DEL die gewünschten Zeichen zu. Wenn CMD-DEL auf Leerzeichen gesetzt ist, verwendet SYSMAIN den Standardwert aus zwei Schrägstrichen (//).

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter
COMMAND (A68) Aktuelles in SYSMAIN abgesetztes Kommando.
CMD-DEL (A3) Sonderzeichen für Systemkommandos.
RESP-CODE (B1) Rückgabecode, der an SYSMAIN zurückgegeben wird.

MAINEX06 - User-Exit-Routine zur SYSMAIN-Initialisierung

Funktion Erlangung der Kontrolle bei der Initialisierung einer SYSMAIN-Sitzung.
Bemerkungen MAINEX06 wird zu Beginn der SYSMAIN-Sitzung aufgerufen, wobei Sie einige der SYSMAIN-Standardeinstellungen außer Kraft setzen können, wie z.B. die Aufforderung zur Bestätigung einer Anforderung wie Löschen, Verschieben oder Ersetzen eines Objekts.

Alle Parameter werden überprüft. Falls sie ungültig sind, werden die Standardeinstellungen verwendet.

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter-
Datenbereich (PDA)

SM-UX-L6

MAINEX07 - User-Exit-Routine zum Beenden von SYSMAIN

Funktion Erlangung der Kontrolle beim Beenden einer SYSMAIN-Sitzung.
Bemerkungen MAINEX07 wird beim Beenden einer SYSMAIN-Sitzung aufgerufen, um zu entscheiden, ob die Kontrolle bei SYSMAIN verbleiben soll oder nicht.
Parameter
USER-AREA (A50) Bereich zur freien Verwendung.

MAINEX08 - User-Exit-Routine bei Nothing Found (Nichts gefunden) im Batch-Modus

Funktion Festlegen der weiteren Verarbeitung, wenn für ein Kommando im Batch-Modus keine Objekte gefunden werden.
Bemerkungen MAINEX08 wird aufgerufen, wenn für ein bestimmtes Kommando, das im Batch-Modus ausgeführt wird, keine Objekte gefunden werden, die den angegebenen Kriterien entsprechen. Wenn dies der Fall ist, kann, muss aber nicht, die Kontrolle an SYSMAIN zurückgegeben werden. Wenn die Kontrolle an SYSMAIN zurückgegeben wird, setzt SYSMAIN die Verarbeitung mit dem nächsten Kommando fort.
Parameter
CMD (A250) Kommandozeichenfolge

MAINEX09 - User-Exit-Routine für abnormale Beendigung im Batch-Modus

Funktion Bestimmt die zu ergreifende Maßnahme im Falle eines Fehlers im Batch-Modus.
Bemerkungen MAINEX09 wird aufgerufen, wenn die SYSMAIN-Verarbeitung im Batch-Modus zu einem Fehler führt. In diesem Fall kann, muss aber nicht, die Kontrolle an SYSMAIN zurückgegeben werden. Wenn die Kontrolle an SYSMAIN zurückgegeben wird, wird SYSMAIN mit dem Bedingungscode 45 beendet.

Anmerkung:
Die Fehler NAT4810, NAT4818, NAT4867, NAT4868 und NAT4893 können von dieser User-Exit-Routine nicht behandelt werden.

Parameter
CMD (A250) Kommandozeichenfolge
ERROR-CODE (N4) Nummer des Fehlers, der zum Abbruch geführt hat.

MAINEX10 - User-Exit-Routine bei Kommandofehlern im Batch-Modus

Funktion Bestimmt die zu ergreifende Maßnahme im Falle eines Kommandofehlers im Batch-Modus.
Bemerkungen MAINEX10 wird aufgerufen, wenn ein Fehler in einem SYSMAIN-Kommando im Batch-Modus festgestellt wird. In diesem Fall kann, muss aber nicht, die Kontrolle an SYSMAIN zurückgegeben werden. Wenn die Kontrolle an SYSMAIN zurückgegeben wird, setzt SYSMAIN die Verarbeitung mit dem nächsten Kommando fort.
Parameter
CMD (A250) Kommandozeichenfolge
ERROR-CODE (N4) Nummer des Fehlers, der zum Abbruch geführt hat.

MAINEX11 - User-Exit-Routine zum Setzen spezieller Flags für SYSMAIN

Funktion User-Exit-Routine zum Setzen spezieller Einstellungen.
Bemerkungen MAINEX11 wird zu Beginn der SYSMAIN-Sitzung aufgerufen, wo Sie einige spezielle SYSMAIN-Flags setzen können, wie z.B. die Anzeige von MAINUSER-Meldungen im Batch.

Siehe das Quellcodeobjekt der User-Exit-Routine (SM-UX-11) zu den verfügbaren Flags.

Die Kontrolle muss an SYSMAIN zurückgegeben werden.

Parameter
FLAGS (A250) Flag-String (neu definiert).