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 |
|