How triggers work

Triggers are defined in the Structure view of the report design document and in the data schema file. For a Java, C# or PHP program, the structure of the data model defines how the data is sorted.

Each row streamed to the report contains all the data or text specified by the data schema (the data report file). The data schema feeds this information to the report structure.

Triggers and Java, C#, PHP, or Swift report applications

Trigger nodes are specified by the structure defined in the data schema (.xsd) file, which aligns with the hierarchy of the data in the data model. The data schema identifies the fields to be streamed with each row, as well as the fields are used to order the data. These fields become trigger nodes that display in the Report Structure as red bullets:

Figure: The data schema and report triggers

When the Data Schema changes

When the data schema associated with a report is modified, the Genero Report Designer regenerates the triggers to match the new schema. The Genero Report Designer attempts to update the Report Structure using the minimum number of modifications required to perform the update. Cases of adding new triggers and cases of removing triggers that do not contain document fragments are handled automatically.

When it is necessary to move or remove a trigger that contains a document fragment, a warning displays in the Document Errors view stating that the fragment may require manual correction. These warnings are stored persistently in the report definition (4rp) file. The warning can only be removed by using the context menu Clear trigger update message (issue is fixed).

The warning message Data schema changed. The document has been updated to match the changes is only displayed when a new trigger is inserted, a trigger is removed, or a trigger is moved.