Modify procedure attributes during procedure execution
Component: | SDF-P-BASYS |
Functional area: | Procedures |
Domain: | PROCEDURE |
Privileges: | STD-PROCESSING |
Function
The MODIFY-PROCEDURE-OPTIONS command allows most of the procedure attributes defined with SET-PROCEDURE-OPTIONS at the start of a procedure to be modified during procedure execution. The attributes that it cannot be used to modify are CALLER (permissible procedure call), INPUT-FORMAT (input record format) and SYSTEM-FILE-CONTEXT.
MODIFY-PROCEDURE-OPTIONS must not be called when the procedure is on hold (i.e. execution has been interrupted).
If MODIFY-PROCEDURE-OPTIONS is called from within an include procedure, its scope is restricted to that include procedure; in other words, modifications are not applied to the calling procedure.
The IMPLICIT-DECLARATION (implicit variable declaration) and JV-REPLACEMENT (job variable replacement) settings can also be modified interactively. At the start of the task the following settings apply in interactive mode:
IMPLICIT-DECLARATION = *YES
JV-REPLACEMENT = *AFTER-BUILTIN-FUNCTION
The default values (*UNCHANGED) mean that the existing setting is retained. The effects of the various settings are described in detail in the operand description section of the SET-PROCEDURE-OPTIONS command.
Restrictions
The SUPPRESS-SDP-MSG setting (SDF-P message suppression) can be modified at any time. The other settings can only be modified if the chargeable SDF-P subsystem is in use.
Users with SECURITY-ADMINISTRATION, SAT-FILE-EVALUATION or SAT-FILE-MANAGEMENT privilege can use the command in procedures only.
Format
MODIFY-PROCEDURE-OPTIONS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
IMPLICIT-DECLARATION = *UNCHANGED / *YES / *NO
This setting can only be modified in conjunction with SDF-P.
Specifies whether implicit declarations are allowed. Can also be specified interactively.
LOGGING-ALLOWED = *PARAMETERS(...) / *YES / *NO
This setting can only be modified in conjunction with SDF-P.
Governs whether procedure logging is allowed.
LOGGING-ALLOWED = *PARAMETERS(...)
The user can configure logging separately for commands and data records.
CMD = *UNCHANGED / *YES / *NO
This setting can only be modified in conjunction with SDF-P.
Specifies whether command logging is allowed.
DATA = *UNCHANGED / *YES / *NO
This setting can only be modified in conjunction with SDF-P.
Specifies whether data record logging is allowed.
INTERRUPT-ALLOWED = *UNCHANGED / *YES / *NO
This setting can only be modified in conjunction with SDF-P.
Specifies whether the procedure may be interrupted by means of the K2 key or the HOLD-PROCEDURE command.
DATA-ESCAPE-CHAR = *UNCHANGED / *NONE / '&&' / '#' / '*' / '@' / '$' / *STD
This setting can only be modified in conjunction with SDF-P.
Specifies whether variables are to be replaced and expressions evaluated in data records and defines the character with which the relevant variables or expressions begin. Permissible characters are &, #, *, @, and $. Specifying & is equivalent to specifying *STD (as on command level). If the character & is to be specified explicitly, it must be entered twice.
DATA-ERROR-HANDLING = *UNCHANGED / *YES *NO
This setting can only be modified in conjunction with SDF-P.
Specifies whether SDF-P error recovery is to be triggered in the following cases:
data (without a leading slash or with a leading double slash) is found at a point where commands are expected
&<variable> or & on its own occurs within data, and <variable> is not known either as an S variable or as a builtin function.
JV-REPLACEMENT = *UNCHANGED / *NONE / *AFTER-BUILTIN-FUNCTION
This setting can only be modified in conjunction with SDF-P.
Specifies whether job variable replacement is to be carried out.
ERROR-MECHANISM = *UNCHANGED / *SPIN-OFF-COMPATIBLE / *BY-RETURNCODE
This setting can only be modified in conjunction with SDF-P.
Specifies whether the error handling mechanism is to be compatible with spin-off for non-S procedures or whether nonzero subcode1 values are to be taken into account. This setting has no effect on error handling for statements.
SUPPRESS-SDP-MSG = *UNCHANGED / *NONE / *ADD(...) / *REMOVE(...)
Determines whether the setting governing the suppression of certain SDF-P messages (message class SDP) is to be modified. The option applies only to the calling procedure (it is not propagated).
SUPPRESS-SDP-MSG = *NONE
All SDF-P messages are output.
SUPPRESS-SDP-MSG = *ADD(...)
Set of SDF-P messages to be added to those which are not output.
MSG-ID=list-poss(2000): <alphanum-name 7..7>
List of message ID numbers (message class SDP).
SUPPRESS-SDP-MSG = *REMOVE(...)
Set of (suppressed) SDF-P messages which are now to be output again.
MSG-ID=list-poss(2000): <alphanum-name 7..7>
List of message ID numbers (message class SDP).
Return codes
(SC2) | SC1 | Maincode | Meaning |
---|---|---|---|
0 | CMD0001 | No error | |
1 | CMD0202 | Syntax error | |
1 | SDP0118 | Command in incorrect context | |
3 | CMD2203 | Incorrect syntax file | |
32 | CMD0221 | System error (internal error) | |
130 | SDP0099 | No further address space available |
Example
/SET-PROCEDURE-OPTIONS, LOGGING-ALLOWED=*NO ... /MODIFY-PROCEDURE-OPTIONS, LOGGING-ALLOWED=*YES ...
At the start of the procedure, logging is not allowed, as defined in the SET-PROCEDURE-OPTIONS command. Once the MODIFY-PROCEDURE-OPTIONS command has been issued, command and data record logging is allowed.