Beschreibung des universellen Reportprogrammes
Das Reportprogramm besteht aus zwei Programmteilen, dem Abfrageprogramm, welches die
gewünschten Ergebnisse in einer Liste zusammenstellt und dem Druckprogramm,
welches diese Daten entsprechend der benötigten Form aufbereitet. Der Vorteil
des Programms besteht somit nicht nur in den universellen Abfrage- und
Druckmöglichkeiten die dem Anwender zur Verfügung gestellt werden,
sondern auch darin, daß sowohl die Abfragen als auch
die Druckseite nur einmal erstellt werden müssen. Durch
die Wiederverwendung einmal erstellter Abfragen bzw. Druckseiten sind
Sie in der Lage, sogar komplexe Auswertungen zu automatisieren.
Einsatz des Reportprogrammes
Das Reportprogramm versteht sich als ein zusätzliches Werkzeug, welches auf den
bereits in der Firma vorhanden und genutzten Programmen aufsetzt und
diese sinnvoll ergänzt.
Es ist ein universell einsetzbares Tool, welches für zusätzliche
Auswertungen und Datenbankabfragen eingesetzt
wird, welche nicht durch die bereits vorhandene Software abgedeckt
werden.
Die in der Firma bereits vorhanden Tabellen können für
Abfragen nach beliebigen Feldern verwendet werden. Die Ergebnisse werden
anschließend sofort in der gewünschten Form dargestellt, entweder auf dem
Papier oder als Bildschirmpräsentation. Die Komponenten werden
anschließend einmalig für den Druck angeordnet. Diese Anordnung wird in der
Reportdatei gespeichert. Für die Darstellung einer neuen Ergebnistabelle wird die erstellte Reportdatei aufgerufen
und mit den neuen Daten gefüllt. Damit eignet sich das Reportprogramm hervorragend
für periodisch wiederkehrende Auswertungen, wie Wochenstatistiken,
Umsatzstatistiken usw. Diese Auswertungen erfolgen dann wirklich auf den schon
vielfach gewünschten Knopfdruck.
Neben der enormen Zeiteinsparung haben Sie außerdem den
Vorteil, daß die Listen immer in der gleichen guten
Qualität vorliegen und daß sich außerdem keine
Übertragungsfehler einschleichen können, da
sich die Auswertung immer auf Ihre aktuellen Tabellen bezieht. Die
Arbeit des Auswertens oder der Berichterstellung wird mit Hilfe des
Reportprogrammes automatisiert.
Auch die den Auswertungen zugrunde liegenden Datenabfragen, welche in
einer Maske gespeichert sind, können ständig wieder
aufgerufen und auch verändert werden. Der Anwender ist damit überhaupt
nicht mehr an starre Programmstrukturen gebunden, sondern er kann alle vorhanden
Datenfelder, welche in den betrieblichen Tabellen vorhanden sind, für seine
Auswertungen nutzen. Die Tabellen, und damit auch die Datenfelder
können beliebig kombiniert werden.
Die Funktionsweise des Reportprogramms soll an Hand eines Beispieles
näher erläutert werden.
Wir gehen von einer Firma aus, in welcher zur Zeit nur fünf
verschiedene Tabellen, hier im dBase Format (*.dbf) existieren.
Die Datenstruktur wird im folgenden kurz vorgestellt.
Tabellenstruktur
Tabelle Kunden
enthält die Adresse, Telefonnummer, Mailverbindung der Kunden

Schlüsselfeld ist KNR
Tabelle Lieferanten
enthält die Adresse, Telefonnummer, Mailverbindung der Lieferanten

Schlüsselfeld ist KNR
Tabelle Auftrag
enthält Auftragsnummer, Auftragsdatum, Terminstellung

Schlüsselfeld ist KNR, ANR
Tabelle Aufpos
- enthält alle zu einer Auftragsnummer
gehörigen Auftragspositionen, bzw. Artikel und deren Bestellmenge

Schlüsselfeld ist ARTNR, ANR
Tabelle Artikel
enthält die Bezeichnung, Einkaufs- und Verkaufspreis eines Artikels

