The ADD-STMT statement is used to define, in the open syntax file, a statement for a program. This statement then becomes the “current object” (see "ADD-OPERAND Define operand"). The program must already be defined in the syntax file. All names given for the statement must be unique with regard to the set of statements pertaining to the program.
The definitions of the operands and operand values belonging to the statement are placed in the syntax file using the ADD-OPERAND and ADD-VALUE or COPY statements, rather than with the ADD-STMT statement.
ADD-STMT |
NAME = <structured-name 1..30> ,PROGRAM = <structured-name 1..30> ,INTERNAL-NAME = *STD / <alphanum-name 1..8> ,STANDARD-NAME = *NAME / *NO / list-poss(2000): *NAME / <structured-name 1..30> ,ALIAS-NAME = *NO / list-poss(2000): <structured-name 1..30> ,MINIMAL-ABBREVIATION = *NO / <structured-name 1..30> ,HELP = *NO / list-poss(2000): <name 1..1>(...) <name 1..1>(...) ,MAX-STRUC-OPERAND = *STD / <integer 1..3000> ,IMPLEMENTATION = *NORMAL / *RESTORE-SDF-INPUT / *SHOW-INPUT-HISTORY / *REMARK / *WRITE-TEXT / *STEP / *END / *MODIFY-SDF / *SHOW-SDF / *EXECUTE / *HOLD / *SHOW-INPUT-DEFAULTS / *RESET-INPUT-DEFAULTS / *HELP-MSG / *SHOW-STMT ,REMOVE-POSSIBLE = *YES / *NO ,DIALOG-ALLOWED = *YES / *NO ,DIALOG-PROC-ALLOWED = *YES / *NO ,GUIDED-ALLOWED = *YES / *NO ,BATCH-ALLOWED = *YES / *NO ,BATCH-PROC-ALLOWED = *YES / *NO ,NEXT-INPUT = *STMT / *DATA / *ANY ,PRIVILEGE = *ALL / *EXCEPT(...) / list-poss(64): <structured-name 1..30> *EXCEPT(...) ,STMT-VERSION = *NONE / <integer 1..999> |
NAME = <structured-name 1..30>
(External) statement name, to be specified when the statement is entered. The user can abbreviate this name on input, in contrast to the STANDARD-NAME and ALIAS-NAME.
PROGRAM = <structured-name 1..30>
External name of the program (see ADD-PROGRAM) to which the statement belongs.
INTERNAL-NAME = *STD / <alphanum-name 1..8>
Internal statement name. The program to which the statement belongs knows the statement by its internal name (cf. the CMDRST and CMDTST macros). This name cannot be changed. With the help of the internal statement name, SDF identifies a statement defined in several syntax files under different external names as being the same statement. Unless otherwise specified, SDF-A takes as the internal statement name the first eight characters (omitting hyphens) of the external name entered for the NAME operand.
STANDARD-NAME = *NAME / *NO / list-poss(2000): *NAME / <structured-name 1..30>
Additional external statement name, which can be alternatively used when entering the statement. It must not be abbreviated when entered. In contrast to an ALIAS-NAME, a STANDARD-NAME must not be deleted so long as the statement with this name exists in one of the assigned reference syntax files (see OPEN-SYNTAX-FILE). STANDARD-NAME is reserved for Fujitsu Software Development and is therefore not described here.
ALIAS-NAME = *NO / list-poss(2000): <structured-name 1..30>
Additional external statement name, which can be alternatively used when entering the statement. It must not be abbreviated when entered. In contrast to a STANDARD-NAME, an ALIAS-NAME may be deleted.
MINIMAL-ABBREVIATION = *NO / <structured-name 1..30>
Additional external statement name which defines the shortest permissible abbreviation for the statement. Any shorter abbreviation will not be accepted, even if it is unambiguous with respect to other statements.
The following should be noted:
Checking against the minimum abbreviation is carried out only after SDF has checked the input for ambiguity. It may thus happen that SDF selects the correct statement but then rejects it because the abbreviation entered is shorter than the specified minimum abbreviation.
The minimum abbreviation must be derived from the statement name (NAME).
The ALIAS-NAMEs and STANDARD-NAMEs of the statement must not be shorter than the minimum abbreviation if they are an abbreviation of the statement name.
The minimum abbreviation may only be shortened - not lengthened - within a syntax file hierarchy.
HELP =
Specifies whether there are help texts for the statement, and if so, what those texts are.
HELP = *NO
There are no help texts.
HELP = list-poss(2000): <name 1..1>(...)
There are help texts in the specified languages (E = English, D = German). SDF uses the language specified for message output.
TEXT = <c-string 1..500 with-low>
Help text.
The help text can contain the special character string “\n” for the line break.
MAX-STRUC-OPERAND = *STD / <integer 1..3000>
Number of operand positions to be reserved at the top level in structured transfer. Unless otherwise specified, an operand array is created that is as large as required. However, the array may also be made larger for planned future expansions.
IMPLEMENTATION = *NORMAL / *RESTORE-SDF-INPUT / *SHOW-INPUT-HISTORY / *REMARK / *WRITE-TEXT / *STEP / *END / *MODIFY-SDF / *SHOW-SDF / *EXECUTE / *HOLD /*SHOW-INPUT-DEFAULTS / *RESET-INPUT-DEFAULTS / *HELP-MSG / *SHOW-STMT
This function is provided only for Fujitsu System Software Development and is therefore not described here.
REMOVE-POSSIBLE = *YES / *NO
Specifies whether the statement may be deleted (cf. REMOVE).
DIALOG-ALLOWED = *YES / *NO
Specifies whether the statement is allowed in interactive mode.
DIALOG-PROC-ALLOWED = *YES / *NO
Specifies whether the statement is allowed in interactive mode within a procedure.
GUIDED-ALLOWED = *YES / *NO
Specifies whether the statement is allowed in guided dialog.
BATCH-ALLOWED = *YES / *NO
Specifies whether the statement is allowed in batch mode.
BATCH-PROC-ALLOWED = *YES / *NO
Specifies whether the statement is allowed in batch mode within a procedure.
NEXT-INPUT =
Specifies what type of input is expected following the statement. SDF needs this specification to conduct the guided dialog.
NEXT-INPUT = *STMT
A statement is expected as the next entry. SDF interprets input in the NEXT field of the guided dialog as a statement.
NEXT-INPUT = *DATA
Data is expected as the next entry. SDF interprets input in the NEXT field of the guided dialog as data.
NEXT-INPUT = *ANY
It is not possible to predict what type of input will follow.
PRIVILEGE =
Specifies the privileges assigned to the statement.
PRIVILEGE = *ALL
All privileges currently defined and all subsequently defined privileges are assigned to the statement.
PRIVILEGE = *EXCEPT(...)
With the exception of those defined with *EXCEPT(...), all privileges currently defined and all subsequently defined privileges are assigned to the statement.
EXCEPT-PRIVILEGE = list-poss(64): <structured-name 1..30>
Specifies the privileges that are not assigned to the statement.
PRIVILEGE = list-poss(64): <structured-name 1..30>
Only the privileges specified in this list are assigned to the statement.
STMT-VERSION = *NONE / <integer 1..999>
Version of the statement. The value is transferred in the standardized transfer areas.
*NONE means that a zero value is specified in the standardized transfer area. STMT-VERSION is ignored if the program to which the statement belongs does not work with the new macros CMDRST and CMDTST or still uses the old format for the standardized transfer area. More information on the format of standardized transfer areas and SDF macros can be found in section “Format of the standardized transfer area” and section “SDF macros”.