Declare procedure parameters
| Component: | SDF-P-BASYS | 
| Functional area: | Procedures | 
| Domain: | PROCEDURE | 
| Privileges: | STD-PROCESSING  | 
Function
The DECLARE-PARAMETER command declares procedure parameters in an S procedure together with the method used to pass the parameter values to the procedure (initial value, prompting, etc.). 
It is part of the procedure head. If several DECLARE-PARAMETER commands are issued, they must be combined to form a command block (declaration section) by means of BEGIN-PARAMETER-DECLARATION and END-PARAMETER-DECLARATION commands.
Restrictions
Specification of values other than the defaults for the TYPE and TRANSFER-TYPE operands is possible only if the chargeable SDF-P subsystem has been loaded.
Format
| DECLARE-PARAMETER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Operands
 NAME = list-poss(2000): <structured-name 1..20>(...)
Defines the names of the procedure parameters used.
Procedure parameters are S variables that are known within the procedure. 
The following attributes are declared for each procedure parameter:
 INITIAL-VALUE =
This defines the initial value.
INITIAL-VALUE = *NONE  
The procedure parameter is not initialized, i.e. no initial value is declared. When the procedure is called a value must be assigned to the procedure parameter (see the CALL-PROCEDURE or ENTER-PROCEDURE command).
INITIAL-VALUE = *PROMPT(...) 
If no value is declared when the procedure is called, SDF-P queries the value when the procedure parameter occurs for the first time (prompting). Prompting is only possible within a dialog. If prompting is not possible or if no value has been entered to the dialog then the initial value declared in the DEFAULT-VALUE operand is used.
 PROMPT-STRING = 
Defines a string that is output as the prompt string. The text specified for DEFAULT-VALUE = ... is added to the prompt string. The prompt always ends with a colon. The prompt therefore has the following form:
<prompt-string>'BLANK'(DEFAULT = <default-value>)'BLANK':
PROMPT-STRING = *STD  
By default, the parameter name specified in NAME=... (variable name) is output.
 PROMPT-STRING = <text 0..1800 with-low   string-expr  >
Defines the string that is to be output as the prompt string.
DEFAULT-VALUE =  
Defines an initial value for cases where no input (i.e. only [DUE]) is entered to the dialog or the procedure runs in the background. The value is output (for information) as part of the prompt.
DEFAULT-VALUE = *NONE  
No (default) string is declared.
DEFAULT-VALUE = <text 0..1800 with-low   expr>  
Expression that is used as the default for the initial value. The specified expression must match the parameter type.
 SECRET-INPUT = *NO / *YES
You can specify whether the dialog input is to be protected or entered in a nondisplaying field. In this case, the input is not logged.
INITIAL-VALUE = <text 0..1800 with-low   expr  > 
The procedure parameter has the initial value derived from the specified expression (for permitted expressions see the section "SDF-P-BASYS"). This initial value is assumed if no other value is declared when the procedure is called. 
 TYPE = *ANY / *STRING / *INTEGER / *BOOLEAN
This defines the variable type of the procedure parameter.
Specification of an operand value other than the default value *ANY is possible only if the chargeable subsystem SDF-P has been loaded.
 TRANSFER-TYPE = *BY-VALUE / *BY-REFERENCE
This defines the type of parameter transfer.
Specification of an operand value other than the default value *BY-VALUE is possible only if the chargeable subsystem SDF-P has been loaded.
Return codes
The DECLARE-PARAMETER command can only be used within the procedure header of an S procedure. SDF-P detects errors in the procedure head during pre-analysis and terminates the procedure call. The command return codes can only occur if the command is used outside the procedure head.
| (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 |