Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Funktionsumfang einschränken

&pagelevel(3)&pagelevel

Sie können mit SDF-A den Funktionsumfang des BS2000 systemweit oder kennungsspezifisch einschränken. Eine systemweite Einschränkung ist in einer Systemsyntaxdatei zu definieren, eine kennungsspezifische in einer Gruppensyntaxdatei.

Beim Definieren der Einschränkung in einer Gruppensyntaxdatei ist Folgendes zu beachten: wenn die Definition des Kommandos bzw. der Anweisung nicht bereits in der Gruppensyntaxdatei steht, muss die zugehörige Systemsyntaxdatei als Referenz (OPEN-SYNTAX-FILE ... SYSTEM-DESCRIPTIONS=) zugewiesen sein.

Kommandos, Anweisungen, Operanden und Operandenwerte können Sie generell mit der Anweisung REMOVE oder gezielt für bestimmte Betriebsarten mit der Anweisung MODIFY-xxx ...,DIALOG-ALLOWED=...,DIALOG-PROC-ALLOWED=...,BATCH-ALLOWED=..., BATCH-PROC-ALLOWED=... sperren. Kommandos können Sie außerdem in Abhängigkeit von der Art ihres Aufrufs (CMD-ALLOWED=) sperren.

Funktionsumfang eines Kommandos einschränken

Wenn Sie den Funktionsumfang eines Kommandos wirksam einschränken wollen, müssen Sie sicherstellen, dass die definierte Einschränkung nicht mithilfe anderer Kommandos umgangen werden kann. In den meisten Fällen kann eine Einschränkung mithilfe der alten ISP-Kommandos umgangen werden. Diese sind so definiert, dass ihr Funktionsumfang nicht mit SDF-A modifiziert werden kann. Man kann sie nur sperren. Wenn sie über die MCLP(Macro Command Language Processor)-Schnittstelle aufgerufen werden können, kann ein generelles Sperren unvorhersehbare Folgen haben. Es kann dann angebracht sein, diese Kommandos vorsichtshalber nur für den Dialog- und Stapelbetrieb zu sperren, nicht aber für den Aufruf über MCLP. Eine solche partielle Sperre kann allerdings relativ leicht umgangen werden, z.B. mithilfe des EDT. Was sinnvoll ist, hängt vom Einzelfall ab (siehe Beispiele 4 und 6). Kommandos, die über das SDF-P-Kommando EXECUTE-CMD abgesetzt werden (z.B. um ihre Ausgabe in eine Variable umzulenken), unterliegen nicht den Vorgaben für DIALOG-ALLOWED=...,DIALOG-PROC-ALLOWED=..., BATCH-ALLOWED=... und BATCH-PROC-ALLOWED=..., da sie über die MCLP-Schnittstelle aufgerufen werden.

Operanden sperren

Wenn Sie einen Operanden sperren wollen, können Sie meist nicht abschätzen, welche Folgen es aufseiten der Implementierung hat, wenn Sie seine Definition löschen. Im Zweifelsfall empfiehlt es sich, den Operanden lediglich mit der Anweisung MODIFY-
OPERAND...,PRESENCE=*INTERNAL-ONLY an der Benutzeroberfläche auszublenden. Für ihn muss dann ein Default-Wert definiert sein, der durch einen für den Operanden definierten Operandenwert abgedeckt ist.

Auch die Definition eines geheimen Operanden und dessen Verkettung mit einem sichtbaren Operanden ist eine Möglichkeit, mit der sich eine Funktionseinschränkung definieren lässt (siehe Beispiel 5, "Beispiel 5: Menge der benutzbaren Programme einschränken").

Operandenwerte einschränken

Für Operandenwerte können Sie mit der Anweisung MODIFY-VALUE Einschränkungen hinsichtlich der zulässigen Länge oder des zulässigen Zahlenwerts definieren. Außerdem können Sie bei MODIFY-VALUE...,VALUE=(<c-string>(...),...),... eine Liste von zulässigen Eingabewerten angeben. Dann werden als Eingabe nur die in der Liste definierten Werte akzeptiert. Mit der Anweisung MODIFY-VALUE...,VALUE=<c-string>(...,OUTPUT=...,) können Sie festlegen, dass SDF einen definierten Einzelwert vor der Übergabe an die Implementierung in einen anderen Wert umwandelt oder die Übergabe des Wertes unterdrückt. Eine Einschränkung lässt sich in manchen Fällen auch durch Änderung des Datentyps erreichen. Für Operandenwerte, die als voll- oder teilqualifizierte Dateinamen definiert sind, können Sie die Angabe der Katalogkennung, der Benutzerkennung, einer Generationsnummer oder einer Versionsbezeichnung sowie die Eingabe von Platzhalterzeichen als unzulässig erklären. Die Angabe von Platzhalterzeichen können Sie auch bei den Datentypen <alphanum-name>, <composed-name> und <name> erlauben oder verbieten.

Funktionsumfang eines Benutzerprogramms einschränken

Die in einer System- oder Gruppensyntaxdatei definierte Einschränkung für ein Benutzerprogramm kann mithilfe einer Benutzersyntaxdatei wirkungslos gemacht werden. Wenn Sie den Funktionsumfang eines Benutzerprogramms wirksam einschränken wollen, müssen Sie demzufolge sicherstellen, dass die betroffenen Benutzer nicht den vollen Funktionsumfang in einer Benutzersyntaxdatei definieren können.

Eingeschränktes Laden und Ausführen von Programmen

Die Systembetreuung kann für Benutzer das Laden und Ausführen von Programmen auf bestimmte Anwendungen einschränken (z.B. EDT). Dazu kann ein Kommando START-EDITOR in den SDF-Anwendungsbereichen UTILITIES oder PROGRAMMING-SUPPORT definiert werden (siehe „Beispiel 4: Nur ein Programm (EDT) zulassen“).

Damit die Kommandos START-PROGRAM, EXEC, LOAD-PROGRAM und LOAD nicht mehr direkt ausführbar sind, können diese Kommandos in System- oder Gruppensyntaxdateien mit den Attributen DIALOG-ALLOWED=*NO und BATCH-ALLOWED=*NO versehen werden. Die gleichen Attribute müssen für die Kommandos CALL-PROCEDURE, CALL und DO angegeben werden. Diese Methode verhindert das direkte Ausführen jedes Programms und jeder Prozedur, ermöglicht aber das Ausführen von Prozedurkommandos, wobei die aufgerufenen Prozeduren die für direkte Ausführung gesperrten Kommandos (START-PROGRAM,...) enthalten können.