A Homogeneous View of Objects

Zim applications consist of collections of objects, each of which has a specific purpose and set of capabilities. These objects are described in the Object Dictionary and are typically created using DC. These various types of objects are

EntitySets

Menus

Relationships

Windows

Roles

Sets

Documents

Variables

Forms

Constants

Displays

Directories

The Object Dictionary is arranged such that all objects of the same type are grouped together. This is very convenient for working with objects of the same type, but dealing with objects in general is not so easy. A simple example illustrates this point. To see the descriptions of all EntitySets with names starting with " Inv", enter the following command:

list all Ents where EntName like " Inv%"

To see descriptions of all objects with names starting with " Inv", enter the following series of steps, one for each type of object:

list all Ents where EntName like " Inv%"
 
list all Rels where RelName like " Inv%"
 
list all Roles where RoleName like " Inv%"

and so on.

ZOM, on the other hand, treats all objects the same, regardless of type, and enables you to operate on them together. This homogenous view of objects enables, for example, all objects with names starting with " Inv" to be retrieved in a single step:

ZOMList Inv*

ZOMList, which lists information about objects, is just one of the ZOM services. As you can see from this example, treating application objects homogeneously can lead to significant time savings and very powerful operations. ZOM provides extensive capabilities for selecting and manipulating objects that operate over the entire universe of application objects.

Note: ZOM does not deal with FormField and Field objects as independent objects, but instead works with the parent objects (e.g., Forms, EntitySets, Relationship, etc.).