Previous Topic: Interpretation Control (Format 8)Next Topic: GROUP Clause


Verb Descriptions (OPERAND Clause)

The verbs you can specify in an OPERAND clause are:

OPERAND

Starts an OPERAND clause.

value-clause

Specifies the expanded value of a token. Basically there are two types:

constants
Specify the full name of the constant. For example PARM, STOP, and ATTN, as shown in the IPL command. See the format 1 OPERAND clause for an example.

variables
Specify the same name IBM uses in the command syntax. For example, the IBM syntax for the IPL command uses systemname, vcuu, cylno, and nnnnnn to show that you can IPL a named system, a virtual device, a specific cylinder address, or a virtual block address, respectively. See the format 2 operands for an example.

minimum-length

Specify the CP-defined minimum acceptable length (abbreviation) of the operand. Only constant values use this minimum length. See the format 1 operands for an example.

maximum-length

Specify the maximum length of the operand. Only variable values (OPERAND clauses that specify a TRANS routine) use the maximum length. See the format 2 OPERAND clause for an example.

OCCURS=nnn

Specify the number of times this operand can repeat. For example, in the PARM p1(p2,...,p32) option of the IPL command, the parameters (p2,...,p32) can occur thirty-two times. The default is OCCURS=1 and the maximum is OCCURS=119. See the format 6 OPERAND clause for an example.

MATCH=CONT|EXIT

Informs the command interpreter what action to take when the operand matches the criteria described by this OPERAND clause.

CONT

Specifies to continue going through this command format when this operand matches this OPERAND clause.

EXIT

Stops the interpreter from looking at this OPERAND clause and returns the interpreter to the next higher level of the model. Checks other specified OPERAND clauses.The GROUP and FORMAT clauses globally set the default settings for these options. See the format 8 OPERAND clause for an example.

NOMATCH=(CONT|EXIT|EXITERR|NEXTFMT)

Informs the command interpreter what action to take when the operand does not match the criteria described for this OPERAND clause. If a default value is assigned for this operand, it is used. The command model compiler and interpreter globally set the defaults for these options. See the format 8 OPERAND clause for an example.

CONT

Specifies to continue going through this command format. If you assigned a default value for this operand, CA ACF2 for z/ VM uses it.

EXIT

Stops the interpreter from looking at this OPERAND clause and returns the interpreter to the next higher level of the model. Checks other specified OPERAND clauses.

EXITERR

Specifies the interpreter is to exit from the model and indicates a syntax error occurred. Either CP or CA ACF2 for z/ VM sends a syntax error message to the user. CP issues the error message if you specified SYNERR=LOG or SYNERR=PREVENT in the COMMAND clause for this model or specified globally in the CMDLIM VMO record. By default, CA ACF2 for z/ VM issues the syntax error message because SYNERR=PREVENT is the global system default and the default for the COMMAND clause.

NEXTFMT

Specifies the interpreter is to exit from this particular command format and use the next format, if one is available. This is useful for commands that have similar formats to one command, such as CHANGE.

OPTIONAL

OPTIONAL means that you do not need to enter this operand in the command. The interpreter continues with the next OPERAND.

TRAN=routine

Names a transposition routine that validates the value specified for this operand. In some cases, the routine also transposes the value entered for the operand into a common value used during CA ACF2 for z/ VM rule checking. For additional information about these transposition routines, see the appendix “Transposition Routines for Command Limiting.” See the format 2 OPERAND clause for an example.

TYPE=operand-type

Identifies an operand type. Most of these operand types are similar to the operand names used in commands. You can describe operand types you can use in your locally-written CP commands. Valid operand types are:

APREVADR

This operand affects the previous storage address. For example the 0102 (hexdata) in STCP S20000 0102 means the range is 20000-20001. Refer to the format 6 OPERAND clause for an example.

DEFAULT

This operand is a default for this token slot. CA ACF2 for z/ VM uses it i you did not choose an overriding operand (for example, the TO in SPOOL PRT TO userid). Refer to the format 4 OPERAND clause for an example.

NONEXCL

This is a nonexclusive operand if not proceeded by the previous operand (for example, the namen in CHANGE spoolid CHARS namen). Refer to the format 6 OPERAND clause for an example.

NXTOPDEF

This operand is the next operand default if another operand is present (for example, the CHARS in CHANGE spoolid CHARS namen). Refer to the format 6 OPERAND clause for an example.

