Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SDF syntax representation

&pagelevel(4)&pagelevel

The following example shows the representation of the syntax of a command in a manual. The command format consists of a field with the command name. All operands with their legal values are then listed. Operand values which introduce structures and the operands dependent on these operands are listed separately.

HELP-SDF                                                                                       

Alias: HPSDF

GUIDANCE-MODE = *NO / *YES

,SDF-COMMANDS = *NO / *YES

,ABBREVIATION-RULES = *NO / *YES

,GUIDED-DIALOG = *YES (...)


*YES(...)



|

SCREEN-STEPS = *NO / *YES



|

,SPECIAL-FUNCTIONS = *NO / *YES



|

,FUNCTION-KEYS = *NO / *YES



|

,NEXT-FIELD = *NO / *YES

,UNGUIDED-DIALOG = *YES (...) / *NO


*YES(...)



|

SPECIAL-FUNCTIONS = *NO / *YES



|

,FUNCTION-KEYS = *NO / *YES

This syntax description is valid for SDF V4.8. The syntax of the SDF command/statement language is explained in the following three tables.

"Metasyntax" table

The meanings of the special characters and the notation used to describe command and statement formats are explained in table "Data types".

"Data types" table

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 the table.

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 the table are explained in the relevant operand descriptions. 

"Suffixes for data types" table

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      
cat-id
completion
correction-state
digits
generation
lower-case
manual-release
odd-possible
path-completion
separators
special-characters
temporary-file
underscore
user-id
version
wildcard-constr
wildcards

case-sens
cat
compl                                                                                          
corr
dig
gen
low
man
odd
path-compl
sep
spec
temp-file
under
user
vers
wild-constr
wild

The description of the ‘integer’ data type in table "Suffixes for data types" 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, the table "Suffixes for data types" 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 this table are explained in the relevant operand descriptions table "Suffixes for data types".

Metasyntax 

Convention       

Meaning

Examples                                           

UPPERCASE

Uppercase letters denote keywords (command, statement or operand names, keyword values) and constant operand values. Keyword values begin with *.

HELP-SDF

SCREEN-STEPS = *NO

UPPERCASE
in boldface

Uppercase letters printed in boldface denote guaranteed or suggested abbreviations of keywords.

GUIDANCE-MODE = *YES

=

The equals sign connects an operand name with the associated operand values.

GUIDANCE-MODE = *NO

< >

Angle brackets denote variables whose range of values is described by data types and suffixes (see "Data types" and "Suffixes for data types").

SYNTAX-FILE = <filename 1..54>

Underscoring

Underscoring denotes the default value of an operand.

GUIDANCE-MODE = *NO

/

A slash serves to separate alternative operand values.

NEXT-FIELD = *NO / *YES

(...)

Parentheses denote operand values that initiate a structure.

,UNGUIDED-DIALOG = *YES (...) / *NO

[ ]

Square brackets denote operand values which introduce a structure and are optional. The subsequent structure can be specified without the initiating operand value.

SELECT = [*BY-ATTRIBUTES](...)

Indentation

Indentation indicates that the operand is dependent on a higher-ranking operand.

,GUIDED-DIALOG = *YES (...)


*YES(...)



|

SCREEN-STEPS = *NO /



|


*YES

   |

   |

   |

A vertical bar identifies related operands within a structure. Its length marks the beginning and end of a structure. A structure may contain further structures.
The number of vertical bars preceding an operand corresponds to the depth of the structure.

SUPPORT = *TAPE(...)


*TAPE(...)



|

VOLUME = *ANY (...)



|


*ANY (...)



|



|

...

,

A comma precedes further operands at the same structure level.

GUIDANCE-MODE = *NO / *YES

,SDF-COMMANDS = *NO / *YES

list-poss(n):

The entry “list-poss” signifies that a list of operand values can be given at this point. If (n) is present, it means that the list must not have more than n elements.
A list of more than one element must be enclosed in parentheses.

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 guaranteed alias (abbreviation) for the command or statement name.

HELP-SDF                  Alias: HPSDF

Table 2: Metasyntax

Data types 

Data type        

Character set        

Special rules

alphanum-name

A..Z
0..9
$, #, @


cat-id

A..Z
0..9

Not more than 4 characters; must not begin with the string PUB

command-rest

freely selectable


composed-name

A..Z
0..9
$, #, @
$, #, @
hyphen
period

Alphanumeric string that can be split into multiple substrings by means of a period or hyphen.
If a file name can also be specified, the string may begin with a catalog ID in the form :cat: (see data type filename).

