Prozedureigenschaften festlegen
Komponente: | SDF-P-BASYS |
Funktionsbereich: | Prozeduren |
Anwendungsbereich: | PROCEDURE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Mit dem Kommando SET-PROCEDURE-OPTIONS kann der Benutzer die Eigenschaften einer S-Prozedur festlegen. Das Kommando ist optional. Wird es verwendet, so muss es das erste Kommando des Prozedurkopfs sein. Wird es nicht verwendet, sind die Eigenschaften gemäß den Voreinstellungen von SDF-P vereinbart. Folgende Einstellungen können im Kommando SET-PROCEDURE-OPTIONS getroffen werden (in Klammern die Voreinstellung von SDF-P):
Zugelassener Prozeduraufruf (CALLER=*ANY)
Implizite Deklaration von S-Variablen (IMPLICIT-DECLARATION=*YES)
Umfang der Protokollierung (LOGGING=*YES)
Unterbrechung der Prozedur (INTERRUPT-ALLOWED=*YES)
Format der Prozedur (INPUT-FORMAT=*FREE-RECORD-LENGTH)
Variablenersetzung innerhalb von Datensätzen (DATA-ESCAPE-CHAR=*NONE)
SYSFILE-Umgebung der aktuellen Prozedurstufe (SYSTEM-FILE-CONTEXT=*STD)
Fehlerbehandlung, wenn Eingabedaten und Kommandos gemischt werden (DATA-ERROR-HANDLING=*YES)
Einstellung für die Jobvariablen-Ersetzung (Voreinstellung im Dialog JV-REPLACEMENT=*AFTER-BUILTIN-FUNCTION; in S-Prozeduren JV-REPLACEMENT=*NO)
Einstellung der Fehlerbehandlung (ERROR-MECHANISM=*SPIN-OFF-COMPATIBLE)
Unterdrücken ausgewählter SDF-P-Meldungen (SUPPRESS-SDP-MSG=*NONE)
Hinweis
Wird das Kommando SET-PROCEDURE-OPTIONS nicht explizit angegeben, gelten die Voreinstellungen von SDF-P. Voreinstellungen des Kommandos, die in der aktivierten Syntaxdatei modifiziert wurden, gelten für die Prozedur nur bei expliziter Angabe des SET-PROCEDURE-OPTIONS-Kommandos.
Die Prozedureigenschaften können mit dem Kommando MODIFY-PROCEDURE-
OPTIONS wieder geändert werden. Dabei kann die Änderung der Einstellung „Unterdrücken von SDF-P-Meldungen“ jederzeit erfolgen. Die Änderung der anderen Einstellungen ist nur bei Einsatz des kostenpflichtigen Subsystems SDF-P möglich (siehe Kommando MODIFY-PROCEDURE-OPTIONS).
Format
SET-PROCEDURE-OPTIONS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
CALLER =
Legt fest, wie die Prozedur aufgerufen werden darf.
CALLER = *ANY
Die Prozedur kann mit den Kommandos CALL-PROCEDURE und INCLUDE-PROCEDURE aufgerufen werden. Das Kommando INCLUDE-PROCEDURE ist nur verfügbar, wenn das kostenpflichtige Subsystem SDF-P geladen ist. Der Aufruf als INCLUDE-Prozedur ist im Handbuch „SDF-P“ [34] beschrieben.
CALLER = *CALL
Die Prozedur darf nur mit dem Kommando CALL-PROCEDURE aufgerufen werden.
CALLER = *INCLUDE
Die Prozedur darf nur mit dem Kommando INCLUDE-PROCEDURE aufgerufen werden. (nur möglich, wenn das Subsystem SDF-P geladen ist)
IMPLICIT-DECLARATION = *YES / *NO
Gibt an, ob S-Variablen implizit deklariert werden dürfen.
Implizite Deklaration bedeutet, dass S-Variablen bei der ersten Zuweisung automatisch angelegt werden. Die implizite Deklaration entspricht der expliziten Deklaration mit DECLARE-VARIABLE und voreingestellten Werten: Es wird eine einfache S-Variable ohne Anfangswert und ohne Festlegung des Variablentyps im Klasse-5-Speicher angelegt. Diese S-Variable ist nur prozedurlokal bekannt (siehe Abschnitt „SDF-P-BASYS").
Explizit deklariert werden auch die S-Variablen, die als Prozedurparameter verwendet werden (siehe Kommando DECLARE-PARAMETER). Sie werden ebenfalls prozedurlokal angelegt.
Ist die implizite Deklaration nicht zugelassen, müssen S-Variablen vor der ersten Zuweisung explizit angelegt werden. Dabei können die Eigenschaften der S-Variablen vereinbart werden. Mit SDF-P-BASYS sind nur Variablen vom Typ ANY zugelassen.
LOGGING-ALLOWED =
Legt fest, ob der Prozedurablauf protokolliert werden darf. Diese Festlegung gilt nur für die aktuelle Prozedurstufe.
Ob protokolliert wird, bestimmt der Aufrufer im Kommando CALL-PROCEDURE.
LOGGING-ALLOWED = *PARAMETERS(...)
Die Protokollierung ist erlaubt. Der Benutzer kann die Erlaubnis aber für Kommandos und Datensätze getrennt erteilen:
CMD = *YES / *NO
Gibt an, ob Kommandos protokolliert werden dürfen.
DATA = *YES / *NO
Gibt an, ob Datensätze protokolliert werden dürfen.
LOGGING-ALLOWED = *YES
Die Protokollierung ist ohne Einschränkung erlaubt.
LOGGING-ALLOWED = *NO
Die Protokollierung ist nicht erlaubt.
INTERRUPT-ALLOWED = *YES / *NO
Gibt an, ob die Prozedur mit der K2-Taste bzw. dem Kommando HOLD-PROCEDURE unterbrochen werden darf. Die unterbrochene Prozedur kann mit dem Kommando RESUME-PROCEDURE wieder fortgesetzt werden.
Ist die Unterbrechung nicht erlaubt, wird nach der Unterbrechungsanforderung eine Abfrage ausgegeben. Wünscht der Benutzer tatsächlich die Unterbrechung, so wird der Auftrag vom System sofort beendet.
INPUT-FORMAT =
Gibt an, in welcher Länge die Eingabesätze der Prozedur ausgewertet werden sollen und an welchen Stellen ein Fortsetzungszeichen möglich ist.
INPUT-FORMAT = *FREE-RECORD-LENGTH
Eingabesätze werden in voller Länge ausgewertet. Das Fortsetzungszeichen steht in der letzten Spalte, die kein Leerzeichen enthält.
Die maximale Länge eines Eingabesatzes beträgt 4096 Zeichen (4 KByte).
INPUT-FORMAT = *BY-SDF-OPTION
Eingabesätze werden bis einschließlich der Spalte 72 ausgewertet. Nachfolgende Zeichen werden ignoriert. Die Position des Fortsetzungszeichen wird bestimmt durch die aktuelle SDF-Einstellung (Ausgabe mit dem Kommando SHOW-SDF-OPTIONS; Einstellung mit dem Kommando MODIFY-SDF-OPTIONS, Operand CONTINUATION).
DATA-ESCAPE-CHAR = *NONE / ’&&’ / ’#’ / ’*’ / ’@’ / ’$’ / *STD
Legt fest, ob in Datensätzen Variablen ersetzt und Ausdrücke ausgewertet werden sollen.Dabei kann festgelegt werden, mit welchem Zeichen die zu ersetzenden Variablen bzw. die Ausdrücke beginnen. Mögliche Zeichen sind &, #, *, @ oder $. Die Angabe & ist gleichbedeutend mit der Angabe *STD (wie auf Kommandoebene). Soll das Zeichen & explizit angegeben werden, muss es verdoppelt werden.
SYSTEM-FILE-CONTEXT =
Gibt an, mit welcher Systemdatei-Umgebung die Prozedur ablaufen soll.
SYSTEM-FILE-CONTEXT = *STD
Es wird eine eigene Systemdatei-Umgebung eingerichtet. Die Systemdatei SYSDTA wird automatisch der Systemdatei SYSCMD (also der Prozedurdatei) zugewiesen. Für die anderen Systemdateien werden die Zuweisungen des Aufrufers übernommen. Die Änderung von Zuweisungen gilt nur innerhalb der aktuellen Prozedurstufe. Bei Prozedurende erhalten die Systemdateien wieder die Zuweisungen des Aufrufers.
SYSTEM-FILE-CONTEXT = *SAME-AS-CALLER
Die Prozedur läuft in der Systemdatei-Umgebung des Aufrufers ab. Die Änderung von Zuweisungen innerhalb der aktuellen Prozedurstufe wirkt sich deshalb immer auf die Systemdatei-Umgebung des Aufrufers aus.
SYSTEM-FILE-CONTEXT = *OWN
Es wird eine eigene Systemdatei-Umgebung eingerichtet. Für alle Systemdateien werden die Zuweisungen des Aufrufers übernommen (auch für SYSDTA!). Die Änderung von Zuweisungen gilt nur innerhalb der aktuellen Prozedurstufe. Bei Prozedurende erhalten die Systemdateien wieder die Zuweisungen des Aufrufers.
Die Einstellung *OWN entspricht auch dem bisherigen Verhalten bei Nicht-S-Prozeduren.
DATA-ERROR-HANDLING =
Gibt an, ob in folgenden Fällen die SDF-P-Fehlerbehandlung ausgelöst werden soll:
An einer Stelle, an der Kommandos erwartet werden, stehen Daten (ohne führenden Schrägstrich oder mit führendem Doppelschrägstrich).
Innerhalb von Daten ist &<variable> bzw. nur & enthalten und <variable> ist weder als S-Variable noch als Builtin-Funktion bekannt.
DATA-ERROR-HANDLING = *YES
Die SDF-P-Fehlerbehandlung wird in den oben aufgeführten Fällen ausgelöst.
DATA-ERROR-HANDLING = *NO
Die SDF-P-Fehlerbehandlung wird in den oben aufgeführten Fällen nicht ausgelöst.
JV-REPLACEMENT =
Gibt an, ob Jobvariablen-Ersetzung durchgeführt werden soll.
JV-REPLACEMENT = *NONE
Jobvariablen werden nicht ersetzt. Es werden nur S-Variablen bzw. Builtin-Funktionen ersetzt. Diese Einstellung gewährleistet, dass Builtin-Funktionen kompatibel eingeführt werden können, ohne dass sich ihre Namen mit denen von bereits verwendeten JV-Namen des Benutzers überschneiden.
JV-REPLACEMENT = *AFTER-BUILTIN-FUNCTION
Jobvariablen werden ersetzt. Die Ersetzung wird in der Reihenfolge erst S-Variable, dann Builtin-Funktion und danach Jobvariable durchgeführt. Inkompatibilitäten bei der Jobvariablen-Ersetzung durch gleichnamige Builtin-Funktionen kann der Benutzer vermeiden, wenn er die JV-Namen mit Benutzerkennung angibt. Außerdem kann die gewünschte Jobvariablen-Ersetzung auch mit der Builtin-Funktion JV erreicht werden.
ERROR-MECHANISM =
Gibt an, ob die SDF-P-Fehlerbehandlung kompatibel zu dem bisherigen Spin-Off-Verhalten oder bei einem Subcode1 ungleich null ausgelöst wird.
ERROR-MECHANISM = *SPIN-OFF-COMPATIBLE
Die SDF-P-Fehlerbehandlung wird kompatibel zu dem bisherigen Spin-Off-Verhalten ausgelöst. Der Subcode1 wird nicht berücksichtigt.
ERROR-MECHANISM = *BY-RETURNCODE
Die SDF-P-Fehlerbehandlung wird ausgelöst, wenn der Subcode1 ungleich null ist. Der Spin-Off wird nicht berücksichtigt. Die Fehlerbehandlung in der Prozedur muss auf die möglichen Kommando-Returncodes der enthaltenen Kommandos abgestimmt sein.
SUPPRESS-SDP-MSG =
Bestimmt, ob die Ausgabe bestimmter SDF-P-Meldungen (Meldungsklasse SDP) unterdrückt werden soll. Die Einstellung gilt nur in der aufrufenden Prozedur (wird nicht weitervererbt).
SUPPRESS-SDP-MSG = *NONE
Die Meldungsausgabe wird nicht unterdrückt; alle SDF-P-Meldungen werden ausgegeben.
SUPPRESS-SDP-MSG = list-poss(2000): <alphanum-name 7..7>
Menge der SDF-P-Meldungen, die nicht ausgegeben werden sollen.
TRANSLATION-CCS =
Bestimmt, welchen Zeichensatz (CCS, Coded-Character-Set) die Builtin-Funktionen UPPER-CASE und LOWER-CASE für die Umsetzung in Groß- bzw. Kleinbuchstaben verwenden.
TRANSLATION-CCS = *STD
Es wird der Standardzeichensatz EDF03IRV verwendet. Bei Einsatz eines optionalen Reps für SDF-P-BASYS wirkt *STD systemglobal wie *CURRENT.
TRANSLATION-CCS = *EDF03IRV
Erzwingt die Verwendung des Standardzeichensatzes EDF03IRV.
TRANSLATION-CCS = *CURRENT
Es wird der Zeichensatz verwendet, der aktuell für den Eingabestrom der Task eingestellt ist.
Das Kommando wird in folgenden Fällen zurückgewiesen:
Der verwendete Zeichensatz wird nicht unterstützt oder ist nicht bekannt ist.
Der Zeichensatz ist nicht EDF03IRV und das Subsystem XHCS ist nicht geladen.
Der Zeichensatz ist ein 16-Bit-Zeichensatz (es werden nur 8-Bit Zeichensätze unterstützt).
Kommando-Returncode
Das Kommando SET-PROCEDURE-OPTIONS kann nur als erstes Kommando des Prozedurkopfes einer S-Prozedur verwendet werden. Fehler im Prozedurkopf erkennt SDF-P bei der Voranalyse und beendet den Prozeduraufruf.
Die Kommando-Returncodes können nur auftreten, wenn das Kommando außerhalb des Prozedurkopfes verwendet wird.
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Ohne Fehler | |
1 | CMD0202 | Syntaxfehler | |
1 | SDP0118 | Kommando im falschen Kontext | |
3 | CMD2203 | Falsche Syntaxdatei | |
32 | CMD0221 | Systemfehler (interner Fehler) | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |