Logical Views and Web Designer

Previous Next

See Also

Logical views present data from one or more tables to the user. For each logical view, an info page is generated. The SQL statement of the logical view determines the contents of this info page. Logical views can be painted within Web Designer just like other tables.

Logical views provide a number of potential benefits:

· If the user often wants to view the same data taken from different tables, you can present this data within one view.


· You can present calculated values like running totals, currency conversions, or the result of mathematical formulas within a logical view.


· You are able to store confidential information in tables, but keep it out of a logical view. You simply leave certain columns or records out from the SQL statement of the logical view.


· Logical views can be used to manipulate data:
· Data manipulation is possible if the SQL statement does not contain DISTINCT, GROUP BY/HAVING, or group functions.


· Simple column expressions in the SELECT list are updatable.


· You can insert, update, or delete data if the SQL statement of the logical view contains the primary key columns of at least one table.

In case of an update, only columns of these tables can be updated.

· Insert and delete manipulations are possible for logical views that are based on ONE table.

In case of an insert, all mandatory columns must be part of the view.

· Logical views are also useful when foreign keys are not meaningful to the user. In the Travel Agency, for example, reservations are made by persons. The foreign key of a reservation refers to a person id. These person ids do not mean much to the user, but a family name does. You can define a logical view that contains all relevant person and reservation data.


· For info pages that are based on a logical view, it is possible to include related pages. These related pages are automatically synchronized with the logical view.



A default query (for example, from the executeQuery action) also initates a record count. This is also the case for the default query of child records in a relationship. In certain logical views, this record count can occasionally cause an error in the Rules Engine.

The Count with Execute Query property can be used to solve this problem. By default, this property is set to Yes (the situation described above). If set to No, this property prevents a default record count function from being executed.