In diesem Abschnitt werden die Security-Aspekte des Dienstprogramms SYSMAIN und der für SYSMAIN bereitgestellten User-Exit-Routinen beschrieben.
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.
Um Passwörter und Chiffriercodes anzugeben:
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 |
FDIC | SET FDIC
|
PF11 |
- Rules |
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 .. ________ ! +---------------------------------------------------+ |
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.
Bei der Verwendung des Dienstprogramms SYSMAIN in einer Umgebung mit Natural Security müssen zwei Aspekte berücksichtigt werden:
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).
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.
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:
MAINEX04 - User-Exit-Routine zur Änderung von Dateizuordnungen
MAINEX05 - User-Exit-Routine zur Verifizierung von Direktkommandos
MAINEX08 - User-Exit-Routine bei Nothing Found (Nichts gefunden) im Batch-Modus
MAINEX09 - User-Exit-Routine für abnormale Beendigung im Batch-Modus
MAINEX10 - User-Exit-Routine bei Kommandofehlern im Batch-Modus
MAINEX11 - User-Exit-Routine zum Setzen spezieller Flags für SYSMAIN
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 Die Kontrolle muss an SYSMAIN zurückgegeben werden. |
||||||
Parameter |
Anmerkung: |
||||||
Lokaler Datenbereich (LDA) | SM-UX-L |
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 Die Kontrolle muss an SYSMAIN zurückgegeben werden. |
||||||
Parameter |
Anmerkung: |
||||||
Lokaler Datenbereich (LDA) | SM-UX-L |
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 Die Kontrolle muss an SYSMAIN zurückgegeben werden. |
||||
Parameter |
Anmerkung: |
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 |
|
||||
Lokaler Datenbereich (LDA) | SM-UX-L4 |
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
Die Kontrolle muss an SYSMAIN zurückgegeben werden. |
||||||
Parameter |
|
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- |
SM-UX-L6 |
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 |
|
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 |
|
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: |
||||
Parameter |
|
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 |
|
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 |
|