The following is a quick overview of some of the features, incorporated into the Church_Demo Sandbox, consisting of:

  1. A description of two Global Templates, one of which links to another: City and Names.
  2. A description of a few Template Procedures: a New record; and some field-triggered.
  3. One User-defined function, used in one of the above Procedures.
  4. Two reports, one with the Drill-down to another: General Ledger and TBGL.

Global Templates

This feature enables the User to create data input templates for all non-accounting data (i.e. it does not address accounting issues such as debits and credits, balanced transactions, etc.). When a completed Global Template is saved, it will have automatically created the underlying relational database table for that input format. The following briefly illustrates the relationship between a template and the underlying database table and input form that are created by STEP FORWARD when the template is saved:

To open an existing template, start the Global Templates function from the Application Launchpad, then Template > Open menu from the workspace window, then select the template from the dialog:




This is a foundational template as some of its data content is linked to other templates. Its three fields are: City; Prov State; Country.


This template captures the names, addresses, contact information, Comments, etc. Three of the fields (City; Prov State; Country) are linked to the City table/template.

Here is an example of a linked field (City) that is present in Names template, as seen in the Palette window.

Global Procedures, attached to the Names template

Template-based: New record; Saving record. Field-based: First name; Home Phone; Spouse.

To open a procedure, start the Global Procedures function from the Application Launchpad, then select the procedure from the dialog:


New record (Global Procedures) – attached to the Names template

This Procedure is automatically activated when the Names template is first activated for data entry. It retrieves the highest Names ID from the Names database table, increments it by 1 and inserts the result as the next Names ID into the New record about to be completed.

First Name and Spouse (Global Procedures) – attached to the Names template

These Procedures are triggered after having entered data into them. They combine the First Name (and, if so triggered the Spouse) with the already entered Last Name to automatically populate the Full Name. The Spouse Procedure also tests for the presence of a First Name and refuses the Spouse entry if no First Name is found.

Home Phone (Global Procedures) – attached to the Names template

Upon entering the Home Phone number, this Procedure activates the Phone10Separator User Function.

Phone10Separator (User Functions) – activated in the Names template

Upon entering the Home Phone (in the prescribed format) the entered value is fed into this User Function as the OldString. This Function then tests the OldString and keeps the input value as is, if the first character is a (.

If the test passes this hurdle, it then checks the fourth and eighth characters and if they are equal to -, it assumes that the entire number was entered with – as separators and accepts the entered OldString as a valid. If the fourth character is a numeric value, it assumes that the entered value does not contain any separators and creates a NewString (to replace the entered number in the Home Phone field) e.g. if OldString is 1234567890 the NewString will be 123-456-7890. The separator used is defined in the Function as - ; if the Configurator wishes to utilize a different separator, the User Function needs to be edited and the – replaced with another symbol.