Schlüsselfeld ist ARTNR, LNR
Beziehungen zwischen den Tabellen
Im folgenden Bild sind die Tabellenbeziehungen dargestellt. Zur
besseren Veranschaulichung wurden nur die Datenfelder angegeben, welche
als Schlüsselfelder dienen. Diese Felder werden in den folgenden
Masken als Verbindungsfeld zwischen den Tabellen benötigt.
Datenabfragen
Die einfachste Form der Datenabfrage ist die Auswertung nur einer
Tabelle. Um die Abfrage zu formulieren, werden verschiedene
Eingabemasken zur Verfügung gestellt. Hier die Maske
für die Abfrage nur einer Tabelle.
Aufgabe: Es sollen alle Kunden gesucht werden, die in Mainz wohnen.
Es wird die Tabelle Kunden ausgewertet. Der Wohnort "Mainz" ist im Feld Ort
gespeichert. Suchfeld ist Ort, Feldinhalt ist Mainz. Als Operator wird
das Gleichheitszeichen gewählt. Im nächsten Feld
werden alle Feldnamen der Tabelle aufgelistet, welche in unserer
Ergebnisliste als Spalten erscheinen sollen. Durch Klick in das Feld
erscheint ein neues Fenster, welches alle Feldnamen der Tabelle
enthält. Die Auswahl wird durch Markierung vorgenommen.
Auch für die Auswahl des Suchfeldes (hier Ort) erscheint diese Feldliste.
Ebenso für die Festlegung der Sortierreihenfolge. (im Beispiel Firma)
Nach Betätigung des Buttons [Suchen] erscheint die folgende Ergebnisliste.
Alle Masken können gespeichert und somit auch wieder aufgerufen
und verändert werden. Das hat bei diesem kleinen Beispiel zwar
noch wenig Sinn, ist allerdings sehr praktisch bei größeren
Auswertungen mit mehreren Tabellen.
Im Beispiel ändern wir den zu suchenden Ort auf "Dessau".
Wir erhalten dann folgende Ergebnisliste.
Diese wollen wir für den Druck etwas besser und übersichtlicher aufbereiten.
Das praktische an diesem Programm ist dabei, daß die Druckseitengestaltung
ebenfalls nur einmal auszuführen ist. Für alle folgenden Ausdrucke,
auch bei veränderter Maske für die Datenabfrage, wird nur die erstellte
Reportdatei aufgerufen und unsere Daten sind an der gewünschten Stelle plaziert.
Hier ein Beispiel der Druckseite. Sie sehen dabei, daß die Reihenfolge der Daten
bei der Darstellung beliebig geändert werden kann. Ebenso können Sie
festlegen, daß mache Daten, im Beispiel Ort und PLZ nur einmal
gedruckt werden.
Die Entwurfsansicht für die Druckseite sieht wie folgt aus.
Sie sehen hier sowohl Text- als auch Datenbankfelder. In der Überschrift ist Ort
und PLZ ebenfalls ein Datenbankfeld. Außerdem wurden Systemdaten mit in die Liste
eingefügt. Das heißt, wenn der Report erneut geladen
wird, z.B. um die Kunden aus Dessau auszudrucken, muß an der Reportliste
überhaupt keine Änderung vorgenommen werden. Auch das Datum, die Seitennummer
und der Bearbeiter werden automatisch bei der Übernahme der abgefragten Daten
eingesetzt.
Datenabfrage mehrerer Tabellen
Für diese Abfrage wird eine andere "Eingabemaske" verwendet. Die
Arbeitsweise ist analog zu der oben bereits beschriebenen. Das
heißt, wenn Sie auf eines der Eingabefelder klicken,
öffnet sich jeweils ein neues Fenster, welches die zur Verfügung
stehenden Feldinhalte für dieses Editfeld anzeigt. Durch
Markierung wählen Sie die gewünscheten Datenfelder
aus. Die Reihenfolge der Feldnamen in dem zusätzlich aufgehendem
Fenster wird durch Reihenfolge der gewählten Tabellen bestimmt.
Aufgabe:
Auflisten aller bestellten Artikel und der Gesamtpreise pro Artikel, sortiert nach
Kunden - inclusive der Kundenadressen. Der Liefertermin soll im Mai liegen.
Zunächst müssen die Tabellen ausgewählt werden. In
unserem Beispiel benötigen wir vier Tabellen. In der Tabelle
Kunden ist die Adresse des Kunden gespeichert, in der Tabelle Auftrag
steht der Liefertermin, in der Tabelle Aufpos finden wir die bestellte
Anzahl der Artikel und in der Tabelle Artikel steht die Artikelbezeichnung und der Preis.
Entsprechend der ausgewählten Tabellen muß bestimmt werden,
durch welche Schlüsselfelder die Tabellen miteinander verbunden
werden können. Dieses Feld muß in beiden Tabellen
vorhanden sein, da über dieses Feld die Verknüpfung der Tabellen erfolgt.
Als Bedingung wurde hier eingetragen, daß der Liefertermin, welcher in der
Tabelle Auftrag steht, größer als der 30.04.2005 sein soll. Die Sortierung
erfolgt nach Liefertermin.
Das Ergebnis erscheint nach Betätigung des Buttens [Suchen]. Es
bringt uns als Anwender jedoch noch keinen großen Nutzen. Wir
ändern deshalb unsere Eingabemaske. Nun soll der Gesamtpreis
anzeigt werden. Dieser ist aber leider in keiner Tabelle gespeichert.
Es ist aber trotzdem kein Problem. Das Formular bietet auch die
Möglichkeit, ein zusätzliches Feld an unsere Ergebnisliste anzuhängen,
welches aus bereits vorhandenen Datenfeldern berechnet wird. In diesem
Fall wollen wir berechnen, wieviel der Kunde für einen Artikel
bezahlt hat. Wir benötigen also die bestellte Anzahl der Artikel, gespeichert in
der Tabelle Aufpos und dem Einkaufspreis des Artikels, welcher in der Tabelle Artikel
steht. Die Feldbezeichnung, das heißt die Spaltenüberschrift kann
beliebig gewählt werden. Wir geben hier "Gesamtpreis" ein. Die Berechnung erfolgt
durch Multiplikation von Anzahl mal Preis.
Das Ergebnis sehen Sie ausschnittsweise hier.
Nützlicher wäre es, wenn zusätzlich noch der Gesamtpreis pro Kunde
ausgerechnet würde. Außerdem wäre die Ausgabe übersichtlicher,
wenn für jeden Kunden eine extra Seite ausgegeben wird. Die Maske wird deshalb
nochmals aufgerufen und verändert. Es sollen jetzt nur die Aufträge angezeigt
werden, die der Kunde mit der Kundennummer 9 erteilt hat. Damit auch jetzt nur
die Sätze gedruckt werden, bei denen der Liefertermin im Mai liegt, wird als
Bereichsabfrage das Datenfeld Termin ausgewählt. Als untere Grenze wird der
01.05.2005 und als obere Grenze der 31.05.2005 eingetragen. Die Bereichsabfrage stellt
ein zusätzliche Bedingung dar.
Für eine übersichtlichere Datenausgabe haben wir folgende Seite angelegt. Diese
Seite kann nun immer wieder verwendet werden, egal für welchen Kunden die Abfrage
erfolgt. Die Kundennummer und die Anschrift des Kunden werden genauso aktualisiert, wie
die eigentlichen Aufträge der Kunden in der Tabelle.
Das Druckprogramm arbeitet mit verschiedenen Objekten, welche in der rechten Spalte der
folgenden Grafik aufgelistet sind.
-
Text
Es handelt sich um Beschriftungsfelder
- Linie
Sie verwenden sie als Trennlinie zwischen Datensätzen, zum
Unterstreichen, zum Abtrennen zwischen Kopf-, Daten- und Fußbereich.
- Textblock Richtext
Hier können Sie größere Textpassagen
unterbringen, die aus mehreren Sätzen bestehen können.
Außerdem haben Sie die Möglichkeit, hier Felder Ihrer Tabelle
in den Text zu integrieren. Damit bietet dieses Objekt umfangreiche
Möglichkeiten gerade für den Druck von Serienbriefen.
- Graphic
Hier können Bilder oder Diagramme geladen werden, welche Sie in die von Ihnen
erstellte Seite einbinden möchten.
- Datenfeld
Mit diesem Objekt übernehmen Sie eine Spalte Ihrer im Vorfeld erstellten
Tabellenabfrage.
- Datenvariable
Die von Ihnen vor der Reporterstellung eingegeben Daten (Benutzername,
Projektbeschreibung, Satzanzahl) stehen Ihnen hier zur Verfügung.
Außerdem wird die Gesamtsumme über die numerischen Felder
der von Ihnen erstellten Abfrage angeboten. (Gesamtsumme der Spalte)
- Systemvariable
Hier finden Sie zum Beispiel das Datum, Wochentag, Zeit, Seitennummer)
- Steuerzeichen
Hier ist zur Zeit nur ein Steuerzeichen zu finden, die Fußzeile.
Dieses Objekt wird für die Erstellung der meisten Seiten benötigt.
Damit wird festgelegt, bis wohin die Daten des Datenfeldes aus der Tabelle
gedruckt werden können. Alle folgenden Daten werden auf der nächsten
Seite gedruckt. Unter die Fußzeile können dann z.B. noch Daten
aus der Variablendatei gedruckt werden, wie Bearbeiter, Dateiname, Datum und
die Seitennummer.
Bei der einmaligen Gestaltung der Seite, legen Sie fest, an welcher Stelle die
Datenfelder stehen sollen. Der Gesamtumsatz pro Kunde stellt die Summe der Spalte
Gesamtpreis dar. Diese Summe wird bei der Übergabe der Ergebnisliste an das
Druckprogramm berechnet und steht nun als Datenvariable zur Verfügung.
Die rote Linie am unteren Seitenrand stellt die Begrenzung für den
Druck der Datenfelder pro Seite dar. Darunter befinden sich noch die
Datumsangabe, Seitennummer und die Summe der Spalte Gesamtpreis.
Diese Liste ist sehr praktisch. Sie gibt den Gesamtumsatz eines Kunden,
aufgelistet nach allen Artikeln an.
Durch Wiederaufruf der Eingabemaske (Doppelklick auf die Datei) kann
z.B. die Kundennummer von "9" auf "2" geändert
werden. Damit sind jetzt alle Bestellungen des Kunden mit der Kundennummer 2 in der
Ergebnisliste enthalten. Die soeben erstellte Reportdatei wird mit der
neuen Ergebnisliste gefüllt. Unsere Auswertung ist damit
fertig.
Statistische Auswertungen
Aufgabe:
Es soll angezeigt werden, wieviele Artikel von jedem Kunden bestellt wurden. Dabei soll
auch die maximale Bestellmenge eines Artikels durch einen Kunden und die
durchschnittliche Bestellmenge eines Kunden pro Artikel ermittelt werden. Außerdem
soll der Gesamtumsatz pro Kunde errechnet werden.
Für die Lösung dieser Aufgabenstellung werden auch wieder vier Tabellen
benötigt. Neu ist das Eingabefeld "Gruppe bilden". Diese Eingabe ist
erforderlich, wenn Berechnungen durchgeführt werden sollen, welche sich auf mehrere
Datensätze beziehen. In diesem Fall sollen die Anzahl der
bestellten Artikel und der Gesamtumsatz pro Kunde ermittelt werden. Das
Gruppenfeld muß also Kunde sein. Hier haben wir die Auswahl
zwischen Kundennummer und Firmennamen. Wir haben uns für den
Firmennamen entschieden, um den Anwendern die gedankliche Zuordnung des
Namens zu der Kundennummer zu ersparen.
Für die Berechnung der Gesamtsumme wird, wie oben schon beschrieben, ein neues Feld
an unsere Ergebnisliste angehängt, welches das Produkt aus Anzahl mal Preis
beinhaltet. Im unteren Teil wird das Datenfeld ausgewählt, für welches Summe,
Minimum, Maximum, Durchschnitt oder Anzahl der Datensätze ermittelt werden
soll. In diesem Beispiel ist es jeweils die bestellte Anzahl. Die Summe über die
Anzahl aller bestellten Artikel ist nicht sinnvoll und wurde deshalb weggelassen.
Der Gesamtumsatz wird bei Übergabe der abgebildeten Ergebnisliste an das
Druckprogramm errechnet und steht dort als anzeigbare Variable zur Verfügung.
Als Spaltenüberschrift legen wir natürlich für den Nutzer leichter
verständliche Namen fest, als das System uns standardmäßig ausgibt.
Das Ergebnis sieht dann wie folgt aus.
Dieses Ergebnis können Sie auch als Grafik darstellen. Wir bieten Ihnen dabei die
Möglichkeit, zwischen verschiedenen grafischen Darstellungen zu wählen. Die
Titelüberschrift und die Beschriftung der Achsen können Sie selbst bestimmen.
Sie legen ebenfalls fest, welche Tabellenspalte Ihre Grafik darstellen soll. Im
Beispiel haben wir die Anzahl der bestellten Artikel betrachtet.
Zur besseren Veranschaulichung, haben wir sowohl ein Säulen-, als auch ein
Kreisdiagramm erstellt.
Komplexe Auswertungen
Sicher werden Sie an ganz andere Auswertungen denken, die in der Praxis auch bedeutend
umfangreicher sind, als hier gezeigt. Aber auch größere
Auswertungen, bei denen die Abfrage mehrere Bedingungen berücksichtigen muß,
sind mit Hilfe der Masken darstellbar.
Außerdem bietet das Programm die Möglichkeit, umfangreiche Abfragen
außerhalb des Programmes zu formulieren und in einer Datei zu speichern. Die Datei
kann dann vom Reportprogramm geladen und ausgeführt werden. Die Ergebnisliste wird
auf die gleiche Art und Weise an den zweiten Programmteil, den Druck weitergeleitet.
Gern sind wir Ihnen behilflich, auch solche Abfragedateien zu erstellen. Nach der
einmaligen Erstellung dieser Abfragedateien, können diese ebenso wie alle mit Hilfe
der Masken generierten Abfragen, ständig wieder aufgeufen werden. Sie bieten damit
eine zusätzliche Möglichkeit, um auch sehr komplexe Auswertungen
zu automatisieren, um Ihnen einen sehr schnellen Zugriff zu den aktuellen Daten zu
gewährleisten.