RANGE

This operand contains a range of values (for example, DET 190-192 and DCP M20000:20200, 20000.200). Refer to the format 6 OPERAND clause for an example.

SINGULAR

Operand contains one value (for example, 0190 in DET 0190). Refer to the format 6 OPERAND clause for an example.

STORADDR

This operand is a storage address whose range can be affected by a following operand (for example, the 0A0B0C0D in STCP 20000 0A0B0C0D affects the storage range, which is really 20000-20003). Refer to the format 6 OPERAND clause for an example.

SPOOLOPT=spool-opt

Describes operands that are related to spool files. For examples, see the format 4 OPERAND clause.

Valid spool-opts are:

ALL

Specifies any unit record device.

CON

Lets you enter CONSOLE, CON, or a console device address for this operand.

DEVNONLY

Requires you to refer to unit record devices by name (for example, PUNCH, PUN, PU, PUNC, or PUN for PUNCH). Refer to the supplied TRANSFER model. Omit both DEVNONLY and RADRONLY to specify unit record devices using a device name or a device address.

PRT

Specifies a valid abbreviation for a PRINTER (PRT or PTR) or a printer device address for this operand. Refer to the supplied BACKSPAC model.

PUN

Specifies a valid abbreviation for a PUNCH (PUN or PCH) or a punch device address for this operand. Refer to the supplied BACKSPAC model.

RADRONLY

Requires you to refer to unit record devices by address only. Refer to the supplied BACKSPAC or DRAIN models. To specify unit record devices using a device name or a device address, omit both RADRONLY and DEVNONLY.

RDR

Specifies a valid abbreviation for a READER (RDR) or a reader device address for this operand. Refer to the supplied SPOOL model.

SELECT

Describes operands that select spool files on the spool queue. It invokes special processing that protects the object of the SPOOL command, including checking the SFBLOKS in CP to obtain all information about a spool file. For example, if you include the rule entry RDR CLASS A - UID(*) PREVENT in your CHANGE rule and a user enters CHANGE RDR FORM STD TO FORM MINE, the SELECT parameter examines all your spool files (FORM STD) and signals an error if any of the spool files have a class of A.

In the supplied models, the CHANGE, QUERY (for spool files), START, SPTAPE, and TRANSFER commands use the SELECT verb because they let you use an alternate operand to manipulate a spool file.

In the previous example of the CHANGE command, the FORM STD is a selection criterion. Therefore, you would code the FORMNAME operand with the SELECT verb. The FORM MINE does not need the SELECT operand because it is not used to choose a spool file. For these operands, your model would resemble:

    FORMAT CLASS=G
        OPERAND VUR,7,TRAN=VUR,SPOOLOPT=(PRT,PUN,RDR,DEVNONLY,SELECT
        OPERAND LIST=((GROUP=CLASSFR),                        -
                      (SPOOLID,4,TRAN=SPOOL,SPOOLOPT=SELECT), -
                      (GROUP=FORMFR),                         -
                      (GROUP=DESTFR),                         -
                      (ALL,3,TRAN=ALLSPFIL,SPOOLOPT=SELECT))
        OPERAND GROUP=TOWHAT
        OPERAND GROUP=NAME
    FORMAT END
 
FORMFR   GROUP TYPE=KEYWORD
            OPERAND FORM,4
            OPERAND FORMNAME,8,TRAN=FORM,SPOOLOPT=SELECT
         GROUP END
 
TOWHAT   GROUP TYPE=OPTIONAL,REPEATS
            OPERAND GROUP=CLASS
            OPERAND GROUP=FORM
            .
            .
            .
         GROUP END
 
FORM     GROUP TYPE=KEYWORD
            OPERAND FORM,4
            OPERAND FORMNAME,8,TRAN=FORM
         GROUP END

You only need to code the SELECT verb in commands where a user could perform a set of actions to bypass security. For example, a privileged user could TRANSFER reader files to himself, PEEK them, then TRANSFER them back. The supplied models and recommended methods of protecting the spool file insulate you from this. On the other hand, the ORDER command does not need the SELECT verb because this command cannot gain access to spool files.

VALUEFOR=label

This value is the default for the operand identified by the label. For examples, see the format 5 OPERAND clause in Device Address Default (Format 5) in this chapter. For more information about VALUEFOR, see Rules for Defaults from Other Operands (VALUEFOR) in the chapter “Rule Writing Guidelines.”