Update of Reports after Schema Evolution

It can happen during the lifetime of a report template that the schema of the datasource (the tables/classes) changes. Upon startup ReportWeaver always reads the current database schema. When it finds changes in the schema used by a report, then it updates the affected templates.

New fields or data entry points (roots) are added automatically.

Schema evolution actions.

After comparing the schemas ReportWeaver reports the differences it has found and the the actions it has taken.

The important actions are deletion of fields and deletion of entry points.

Deletion/Renaming of Fields

If fields are deleted in the schema (or renamed), then the fields (data cells) in the reports that use them become unbound. The unbound cell is painted with a red background and shows the name of the old removed data field.

The cell can be bound to another data field by dragging a data field from the fields tab onto the cell. If there is no replacement for this field, then you can clear or delete the cell.

If a collection is removed from the schema that is used for a table, then you can bind the table to another collection by dragging it onto the table. After that you can drag the fields of the collection type to the various columns.

Deletion of Data Entry Points

If a data entry point is removed from the schema, then all templates that use this entry point will become unbound. If you load such a template

into the editor, then it looks like this:

  1. These are unbound dat fields. If you wish to edit the report in its unbound state, then you can drag them onto the page like a normal field.
  2. The empty property "Data Entry Point" indicates that this template is unbound.
  3. Any table in an unbound template is unbound.
  4. All data fields are unbound and indicated as ? Data

To bind a report to a new data entry point use the new template wizard .

In the first page of the wizard select the data entry point that you want to use for this template.

In the second page of the wizard select the unbound template as base template for the new template as shown below:

After pressing Finish a new Template is generated, where the root is now bound to the selected data entry point. Now you can bind the data cells and tables to new fields as descibed above.

The old unbound template can now be deleted.