Tutorials > Publish information as HTML with System Architect Publisher > Lesson 9: Specify alternative reports
  
Lesson 9: Specify alternative reports
You cany specify an alternative report to be run (instead of the default) for a particular type, as that type is encountered within the context of a particular report.
For example, you might create two reports to generate information for a data modeling entity definition. One report might include very detailed design information that a database designer would be interested in; a second report might only show high-level information such as entity and attribute names. The first report might be the default report that is normally run for entities; you might only want the second report to run when a business modeling report run for business managers encounters a related entity.
What you want to specify in the Alternative Reports tab is the report that kicks off the exception (in the example above, the business modeling report), what type will set off the exception (in the example above, the entity definition), and what report to run when the exception is hit (in the example above, the second report providing only high level details of an entity for a business audience).
In fact, the logic that the XML template takes when running reports for a particular artifact (Diagram, Symbol, or Definition), is as follows: First look to see if there is an alternate report specified for it; if there is, run it. If not, look to see if there is a default type report for the artifact; if there is, run it. Third, look to see if there is a class default specified for the artifact; if there is, run it.
To specify an alternative report
First specify the report that will kick off the exception condition, then specify the type that will kick off the exception, and then specify the alternative report.
1 Select the Alternate Reports tab.
2 Specify the report that will kick off the exception. Drag a report from the Reports list to the Reports Which Have Alternates list box, under the Alternates choice.
3 Select the type that, if encountered during the running of the exception report, will be reported on using a different report than its default report. Drag a type from the Available System Architect Types list to the Alternates list, under the exception report specified in step 2 above.
Note System Architect does not prohibit you from adding a type that does not seem to make sense within the context of the exception report. For example, if your exception report is a UML Class diagram report, you could conceivably drag over an exception type of a BPMN process, even though a BPMN process does not seem to have any association to a class definition. System Architect cannot be sure that the 'exception' report that you have chosen, does not, in the case above, get BPMN processes that are somehow related to UML class definitions by navigating the many relationships in System Architect's metamodel (for example, a report could be made to get a class's related entities and their related BPMN processes. It is up to the user to intelligently add the 'exception' type that they want.
4 Select the alternate report to be run for the type. Drag a report from the Report list to the Reports Which Have Alternates list, placing it under the type specified in step 3.
Note The report that you add to the Alternate side (to kick off the exception) must be a report that has been specified to be used; if it has not been specified it will never run, and the exception condition will never arise. System Architect will prohibit you from attempting to add a report as an exception report that has not been previously specified. You will receive the message "This report is not used as report for a class or type default." (The reason for the wording of the message is that, the only way to specify a report is to specify it as a default for a particular class (Diagram, Symbol, or Definition) or type.
Result
You specified alternative reports and now you can perform setup.
Next
Lesson 10: Perform setup
See also
Publish information as HTML with System Architect Publisher