In the past, metrics have been used to create lists, run rules checks, and provide calculations for various System Architect reports. Now it is possible for the user to run individual metrics by invoking the GetMetric method in the Definition class. There exists a directory of all the definition metrics in the DEFINITIONMETRIC enumerated list in the SA Object Browser. The following is a table of all the available definition metrics and their descriptions.
DEFMETBOTTOM
Bottom is a derived True or False Boolean field. The value is true for definitions that are not expressions, and expressions that do not contain any data elements or data structures.
DEFMETCURRENT
True or False Boolean Field. Returns True if the symbol of the definition is on a currently displayed diagram.
DEFMETEXPRESSION
Creates a list of erroneous expression syntax or undefined data elements or data structures used by the expression of the definition.
DEFMETISFOREIGNKEY
Returns True if the definition is a foreign key.
DEFMETKEYCOMPNBR
Returns the component number of the primary key of a definition. A user can alternatively view the component number by expanding the attribute list of the definition in the browser detail (for example, @1, @2).
DEFMETNORMALIZE1
Runs a check to see if the definition is in first normal form. An entity is in First Normal Form if it contains no repeating groups.
DEFMETNORMALIZE23
Runs a check to see if the definition is in second and third normal form. An entity is in Second Normal Form if it is in First Normal Form and each non-key attribute is full functionally dependent on the primary key. An entity is in Third Normal Form if it is in Second Normal Form and each non-key attribute is dependent on the primary key and only on the primary key.
DEFMETPARENTSLASHDATA
Returns the definition's foreign key slash data, which contains information on where the attribute is keyed from. A slash data of the foreign key can also be viewed by expanding the definition's attribute list in the browser details. The slash data will appear in the form of the following example:
Returns True if the definition is referenced by any other object.
DEFMETSELECTED
Returns True if there is a selected symbol defined by the definition.
DEFMETSEQINPARENTSLIST
Checks the parent object's property set for list of child objects. Returns the number that the definition appears in that list.
DEFMETSYNCHRONIZE
If the user has already specified that the definition should be synchronized with another object, then this metric executes the synchronization. Synchronization can be set in the SA2001.INI Editor
DEFMETUPDATEUSES
Updates the relation table of the data dictionary (RELATN.DBF). Has no return value.
DEFNMETCHARCOUNT
Returns the number of characters in the description property of the definition.
DEFNMETLINECOUNT
Returns the number of lines in the description property of a definition.
DEFNMETWORDCOUNT
Returns the number of words in the description property of the definition.