Report Packs
Report Packs
Report packs are special imports which are used to bulk load reports into an Appliance.
They are a standard zip file with a special Manifest.xlsx
file and one or more Crystal Report files. There should be no folders contained in the zip file; all files should be in the root of the zip.
Unlike other imports which can only create new records, Report Packs are capable of updating existing reports and report slots.
Manifest Details
A report manifest is an Excel file called Manifest.xlsx
. The contents of which determine what report and report slot records are created in your Appliance.
Although the manifest file looks similar to other Excel imports, many of the conventions in other imports do not apply to the manifest (as it imports considerably simpler records). In particular, one row = one record (no records span multiple rows in excel), there are no CSVs in cells, and the sheet names must match exactly.
Reports Sheet
This sheet lists each report record you want to create or update.
Is this sheet required in a manifest? Yes (the table names must exist, but the sheet can otherwise be empty)
Sheet name in manifest: CrystalReports
Unique record field: Name
Field | Type of Data | Required | Comments |
---|---|---|---|
Name | Text, max 100 | Y | Name of the report. Must be unique. Note that this is different to the Crystal Report file name ending in |
IsStandardReport | Yes / No | N | Determines if the report is listed as a Standard or Custom report. Standard reports cannot be modified from the web interface, only via a report pack. If not specified or the column is not present, defaults to 'N' ie: a Custom report. |
ReportFilename | Text | Y | Reference to the Crystal Report file in the report pack. You must reference the file name exactly and include the |
Report Slots Sheet
This sheet lists each report slot record you want to create or update. Generally, this will reference reports in the same report pack. Referencing other custom reports is dangerous as people can change their names in the web interface (if you do this, consider setting the AssignedReportNotExist policy setting to an appropriate value).
Is this sheet required in a manifest? Yes (the table names must exist, but the sheet can otherwise be empty)
Sheet name in manifest: ReportSlots
Unique record field: Type
and NameOrPage
Field | Type of Data | Required | Comments |
---|---|---|---|
Type |
| Y | Category or type of slot. Named slots are system defined; you assign custom reports to them to replace existing Standard reports with your own. DataType references a shortened view model .NET type name. PageRef is the beginning of a web page URL. See Reporting for more information. |
NameOrPage | Either a Named Slot, DataType or appropriate Page Reference | Y | Example Named Slot: Test Report or Trust Trial Balance Example DataType: Example PageRef: Note that no validation is done on DataType or PageRef values. That is, they do not have to exist or be valid in the system for the import to succeed; and no warning or error is raised if they are set incorrectly. You can use this to create new Named Slots, but, as the Appliance program code will not know about them, they will not appear anywhere in your Appliance, |
Report | Report Name | N | Reference to the Report entity as named in the CrystalReports sheet (or a previously loaded report). This can be left blank. If it is blank and the UpdateExistingAssignedReport policy setting is Note that this is not the same as the Crystal Report file name (ending in |
Policy Settings Sheet
This sheet lists policy settings for the report pack. It controls whether certain conditions are raised as errors which prevent a record from importing, or are ignored. By default, they are set to prevent accidental data loss to existing reports at the expense of being more likely to raise errors (that is, it is conservative by default).
Is this sheet required in a manifest? No
Sheet name in manifest: Policy
This sheet is a table of key value pairs, similar to an INI file. All settings are optional and will be set to the default if are not present (including if the entire sheet is missing). Two columns should be present: Setting
and Value
. Any other column is ignored.
Setting | Possible Values | Default | Affects |
---|---|---|---|
|
|
| Reports |
|
|
| Report Slots -> |
|
Note that this setting has no affect if UpdateExistingAssignedReport is |
| Report Slots -> |