This syntax description is valid for SDF V4.7. The syntax of the SDF command/statement language is explained in the following three tables.
Metasyntax
The meanings of the special characters and the notation used to describe command and statement formats are explained in table 2.
Data types
Variable operand values are represented in SDF by data types. Each data type represents a specific set of values. The number of data types is limited to those described in table 3.
The description of the data types is valid for the entire set of commands/statements. Therefore only deviations (if any) from the attributes described in table 3 are explained in the relevant operand descriptions.
Suffixes for data types
Data type suffixes define additional rules for data type input. They contain a length or interval specification and can be used to limit the set of values (suffix begins with without), extend it (suffix begins with with), or declare a particular task mandatory (suffix begins with mandatory). The following short forms are used in this manual for data type suffixes:
case-sensitive | case-sens |
The description of the ‘integer’ data type in table 4 contains a number of items in italics which are not part of the syntax. They are only used to make the table easier to read. For special data types that are checked by the implementation, table 4 contains suffixes printed in italics (see the special suffix) which are not part of the syntax.
The description of the data type suffixes is valid for the entire set of commands/statements. Therefore only deviations (if any) from the attributes described here are explained in the relevant operand descriptions table 4.
Metasyntax
Convention | Meaning | Examples |
UPPERCASE | Uppercase letters denote | HELP-SDF SCREEN-STEPS = *NO |
UPPERCASE in boldface | Uppercase letters printed in | GUIDANCE-MODE = *YES |
= | The equals sign connects an | GUIDANCE-MODE = *NO |
< > | Angle brackets denote variables | SYNTAX-FILE = <filename 1..54> |
Underscoring | Underscoring denotes the default | GUIDANCE-MODE = *NO |
/ | A slash serves to separate | NEXT-FIELD = *NO / *YES |
(...) | Parentheses denote operand | ,UNGUIDED-DIALOG = *YES (...) / *NO |
[ ] | Square brackets denote operand | SELECT = [*BY-ATTRIBUTES](...) |
Convention | Meaning | Examples |
Indentation | Indentation indicates that the | ,GUIDED-DIALOG = *YES(...) *YES(...) | SCREEN-STEPS = *NO / *YES |
| | A vertical bar identifies related | SUPPORT = *TAPE(...) *TAPE(...) | VOLUME = *ANY (...) | *ANY (...) | | ... |
, | A comma precedes further | GUIDANCE-MODE = *NO / *YES ,SDF-COMMANDS = *NO / *YES |
list-poss(n): | The entry “list-poss” signifies that a | list-poss: *SAM / *ISAM list-poss(40): <structured-name 1..30> list-poss(256): *OMF / *SYSLST(...) / <filename 1..54> |
Alias: | The name that follows represents a | HELP-SDF Alias: HPSDF |
Data types
Data type | Character set | Special rules | ||||||
alphanum-name | A...Z | |||||||
cat-id | A...Z | Not more than 4 characters; must not begin with | ||||||
command-rest | freely selectable | |||||||
composed-name | A...Z | Alphanumeric string that can be split into | ||||||
c-string | EBCDIC character | Must be enclosed within single quotes; | ||||||
date | 0...9 | Input format: yyyy-mm-dd
| ||||||
device | A...Z | Character string, max. 8 characters in length, | ||||||
fixed | +, - | Input format: [sign][digits].[digits]
must contain at least one digit, but may contain | ||||||
filename | A...Z | Input format: [:cat:][$user.] { file | file(nr) | group | group {(*abs) | (+rel) | (-rel) } } :cat: optional entry of the catalog identifier; $user.
file file or job variable name; not begin or end with a hyphen; | ||||||
filename (contd.) |
# or @ used as the first character indicates file(no) tape file name no: group name of a file generation group group {(*abs) | (+rel) | (-rel) } (*abs) absolute generation number (1-9999); (+rel) relative generation number (0-99); | |||||||
integer | 0...9, +, - | + or -, if specified, must be the first character. | ||||||
name | A...Z | Must not begin with 0...9. | ||||||
partial-filename | A...Z | Input format: [:cat:][$user.][partname.] :cat: partname optional entry of the initial part of a name The final character of “partname” must be a | ||||||
posix-filename | A...Z | String with a length of up to 255 characters; | ||||||
posix-pathname | A...Z | Input format: [/]part1/.../partn characters; | ||||||
product-version | A...Z | Input format: [[C]' ][V][m]m.naso[' ] a: release status where m, n, s and o are all digits and a is a letter. | ||||||
structured-name | A...Z | Alphanumeric string which may comprise a | ||||||
text | freely selectable | For the input format, see the relevant operand | ||||||
time | 0...9 | Time-of-day entry: Input format: { hh:mm:ss | hh:mm | hh } hh: hours Leading zeros may be omitted | ||||||
vsn |
|
| ||||||
x-string | Hexadecimal: | Must be enclosed in single quotes; | ||||||
x-text | Hexadecimal: | Must not be enclosed in single quotes; the letter |
Suffixes for data types
Suffix | Meaning | ||||||||||||||
x..y unit | With data type “integer”: interval specification
| ||||||||||||||
x..y special | With the other data types: length specification
| ||||||||||||||
with -compl -low -pathcompl | Extends the specification options for a data type. When specifying the data type “date”, SDF expands two-digit year
Uppercase and lowercase letters are differentiated. For specifications for the data type “filename”, SDF adds the catalog and/or |
Suffix | Meaning | |
with (contd.) -under -wild(n) | Permits underscores (_) for the data type “name”. Parts of names may be replaced by the following wildcards. | |
BS2000 | Meaning | |
* | Replaces an arbitrary (even empty) character string. An * | |
Terminating | Partially-qualified entry of a name. | |
/ | Replaces any single character. | |
<sx:sy> | Replaces a string that meets the following conditions: a) If sx is shorter than or exactly as long as sy:
b) If sx is longer than sy:
| |
with-wild(n) (contd.) | <s1,...> | Replaces all strings that match any of the character |
-s | Replaces all strings that do not match the specified string s. | |
Wildcards are not permitted in generation and version specifications for file | ||
POSIX | Meaning | |
* | Replaces an arbitrary (even empty) character string. An * | |
? | Replaces any single character; not permitted as the first | |
[cx-cy] | Replaces any single character from the range defined by cx | |
[s] | Replaces exactly one character from string s. | |
[!cx-cy] | Replaces exactly one character not in the range defined by cx | |
[!s] | Replaces exactly one character not contained in string s. The | |
-wildconstr(n) | Specification of a constructor (string) that defines how new names are to be | |
Wildcard | Meaning | |
* | Corresponds to the string selected by the wildcard * in the | |
Terminating | Corresponds to the partially-qualified specification of a name | |
/ or ? | Corresponds to the character selected by the / or ? wildcard | |
<n> | Corresponds to the string selected by the n-th wildcard in the | |
Allocation of wildcards to corresponding wildcards in the selector:
|
Suffix | Meaning | ||||||||||||||||||||
with-wildconstr(n) (contd.) | The following rules must be observed when specifying a constructor:
| ||||||||||||||||||||
with-wild- constr(n) | Examples:
| ||||||||||||||||||||
without | Restricts the specification options for a data type. | ||||||||||||||||||||
-cat | Specification of a catalog ID is not permitted. | ||||||||||||||||||||
-corr | Input format: [[C]’][V][m]m.na[’] | ||||||||||||||||||||
-dig | The file type name does not permit digits. | ||||||||||||||||||||
-gen | Specification of a file generation or file generation group is not permitted. | ||||||||||||||||||||
-man | Input format: [[C]’][V][m]m.n[’] | ||||||||||||||||||||
-odd | The data type x-text permits only an even number of characters. | ||||||||||||||||||||
-sep | With the data type “text”, specification of the following separators is not | ||||||||||||||||||||
-spec | The file type name does not permit any special characters. | ||||||||||||||||||||
without (contd.) -tempfile | Specification of a temporary file is not permitted (see #file or @file under | ||||||||||||||||||||
-user | Specification of a user ID is not permitted. | ||||||||||||||||||||
-vers | Specification of the version (see “file(no)”) is not permitted for tape files. | ||||||||||||||||||||
-wild | The file types posix-filename and posix-pathname must not contain a pattern | ||||||||||||||||||||
mandatory | Certain specifications are necessary for a data type. | ||||||||||||||||||||
-corr | Input format: | ||||||||||||||||||||
-man | Input format: | ||||||||||||||||||||
-quotes | Specifications for the data types posix-filename and posix-pathname must | ||||||||||||||||||||
c | When specifications are made for the data types command-rest and text, a |