Anwendungsgebiet: PROCEDURE
Kommandobeschreibung
Mit MODIFY-PROCEDURE-OPTIONS können die meisten Prozedureigenschaften, die zu Prozedurbeginn mit dem Kommando SET-PROCEDURE-OPTIONS festgelegt wurden, während des Prozedurlaufs geändert werden.
MODIFY-PROCEDURE-OPTIONS darf nicht aufgerufen werden, wenn der Prozedurablauf unterbrochen ist.
Wird MODIFY-PROCEDURE-OPTIONS innerhalb einer Include-Prozedur aufgerufen, wirkt es sich nur auf diese Include-Prozedur aus, das heißt, Änderungen werden nicht in die aufrufende Prozedur übernommen.
Format
MODIFY-PROCEDURE-OPTIONS |
IMPLICIT-DECLARATION = *UNCHA NGED / *YES / *NO , LOGGING-ALLOWED = *PAR AMETERS(...) / *NO / *YES *PAR AMETERS(...) CMD = *UNCHA NGED / *YES / *NO , DATA = *UNCHA NGED / *YES / *NO , INTERRUPT-ALLOWED = *UNCHA NGED / *YES / *NO , DATA-ESCAPE-CHAR = *UNCHA NGED / *NONE / '&&' / '#' / '*' / '@' / '$' / *STD , DATA-ERROR-HANDLING = *UNCHA NGED / *YES / *NO , JV-REPLACEMENT = * UNCHA NGED / *NONE / *AFTER-BUILTIN-FUNCTION , ERROR-MECHANISM = * UNCHA NGED / *SPIN-OFF-COMPATIBLE / *BY-RETURNCODE , SUPPRESS-SDP-MSG = *UNCHA NGED / *NONE / *ADD(...) / *REMOVE(...) *ADD(...) MSG-ID = list-poss(2000): <alphanum-name 7..7>) *REMOVE(...) MSG-ID = list-poss(2000): <alphanum-name 7..7>) |
Operandenbeschreibung
IMPLICIT-DECLARATION = *UNCHANGED / *YES / *NO
Gibt an, ob implizite Deklarationen erlaubt sind.
Bei UNCHANGED wird die bisherige Vereinbarung unverändert übernommen.IMPLICIT-DECLARATION kann im Dialog angegeben werden.
LOGGING-ALLOWED =
Legt fest, ob die Protokollierung der Prozedur erlaubt ist.
LOGGING-ALLOWED = *PARAMETERS(...)
Legt in den nachfolgenden Angaben fest, was protokolliert werden darf.
CMD = *UNCHANGED / *YES / *NO
Gibt an, ob Kommandos protokolliert werden dürfen.
Bei *UNCHANGED wird die bisherige Vereinbarung unverändert übernommen.
DATA = *UNCHANGED / *YES / *NO
Gibt an, ob Daten protokolliert werden dürfen.
Bei *UNCHANGED wird die bisherige Vereinbarung unverändert übernommen.
LOGGING-ALLOWED = *YES
Kommandos und Daten dürfen protokolliert werden.
LOGGING-ALLOWED = *NO
Protokollierung ist nicht erlaubt.
INTERRUPT-ALLOWED = *UNCHANGED
Die bisherige Vereinbarung soll unverändert übernommen werden.
INTERRUPT-ALLOWED = *YES
Vereinbart, dass die Prozedur mit der Funktionstaste K2 unterbrochen und mit dem Kommando RESUME-PROCEDURE fortgesetzt werden darf.
INTERRUPT-ALLOWED = *NO
Vereinbart, dass die Prozedur nicht mit der Funktionstaste K2 unterbrochen werden kann.
DATA-ESCAPE-CHAR =
Legt fest, welches Zeichen als Escape-Zeichen gilt. Das Escape-Zeichen ist das Zeichen, das die zu ersetzenden Ausdrücke in Datensätzen kennzeichnet.
DATA-ESCAPE-CHAR = *UNCHANGED
Die bisherige Vereinbarung soll unverändert übernommen werden.
DATA-ESCAPE-CHAR = *NONE
In Datensätzen soll keine Ausdrucksersetzung stattfinden.
DATA-ESCAPE-CHAR = '&&' / '#' / '*' / '@' / '$'
Legt das Escape-Zeichen fest.
DATA-ESCAPE-CHAR = *STD
Als Escape-Zeichen soll das Zeichen '&' gelten.
DATA-ERROR-HANDLING = *UNCHANGED
Die bisherige Vereinbarung soll unverändert übernommen werden.
DATA-ERROR-HANDLING = *YES
Vereinbart, dass in folgenden Fällen die Fehlerbehandlung ausgelöst wird:
wenn eine Prozedurzeile Daten enthält, wo Kommandos erwartet werden
wenn in Datenzeilen eine geforderte Ausdrucksersetzung nicht durchgeführtwerden kann
wenn ein Prozedursatz ein einzelnes Escape-Zeichen enthält
DATA-ERROR-HANDLING = *NO
Es wird keine Fehlerbehandlung ausgelöst; &varname bleibt in Daten unverändertstehen, falls varname weder als Funktion noch als Variable bekannt ist.
JV-REPLACEMENT = *UNCHANGED / *NONE / *AFTER-BUILTIN-FUNCTION
Gibt an, ob bei der Ausdrucksersetzung auch eine Jobvariablenersetzung stattfinden kann.
JV-REPLACEMENT = *UNCHANGED
Die bisherige Vereinbarung soll unverändert übernommen werden.
JV-REPLACEMENT = *NONE
Bei der Ausdrucksersetzung werden Namen nicht als Jobvariablen-Namen interpretiert.
JV-REPLACEMENT = *AFTER-BUILTIN-FUNCTION
Bei einem Ausdruck der Form &(name) wird name als Jobvariablen-Name interpretiert, wenn es keine Variable oder Built-in-Funktion dieses Namens gibt. Dieser Operandenwert soll ein zu Nicht-S-Prozeduren kompatibles Verhalten bei der Ausdrucksersetzung ermöglichen.
ERROR-MECHANISM =
Gibt an, ob die Fehlerbehandlung kompatibel zum Spin-Off-Verhalten von Nicht-S-Prozeduren ausgelöst oder ob Subcode1 ungleich Null berücksichtigt wird. Die Einstellung ist für die Fehlerbehandlung von Anweisungen wirkungslos.
ERROR-MECHANISM = *UNCHANGED
Die bisherige Vereinbarung soll unverändert übernommen werden.
ERROR-MECHANISM = *SPIN-OFF-COMPATIBLE
Die Fehlerbehandlung wird kompatibel zum bisherigen Spin-Off-Verhalten ausgelöst. Der Subcode1 wird nicht berücksichtigt. (Damit wird sichergestellt, dass das Fehlerverhalten von S-Prozeduren, die bereits in BS2000 V10.0 erstellt wurden, kompatibel bleibt.)
ERROR-MECHANISM = *BY-RETURNCODE
Die Fehlerbehandlung wird ausgelöst, wenn der Subcode1 des letzten Kommando-Returncodes ungleich Null ist. Das Spin-Off-Verhalten wird nicht berücksichtigt. Bei *BY-RETURN-CODE muss die Fehlerbehandlung in S-Prozeduren auf die Kommando-Return-codes der Kommandos abgestimmt werden.
Hinweis
Um sich vor späteren Änderungen in der Anwender-Syntaxdatei bezüglich der Voreinstellung zu schützen, sollte der gewählte Wert explizit in der Prozedur angegeben werden.
Die Operanden IMPLICIT-DECLARATION und JV-REPLACEMENT können auch im Dialog angegeben werden.
Bei Beginn der Task gelten im Dialog folgende Einstellungen:
IMPLICIT-DECLARATION = *YES
JV-REPLACEMENT = *AFTER-BUILTIN-FUNCTION
SUPPRESS-SDP-MSG =
Bestimmt, ob die Ausgabe bestimmter SDF-P-Meldungen (Meldungsklasse SDP) unterdrückt werden soll. Die Option gilt nur in der aufrufenden Prozedur (wird nicht weitervererbt).
SUPPRESS-SDP-MSG = *UNCHANGED
Die vorhandene Einstellung (Kommando /SET-PROCEDURE-OPTIONS oder vorheriges Kommando /MODIFY-PROCEDURE-OPTIONS) wird nicht verändert.
SUPPRESS-SDP-MSG = *NONE
Alle SDF-P-Meldungen werden ausgegeben.
SUPPRESS-SDP-MSG = *ADD(...)
Menge der SDF-P-Meldungen, die nicht ausgegeben werden sollen (zusätzlich zu evtl. schon vorherigen Angaben).
MSG-ID = list-poss(2000): <alphanum-name 7..7>
Liste der Meldungsnummern (Meldungsklasse SDP).
SUPPRESS-SDP-MSG = *REMOVE(...)
Menge der (unterdrückten) SDF-P-Meldungen, die wieder ausgegeben werden sollen.
MSG-ID = list-poss(2000): <alphanum-name 7..7>
Liste der Meldungsnummern (Meldungsklasse SDP).
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Ohne Fehler | |
1 | CMD0202 | Syntaxfehler | |
3 | CMD2203 | Falsche Syntaxdatei | |
32 | CMD0221 | Systemfehler (interner Fehler) | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |
Beispiel
/SET-PROCEDURE-OPTIONS, LOGGING-ALLOWED=*NO ... /MODIFY-PROCEDURE-OPTIONS, LOGGING-ALLOWED=*YES ...
Ist am Anfang der Prozedur auf Grund der Einstellung in SET-PROCEDURE-OPTIONS Protokollierung nicht erlaubt, dürfen nach MODIFY-PROCEDURE-OPTIONS Kommandos und Daten protokolliert werden.