c-string

EBCDIC character

Must be enclosed within single quotes; the letter C may be prefixed; any single quotes occurring within the string must be entered twice.

date

0...9
Structure identifier:
hyphen

Input format: yyyy-mm-dd

yyyy:
mm:
dd:

year; optionally 2 or 4 digits
month
day

device

A...Z
0...9
hyphen

Character string, max. 8 characters in length, corresponding to a device type available in the system. In guided dialog, SDF displays the valid operand values. For notes on possible device types, see the relevant operand description.

fixed

+, -
0..9
period

Input format: [sign][digits].[digits]

[sign]:
[digits]:

+ or -
0..9

must contain at least one digit, but may contain up to 10 characters (0..9, period) apart from the sign.

filename

A...Z
0..9
$, #, @
hyphen
period

Input format:

[:cat:][$user.]{ file/

file(nr) /

group /

group{ (*abs) / (+rel) / (-rel) } }

:cat:

optional entry of the catalog identifier;
character set limited to A..Z and 0..9;
maximum of 4 characters; must be enclosed in colons;
default value is the catalog identifier assigned to the user ID, as specified in the user catalog.

$user.

optional entry of the user ID;
character set is A..Z, 0..9, $, #, @;
maximum of 8 characters; first character cannot be a digit; $ and period are mandatory; default value is the user's own ID.

$.  (special case)

system default ID

file

file or job variable name;
may be split into a number of partial names using a period as a delimiter: name1[.name2[...]]
namei does not contain a period and must not begin or end with a hyphen;
file can have a maximum length of 41 characters; it must not begin with a $ and must include at least one character from the range A..Z.

#file      (special case)
@file    (special case)

# or @ used as the first character indicates temporary files or job variables, depending on system parameter TEMPFILE.

file(no)

tape file name
no: version number;
character set is A...Z, 0...9, $, #, @.
Parentheses must be specified.

group

name of a file generation group
(character set: as for “file”)

group { (*abs) / (+rel) / (-rel) }

(*abs)

absolute generation number (1-9999);
* and parentheses must be specified.

(+rel)
(-rel)

relative generation number (0-99);
sign and parentheses must be specified.

integer

0..9, +, -

+ or -, if specified, must be the first character.

name

A..Z
0..9
$, #, @

Must not begin with 0..9.

partial-filename

A..Z
0..9
$, #, @
$, #, @
hyphen

Input format: [:cat:][$user.][partname.]

:cat:
$user.

see filename
see filename

partname

optional entry of the initial part of a name common to a number of files or file generation groups in the form:
name1.[name2.[...]]
namei see filename.
The final character of “partname” must be a period.
At least one of the parts :cat:, $user. or partname must be specified.

posix-filename

A..Z
0..9
special characters

String with a length of up to 255 characters;
consists of either one or two periods or of alphanumeric characters and special characters. The special characters must be escaped with a preceding \ (backslash); the / is not allowed.
Must be enclosed within single quotes if alternative data types are permitted, separators are used, or the first character is a ?, ! or ^.
A distinction is made between uppercase and lowercase.

posix-pathname

A...Z
0...9
special characters
structure identifier:
slash

Input format: [/]part1/.../partn
where parti is a posix-filename;
max. 1023 characters;
must be enclosed within single quotes if alternative data types are permitted, separators are used, or the first character is a ?, ! or ^.

product-version

A..Z
0..9
period
single quote

Input format:  [[C]'][V][m]m.naso[']

where m, n, s and o are all digits and a is a letter.
a = release status
o = correction status

Whether the release and/or correction status may/must be specified depends on the suffixes to the data type (see suffixes without-corr, without-man, mandatory-man and mandatory-corr in table "Suffixes for data types").
product-version may be enclosed within single quotes (possibly with a preceding C).
The specification of the version may begin with the letter V.

structured-name

A..Z
0..9
$, #, @
hyphen

Alphanumeric string which may comprise a number of substrings separated by a hyphen.
First character: A..Z or $, #, @

text

freely selectable

For the input format, see the relevant operand descriptions.

time

0..9
structure identifier:
colon

Time-of-day entry:

Input format: 

{ hh:mm:ss / hh:mm / hh }

hh: hours
mm: minutes
ss: seconds

Leading zeros may be omitted.

vsn

a)

A..Z
0..9

a)

Input format:  pvsid.sequence-no
6 characters;

pvsid:

sequence-no:

2-4 characters; PUB must not be entered

1-3 characters

b)

A..Z
0..9
$,#,@

b)

