Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Task-spezifische Default-Werte

&pagelevel(3)&pagelevel

Bei der Eingabe von Kommandos bzw. Anweisungen kann der Benutzer Operanden weglassen, deren Default-Werte den von ihm gewünschten Werten entsprechen. Für häufig benutzte Kommandos bzw. Anweisungen kann der Benutzer innerhalb seiner Dialog-Task Operandenwerte festlegen, die seinen Anforderungen entsprechen. Diese Task-spezifischen Default-Werte werden bei interaktiver Eingabe an Stelle der in den Syntaxdateien festgelegten Default-Werte eingesetzt.

Task-spezifische Default-Werte definieren

Task-spezifische Default-Werte können nur innerhalb einer Dialog-Task durch interaktive Eingabe oder in einer Prozedur definiert werden. Zur Definition wird das Kommando bzw. die Anweisung mit allen Operandenwerten, die als Default-Wert definiert werden sollen, eingegeben. Der Kommando- bzw. Anweisungsname muss mit einem Ausrufezeichen (!) beginnen. Die Eingabe wird nur syntaktisch geprüft und als eine Definition von Task-spezifischen Default-Werten gespeichert. Das Fehlen von Pflichtoperanden wird ignoriert.
Bei allen späteren Eingaben des Kommandos bzw. der Anweisung werden die Task-spezifischen Default-Werte an Stelle der ursprünglichen Default-Werte verwendet.

Bei der Definition bestehen folgende Einschränkungen:

  • Die Definition im Stapelbetrieb ist nicht möglich.

  • Für einen geheimen Operanden kann kein Task-spezifischer Default-Wert definiert werden; außer, es soll einer der folgenden Operandenwerte als Task-spezifischer Default-Wert definiert werden:

    • ein mit OUTPUT=*SECRET-PROMPT definierter Operandenwert (im Allgemeinen der Operandenwert *SECRET)

    • ein mit SECRET=*NO definierter Operandenwert.

  • Für SDF-P-Kontrollflusskommandos (z.B. IF, FOR) und für ISP-Kommandos kann ebenfalls kein Task-spezifischer Default-Wert definiert werden.

  • Für ein Kommando bzw. eine Anweisung können maximal 10 Definitionen gespeichert werden.

  • Insgesamt können maximal 100 Definitionen gespeichert werden.

Definition im Dialog

Der Benutzer definiert im Kommandomodus mit der Eingabe !<command> <operands> Task-spezifische Default-Werte für die mit <operands> angegebenen Operanden des Kommandos <command>. Analog dazu kann er im Programmmodus mit der Eingabe !<statement> <operands> Task-spezifische Default-Werte für die Anweisung <statement> des geladenen Programms definieren.
Zur Definition der Default-Werte kann der Benutzer auch in den temporär geführten Dialog verzweigen. Hierzu muss der Kommando- bzw. Anweisungsname mit einem Fragezeichen enden. Es werden nur die tatsächlich geänderten Operandenwerte als Task-spezifische Default-Werte gespeichert.
Abkürzungen sind wie bei der normalen Eingabe von Kommandos bzw. Anweisungen erlaubt.

Definition in Prozeduren

Der Benutzer kann Task-spezifische Default-Werte auch in Prozeduren definieren. Die Definition wirkt jedoch nur für die Dialogeingabe. Um unbeabsichtigte Seiteneffekte zu vermeiden, wirken sich im Prozedurmodus nur die in den Syntaxdateien festgelegten Default-Werte aus.
Über Prozeduren kann der Benutzer die Definition Task-spezifischer Default-Werte automatisieren bzw. vereinfachen. Bei Definition in einer LOGON-Prozedur sind die definierten Default-Werte bereits bei Beginn der Dialogtask verfügbar. Der Benutzer kann für verschiedene Aufgabenstellungen Prozeduren vorbereiten, die bei Bedarf aufgerufen werden können und die gewünschte Menge von Default-Werten definieren.

Die Definition für ein Kommando beginnt mit „/“, die für eine Anweisung mit „//“. Die Definition erfolgt sonst wie bei der Dialogeingabe. Vor einem Kommandonamen kann eine Marke stehen. Eine Definition innerhalb des Prozedurkopfes ist nicht erlaubt.

Die Definition für eine Anweisung kann auch im Kommandomodus erfolgen, d.h. das Programm muss nicht geladen sein. Zur Syntaxanalyse wird das Programm verwendet, das mit der SDF-Option DEFAULT-PROGRAM-NAME eingetragen ist (siehe Kommando MODIFY-SDF-OPTIONS). Die Definition wird auch zur Nutzung mit diesem Programm gespeichert.

Syntaxfehler bei der Definition von Default-Werten lösen die Fehlerbehandlung aus.

Definition an der Programmschnittstelle

Die Makroaufrufe CMDTST und TRCMD können die Definition von Task-spezifischen Default-Werten zulassen. Bei allen anderen SDF-Makroaufrufen wird die Definition von Default-Werten als Syntaxfehler abgewiesen.

Auswertung der Definitionen

Bei der Eingabe eines Kommandos bzw. einer Anweisung prüft SDF, ob für dieses Kommando bzw. für diese Anweisung Task-spezifische Default-Werte gespeichert sind, und setzt ggf. die gespeicherten Default-Werte in die eingegebene Zeichenfolge ein. Danach erfolgt die Syntaxanalyse der Eingabe.

Durch den Wechsel von Syntaxdateien (z.B. Versionswechsel eines Subsystems) können bereits gespeicherte Default-Werte der aktuellen Syntax widersprechen und zum Zurückweisen der Eingabe führen. In diesem Fall muss der Benutzer die fehlerhafte Definition löschen.

Werden bei der Definition untergeordnete Operanden außerhalb der Struktur angegeben (STRUCTURE-IMPLICIT-Schreibweise), so wird der struktureinleitende Operandenwert nicht automatisch zum Task-spezifischen Default-Wert.
Beispielsweise wird durch die Definition !CREATE-FILE ACCESS=*READ der übergeordnete Operand PROTECTION=*PARAMETERS nicht ebenfalls zum Default-Wert.

Für ein Kommando bzw. eine Anweisung können mehrere Definitionen gespeichert werden. Es werden alle für das Kommando bzw. die Anweisung gespeicherten Definitionen in der Reihenfolge, in der sie definiert wurden, ausgewertet.
Für ein und denselben Operanden wird jeweils der zuletzt definierte Default-Wert eingesetzt.
Um der Definition von Operanden einer Strukturstufe einen neuen Default-Wert hinzuzufügen bzw. einen einzelnen Default-Wert zu ändern, genügt es, eine neue Definition mit diesem Default-Wert abzuspeichern.

Task-spezifische Default-Werte verwalten

Mit dem Kommando SHOW-INPUT-DEFAULTS kann sich der Benutzer über alle aktuell definierten Task-spezifischen Default-Werte informieren. Die Ausgabe erfolgt nach SYSOUT oder SYSLST und kann auf bestimmte Kommandos, Anweisungen oder Programme beschränkt werden. Die Definitionen können mit einer Eingabeseriennummer ausgegeben werden, die ein gezieltes Löschen von einzelnen Definitionen erlaubt. Auf Programmebene ist die gleichnamige Standardanweisung mit derselben Funktionalität verfügbar.

Mit dem Kommando RESET-INPUT-DEFAULTS kann der Benutzer Task-spezifische Default-Werte löschen. Ohne Angabe von Operanden werden alle für Kommandos definierten Default-Werte gelöscht. Darüber hinaus kann der Benutzer auch die Definitionen ausgewählter Kommandos bzw. Anweisungen löschen. Über die Eingabeseriennummer kann auch eine einzelne Definition gezielt gelöscht werden.

Beispiele

Beispiel 1

/sdf-a

%  BLS0517 MODULE 'SDAMAIN' LOADED                                         (1)

%  SDA0001 'SDF-A' VERSION '04.1E10' STARTED                               (1)
%//open mode=? ————————————————————————————————————————————————————————  (1)

%  CMD0090 EXPLANATION OF OPERAND ‘MODE‘:

*UPDATE() or *CREATE() or *READ or *INIT() -DEFAULT-: *UPDATE

%//!open mode=*read ———————————————————————————————————————————————————  (2)

%//open mode=? ————————————————————————————————————————————————————————  (3)

%  CMD0090 EXPLANATION OF OPERAND ‘MODE‘:
*UPDATE() or *CREATE() or *READ or *INIT() -DEFAULT-: *READ

%//

(1)

Das Dienstprogramm SDF-A wird gestartet. Anschließend werden die Operandenwerte des Operanden MODE der Anweisung OPEN-SYNTAX-FILE abgefragt. Als Default-Wert wird *UPDATE angezeigt.

(2)

Der Default-Wert wird Task-spezifisch auf *READ geändert.

(3)

Bei der erneuten Abfrage der Operandenwerte wird jetzt *READ als Default-Wert angezeigt.

 

Beispiel 2

/show-file-attr creation-date=*today ——————————————————————————————————  (1)

%        84 :2OSG:$USER1.DATEI.3
%         3 :2OSG:$USER1.PROC.JV

%:2OSG: PUBLIC:      2 FILES RES=        87 FRE=       21 REL=       18 PAGES

/reset-input-defaults *all ————————————————————————————————————————————  (2)

/call-proc proc.default-1,log=*yes ————————————————————————————————————  (3)
%          1  1 /CMD-DEF-1:

%          1  1 /  !SHOW-FILE-ATTR  INF=*MIN

%         2  1 /!CRE-FILE       SUP=*PRIV(VOL=WORK01,DEV-TYPE=D3435)
%          3  1 /!CRE-FILE        SUP=*PUBLIC

%          4  1 /CMD-DEF-2:

