The syntax of the BCAM command language is explained in the following three tables. Although BCAM commands are not primarily SDF commands, their presentation is similar to the SDF format.
Table 1: Metasyntax
Certain characters and representation formats are used in the command/statement formats. These are explained in Table 1.
Table 2: Data types
Variable operand values are represented in BCAM by data types. Each data type represents a particular set of values. The number of data types available is limited to those described in Table 2.
The description of data types applies to all commands and statements. For this reason, only deviations from Table 2 are explained in the corresponding operand descriptions.
Table 3: Data type suffixes
Data type suffixes identify additional input rules for data types. The suffixes extend or restrict the possible range of values. In the manual, the following suffixes are represented in abbreviated form:
lower-case | generation |
The description of the data type suffixes applies to all commands and statements. For this reason, only deviations from Table 3 are explained in the corresponding operand descriptions.
Table 1: 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 | 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 "Data types" and "Data type suffixes" ). | 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. |
| |||||||||||||||||||||||||||||||||||||||||
| 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. |
| |||||||||||||||||||||||||||||||||||||||||
, | 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 | |||||||||||||||||||||||||||||||||||||||||
*none | Underlined lowercase characters indicate operand values that can only be specified by omitting the operand or operand value. | DIAG = *none / STOP | |||||||||||||||||||||||||||||||||||||||||
*ALL | *all indicates operand values that can only be specified by omitting the operand value. | A-IP = *all / <x-string 1 .. 8> |
Metasyntax
Table 2: Data types
Data type | Character set | Special rules | ||||||||||||
name | A...Z | Must not begin with 0...9. | ||||||||||||
group-name | A...Z | |||||||||||||
application-name | A...Z | $ as the first character in application-name is only permitted for systems applications | ||||||||||||
sokhost-name | A...Z | Alphanumeric string which can be subdivided into multiple substrings separated by a period or hyphen | ||||||||||||
nea-name | Alphanumeric characters | Consists of the first eight characters of the application name and the first eight characters of the host name, both left-aligned and filled with spaces. If only the application name part is specified then BCAM forms the HOST name part on the basis of the command. | ||||||||||||
osi-name | Alphanumeric characters; | |||||||||||||
socket-name | Alphanumeric characters; Length: maximum 78 characters | |||||||||||||
alphanum-name | A...Z | |||||||||||||
cat-id | A...Z | Not more than 4 characters; | ||||||||||||
command-rest | freely selectable | |||||||||||||
composed-name | A...Z | Alphanumeric string that can be split into multiple substrings by means of a period or hyphen. | ||||||||||||
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, 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 | +, - | Input format: [sign][digits].[digits]
must contain at least one digit, but may contain up to 10 characters (0...9, period) apart from the sign. | ||||||||||||
filename | A...Z | Input format: [:cat:][$user.] { file | file(no) | group group { (*abs) | (+rel) | (-rel) } } :cat: optional entry of the catalog identifier; $user. optional entry of the user ID; $. (special case) file file or job variable name; | ||||||||||||
filename (continued) | #file (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; group name of a file generation group (character set: as for “file”) 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. | ||||||||||||
partial-filename | A...Z | Input format: [:cat:][$user.][partname.]
partname optional entry of the initial part of a name common to a number of files or file generation groups in the form: | ||||||||||||
posix-filename | A...Z | String with a length of up to 255 characters; | ||||||||||||
posix-pathname | A...Z | Input format: [/]part1/.../partn where parti is a posix-filename; | ||||||||||||
product-version | A...Z |
where m, n, s and o are all digits and a is a letter. | ||||||||||||
structured-name | A...Z | Alphanumeric string which may comprise a number of substrings separated by a hyphen. | ||||||||||||
text | freely selectable | For the input format, see the relevant operand descriptions. | ||||||||||||
time | 0...9 | Time-of-day entry: Input format:
Leading zeros may be omitted. | ||||||||||||
vsn |
|
| ||||||||||||
|
| |||||||||||||
x-string | Hexadecimal: | Must be enclosed in single quotes; must be prefixed by the letter X. There may be an odd number of characters. | ||||||||||||
x-text | Hexadecimal: | Must not be enclosed in single quotes; the letter X must not be prefixed. |
Data types
Table 3: Suffixes for data types
Suffix | Meaning | |||||||||||||||||||||
x..y unit | With data type “integer”: interval specification
unit with “integer” only: additional units.
| |||||||||||||||||||||
x..y special | With the other data types: length specification
| |||||||||||||||||||||
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:
| |||||||||||||||||||||
-low | Uppercase and lowercase letters are differentiated. | |||||||||||||||||||||
-pathcompl | 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”. | |||||||||||||||||||||
with (contd.) -wild(n) | Parts of names may be replaced by the following wildcards. | |||||||||||||||||||||
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. | |||||||||||||||||||||
/ | Replaces any single character. | |||||||||||||||||||||
<s x :s y > | Replaces a string that meets the following conditions:
| |||||||||||||||||||||
<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). | |||||||||||||||||||||
with-wild(n) | ||||||||||||||||||||||
-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 c x and c y , including the limits of the range. cx and cy must be normal characters. | |||||||||||||||||||||
[s] | Replaces exactly one character from string s. | |||||||||||||||||||||
[!cx -cy ] | Replaces exactly one character not in the range defined by c x and c y, including the limits of the range. cx and cy must be normal characters. | |||||||||||||||||||||
[!s] | Replaces exactly one character not contained in string s. The expressions [!s] and [!cx-cy] can be combined into [!s1cx-cys2]. | |||||||||||||||||||||
with (contd.) wild-constr(n) |
| |||||||||||||||||||||
Wildcard | Meaning | |||||||||||||||||||||
* | Corresponds to the string selected by the wildcard * in the selector. | |||||||||||||||||||||
Terminating | Corresponds to the partially-qualified specification of a name 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:
| ||||||||||||||||||||||
with-wild-constr | The following rules must be observed when specifying a constructor:
| |||||||||||||||||||||
with-wild-constr (continued) | Examples:
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[' ] | |||||||||||||||||||||
-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 permitted: ; = ( ) < > | |||||||||||||||||||||
-temp-file | Specification of a temporary file is not permitted (see #file or @file under filename). | |||||||||||||||||||||
without (contd.) | ||||||||||||||||||||||
-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[' ] | |||||||||||||||||||||
-man | Input format: [[C]' ][V][m]m.na[so][' ] | |||||||||||||||||||||
-quotes | Specifications for the data types posix-filename and posix-pathname must be enclosed in single quotes. |
Data type suffixes
BCAM commands in alphabetical order
The BCAM commands are represented in alphabetical order. At the beginning of every command description, there is a table which lists the possible command sources for this command. At the end of each command description, there is a table with the messages and acknowledgments for this command.
You use the DCSTART, DCOPT, BCMOD and BCOPTION commands to customize your BCAM settings. The section "Operand settings" provides an overview of the period of validity, function and default values of these BCAM settings.