Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Syntax description

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
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 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
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 3
and 4).

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

Table 2: Metasyntax (part 1 of 2)

Convention

Meaning

Examples

Indentation

Indentation indicates that the
operand is dependent on a
higherranking 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 (part 2 of 2)

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:

year; optionally 2 or 4 digits

mm:

month

dd:

day

device

A...Z
0...9
hyphen

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

fixed

+, -
0...9
period

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

[sign]:

+ or -

[digits]:

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.

filename

(contd.)


#file
@file

(special case)
(special case)

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

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:    see filename
$user. 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;
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[' ]

a: release status
so: correction status

where m, n, s and o are all digits and a is a letter.
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 mandatorycorr
in table 4).
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
$, #, @
$, #, @

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

  1.  A...Z
    0...9

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

  1.  Input format: pvsid.sequence-no
    max. 6 characters

    pvsid:

    2-4 characters; PUB must
    not be entered

    sequence-no:  1-3 characters

  2.  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.

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

with “integer” only: additional units. The following units may be
specified:

days
hours
minutes
seconds

byte
2Kbyte
4Kbyte
Mbyte

milliseconds

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
bool-expr
string-expr
expr
cond-expr
symbol

arithmetic expression (SDF-P)
logical expression (SDF-P)
string expression (SDF-P)
freely selectable expression (SDF-P)
conditional expression (JV)
CSECT or entry name (BLS)

with

-compl






-low

-pathcompl

Extends the specification options for a data type.

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


20jj-mm-dd
19jj-mm-dd

if yy< 60
if yy>= 60


Uppercase and lowercase letters are differentiated.

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

Suffix

Meaning

with (contd.)

-under

-wild(n)

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

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
posixfilename 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)

with-wild(n)

(contd.)

<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
"Syntax description").

-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-cys<sub>y</sub>s2]

[!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
[!s1c<sub>1</sub>cx-cys<sub>y</sub>s2]

[!s]

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

-wildconstr(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

Suffix

Meaning

with-wildconstr(n)

(contd.)

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 non-empty 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.

with-wild-

constr(n)

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

1The 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.n[’]
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.

without

(contd.)

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

c
casesensitive

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.