%         4  1 /  !PRINT-DOC       LINE-SPACING=*BY-EBCDIC-CONTR
%          5  1 /PROG-DEF-1:

%          5  1 / MOD-SDF-OPT      DEFAULT-PROG=SDF-A

%//!OPEN-SYNTAX-FILE MODE=*READ

%//!SHOW            OBJ=*CMD(NAME=*ALL),ATT-INFO=*NO

%          8  1 /PROG-DEF-2:

%          8  1 / MOD-SDF-OPT      DEFAULT-PROG=SORT

%//!SORT-RECORDS     KEEP-EQUAL-SEQUENCES=*YES

%         10  1 /END:

%         10  1 /   IF-BLOCK-ERROR
%         12  1 /end-if

%         13  1 /MOD-SDF-OPT      DEFAULT-PROG=*NONE

%         14  1 /SHOW-INPUT-DEFAULTS *CMD

/!SHOW-FILE-ATTR INFORMATION=*MINIMUM

/!CRE-FILE SUPPORT=*PRIVATE-DISK(VOLUME=WORK01,DEVICE-TYPE=D3435)

/!CRE-FILE SUPPORT=*PUBLIC-DISK

/!PRINT-DOC LINE-SPACING=*BY-EBCDIC-CONTROL

%         15  1 /WRITE-TEXT 'SDF-A Default-Werte:'
SDF-A Default-Werte:

%         16  1 /SHOW-INPUT-DEFAULTS *STMT(PROG=SDF-A)

//!OPEN-SYNTAX-FILE MODE=*READ

//!SHOW OBJECT=*COMMAND(NAME=*ALL),ATTACHED-INFORMATION=*NO

//!OPEN-SYNTAX-FILE MODE=*READ

//!SHOW OBJECT=*COMMAND(NAME=*ALL),ATTACHED-INFORMATION=*NO

%         17  1 /WRITE-TEXT 'SORT Default-Werte:'

SORT Default-Werte:

%         18  1 /SHOW-INPUT-DEFAULTS *STMT(PROG=SORT)

//!SORT-RECORDS KEEP-EQUAL-SEQUENCES=*YES

//!SORT-RECORDS KEEP-EQUAL-SEQUENCES=*YES

%             1 /EXIT-PROCEDURE ERROR=*NO

/shid *all, input-serial-number=*yes ——————————————————————————————————  (4)

/"   8 :" !SHOW-FILE-ATTR INFORMATION=*MINIMUM
/"   9 :" !CRE-FILE SUPPORT=*PRIVATE-DISK(VOLUME=WORK01,DEVICE-TYPE=D3435)

/"  10 :" !CRE-FILE SUPPORT=*PUBLIC-DISK

/"  11 :" !PRINT-DOC LINE-SPACING=*BY-EBCDIC-CONTROL
//"  12 :" !OPEN-SYNTAX-FILE MODE=*READ

//"  13 :" !SHOW OBJECT=*COMMAND(NAME=*ALL),ATTACHED-INFORMATION=*NO

//"  14 :" !SORT-RECORDS KEEP-EQUAL-SEQUENCES=*YES
/show-file-attr creation-date=*today ——————————————————————————————————  (5)

%S NNN NW              84 :2OSG:$USER1.DATEI.3

%S NNN NW 3 :2OSG:$USER1.PROC.JV

(1)

Mit SHOW-FILE-ATTRIBUTES werden alle zum aktuellen Tagesdatum erstellten Dateien angezeigt. Die Ausgabe erfolgt implizit mit INFORMATION=*NAME-AND-SPACE (Default-Wert des Kommandos).

(2)

Mit RESET-INPUT-DEFAULTS werden alle bisher gesetzten Task-spezifischen Default-Werte zurückgesetzt.

(3)

Aufruf der Prozedur PROC.DEFAULT-1. In der Prozedur werden Task-spezifische Default-Werte für Kommandos und für Anweisungen der Programme SDF-A und SORT gesetzt (vgl. Prozedurablauf). Die Prozedur endet mit der Ausgabe der taskspezifischen Default-Werte. Dabei ist zu beachten: Die Programme werden nicht aufgerufen. Die Default-Werte der Anweisungen werden im Kommandomodus gesetzt. Vor dem Setzen der Default-Werte wird mit dem Kommando MODIFY-SDF-OPTIONS das entsprechende Programm eingestellt (Operand DEFAULT-PROGRAM-NAME).

(4)

Anschließend werden mit SHOW-INPUT-DEFAULTS (Kurzname SHID) noch einmal alle Task-spezifischen Default-Werte mit der Eingabeseriennummer ausgegeben.

(5)

Bei der erneuten Eingabe des Kommandos SHOW-FILE-ATTRIBUTES werden alle zum aktuellen Tagesdatum erstellten Dateien angezeigt. Die Ausgabe erfolgt jetzt mit dem Task-spezifischen Default-Wert INFORMATION=*MINIMUM (vgl. Default-Wert mit der Eingabeseriennummer 8).