Report2File

Inhaltsverzeichnis

Überblick

Labtagon Report2File für Matrix42 ist eine Erweiterung für das Matrix42 Workspace Management System (Service Store), welches den Funktionsumfang um das Verschicken und Downloaden von Reports in diversen Formaten erweitert. Report2File ermöglicht es, SQL Reportserver Reports, direkt in einem Dialog, Wizard oder Workflow auszuführen. Die Reports werden im gewünschten Dateiformat ausgegeben und können dem Benutzer direkt zum Download angeboten, per E-Mail versendet oder als Anhang an ein Matrix Objekt angehängt werden. Zur Auswahl stehen alle Dateiformate, die auch der SQL Reportserver des Kunden unterstützt.

Das Feature Pack kann auf zwei Arten innerhalb des Matrix Systems verwendendet werden. Als Web Service Aufruf innerhalb des Layout Designer Hierbei wird ein Web Service aufgerufen, der die konfigurierten Parameter verarbeitet und eine Datei zurückgibt. Diese Datei kann dem Endanwender dann direkt als Download angeboten werden. Als Workflow Activity innerhalb des Workflow Studio Hierbei wird innerhalb eines Workflows die Report to File Activity eingebunden, die anhand der konfigurierten Parameter eine Datei erzeugt. Diese Datei kann dann innerhalb des Workflows weiterverwendet werden, um diese zum Beispiel direkt per EMail zu versenden oder an ein Matrix Objekt als Attachment anzuhängen. 

Dialog Konfiguration

In diesem Beispiel wird ein Quick Link Control aus dem Matrix42 Layout Designer in die Ticket Preview eingebunden. Ziel ist es, durch bestätigen des Quick Link Controls in der Preview, einen ausgewählten Report in einem bestimmten Dateiformat herunterzuladen. Unter Administration -> Benutzeroberfläche -> Layout Vorlagen -> Schnellansicht -> Ticket wählt man anpassen aus um in den Layout Designer für die Ticket Preview zu gelangen.

Anschließend wird eine Datenquelle hinzugefügt.

Folgende Servicekonfiguration wird vorgenommen:

  • Der Quellenname ist frei wählbar, in diesem Beispiel wird die Quelle „ReportToFile“
  • Das Herunterladen der Report Datei soll später über manuelles klicken auf einen Quick Link erfolgen deswegen wird „Kein(e)“ als Quellausführungsmodus ausgewählt.
  • Zusätzlich muss der Haken bei „Quelle wird für Download verwendet“ gesetzt werden, damit der User die Datei direkt herunterladen kann.

Als Implementierung wird Service Operation und als Operation ReportToFile.ExportFile(ExportFile) ausgewählt.

Nachdem die Datenquelle hinzugefügt wurde müssen folgende Attribute konfiguriert werden:

  • FileName: Der Name der Report Datei die heruntergeladen wird.
  • Parameters: Je nach Konfiguration des Reports auf dem Report Server, kann einem Report ein oder mehrere Parameter mitgegeben werden, um ein Ergebnis weiter einzugrenzen oder den Report überhaupt  ausführen zu können. In diesem Fall kann ein Array von Strings an den Report übergeben werden. Das Array besteht aus Objekten mit den Attributen Name und Values.
  • ReportFileType: Der Dateityp des Reports von dem eine Datei erstellt werden soll. Mit der neusten Report2File Version sind 13 Dateitypen möglich. Der Dateityp ist jeweils einer Zahl zugeordnet:
    • Excel: 1
    • CSV: 2
    • XML: 3
    • Image: 4
    • PDF: 5
    • Word: 6
    • HTML: 7
    • MHTML: 8
    • WordOpenXML: 9
    • ExcelOpenXML:10
    • PPTX: 11
    • ATOM: 12
    • RGDI: 13

Wird hier z.B. als Ausdruck „return 5“ angegeben ist das Format PDF gewählt. Die auswählbaren Dateiformate hängt von der eingesetzten Reportserver Version ab. Weitere Information können aus der SQL Server Dokumentation entnommen werden: https://docs.microsoft.com/de-de/sql/reporting-services/extensions/rendering-extension/rendering-extensions-overview?view=sql-server-2014

  • ReportName: Der Name des Reports von dem eine Datei erstellt werden soll. Der Wert muss dem genauen Namen des Reports auf dem Report Server entsprechen.
  • ReportPath: Der Pfad zum Report.
  • ReportServerUrl: Die Report Server Url.

Attribut Zuweisungen in unserem Beispiel:

1. FileName Audruck:

Die Dateinamen dürfen keine Umlaute enthalten

2. Parameters Ausdruck

In diesem Beispiel wird dem Report ein Parameter mit dem Namen „STATE“ übergeben. Welche Parameter übergeben werden müssen, hängt von dem jeweiligen SQL Report ab. Diese Parameter können im SQL Report selbst überprüft werden. Sollte der „STATE“ Value ein berechneter Wert sein, muss sichergestellt sein, dass der Wert, den man übergibt auch existiert, andernfalls kann kein Report generiert werden.

Die Parameter Namen müssen den im Report konfigurierten Namen entsprechen.

3. ReportFileType Ausdruck

4. ReportName Ausdruck:

5. ReportPath Ausdruck:

