Previous Topic: ACF SubcommandsNext Topic: DECOMPILE Subcommand


COMPILE Subcommand

The COMPILE subcommand creates a set of command limiting rules. CA ACF2 for z/ VM provides two ways of compiling command limiting rule sets: directly at the terminal or using text in a CMS file as input to the compiler.

Compiling Directly at the Terminal

You can enter a command limiting rule set from the terminal as follows:

A full example of this follows:

acf
ACF
set cmdlim
CMDLIM
compile
ACFpgm510I ACF compiler entered
$key(spool)
 con purge uid(****opr) log

 print copy ‑ allow

 print rscs allow

ACFpgm551I Total record length='length' byte ‑ 'percent' percent utilized
CMDLIM
store
ACFpgm769I Rule 'ruleid' stored

You should test a rule before actually storing it to determine if it performs as you intended. For examples of how to test rules, see the section Test Subcommand.

Compiling from a CMS File

You can also enter the control statements and rule entries into a CMS file to create a command limiting rule set. The file must have a file type of RULE. Each control statement or rule entry must be on a separate line. The last line does not have to be a blank line.

xedit spool rule a
    (goes to edit screen)
$key(spool)
 con purge uid(****opr) log
 print copy ‑ allow
 print rscs allow
 file (to save the file)

After you enter the control statements and rule entries into the file, you can invoke CA ACF2 for z/ VM and compile the command limiting rule set. Save the file. Issue the COMPILE subcommand with the name of the file.

acf
ACF
set cmdlim
CMDLIM
compile spool
ACFpgm510I ACF compiler entered
      ... (display of compiled rule set)
ACFpgm551I Total record length='length' byte ‑ 'percent' percent utilized
ACFpgm768I Rule 'ruleid' replaced

You specify only the file name. The file type is always RULE. The rule set is compiled and, by default, stored.

Syntax of the COMPILE Subcommand

The full syntax of the COMPILE subcommand is shown below.


COmpile   {*        } [ List |NOList ]
          { filename} [ Store|NOStore]
                      [ Force|NOForce]

Under the CMDLIM setting, the COMPILE subcommand takes the parameters listed below.

*

Indicates that the text subsequently entered is input to the compiler. In an online environment, the system prompts you to enter the rule text directly from the terminal. Using the COMPILE subcommand without parameters is equivalent to specifying an asterisk.

filename

Specifies the CMS file that contains the command limiting rule text to be compiled. The file type is always RULE.

List|NOList

The LIST parameter displays the input to the compiler on your screen or printed on your listing during compilation of a rule set. NOLIST does not display or list. LIST is the default when you compile from a CMS file. Otherwise, NOLIST is the default.

STore|NOStore

The STORE parameter automatically stores the rule set at compilation time. NOSTORE does not store the rule set. STORE is the default if you compile the rule set from a CMS file. Otherwise, NOSTORE is the default.

Force|NOForce

The FORCE parameter stores the command limiting rule set regardless of whether it currently exists. NOFORCE stores the command limiting rule set only if it does not already exist. FORCE is the default.

When used as parameters of the COMPILE subcommand, FORCE|NOFORCE applies only to the COMPILE subcommand that you are currently issuing. When used as parameters of the SET subcommand, FORCE|NOFORCE is in effect until you change it or until you end the ACF command. It is not affected by changes in the ACF command setting.