Publishing RDL Reports

<< Click to Display Table of Contents >>

Navigation:  Professional > Reports > RDL Reports >

Publishing RDL Reports

Requirements

Publish RDL Report to Database

Download Published RDL File

Publish RDL Report to Another Database

Save RDL Report to Facility's Work Folder

RDL Report Parameters

Troubleshooting

 

After designing RDL reports, they can be saved for re-use or shared with others. An EQuIS administrator can share RDL reports by publishing it to the database or to another database. Users can also save the report to the facility's work folder to see the report in EQuIS Professional.

 

Regardless of the method used, the RDL report will appear as an available report in EQuIS Professional. When that report is opened, the Report Viewer will open in report mode, with a prompt to enter the desired input parameters (based on the underlying report defined in the RDL).

 

Requirements

 

Be aware of the following when publishing RDL reports:

Only publish RDL reports that were designed as described in Designing RDL Reports. Do not publish RDL reports that use native SQL queries.

The report(s) used in the RDL Dataset must already be published reports.

The Report Publisher uses the name of the *.RDL file for ST_REPORT.REPORT_NAME and DISPLAY_NAME.

 

Warning: To avoid publishing and loading errors, the following names must be changed:

if the RDL file name matches an existing report's REPORT_NAME – rename the file before opening the report in the Report Publisher

if the RDL file name matches an existing report's DISPLAY_NAME – change the RDL report's DISPLAY_NAME in the Report Publisher before publishing

 

Check the ST_REPORT system table to confirm, or pick a file name expected to be unique.

 

A user must have permission to the published RDL report in order to run that report, but does not need permission to the underlying Dataset's report(s).

Publishing an RDL report to the database will make that report available in EQuIS Enterprise.

 

Publish RDL Report to Database

 

Only Database-Level Security (DLS) users or Application-Level Security (ALS) administrators may publish reports. ALS users who are not administrators may not publish a report. With appropriate permissions, a user can publish an RDL report to the EQuIS database using the normal report publishing process.

1. Access the Report Publisher in one of these ways:

oClick on Report under Publish (on the Home tab),

oClick Publish in the Open Window port list in EQuIS Professional (top-right or Reports window), or

oRight-click (in the whitespace, not on an existing report) of the Reports window, and choose Publish Report(s).

2. Change the file type drop-down to RDL Reports (*.rdl).

3. Browse to the existing *.rdl file containing the RDL report and click Open.
 

Note: Ensure that the file name is unique and does not match any existing REPORT_NAMEs in ST_REPORT.

 

4. Use the Report Publisher Form to check the report name and parameters before publishing the report.

5. Click Save in the Report Publisher Form to publish the RDL report to the database.

 

Be aware of the following when publishing RDL reports:

Publish only RDL reports designed as described in Designing RDL Reports. Do not publish RDL reports that use native SQL queries.

The Dataset report(s) used in the RDL must already be published reports.

The values in ST_REPORT.REPORT_NAME and ST_REPORT.DISPLAY_NAME will be based on the name of the .rdl file. If this is the same as an existing report's display name, the file name must be changed before opening the report in the Report Publisher or change the Display Name in the New Report Column of the Report Publisher Form before publishing.

When designing an RDL report from a user report, the Report Publisher cannot detect the report parameter properties (such as DISPLAY_TYPE or DATA_SOURCE) and will set up fields as blank text. To retain report parameter properties, do not load a user report that has been saved to the database when creating an RDL dataset.

Publishing an RDL report to the database will make that report available in EQuIS Enterprise.

A user must have permission to the published RDL report in order to run that report, but does not need permission to the underlying Dataset report(s).

 

Download Published RDL File

 

A published RDL report stores the RDL file itself in ST_MODULE.ASSEMBLY. For more information on files in EQuIS, see File Management in EQuIS Professional. Use the EQuIS Blobber Form to retrieve the RDL file for a published RDL report:

1.Select ST_MODULE as the Blob Table.

2.Paste in the MODULE_ID of the RDL record from ST_MODULE as the Key Value.

3.Select Download.
15410_RDL_BLOB

4.Type in a name that includes ".rdl" at the end (e.g. "Analytical Results II RDL.rdl") and Save.

 

Publishing an RDL report to a different database requires many changes to the RDL file, as documented in the following section, Publish RDL Report to Another Database.

 

