Each example is a ZIP file containing an executable application and its data
files. UNZIP to a folder of your choosing. (We recommend you put each
application in a separate folder) The applications are completely self-contained.
No DLLs are required.

These applications were compiled with various versions of Clarion and
UltraTree for
execution on XP, Vista, Windows 7, and Windows 10.

This application is the School example from the Clarion
example set. We have spruced up the UI a bit with Clarion 7/8
specific UI
enhancements, and added a couple of UltraTree procedures
(a course tree and a teacher tree). This provides a representative
contrast between what is possible with UltraTree vs the RelationTree procedures
in the example.

This newly updated application contains a group of procedures that illustrate many UltraTree features.
The example emphasizes showing how to use various types of ranging for
rapid display of only the desired information. (Paging, file relationship,
min-max range, single value) The database used in most of the
procedures models a typical
invoicing structure of Customer, Order, Order Item. It is not intended
to illustrate any artisitic visual effects. We leave that to our
customers. Specifically new to this version of the demo is use of data
breaks and totaling by break as the data is retrieved.

In addiiton to ranging of various types, plus the tagging and
reporting feature, it uses many styling features listed
for the School demo, such as colors, fonts, icons, etc..

A very popular UltraTree feature (Recursive Views) supports self-related tables. One example of
use of such tables is the
Bill of Material (BOM).

What is a Bill of Material?

The basic idea of a Bill of Material is that assemblies are composed
of sub-assemblies, which are composed of sub-assemblies, ..., eventially
terminating in indivisible parts. Because a given sub-assembly (or
part) can be contained in many assemblies, and a given assembly can contain
many sub-assemblies (and/or parts), the relationship between assemblies
and sub-assemblies is Many to Many. A Many:Many relationship between
table A and table B is represented in a
Clarion database dictionary by implementing a "structure"
table S that is related Many:1 to both A
and B. Thus each S table
entry s denotes
a related pair of records (a,b).

The BOM Many:Many
relationship has the unique feature that all of
the data is stored in a single table. The structure table is related Many:1 twice to the
same data table. (Because of Clarion
dictionary rules, an Alias of the
data table must be used for at least one relationship) UltraTree is among
the few tools that fully support relationships such as this.
Defining a relationship between the structure table and an alias of
itself results in a recurring
Many:Many relationship. The UltraTree "Recursive Views" feature implements a
self-relationship-aware RelationManager that supports these recurring
relationships. (Our Up & Up product supports processing and
reporting the structure, but requires UltraTree as a prerequisite.)

The Many:Many self-relationship (as with all Many:Many relationships)
can be viewed from either perspective. The inverse of a parts explosion
(BOM) is a "where used" explosion. Of course, UltraTree supports both
flavors.

A Bill of Material Demo

Mike Gorman had the idea of using
a Bill of Material to represent
in database format some metadata that is infinitely recursive.
Namely, the definition of SQL 99. (As presented in BNF) Of course,
real-world databases can't be infinite. They have well-defined terminators. Mike's solution is to insert
"recurse here" stopper elements in the structure table at nodes where the SQL definition
becomes recursive.

Mike was kind enough to consent for us to distribute this result of his labors
as a BOM demo.

This is a very unusual example, but there are thousands of everyday uses for this
database structure. We think the extremely unusual nature of this demo
illustrates the versatility of this feature. You probably have a
dozen uses yourself, once you think about it. The UltraTree Recursive Views
Feature makes anyone a BOM expert.

I consider Mike the "godfather" of UltraTree Bill of Material
support.