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

Zur Navigation springen Zur Suche springen
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:
== Aufbau der Datenquellen-Dateien (*.SPD) ==
== Aufbau der Datenquellen-Dateien (*.SPD) ==


[[Datei:SPD-02.png | left]][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]]




677

Bearbeitungen

Navigationsmenü