Publish RDL Report to Another Database

 

RDL reports designed on one database can be published to another database, but the JSON within the RDL must be edited first, and DisplayName must match a published report in the target database. Follow these steps to allow an RDL to be publishable to another database (the 'target database'):

 

1.In the target database where the RDL will be published, run a report for the same base report that the original RDL used.

2.Click the RDL button in the report output.

3.Navigate to the %temp% folder in Windows Explorer and open the RDL that was just created in a text editor such as Notepad or Notepad++.

4.Copy all lines from <DataSet Name... (line 15) to }</CommandText> to paste into the original RDL, replacing the same section, e.g.:
 

<DataSet Name="rAnalyticalResultsII33922">

    <Query>

      <DataSourceName>target_database</DataSourceName>

      <CommandText>{

 "ObjectStream": null,

 "Id": 33922,

 "Name": "Analytical Results II",

 "DisplayName": "Analytical Results II",

 "ReportType": "class",

 "Remark": "Analytical Results II [dll v7.20.4.20302] [dll v7.20.4.20302]",

 "FacilityId": 0,

 "ModuleId": 46691,

 "VersionNumber": "7.0.0.19300",

 "ObjectName": "EarthSoft.Reports.Library._50943.AnalyticalResultsII",

 "FullObjectName": "EarthSoft.Reports.Library.50943,EarthSoft.Reports.Library._50943.AnalyticalResultsII",

 "AssemblyName": "EarthSoft.Reports.Library.50943",

 "Xlt": null,

 "StatusFlag": "R"

}</CommandText>

 

5.Replace the DataSource Name in the original RDL with the following line (on line 5) with the DataSource Name (from line 17) that was just added in Step 4, e.g.:

 

<DataSource Name="original_database">

to

<DataSource Name="target_database">

 

6.Copy the DataSetName from Line 15 in the original RDL.

7.Do a search for "DataSet Name" and "DataSetName". If any are found, replace the original text between double quotes or tags (such as <DataSetName> with the copied DataSetName from Step 6, e.g.:

 

          <DataSetName>rAnalyticalResultsII379</DataSetName>

to

          <DataSetName>rAnalyticalResultsII33922</DataSetName>

 

8.Save. The RDL should now be available to use the RDL > View In feature for the database or to publish.

 

Save RDL Report to Facility's Work Folder

 

In some situations, a user may not want to publish an RDL report to the database but still want to run it as a standalone report. In this situation, save the *.rdl file for the report to facility's Working Folder (e.g. My Documents\My EQuIS Work\database name\facility name). When a facility is opened in EQuIS Professional, it will scan the facility's work folder and display any *.rdl files on the list of available reports.

 

RDL Report Parameters

 

The report parameters displayed when a published RDL report is run will be those of the underlying base report. To change the parameters displayed (via changes to ST_REPORT_PARAMETER), publish a copy of the base report, modify the report parameters for that copy and then use that copy as the base report for the RDL report.

 

Republishing the .DLL for the base report updates both the original and copy by default, unless the user chooses not to do so. In the Report Publisher, as long as the report copy is also selected (which occurs by default), then it will also be updated. Bulk republishing will always update the report copy.

 

Troubleshooting

 

EQuIS Alive reports need the DisplayName within the RDL file (around line 22) changed to match the base report's ST_REPORT.DISPLAY_NAME to publish correctly. for example:
"DisplayName": "Survey Results --MySurveyType",

When creating a RDL report for Analytical Results II or its report dependencies (such as Analytical and Water Results), populate the @useGeo parameter (displayed as Locations > 'Use DT_GEOGRAPHY for coordinate data.') with True or False. If the default value (ST_REPORT_PARAMETER.DEFAULT_VALUE) for this parameter is blank, 'This report has no data' message appears when downloading the report from an EZView widget.

An "Object reference" error can occur when clicking on a report parameter while publishing an RDL report that has a matching REPORT_NAME to an ST_REPORT record. In this situation, the parameters published will be incomplete; the report owner should rename and reload the file for publishing.

The following error can occur when opening an RDL report that was published with an existing REPORT_NAME from ST_REPORT. In this situation, the parameters published are incomplete; the report owner should rename and republish the file. Index was out of range. Must be non-negative and less than the size of the collection