Max. 6 characters;
PUB may be prefixed, but must not be followed by $, #, @.

x-string

Hexadecimal:
00...FF

Must be enclosed in single quotes;
must be prefixed by the letter X.
There may be an odd number of characters.

x-text

Hexadecimal:
00...FF

Must not be enclosed in single quotes; the letter X must not be prefixed. There may be an odd number of characters.

Table 3: Data types

Suffixes for data types 

Suffix                  

Meaning

x..y unit

With data type “integer”: interval specification

x      

Minimum value permitted for “integer”. x is an (optionally signed) integer.

y

Maximum value permitted for “integer”. y is an (optionally signed) integer.

unit

Additional units. The following units may be specified:

days, hours, minutes, seconds, and milliseconds

byte, 2Kbyte , 4Kbyte , and Mbyte

x..y special

With the other data types: length specification

For data types date, device, product-version and time the length specification is not displayed.

x

Minimum length for the operand value; x is an integer.

y

Maximum length for the operand value; y is an integer.

x=y

The length of the operand value must be precisely x.

special

Specification of a suffix for describing a special data type that is checked by the implementation. special can be preceded by other suffixes. The following units may be specified:

arithm-expr   arithmetic expression (SDF-P)

bool-expr      logical expression (SDF-P)

string-expr    string expression (SDF-P)

expr               freely selectable expression (SDF-P)

cond-expr     conditional expression (JV)

symbol          CSECT- or entry name (BLS)

with

Extends the specification options for a data type.

-compl

When specifying the data type “date”, SDF expands two-digit year specifications in the form yy-mm-dd to:

20jj-mm-dd if yy<60
19jj-mm-dd if yy>=60

-low

Uppercase and lowercase letters are differentiated.

-path-compl

For specifications for the data type “filename”, SDF adds the catalog and/or user ID if these have not been specified.

-under

Permits underscores (_) for the data type “name”. 

-wild(n)

Parts of names may be replaced by the following wildcards.
n denotes the maximum input length when using wildcards. Due to the introduction of the data types posix-filename and posix-pathname, SDF now accepts wildcards from the UNIX world (referred to below as POSIX wildcards) in addition to the usual BS2000 wildcards. However, as not all commands support POSIX wildcards, their use for data types other than posix-filename and posix-pathname can lead to semantic errors.
Only POSIX wildcards or only BS2000 wildcards should be used within a search pattern. Only POSIX wildcards are allowed for the data types posix-filename and posix-pathname. If a pattern can be matched more than once in a string, the first match is used.

BS2000 wildcards

Meaning

*

Replaces an arbitrary (even empty) character string. An * appearing at the first position must be duplicated if it is followed by other characters and if the entered string does not include at least one further wildcard.

Terminating period

