Descriptive names make it much easier for the user to select which tables and fields they want to include in a report in Stonefield Query than having to choose from the sometimes-cryptic real names. Even so, it can overwhelming to choose the correct tables and fields from a large data dictionary. For example, Sage Accpac ERP, an accounting system from Sage, has over 45,000 fields in over 1,300 tables. Although data groups help logically segregate the tables and reduce the number that appear at one time, a user reporting on the Accounts Receivable module still has to select from 107 tables and 190 fields in the Customers table alone. It can be intimidating when presented with such long lists of tables and fields to find the one containing the data you require for a report.

The heart of the issue is that even with descriptive names, Stonefield Query is still displaying a database-centric view of the data. Unfortunately, many users don't think of the application in terms of how the data is stored. Rather, they see the application as being organized around its data entry screens.

You can organize the Stonefield Query data dictionary to more closely resemble that of the screens in the application. We call these "application views," because they provide an application-centric view of the data.

If you have defined application views for your project, Step 2 of the Stonefield Query report wizards provides an option to display in either application view or database view. Database View is useful for those familiar with the structure of the application's database while Application View is better suited to those familiar with the user interface of the application.

The following image shows Stonefield Query for Sage Accpac ERP in Application View:

The View drop-down shows a list of views which is identical to the list of Accounts Receivable data entry screens. The Customers view has two fields, Customer Number and Customer Name, and a set of subviews: Address, Contact, Processing, and so forth. Each of the subviews has a list of fields, not all of which are from the Customers table, and possibly additional subviews, which in turn have their own set of fields.

Now look at the Customers screen in Accpac:

Notice it has two fields, Customer Number and Customer Name, and a set of tabs: Address, Contact, Processing, and so forth. Each of the tabs has its own set of fields, not all of which display data from the Customers table. In other words, Application View in Stonefield Query for Sage Accpac ERP has the same organization as the data entry screens in Accpac. As a result, it's now very easy for the user to find the fields they want to include in a report: if they know where those fields are in Accpac, they know where they are in Stonefield Query because the organization is identical.

There are two types of application views: those that appear in the View drop-down in Step 2 of the report wizards and those that appear in the fields list for a specific view (in other words, a subview). This is controlled by the setting of the Display in main list property for an application view. An application view can have subviews; a subview is defined as a child of a higher-level views. You can have as many levels of views and subviews as you wish.

To create an application view, select the Application Views panel and click the Create button () in the toolbar. If no application view is selected in the TreeView, a top-level application view is created; otherwise, the application view is created as a subview of the selected one. Alternatively, you can click the drop-down arrow beside the Create button and from the menu choose Create Application View (child) to create a subview of the selected application view or Create Application View (top-level) to create a top-level application view. Those two functions are also available in the Objects and shortcut menus.

The options in the properties pane for an application view are:

In addition to changing Order, you can also rearrange application views by dragging them in the TreeView. What happens when you drag an application view and drop it on another one depends on what application view you selected and which one you dropped it on: