Rules for coding IOCP statements

The rules for coding IOCP statements are the rules of the assembly language. The following paragraphs are a summary of these rules as stated in High Level Assembler for MVS & VM & VSE Language Reference, SC26-4940.

IOCP statements have the following standard format:
  • Name
  • Operation
  • Operand
  • Comments
Name
Symbolically identifies the statement. If included, it must contain 1-8 alphanumeric or special (#, @, or $) characters. The first character must be an alphabetic or special character. Only uppercase characters are allowed. The name must begin in the first column of the statement and must be followed by one or more blanks. IOCP ignores the name field of an IOCP statement.
Operation
Identifies the statement. It must be preceded and followed by one or more blanks. The operation field can start in the second column of the statement if the name field is not used. The operation field can be omitted for a blank line provided the name field is not used and the line is not continued by specifying a non-blank character in column 72.

Blank lines are allowed provided they are not continued by specifying a non-blank character in column 72.

Operand
Contains parameters coded in any order and separated by commas. The operand field ends with one or more blanks placed after the last parameter. However, for the ID statement, IOCP permits a comma to be coded as the last character of the operand field.

Most parameters consist of a keyword followed by an equal sign (=) and the keyword value. The keyword value can be a single value (or subfield) or a list of values (or subfields). If the keyword value consists of more than one subfield, the subfields must be separated by commas and the list of subfields must be enclosed in parentheses.

When a subfield contains multiple values (such as the UNITADD= subfield in the CNTLUNIT statement), these subparameters are positional and must be coded in the order shown. The operand field can contain a maximum of 1024 characters.

Comments
Can be written in an IOCP statement, but they must be separated from the last parameter of the operand field by one or more blanks. You can use an entire card for a comment by placing an asterisk (*) in the first column or a period and asterisk (.*) in columns 1 and 2. A maximum of two continuation cards can be used for comments.
Note: Stand-alone IOCP removes all comments that begin with *ICP and *IYP. Stand-alone IOCP uses *ICP for IOCP messages inserted into the card-image file. By removing all preexisting *ICP comments, stand-alone IOCP ensures that all *ICP comments in the card-image file after IOCP processing are only IOCP messages.

For HCD: HCD might generate comments that begin with *$HCDC$ and *$HCD$. They have special meaning to HCD; see the z/OS Hardware Configuration Definition User's Guide, SC34-2669 or z/VM Dynamic I/O Configuration Planning and Administration, SC24-6044.

IOCP statements are coded in columns 1-71 of each card. You can continue a statement that exceeds 71 columns onto one or more additional cards by placing a nonblank character in column 72 to indicate the continuation. The statement can be interrupted either at column 71 or after any comma that separates parameters. The continued portion must begin in column 16 of the following card.

Continued cards can include comments. You can use columns 73-80 to code identification or sequence characters if you choose. IOCP prints but does not examine columns 73-80.

Note: If you incorrectly continue a statement and only optional parameters are present on the continued portion, IOCP ignores the optional parameters. For all statements except ID, IOCP issues a message following a continuation card that is treated as a comment by IOCP and is ignored. If there are no parameters but a valid comment exists on the continuation card, IOCP still issues the message. Placing the comment on a comment card instead of a statement card removes the message.

For example, if you do not end the last parameter on a card with a comma but end it with a blank and code a nonblank character in column 72, IOCP ignores the information about the continuation card. Also, if you end the last parameter on a card with a comma and code a nonblank character in column 72 but begin the continuation card in column 17 or higher, IOCP ignores the information about the continuation card.

To avoid this situation, you can code the optional parameters on the first card of the statement. Check the I/O configuration reports to ensure that all channel paths, control units, and I/O devices are defined correctly.

Blank lines are allowed provided they are not continued by specifying a non-blank character in column 72.