FACPOP

FACPOP


July 1991

The Facility Populate utility (FACPOP) is used to populate one CMS class from another CMS class. The advantage of this utility is that if the class to be populated already contains some elements, then these elements will be skipped since no real work needs to be performed for them.

Software Version: FACPOP Version X0.1


FACPOP

Activates the FACPOP utility. The FACPOP utility is run from DCL. Selectively populates CMS classes.

Format

FACPOP library-spec base-class target-class

Command Qualifiers Defaults
/[NO]CREATE /NOCREATE
/[NO]LOG /LOG=library
/PROCESS /PROCESS=flagfree
/[NO]REMOVE /NOREMOVE

prompts

LIB_SPEC: library-spec
BASE_CLASS: base-class
TARGET_CLASS: target-class

Description

The FACPOP utility is used to create (if necessary) and populate a CMS class from an existing CMS class. This utility has some built in checks that must be met in order to minimize the possibility for error. The actual task of populating the CMS class is performed in three steps.

The first step is to verify that both class names specified are present in the CMS library. If the 'TARGET' class is not present, the utility will optionally create this class for the user. If the user did not specify that the class should be created, then the utility will display an error message and discontinue processing on the library that does not contain the 'TARGET' class.

The second step is to build a list of all elements contained in the 'BASE' class, and a list of all elements contained in the 'TARGET' class. Using these lists, the utility then puts the new/updated generations found in the BASE list into the TARGET list.

The third and final step is to remove all element generations that were found in the TARGET list, but were not present in the BASE list. The step is optional, and by default is turned off (see the /REMOVE qualifier).


Parameters

library-spec

Specifies the CMS library that is to be acted on. This specification can contain wildcards, but it must be a valid CMS library directory specification (i.e. VMS$:[YELLOW_TEST.CMS]). An example of a wildcarded specification would be: VMS$:[Y*.CMS]. This specification would process all libraries that start with the letter "Y".

base-class

Specifies the CMS class name that will be used to populate the target class.

target-class

Specifies the CMS class name that will be populated.

Command Qualifiers

/[NO]CREATE

Indicates that the utility should create the target class if it is not already present in the library. The target class will only be created if the library contains the base class, and the library is one that is supposed to be processed. The default is not to create the target class and to display an error message indicating that the target class was not found in the library.

/LOG=(log-type[,log-type,...])

Specifies what type of logging the user wants. The default is that the user will only see messages from the utility pertaining to the libraries being processed or skipped. The list of acceptable log types is:

/PROCESS=(attribute[,attribute,...])

The PROCESS qualifier is used to identify what libraries are to be processed. Some libraries have special attributes associated with them, VMSCMS$NO_PROPAGATE.FLAG is an example of an attribute. This attribute indicates that this library is not to have any code propagation performed within it. The process qualifier is used to selectively process or skip libraries marked with certain attributes. The list of acceptable attributes is:

/[NO]REMOVE

Indicates that the utility should remove generations found in the target class that are not in the base class. The default is that these generations will not be removed from the target class.

Contents