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(3)&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: HPSD

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.6A.The syntax of the SDF command/statement language is explained in the following three tables.

Table 1: Notational conventions

The meanings of the special characters and the notation used to describe command and statement formats are explained in Table 1.

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

The description of the data types 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 3: 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:

cat-id

completion

correction-state

generation

lower-case

manual-release

odd-possible

path-completion

separators

temporary-file

underscore

user-id

version

wildcard-constr

wildcards

cat

compl

corr

gen

low

man

odd

path-compl

sep

temp-file

under

user

vers

wild-constr

wild

The description of the ‘integer’ data type in Table 3 contains a number of items in italics; the italics are not part of the syntax and are only used to make the table easier to read.

For special data types that are checked by the implementation, Table 3 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.

Metasyntax

Representation

Meaning

Examples

UPPERCASE LETTERS

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 LETTERS 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 Tables 2 and 3).


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 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(...) /<filename1..54>

Alias:

The name that follows represents a guaranteed alias (abbreviation) for the command or statement name.



HELP-SDF Alias: HPSDF


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

catalog ID

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


jjjj:

year; optionally 2 or 4 digits

mm:

month

tt:

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]:

+ oder -

[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:

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

@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”)

(*abs)

absolute generation number (1-9999);

* and parentheses must be specified.

(+rel)

(-rel)

relative generation number (0-99);

sign and parentheses must be specified.

integer0…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

period

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.[...]]
name (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 part is a posix-filename;

i

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:



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

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:

vsn

  1.  A...Z

    0...9

  2.  A...Z

    0...9

    $, #, @

a) Input format: pvsid.sequence-no


max. 6 characters

pvsid:

2-4 characters; PUB must not be entered

sequence-no:1-3 characters

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.

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 catid, date, device, product-version, time and vsn the length specification is not displayed.

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

y

x=y

special 

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

the length of the operand value must be precisely x.

         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 specifications are used:

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






Extends the specification options for a data type.






-compl

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


20jj-mm-tt

19jj-mm-tt

if jj < 60

if jj >= 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 posixpathname, 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. If the string concerned starts with *, then the * must be entered twice in succession if it is followed by other characters and if the character string entered does not contain at least one other 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:

  • It is at least as long as the shortest string (sx or sy)

  • It is not longer than the longest string (sx or sy)

  • It lies between sx and sy in the alphabetic collating sequence; numbers are sorted after letters (A...Z, 0...9)

  • sx can also be an empty string (which is in the first position  in the alphabetic collating sequence)

  • sy can also be an empty string, which in this position stands for the string with the highest possible code (contains only the characters X’FF’ )

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

-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 any single string (including an empty 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  [s1c<sub>1</sub>cx-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 [!s1cx-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 [!s1c<sub>1</sub>cx-cys<sub>y</sub>s2].

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

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.

-gen

Input format: [[C]’][V][m]m.n[’]

-man

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

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