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.