Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

MODIFY-PROCEDURE-OPTIONS Modify procedure attributes during procedure execution

&pagelevel(4)&pagelevel

Domain: PROCEDURE

Command description

MODIFY-PROCEDURE-OPTIONS can be used to modify, during procedure execution, most of the procedure attributes set with SET-PROCEDURE-OPTIONS at the beginning of the procedure execution.

MODIFY-PROCEDURE-OPTIONS cannot be called if the procedure execution has been interrupted.

If MODIFY-PROCEDURE-OPTIONS is called within an include procedure, it affects this include procedure only, i.e. changes are not transferred to the calling procedure.

Format

MODIFY-PROCEDURE-OPTIONS

IMPLICIT-DECLARATION = *UNCHANGED / *YES / *NO

,LOGGING-ALLOWED = *PARAMETERS(...) / *NO / *YES

*PARAMETERS(...)

CMD = *UNCHANGED / *YES / *NO

,DATA = *UNCHANGED / *YES / *NO

,INTERRUPT-ALLOWED = *UNCHANGED / *YES / *NO

,DATA-ESCAPE-CHAR = *UNCHANGED / *NONE / ’&&’ / ’#’ / ’*’ / ’@’ / ’$’ / *STD

,DATA-ERROR-HANDLING = *UNCHANGED / *YES / *NO

,JV-REPLACEMENT = *UNCHANGED / *NONE / *AFTER-BUILTIN-FUNCTION

,ERROR-MECHANISM = *UNCHANGED / *SPIN-OFF-COMPATIBLE / *BY-RETURNCODE

,SUPPRESS-SDP-MSG = *UNCHANGED / *NONE / *ADD(...) / *REMOVE(...)

*ADD(...)

MSG-ID = list-poss(2000): <alphanum-name 7..7>)

*REMOVE(...)

MSG-ID = list-poss(2000): <alphanum-name 7..7>)

Operands

IMPLICIT-DECLARATION = *UNCHANGED / *YES / *NO
Indicates whether implicit declarations are permitted.
If UNCHANGED is specified, the previous declaration is accepted unchanged.IMPLICIT-DECLARATION can be specified in dialog.

LOGGING-ALLOWED =
Defines whether logging is permitted in the procedure.

LOGGING-ALLOWED = *PARAMETERS(...)
In the following entries, defines what can be logged.

CMD = *UNCHANGED / *YES / *NO
Specifies whether commands can be logged.
If *UNCHANGED is specified, the previous declaration is accepted unchanged.

DATA = *UNCHANGED / *YES / *NO
Specifies whether data can be logged.
If *UNCHANGED is specified, the previous declaration is accepted unchanged.

LOGGING-ALLOWED = *YES
Commands and data can be logged.

LOGGING-ALLOWED = *NO
Logging is not allowed.

INTERRUPT-ALLOWED = *UNCHANGED
The previous declaration is to be accepted unchanged.

INTERRUPT-ALLOWED = *YES
Specifies that the procedure can be interrupted with function key K2 and resumed with the RESUME-PROCEDURE command.

INTERRUPT-ALLOWED = *NO
Specifies that the procedure cannot be interrupted with function key K2.

DATA-ESCAPE-CHAR =
Defines the character to be used as the escape character. The escape character is the character which identifies symbolic parameters in data records.

DATA-ESCAPE-CHAR = *UNCHANGED
The previous declaration is to be accepted unchanged.

DATA-ESCAPE-CHAR = *NONE
Expression replacement is not to be carried out in data records.

DATA-ESCAPE-CHAR = ’&&’ / ’#’ / ’*’ / ’@’ / ’$’
Defines the escape character.

DATA-ESCAPE-CHAR = *STD
The character ’&’ is to be used as the escape character.

DATA-ERROR-HANDLING = *UNCHANGED
The previous declaration is to be accepted unchanged.