Hier wird der Pfad des Reports auf dem Report-Server benötigt. (Abbildung 10.2)
Um diesen Pfad zu finden, rufen sie die Report-Server Seite auf, (Im Normalfall http://baseUrl/ReportServer)
und navigieren sie durch die Verzeichnisse. (Abbildung 10.1)

 

6. ReportServerUrl Ausdruck:

Hier wird die Url des Report-Servers gebraucht. In der Standard-Konfiguration ist dieser auf dem selben System, und es kann „http://localhost/ReportServer“ hinterlegt werden. Ist der Report-Server auf einem anderen System, so muss die Url hier hinterlegt werden.
Im Zweifelsfall finden sie die Report-Server-Konfiguration unter „\Matrix42\Matrix42 Workplace Management\bin\SPS.Config“.

Zuletzt wird ein Quick Link Control benötigt welches durch Anklicken den Report to File Prozess startet. Diesem muss in unserem Beispiel „custom:ReportToFile.$sourceState“ als Status der Datenquelle zugewiesen werden.

Der Quick Link Typ wird auf „Call Service” gesetzt. Der Status der Datenquelle wird auf den „sourceState“ unserer neuen Datenquelle „ReportToFile“ gesetzt. Zuletzt muss noch in dem „Quelle“-Feld der genaue Name unserer Datenquelle eingetragen werden, in diesem Beispiel „custom_ReportToFile“.

Das Ergebnis:

Über den Quick Link kann jetzt ein Report als PDF heruntergeladen werden.

Workflow Konfiguration

In diesem Beispiel wird ein Report innerhalb eines Workflows ausgeführt und die erzeugte Datei per EMail versendet. Navigieren Sie dafür im Administrationsbereich in das Workflow Studio und starten Sie es (Abbildung 1: Workflow Studio ).

Erstellen Sie einen neuen Workflow oder wählen Sie einen bestehenden Workflow aus, in dem Sie die erzeugte Report Datei verwenden möchten (Abbildung 2: Neuen Workflow erstellen) und öffnen Sie anschließend den Bearbeitungsdialog des Workflows.

Auf der linken Seite erreichen Sie die Report Activity über den Reiter Labtagon oder über die Suche. Ziehen Sie die Report Activity an die gewünschte Stelle im Workflow und verbinden Sie diese wie gewünscht (Abbildung 3: Report Activity).

Wählen Sie die Report Activity mit einem Linksklick aus. Auf der rechten Seite erscheint nun das Eigenschaften Panel, in dem Sie die Konfiguration vornehmen können. Üner die Schaltfläche […] gelangen Sie in den Bearbeitungsdialog der einzelnen Attribute (Abbildung 4. Report Activity Konfiguration). Die Konfiguration ist zunächst sehr ähnlich zu der des Web Services. Es müssen Parameter für den „FileName“, „FileType“, „Parameters“, „ReportName“, „ReportPath“ und die „ReportServerUrl“ übergeben werden.
Den FileType kann man über eine Auswahlliste auswählen. Die anderen Parameter können durch einen Ausdruck oder durch eine Workflow-Variable befüllt werden.

Im Unterschied zu dem Web Service, kann man in der Activity konfigurieren, ob die erzeugte Datei an ein Matrix Objekt als Attachment angehangen werden soll. Hierzu setzt man den Haken „Attach to Objects“, gibt das Konfigurationselement ein und übergibt eine Liste von [Expression-ObjectID]‘s, an die der Anhang hochgeladen werden soll. (Die Liste kann auch nur ein Objekt enthalten)

Vorsicht: Falls der Haken nicht gesetzt ist, wird auch kein Attachment erstellt.

Konfigurieren Sie die Parameter wie in Abbildung 5: Parameter Konfiguration.

Erstellen Sie unter Output eine neue Variable für die Report Datei (Abbildung 6: Report Activity Output).

Die Activity gibt zwei Parameter zurück:

  1. File: Diese Variable stellt ein Objekt dar, welches Informationen über die Datei enthält. Auf diese Informationen kann über Objekteigenschaften zugegriffen werden. Folgende Eigenschaften sind enthalten:
    • FileName (Enthält den Dateinamen)
    • MimeType (Enthält den MimeType der Datei)
    • Extension (Enthält die Dateityperweiterung)
    • Encoding (Enthält das Encoding mit dem die Datei encodiert wurde)
    • MatrixFileId (Enthält eine GUID, die auf die „Files“ Tabelle in Matrix zeigt)
    • FileData (Enthält die Datei als Byte Array)
    • Warnings (Enthält eventuelle Warnungen, die vom Report Server ausgegeben wurden)
  2. MatrixFileId: Diese Variable enthält die GUID der Datei, die in der „Files“-Tabelle von Matrix abgelegt wurde. (Identisch mit der File.MatrixFileId Eigenschaft)

Wählen Sie unter Attachments nun die Variable aus, die Sie in der Report Activity konfiguriert haben, aus und bestätigen Sie die Eingabe mit einem Klick auf OK (Abbildung 8: Anhang an E-Mail knüpfen).

Damit haben Sie den Workflow eingerichtet. Speichern Sie Ihre Einstellungen und testen Sie Ihren Workflow, um sicherzugehen, dass alles wie erwartet funktioniert. Fertig!