Partially qualified entry of a name. Corresponds implicitly to the string “./*”, i.e. at least one other character follows the period.

/

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:

      • It is at least as long as sx and no longer than sy

      • In the alphabetic collating sequence it lies in the range from sx to sy

      • sx may be empty (=1 character with the lowest coding)

b) If sx is longer than sy:

      • It is at least as long as sy and no longer than sx

      • In the alphabetic collating sequence it lies in the range from sx to a string which begins with sy and is filled with characters of the highest possible coding to the length of sx

      • sy may be empty (=1 character with the highest coding) 

<s1,...>

Replaces all strings that match any of the character combinations specified by s. s may also be an empty string. Any such string may also be a range specification “sx:sy” (see <sx:sy>).

-s

Replaces all strings that do not match the specified string s. The minus sign may only appear at the beginning of string s. Within the data types filename or partial-filename the negated string -s can be used exactly once, i.e. -s can replace one of the three name components: cat, user or file.

Wildcards are not permitted in generation and version specifications for file names. Only system administration may use wildcards in user IDs. Wildcards cannot be used to replace the delimiters in name components cat (colon) and user ($ and period).

POSIX wildcards

Meaning

*

Replaces an arbitrary (even empty) character string. An * appearing at the first position must be duplicated if it is followed by other characters and if the entered string does not include at least one further wildcard.

?

Replaces any single character; not permitted as the first character outside single quotes.

[cx-cy]

Replaces any single character from the range defined by cx and cy, including the limits of the range. cx and cy must be normal characters.

[s]

Replaces exactly one character from string s. The expressions [cx-cy] and [s] can be combined into [s1cx-cysys2]

[!cx-cy]

Replaces exactly one character not in the range defined by cx and cy, including the limits of the range. cx and cy must be normal characters.
The expressions [!cx-cy] and [!s] can be combined into [!s1c1cx-cysys2]

[!s]

Replaces exactly one character not contained in string s. The expressions [!s] and [!cx-cy] can be combined into [!s1cx-cys2]

with-wild-constr(n)

Specification of a constructor (string) that defines how new names are to be constructed from a previously specified selector (i.e. a selection string with wildcards). See also with-wild. n denotes the maximum input length when using wildcards. The constructor may consist of constant strings and patterns. A pattern (character) is replaced by the string that was selected by the corresponding pattern in the selector. The following wildcards may be used in constructors:

wildcard

Meaning

*

Corresponds to the string selected by the wildcard * in the selector.

Terminating period

Corresponds to the partially-qualified specification of a name in the selector;
corresponds to the string selected by the terminating period in the selector. 

/ or ?

Corresponds to the character selected by the / or ? wildcard in the selector.

<n>

Corresponds to the string selected by the n-th wildcard in the selector, where n is an integer.

Allocation of wildcards to corresponding wildcards in the selector:
All wildcards in the selector are numbered from left to right in ascending order (global index).
Identical wildcards in the selector are additionally numbered from left to right in ascending order (wildcard-specific index).
Wildcards can be specified in the constructor by one of two mutually exclusive methods:

    1. Wildcards can be specified via the global index: <n>

    2. The same wildcard may be specified as in the selector; substitution occurs on the basis of the wildcard-specific index. For example: the second “/” corresponds to the string selected by the second “/” in the selector

The following rules must be observed when specifying a constructor:

    • The constructor can only contain wildcards of the selector.

    • If the string selected by the wildcard <...> or [...] is to be used in the constructor, the index notation must be selected.

    • The index notation must be selected if the string identified by a wildcard in the selector is to be used more than once in the constructor.
      For example: if the selector “A/” is specified, the constructor “A<n><n>” must be specified instead of “A//”.

    • The wildcard * can also be an empty string. Note that if multiple asterisks appear in sequence (even with further wildcards), only the last asterisk can be a nonempty string, e.g. for “****” or “*//*”.

    • Valid names must be produced by the constructor. This must be taken into account when specifying both the constructor and the selector.

    • Depending on the constructor, identical names may be constructed from different names selected by the selector. For example: “A/*” selects the names “A1” and “A2”; the constructor “B*” generates the same new name “B” in both cases.
      To prevent this from occurring, all wildcards of the selector should be used at least once in the constructor.

    • If the constructor ends with a period, the selector must also end with a period. The string selected by the period at the end of the selector cannot be specified by the global index in the constructor specification.

Examples:

Selector

Selection

Constructor

New name

A//*

AB1
AB2
A.B.C

D<3><2>

D1
D2
D.CB

C.<A:C>/<D,F>

C.AAD
C.ABD
C.BAF
C.BBF

G.<1>.<3>.XY<2>

G.A.D.XYA
G.A.D.XYB
G.B.F.XYA
G.B.F.XYB 

C.<A:C>/<D,F>

C.AAD
C.ABD
C.BAF
C.BBF

G.<1>.<2>.XY<2>

G.A.A.XYA
G.A.B.XYB
G.B.A.XYA
G.B.B.XYB

A//B

ACDB
ACEB
AC.B
A.CB

G/XY/

GCXYD
GCXYE
GCXY.1
G.XYC

1)  The period at the end of the name may violate naming conventions (e.g. for fully-qualified file names).

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[']
Specifications for the data type product-version must not include the correction status.

-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.na[']
Specifications for the data type product-version must not include either release or correction status.

-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 permitted: ; = ( ) < > 'BLANK' (i.e. semicolon, equals sign, left and right parentheses, greater than, less than, and blank).

-spec

The file type name does not permit any special characters.

-tempfile

Specification of a temporary file is not permitted (see #file or @file under filename).

-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 (character).

mandatory

Certain specifications are necessary for a data type.

-corr

Input format:   [[C]'][V][m]m.naso[']
Specifications for the data type product-version must include the correction status and therefore also the release status.

-man

Input format:   [[C]'][V][m]m.na[so][']
Specifications for the data type product-version must include the release status. Specification of the correction status is optional if this is not prohibited by the use of the suffix without-corr.

-quotes

Specifications for the data types posix-filename and posix-pathname must be enclosed in single quotes.

case-sensitive

When specifications are made for the data types command-rest and text, a distinction is made between uppercase and lowercase. This also applies for specifications which are not enclosed in single quotes.

Table 4: Data type suffixes