Data objects and classes

When developing an application that uses VLF, you must use the VLF naming convention when naming VLF data objects. Data objects managed by VLF are structured by your installation into groups called classes. Each class can represent data managed by a different application. The IBM® products that use VLF have specific class names defined in the COFVLFxx member of SYS1.SAMPLIB. Installation-written applications cannot use these names for their own classes of data.

Thus, a class is a group of related objects made available to users through an application. Note that a named object may belong to one class only. This restriction means that an object may be retrieved using VLF only by the application that manages the class the object belongs to.

VLF provides two different implementations of its services that are dependent on what class the object belongs to. A class that consists of objects that correspond to members of partitioned data sets is called a PDS class. Objects belonging to a PDS class are updated by VLF whenever the data object is changed on DASD. A class that consists of objects that do not correspond to members of partitioned data sets is called a non-PDS class. Objects belonging to a non-PDS class are not updated by VLF whenever the data object is changed on DASD. When designing your application, you may even choose a non-PDS implementation of VLF with data objects that belong to a partitioned data set.

VLF determines whether it is dealing with a PDS or non-PDS class from the class definition in the COFVLFxx parmlib member specified when VLF is started. In both the PDS and non-PDS class, VLF uses two levels of names to identify an object:
  1. Major name — specifies a subgroup of objects within a class. The major name for a PDS class is created by combining the volume serial number and data set name.

    Within a class, each major name must be unique; the same major name, however, can exist under more than one class name.

  2. Minor name — specifies a specific object within a major name. The minor name of a VLF data object belonging to a PDS class is the PDS member name of the source data. Within a major name, each minor name must be unique; the same minor name, however, can exist under more than one major name.

    Thus, for a given class with several major names, multiple objects might have the same minor name.

This naming structure parallels the existing structure used to access members of partitioned data sets. The major name corresponds to a combination of the volume serial number and the name of the partitioned data set; that is, it uniquely identifies a group of objects. The minor name corresponds to a PDS member name; it uniquely identifies a specific data object by name.

Locating a specific minor name within a VLF class is thus very much like the process of locating a specific member name within a set of concatenated partitioned data sets. VLF allows a unique major name search order for each end user. The order determines which major names are searched first for that user.

For a PDS class, VLF determines a user's search order by DDNAME specification and automatically removes the user's identification if the allocation changes in any way. In addition, VLF automatically purges objects from the class if they are updated in the corresponding partitioned data set on DASD. Note that automatic purging applies only to the local system, which can be a tightly-coupled system. See Cross-system sharing for information about sharing access to partitioned data sets across systems.