DATA-ERROR-HANDLING = *YES
Specifies that error handling is initiated in the following instances:

  • if a procedure line contains data where commands are expected

  • if a requested expression replacement operation cannot be carried out in data lines

  • if a procedure record contains a single escape character

DATA-ERROR-HANDLING = *NO
Error handling is not initiated; &varname remains unchanged in data if varname is not known as either a function or a variable.

JV-REPLACEMENT = *UNCHANGED / *NONE / *AFTER-BUILTIN-FUNCTIONSpecifies whether job variable replacement is to be carried out during expression replacement.

JV-REPLACEMENT = *UNCHANGED
The existing setting is to be used unchanged.

JV-REPLACEMENT = *NONE
During expression replacement, names are not interpreted as job variable names.

JV-REPLACEMENT = *AFTER-BUILTIN-FUNCTION
In an expression in the form &(name), name is interpreted as a job variable name if there is no variable or built-in function with this name. This operand value is provided to permit behavior compatible with non-S procedures during expression replacement.

ERROR-MECHANISM =
Specifies whether error handling is to be initiated in a manner compatible with the spin-off behavior of non-S procedures or whether “subcode1 not equal to zero” is to be taken into account. The operand setting has no influence on error handling for statements.

ERROR-MECHANISM = *UNCHANGED
The existing setting is to be used unchanged.

ERROR-MECHANISM = *SPIN-OFF-COMPATIBLE
Error handling is to be initiated in a manner compatible with the previous spin-off behavior. Subcode1 is not taken into account. This ensures that the behavior of S procedures created under BS2000 V10.0 remains compatible.

ERROR-MECHANISM = *BY-RETURNCODE
Error handling is initiated if subcode1 of the last command return code is not equal to zero. The spin-off behavior is not taken into account. If *BY-RETURNCODE is specified, the error handling in S procedures must be matched to the command return codes of the various commands.

Notes

  • In order to avoid problems which could result from the modification of the default value in the user syntax file, the selected value should be specified explicitly in the procedure.

  • The IMPLICIT-DECLARATION and JV-REPLACEMENT operands can also be specified in dialog.
    At the beginning of the task, the following settings are valid in interactive mode:IMPLICIT-DECLARATION = *YES
    JV-REPLACEMENT = *AFTER-BUILTIN-FUNCTION

SUPPRESS-SDP-MSG =
Specifies whether output is to be suppressed for specific SDF-P messages (message class SDP). The option is valid for the calling procedure only (i.e. it is not “inherited” by other procedures).

SUPPRESS-SDP-MSG = *UNCHANGED
The existing setting is to be used unchanged (/SET-PROCEDURE-OPTIONS or previous /MODIFY-PROCEDURE-OPTIONS command).

SUPPRESS-SDP-MSG = *NONE
All SDF-P messages are to be output.

SUPPRESS-SDP-MSG = *ADD(...)
Set of SDF-P messages that are not to be output (possibly in addition to any previously specified messages).

MSG-ID=list-poss(2000): <alphanum-name 7..7>
List of message numbers (message class SDP).

SUPPRESS-SDP-MSG = *REMOVE(...)
Set of (currently suppressed) SDF-P messages that are to be output again.

MSG-ID=list-poss(2000): <alphanum-name 7..7>
List of message numbers (message class SDP).

Command return codes

(SC2)

SC1

Maincode

Meaning


0CMD0001No error

1CMD0202Syntax error

3CMD2203Incorrect syntax file

32CMD0221System error (internal error)

130SDP0099No further address space available

Example

/SET-PROCEDURE-OPTIONS, LOGGING-ALLOWED=*NO
...
/MODIFY-PROCEDURE-OPTIONS, LOGGING-ALLOWED=*YES
...

At the start of the procedure, the specification in SET-PROCEDURE-OPTIONS forbids logging. After the MODIFY-PROCEDURE-OPTIONS command, commands and data may be logged.