Try OpenEdge Now
skip to main content
Online Help
Introducing the Meta Catalog : Reference : ABL Application Schema content builder
 

ABL Application Schema content builder

ABL Application Schema content builder
The ABL Application Schema content builder extracts data on temp-tables and ProDataSets from source files. The content builder first ensures that the catalog database contains the necessary records to specify the source file (catalog, root path, project, project relative path, and resource). Then it analyzes the code to extract the specific information.
The content builder creates parent and child records to describe the full schemas:
Entry type
Child entry types
Child entry types
TEMP-TABLE
FIELD
 
INDEX
INDEX-FIELD
DATASET
BUFFER
 
DATA-RELATION
RELATION-FIELD
Any entry that has parent or child entries displays them as subnodes in the Meta Catalog Explorer view.
The content builder records the following data in the catalog:
Content type
Entry type
Entry
APPSCHEMA
TEMP-TABLE
The temp-table's name.
FIELD
The name of a temp-table field.
INDEX
The name of a temp-table index.
INDEX-FIELD
The name of a field in a temp-table index.
DATASET
The ProDataSet's name.
BUFFER
The name of a ProDataSet buffer.
DATA-RELATION
The name of a ProDataSet data relationship.
RELATION-FIELD
The name of a field in a ProDataSet data relationship.
Depending on the entry type, the content builder also extracts the following attribute information for each entry:
Entry type
Attribute
Value
TEMP-TABLE
NO-UNDO
TRUE or FALSE.
GLOBAL
TRUE if a global temp table.
SHARED
TRUE if a shared temp table.
LIKE
TRUE if defined with the LIKE option.
FIELD
DATA-TYPE
The data type.
LIKE
TRUE if defined with the LIKE option.
EXTENT
TRUE if extents exist.
FORMAT
The format, if any.
LABEL
The label, if any.
INITIAL
The initial value, if any.
INDEX
PRIMARY
TRUE if a primary index.
UNIQUE
TRUE if a unique index
WORD-INDEX
TRUE if a word index.
INDEX-FIELD
SORT
ASCENDING or DESCENDING.
DATASET
SHARED
TRUE if a shared ProDataSet.
DATA-RELATION
REPOSITION
TRUE if applicable.
The content builder assigns IDs to each unique Entry and Attribute. It stores the location of these elements in the file, either as a line number or as characters from the file's beginning. The content builder also stores pointers to any parent or child entries.
For example, take the following temp-table definition:
*DEFINE SHARED TEMP-TABLE ttOrd
*    FIELD OrderNum AS DECIMAL
*    FIELD CustName AS CHARACTER LABEL "Name"
*    FIELD OrderDate LIKE Order.OrderDate
*    INDEX OrderNum IS PRIMARY UNIQUE OrderNum
*    INDEX CustOrder IS UNIQUE CustName OrderNum
*    INDEX OrderDate OrderDate.
When the content builder analyzes this statement, it adds the following information to the database:
Content Type
Entry type
Entry
Attributes
Attribute values
APPSCHEMA
TEMP-TABLE
ttOrd
SHARED
TRUE
FIELD
OrderNum
DATA-TYPE
DECIMAL
CustName
DATA-TYPE
CHARACTER
LABEL
"Name"
OrderDate
LIKE
TRUE
INDEX
OrderNum
PRIMARY
TRUE
UNIQUE
TRUE
CustOrder
UNIQUE
TRUE
OrderDate
 
 
INDEX-FIELD
CustName
SORT
ASCENDING
OrderDate
SORT
ASCENDING
OrderNum
SORT
ASCENDING
OrderNum
SORT
ASCENDING
There are two OrderNum entries because two indexes use it.
As mentioned previously, the content builder also stores the data on any parent or child relationships for each entry.
When displayed in the Meta Catalog Explorer, you would see the following structure: