Eigene Datenquellen für Schild-Reports: Unterschied zwischen den Versionen

Aus Schild-NRW Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:
== Aufbau der Datenquellen-Dateien (*.SPD) ==
== Aufbau der Datenquellen-Dateien (*.SPD) ==


[Queries]
[[Datei:SPD-02.png |450px |left ]]'''[Queries]'''


Hier werden alle neu zu definierenden Abfragen mit dem Namenszusatz __qry*** aufgelistet.
Hier werden alle neu zu definierenden Abfragen mit dem Namenszusatz ''__qry***'' aufgelistet.
 
'''[Query__qryNamederAbfrage]'''


[Query__qryNamederAbfrage]
Da dieser Name programmintern eindeutig sein muss, gilt die Konvention, dass __qry*** im Programmcode nicht benutzt wird, so dass keine Namenskollisionen entstehen können, wenn dieses Präfix genutzt wird.
Da dieser Name programmintern eindeutig sein muss, gilt die Konvention, dass __qry*** im Programmcode nicht benutzt wird, so dass keine Namenskollisionen entstehen können, wenn dieses Präfix genutzt wird.


Der InitCommand-Befehl initialisiert die Abfrage und setzt die Namen der zur Verfügung stehenden Felder im Reportexplorer fest.
Der ''InitCommand''-Befehl initialisiert die Abfrage und setzt die Namen der zur Verfügung stehenden Felder im Reportexplorer fest.


Die Befehle ''Command1'' und folgende setzen den SQL-Abfrage-String auf die Datenbank zusammen. Die Zusammensetzung aus Command1 + Command2 usw. wurde aus Übersichtsgründen erstellt. Der Befehl kann also auch in einen einzigen Command1-Befehl gesetzt werden.


Mit dem Platzhalter $Schulnr$ kann  die Schulnummer der DB abgefragt werden. (Wichtig für Schild-Zentral.)


Die Befehle Command1 und folgende setzen den SQL-Abfrage-String auf die Datenbank zusammen. Die Zusammensetzung aus Command1 + Command2 usw. wurde aus Übersichtsgründen erstellt. Der Befehl kann also auch in einen einzigen Command1-Befehl gesetzt werden.
Mit dem Befehl ''Mastersource=Schueler.Datasource'' kann eine übergeordnete Datenquelle angegeben werden. Dies ist über den Abfrageassistenten im Report-Designer nicht so einfach möglich.Der Datenquellenname (hier Schueler) muss in der Reporting bereits existieren. Also entweder als feste Datenquelle oder in einer SPD-Datei, die vorher schon abgearbeitet wurde. Dies kann über die alphabetische Sortierung der SPD-Dateinamen geregelt werden.


Mit dem Platzhalter $Schulnr$ kann die Schulnummer der DB abgefragt werden. (Wichtig für Schild-Zentral.)
[[Datei:SPD-03.png |300px | right ]]
Die Übergabe des Mastersource-Parameters erfolgt über den Befehl A.Schueler_ID=:ID, wobei über den Doppelpunkt :NamedesFeldesinderMasterSource die Koppelung geregelt wird.


Mit dem Befehl Mastersource=Schueler.Datasource kann eine übergeordnete Datenquelle angegeben werden. Dies ist über den Abfrageassistenten im Report-Designer nicht so einfach möglich.Der Datenquellenname (hier Schueler) muss in der Reporting bereits existieren. Also entweder als feste Datenquelle oder in einer SPD-Datei, die vorher schon abgearbeitet wurde. Dies kann über die alphabetische Sortierung der SPD-Dateinamen geregelt werden.
Die Übergabe des Mastersource-Parameters erfolgt über den Befehl A.Schueler_ID=:ID, wobei über den Doppelpunkt  :NamedesFeldesinderMasterSource die Koppelung geregelt wird.


[Datasource__qryNamederAbfrage]
'''[Datasource__qryNamederAbfrage]'''


Hier wird die Datenquelle mit dem Befehl Name=__dsNamederAbfrage erzeugt.
Hier wird die Datenquelle mit dem Befehl Name=__dsNamederAbfrage erzeugt.




'''[Pipeline__qryNamederAbfrage]'''


Über ''Name=__pplnNamederQuelle'' wird dann die eigentliche Datenpipeline erzeugt.
Die Befehle ''Opendatasource'', ''CloseDatasource'' und ''SkipWhenNoRecords'' entnehmen Sie bitte den Beispieldateien.


[Pipeline__qryNamederAbfrage]


Über Name=__pplnNamederQuelle wird dann die eigentliche Datenpipeline erzeugt.
Die Befehle Opendatasource, CloseDatasource und SkipWhenNoRecords entnehmen Sie bitte den Beispieldateien.


''Username=xxNamederDatenQuelle'' stellt den eigentlichen Namen bereit, den der User später im Reportdesigner zu sehen bekommt.


[[Datei:SPD-04.png |300px ]]


Username=xxNamederDatenQuelle stellt den eigentlichen Namen bereit, den der User später im Reportdesigner zu sehen bekommt.


Die Zeilen geführt von einem Semikolon werden als Kommentarzeilen interpretiert.
Die Zeilen geführt von einem Semikolon werden als Kommentarzeilen interpretiert.


Die Datenquellendateien (SPD) und die zugehörigen Formulare können dann gemeinsam verteilt werden.


Bitte beachten Sie, dass bei der Verteilung der SPD-Dateien ein Schreibzugriff auf das Schild-NRW-Installationsverzeichnis benötigt wird.


In der beiliegenden ZIP-Datei sind zwei Beispiele für solche dynamisch erstellte Datenquellen enthalten.
{{Achtung|Die Datenquellendateien (SPD) und die zugehörigen Formulare können dann gemeinsam verteilt werden.
 
Bitte beachten Sie, dass bei der Verteilung der SPD-Dateien ein Schreibzugriff auf das Schild-NRW-Installationsverzeichnis benötigt wird.}}
 
{{Beispiel|In der beiliegenden ZIP-Datei sind zwei Beispiele für solche dynamisch erstellte Datenquellen enthalten: '''[[Medium:SPD_Dateien.zip]]'''}}


[[http://www.svws.nrw.de/index.php?id=209 Erstellen von eigenen Datenquellen im Report-Designer]]





Aktuelle Version vom 7. September 2015, 11:49 Uhr

Einleitung

Zur Nutzung von eigenen Datenquellen in der Reportverwaltung von Schild-NRW wurde ein Verfahren eingeführt, das es dem Nutzer ermöglicht, spezielle, für einen Report benötigte Datenquellendynamisch zu erstellen und diese dann auch an andere Schild-Installationen weiterzugeben, ohne dass die Datenquellen im Report immer wieder neu angelegt werden müssen.

Außerdem besteht mit dieser Lösung eine Möglichkeit, auch für Schild-Zentral eigene Datenquellen zu nutzen. Die jeweiligen Datenquellen-Dateien müssen dann nur nach einer Sicherheitsüberprüfung von den jeweiligen IT-Administratoren in die Schild-Umgebung kopiert werden.

Einrichtung

Erstellen Sie zunächst ein Verzeichnis Schild-Pipelines in Ihrem Schild-NRW-Installationsordner.

SPD-01.png

In diesen Ordner werden die Datenquellen-Dateien gespeichert.

Es handelt sich dabei um einfache Textdateien mit der Dateiendung *.SPD.

Aufbau der Datenquellen-Dateien (*.SPD)

SPD-02.png

[Queries]

Hier werden alle neu zu definierenden Abfragen mit dem Namenszusatz __qry*** aufgelistet.

[Query__qryNamederAbfrage]

Da dieser Name programmintern eindeutig sein muss, gilt die Konvention, dass __qry*** im Programmcode nicht benutzt wird, so dass keine Namenskollisionen entstehen können, wenn dieses Präfix genutzt wird.

Der InitCommand-Befehl initialisiert die Abfrage und setzt die Namen der zur Verfügung stehenden Felder im Reportexplorer fest.

Die Befehle Command1 und folgende setzen den SQL-Abfrage-String auf die Datenbank zusammen. Die Zusammensetzung aus Command1 + Command2 usw. wurde aus Übersichtsgründen erstellt. Der Befehl kann also auch in einen einzigen Command1-Befehl gesetzt werden.

Mit dem Platzhalter $Schulnr$ kann die Schulnummer der DB abgefragt werden. (Wichtig für Schild-Zentral.)

Mit dem Befehl Mastersource=Schueler.Datasource kann eine übergeordnete Datenquelle angegeben werden. Dies ist über den Abfrageassistenten im Report-Designer nicht so einfach möglich.Der Datenquellenname (hier Schueler) muss in der Reporting bereits existieren. Also entweder als feste Datenquelle oder in einer SPD-Datei, die vorher schon abgearbeitet wurde. Dies kann über die alphabetische Sortierung der SPD-Dateinamen geregelt werden.

SPD-03.png

Die Übergabe des Mastersource-Parameters erfolgt über den Befehl A.Schueler_ID=:ID, wobei über den Doppelpunkt :NamedesFeldesinderMasterSource die Koppelung geregelt wird.


[Datasource__qryNamederAbfrage]

Hier wird die Datenquelle mit dem Befehl Name=__dsNamederAbfrage erzeugt.


[Pipeline__qryNamederAbfrage]

Über Name=__pplnNamederQuelle wird dann die eigentliche Datenpipeline erzeugt. Die Befehle Opendatasource, CloseDatasource und SkipWhenNoRecords entnehmen Sie bitte den Beispieldateien.


Username=xxNamederDatenQuelle stellt den eigentlichen Namen bereit, den der User später im Reportdesigner zu sehen bekommt.

SPD-04.png


Die Zeilen geführt von einem Semikolon werden als Kommentarzeilen interpretiert.


Achtung.png
Achtung!

Die Datenquellendateien (SPD) und die zugehörigen Formulare können dann gemeinsam verteilt werden.

Bitte beachten Sie, dass bei der Verteilung der SPD-Dateien ein Schreibzugriff auf das Schild-NRW-Installationsverzeichnis benötigt wird.


Beispiel.png
Beispiel

In der beiliegenden ZIP-Datei sind zwei Beispiele für solche dynamisch erstellte Datenquellen enthalten: Medium:SPD_Dateien.zip




Zum Seitenanfang

Zurück zur Schild-NRW-Tutorials