Individuelle Abfragen
AnSyS.B4C bietet Ihnen die Möglichkeit, individuelle Abfragen zu erstellen, diese für ausgewählte Benutzer zugänglich zu machen und die Ergebnisse der Abfragen in den Formaten CSV, XLS oder XLSX zu exportieren oder in Tabellenform auszudrucken.
Die Programmfunktion für die Erstellung individueller Abfragen gibt Ihnen die Möglichkeit, Abfragen in AnSyS.B4C selbständig und individuell an Ihre Bedürfnisse anzupassen. Für die Erstellung individueller Abfragen sind Kenntnisse in SQL und die Kenntnis des Datenmodells von AnSyS.B4C erforderlich. SQL-Kenntnisse können durch das Studium einschlägiger Literatur erworben werden.
Alternativ können zu diesen Themen auch Schulungen der AnSyS GmbH in Anspruch genommen werden. Wir bitten um Verständnis, dass diese Dokumentation keine Anleitung für die Erstellung komplexer SQL-Statements sein kann.
Bedeutung individueller Abfragen
Die Auswertung des sich im Laufe der Geschäftstätigkeit aufbauenden Datenbestandes einer ERP-Anwendung stellt heute für Handels- und Dienstleistungsunternehmen einen wichtigen Erfolgsfaktor und die Grundlage für die Steuerung der internen Geschäftsprozesse und der Qualitätssicherung dar.
Ein so komplexes und umfangreiches Datenmodell wie das von AnSyS.B4C lässt unendlich viele Auswertungsmöglichkeiten zu. Es wird wohl für einen Softwarehersteller niemals möglich sein, alle diese möglichen Auswertungen im Rahmen der Standardanwendung vorzudefinieren, so dass der Anwender nur noch die richtige Auswertung auswählen muss.
Um Ihnen als Anwender hier umfangreiche Flexibilität zu gewähren, wurde dieses Modul zur Definition von individuellen Abfragen geschaffen. Darüber hinaus lassen sich über individuelle Abfragen Daten von AnSyS.B4C für den Import in andere Anwendungen zusammenstellen.
Als Beispiel seien hier Finanzbuchhaltungsprogramme oder auch nur die aus dem Controller-Alltag nicht mehr wegzudenkende Tabellenkalkulation genannt.
Die Anwender von AnSyS.B4C haben somit die Möglichkeit, in Kenntnis des Datenmodells und der Abfragesprache SQL eigene Auswertungen zu erstellen oder solche Auswertungen durch den Support der AnSyS GmbH erstellen zu lassen, die auf einfache Art und Weise per E-Mail verschickt werden können, ohne dass AnSyS.B4C selbst ausgetauscht werden muss.
Anlegen, Speichern und Aufrufen
Individuelle Abfragen finden sich im Menüsystem an zwei Stellen wieder: Die Funktion zur Definition solcher Abfragen ist im Verwaltungs-Menü des Administrationsbereiches zu finden. Die Funktion zum Ausführen individueller Abfragen findet sich im Menü unter 'Listen und Auswertungen' in den Modulen unserer AnSyS.B4C-Software.
Der Aufruf dieses Menüpunktes ist nur für Mitarbeiter möglich, die mit einer Rollenzuordnung versehen sind, die ihrerseits dieses Recht besitzen. Die individuellen Abfragen unterscheiden sich in diesem Punkt nicht von anderen Menüfunktionen. Üblicherweise wird diese Berechtigung dem Administrator oder auf die EDV-Abteilung erteilt.
Der Zugriff auf die verschiedenen Definitionen individueller Abfragen erfolgt über das Menü durch einen Suchdialog, dessen Aufbau sich nicht von den anderen Suchdialogen in AnSyS.B4C unterscheidet und deshalb an dieser Stelle nicht genauer erläutert werden muss.
Bei der Definition individueller Abfragen muß zunächst ein Abfragetyp ausgewählt werden. Mit Hilfe des Typs wird festgelegt, zu welchem Zweck eine Abfrage angelegt wird und schließlich über welche Menüfunktion sie später aufgerufen werden kann:
Abfrage(Standard) Export Allgemein Export Datenfelder Export FIBU-Daten Export Anfrage/Bestellung Datenimport im Beleg Belegdruck
Die individuellen Abfragen selbst werden in Form eines XML-Fragments gespeichert, das alle erforderlichen Informationen enthält.
So ein komplettes XML-Fragment sehen Sie in der nächsten Abbildung:
Durch die Checkbox für die Aktivierung von individuellen Abfragen können diese temporär oder bei Bedarf aktiviert/deaktiviert werden.
Hinsichtlich der Rechtevergabe können individuelle Abfragen einem bestimmten Mitarbeiter, allen Mitarbeitern einer Abteilung oder/und allen Inhabern einer bestimmten Rolle zugewiesen werden. Diese drei Möglichkeiten können einzeln oder gemeinsam verwendet werden. Wenn keine der drei Möglichkeiten verwendet wird, steht die betreffende Abfrage allen Benutzern von AnSyS.B4C zur Verfügung. Folgend ein Screenshot, wie das aussehen könnte:
Die Funktion für den Aufruf individueller Abfragen befindet sich im Menü „Listen und Auswertungen“ in den Modulen 'AnSyS FACTURA', AnSyS CRM' und in 'AnSyS FIBU' unseres Warenwirtschaftsprogramms. Auch hier muss auf die grundsätzliche Rechtevergabe für diese Funktion geachtet werden, da sie ansonsten nicht erscheint.
Nachdem eine individuelle Abfrage ausgewählt wurde, erscheinen die Eingabefelder für die verschiedenen Abfrageparameter oder nichts, wenn eine parameterfreie Abfrage angeklickt wurde.
Die Schaltfläche 'Ausführen' bringt die Abfrage mit den gegebenenfalls eingegebenen Parametern auf dem Datenbankserver zur Ausführung und das Ergebnis wieder zurück auf Ihren Bildschirm, von wo aus Sie es drucken oder als CSV-Datei bzw. als Excel-Arbeitsmappe exportieren können.
Abfragen erstellen
Die einfachste Form einer individuellen Abfrage basiert auf einem parameterfreien SQL-Statement. Im Grunde genommen wird eine individuelle Abfrage in vier bzw. fünf Schritten erstellt:
1. Formulierung und Definition eines SQL-Statements in unserer SQL-Konsole. 2. Eine neue individuelle Abfrage erstellen und das SQL-Statement in den SQL-Bereich kopieren. 3. Felder einlesen und die Beschriftung vornehmen evtl. auch Eigenschaften hinterlegen. 4. Parameter anlegen (sofern welche benötigt werden) und hier die jeweiligen Eigenschaften hinterlegen und die Parameter in das SQL-Statement integrieren. 5. Individuelle Abfrage in der Rechtezuweisung freischalten.
In unsere SQL-Konsole gelangen Sie über das Menü, egal in welchem Modul Sie sich gerade befinden. Hier klicken Sie auf 'Info' und wählen 'Systeminformation' aus.
Nun erscheint das Fenster 'System'. Dort wiederum klicken Sie im Menü auf 'Datenbank' und wählen hier die 'SQL-Konsole' aus.
Jetzt sehen Sie unsere Konsole, wo Sie in dem oberen Bereich das SQL-Statement definieren und im unteren Bereich dann die Ausgabe sehen können.
Unser Beispiel zeigt eine ganz einfache Abfrage aus der Tabelle 'parts', wo Stammdaten aller Artikel in der Datenbank gespeichert werden.
Die meisten SQL-Befehle werden in der Farbe 'blau' dargestellt, für eine übersichtlichere Darstellung.
Um eine Abfrage ausführen zu können, muss der Cursor irgendwo in der Abfrage stehen. Sie drücken die 'Strg-Taste' und dann die 'Enter-Taste' und sogleich wird die Abfrage ausgeführt. Sie können auch die Schaltfläche 'Ausführen' benutzen, das geht auch. Es wäre auch der etwas umständlichere Weg über 'Aktionen' möglich, dort könnte man 'Ausführen' auswählen und die Abfrage wird auch ausgeführt. Hier sehen Sie auch die Info, das es eine Kurzwahltaste gibt, die man ebenfalls bedienen kann. Standardmäßig sollte es hier die 'F5-Taste' sein.
Nachdem Sie das Statement formuliert haben und das Abfrageergebnis die Werte liefert die Sie wünschen, geht es weiter mit Schritt Nummer 2. Sie markieren nun die erstellte Abfrage und kopieren diese. Jetzt begeben Sie sich ins Modul 'AnSyS Administration'. Dort navigieren Sie zu 'Verwaltung' → 'Individuelle Abfragen' und befinden sich nun in dem bereits oben erwähnten Suchdialog. Wenn Sie die Schaltfläche 'Suche' betätigen, erscheinen die vorhandenen Abfragen - soweit welche vorhanden sind. In unserem Beispiel-Suchdialog existieren bereits Zwei.
Um nun eine neue individuelle Abfrage zu erstellen, klicken Sie einfach auf die Schaltfläche 'Neu'.
Der Dialog der nun aufgeht, besteht aus drei 'Kartei-Reitern':
I. Abfrage II. XML III. Anzeige
In der nun 8. Abbildung können Sie dies sehen:
Reiter 'Abfrage'
Zuerst erklären wir Ihnen den Reiter 'Abfrage'. Dieser teilt sich in folgende verschiedene Bereiche auf.
- Reporteigenschaften
- Felder (Reiter SQL)
- Parameter
- Steuerelemente
- SQL
Reporteigenschaften
In diesem Bereich können allgemeine Reporteigenschaften der individuellen Abfrage eingetragen und ausgewählt werden. Folgend eine Übersicht:
Eigenschaft | Beschreibung |
---|---|
Bezeichnung | Interner Name der Individuellen Abfrage. |
Beschreibung | Anzeigename, welcher in Dialogen und im Menü erscheint. |
UUID | Systemübergreifende eindeutige ID der Abfrage. |
Exportname | Name der exportierten Datei. |
Überschriften exportieren | Häkchen setzen, um in der ersten Zeile der Exportdatei die Spaltenüberschriften anzuzeigen. |
Spaltentrenner | Das Zeichen, welches die einzelnen Spalten voneinander trennt. |
Feldtrenner | Das Zeichen, welches eine Zeichenkette umschließt. |
Format | Das Format der Exportdatei. |
Weitere Eigenschaften | Erlaubt das Hinzufügen von Benutzerdefinierten Eigenschaften. |
Tabelle 1: Allgemeine Reporteigenschaften Beschreibung Beispiel für allgemeine Reporteigenschaften:
Werden die hier angegebenen Eigenschaften nicht genutzt, wird im Dialog zur Reporterzeugung die in der Konfigurationsdatei bestimmten Standardwerte gesetzt.
Die Reporteigenschaften können mit der Schaltfläche (kleines schwarzes Dreieck) neben der Bezeichnung 'Reporteigenschaften' ausgeblendet werden. Somit bleibt mehr Platz für die darunter liegenden Bereiche. Besonders 'wertvoll' bei vielen Spaltennamen (Feldnamen), wegen der Übersicht.
Felder
Im Bereich 'Felder' finden sich die Spaltennamen, so wie diese in Ihrem SQL-Statement formuliert sind. Über die Schaltfläche 'Felder einlesen' (ein Steuerelement im mittleren Bereich) werden die Spaltennamen hier eingelesen und können dort auch bearbeitet werden. Zum einlesen muss natürlich zuvor das SQL-Statement in den unteren SQL-Bereich kopiert werden.
Jede Zeile dieser Tabelle repräsentiert später eine Spalte in der Tabelle des Dialogs zur Reporterzeugung. Durch Bestätigen einer Eingabe in einer beliebigen Spalte wird automatisch eine neue, leere Zeile angelegt.
Die Zeilen können in ihrer Reihenfolge (muss markiert sein) mit den Pfeiltasten entsprechend verrückt werden und somit bestimmen Sie die Reihenfolge der Spalten. Benötigen Sie eine Zeile nicht, kann diese ganz einfach mit dem Button 'Löschen' raus genommen werden.
Nach dem einlesen der Felder ist die Spalte 'Label' automatisch mit der Bezeichnung aus der Spalte 'Namen' vorbelegt. In der Regel wird dies in Großbuchstaben sein.
Die Einträge in 'Label' können ganz nach Ihren Vorstellungen beschriftet werden für Ihre individuelle Abfrage. Wird der Eintrag gelöscht, erscheint diese Spalte auch nicht im Reporterzeugungsdialog.
Beschreibung der Spalten im Bereich 'Felder':
Spalte | Beschreibung |
---|---|
Name | Spaltenname in der SQL-Abfrage. |
Typ | Das Datenformat der Spalte (bspw. String für Zeichenketten). |
Label | Der Spaltenname der im Dialog zur Reporterzeugung angezeigt wird. |
Format | Die Formatierung der Spalte. |
Eigenschaften | Hier öffnet sich ein Dialog, um der Spalte benutzerdefinierte Eigenschaften zuzuweisen. Leuchtet das Icon grün, besitzt diese Spalte eine benutzerdefinierte Eigenschaft z.B. eine 'Öffnungsfunktion' |
Tabelle 2: Felder Beschreibung
Ein Beispiel für eine 'Öffnungsfunktion' zeigen wir Ihnen weiter hinten in der Doku, mit den wichtigsten Bean-Klassen.
Zudem ist es auch möglich, Berechnungen wie z.B. eine Summation einer Spalte durchzuführen. Auch dazu ein Beispiel später.
Es können mit einem Klick in die Zeile und der jeweiligen Spalte Veränderungen der Einstellungen vorgenommen werden.
Parameter
Im Bereich 'Parameter' werden die Parameter angelegt, die Sie für Ihre Abfrage benötigen. Das sind später die Eingabefelder in Ihrer individuellen Abfrage, wo die Kriterien ausgewählt/hinterlegt werden, nach denen die Abfrage erfolgen soll. Letztendlich sind das die Filtermöglichkeiten, um genau zu dem Ergebnis zu gelangen das gewünscht wird.
Für Sie bedeutet das: Jeder Eintrag in dem Bereich 'Parameter' repräsentiert später einen Parameter im Dialog mit Auswahl-/Eingabemöglichkeit zur Reporterzeugung. Das Erstellen einer neuen Zeile erfolgt analog zu dem Bereich 'Felder'.
Die Zeilen können in ihrer Reihenfolge (muss markiert sein) mit den Pfeiltasten entsprechend verrückt werden und somit bestimmen Sie hier die Reihenfolge der Parameter im späteren Reporterzeugungsdialog.
Durch hinterlegen von Eigenschaften können diese nebeneinander oder untereinander angeordnet werden. Benötigen Sie eine Zeile nicht, kann diese ganz einfach mit dem Button 'Löschen' raus genommen werden.
Die angelegten Parameter müssen in der Form $P{PARAMETER} im SQL-Statement definiert sein. Eine Abfrage kann beliebig viele Parameter enthalten. Der Parametername kann dabei frei gewählt werden.
Mehr Beispiele für das Anlegen von Parametern erfahren Sie in dieser Dokumentation unter 'Abfragen mit Datenpickern für die Parametereingaben' und 'Feld- und Parametereigenschaften'
Beschreibung der Spalten im Bereich 'Parameter':
Spalte | Beschreibung |
---|---|
Name | Name wie er in der SQL-Abfrage steht |
Typ | Datentyp des Parameters (bspw. Integer für Ganzzahlen). |
Label | Anzeigename des Parameters im Reporterzeugungsdialog. |
Standardwert | Wert der Standardmäßig im Parameter angezeigt wird. |
Eigenschaften | Hier öffnet sich ein Dialog, um der Spalte benutzerdefinierte Eigenschaften zuzuweisen. Leuchtet das Icon grün, besitzt diese Spalte eine benutzerdefinierte Eigenschaft z.B. wenn ein Datenpicker hinterlegt ist. |
Tabelle 3: Parameter Beschreibung
In unserem einfachen Beispiel fragen wir das Anlagedatum von Artikeln ab und den Status des Artikels, um genau die Liste zu erhalten die gebraucht wird.
Die dazu nötigen Parameter sehen Sie in der folgenden Abbildung.
Wenn dann alles soweit fertig ist, speichern Sie die neue individuelle Abfrage, indem Sie auf den Button 'Speichern' klicken (in der Abbildung 'Bereich 'Parameter'' rot umrandet).
Steuerelemente
Mit den Schaltflächen, 'Pfeilsymbol oben', 'Pfeilsymbol unten' und 'Löschen' können Sie die Position des markierten Tabelleneintrags ändern (verschieben nach oben oder unten) oder diesen Eintrag löschen.
Hier finden Sie auch noch die Schaltfläche 'Felder einlesen', die sich von den anderen Steuerelementen von der Funktionalität her unterscheidet.
Mit dieser Schaltfläche werden nämlich die Spaltennamen aus dem SQL-Bereich in den Bereich 'Felder' eingelesen, um dort die Beschriftung und das Format zu erhalten, wie es gewünscht wird bzw. auch notwendig ist.
SQL
Das fertig formulierte SQL-Statement aus der SQL-Konsole wird in diesen Bereich kopiert, um es hier den Feinschliff zu geben und mit eventuellen Variablen (Parametern) zu ergänzen.
Größere SQL-Statements können mit der 'SQL-Zoom' Schaltfläche übersichtlich dargestellt werden. Betätigt man diese Schaltfläche werden andere Bereiche ausgeblendet um Platz zu schaffen für die Bearbeitung des SQL-Statements. Somit behält man hier den Überblick in diesem Bereich.
Bei sehr langen SQL-Statements, muss man dann aber auch schon mal die Laufleiste auf der linken Seite benutzen, um das ganze Statement von oben nach unten betrachten zu können.
Werden die Zeilen länger, wird auch noch im unteren Bereich eine Laufleiste automatisch eingeblendet im SQL-Bereich.
Hinweis: Wie Ihnen sicherlich schon aufgefallen ist, gibt es neben dem 'SQL-Reiter' noch weitere Reiter: 'JavaScript', 'Konfiguration und 'Hilfe'.
'JavaScript': Hier könnten von uns noch ganz spezielle Funktionalitäten mit einem Java-Script aufgerufen werden, die die Abfrage in irgendeiner Art und Weise ergänzen könnten. Das wird aber in dieser Anleitung nicht näher behandelt, da dies in erster Linie nichts mit dem erstellen von individuellen SQL-Abfragen zu tun hat und im Einzelfall von uns programmiert werden muss.
'Konfiguration: Hierzu geben wir Ihnen am Ende der Dokumentation unter Exportfunktion ein Beispiel, wie Sie diese Funktion nutzen können.
'Hilfe': Hier haben Sie die Möglichkeit, einen Hilfetext zu verfassen, der den Mitarbeitern Informationen gibt, wie die individuelle Abfrage zu benutzen ist und worauf eventuell bei Parametereingaben zu achten ist, wenn man solche benutzt.
Wird dort nun ein Text hinterlegt, wird im späteren Reporterzeugungsdialog automatisch ein Info-Button eingeblendet, wo dann die Info abzurufen ist, wenn man mit der Maus darauf klickt.
Es folgen einige Bilder, wo Sie sehen können, wie Sie den Reiter 'Hilfe' anwenden können und wie er sich im Reporterzeugungsdialog darstellt.
Info: Wird in diesen o.g. Reitern etwas eingetragen und gespeichert, wird der 'Bubble' auf dem jeweiligen Reiter grün, so wird Ihnen signalisiert, das hier etwas geschrieben steht.
Im Reporterzeugungsdialog ist dieser 'Hilfe-Text' dann über den Info-Button abzurufen.
Reiter 'XML'
Unter dem XML-Reiter sehen Sie die komplette XML-Struktur der individuellen Abfrage, die automatisch nach dem Speichern erstellt wird. Hier solten nur Änderungen vorgenommen werden, wenn Sie Erfahrungen mit dem Umgang von XML-Dateien haben.
Diese XML-Struktur spiegelt im Prinzip die ganzen Bereiche und Einstellungen der individuellen Abfrage wider.
Sechs Bereiche sind hier strukturiert:
- AReport-Tag (Name der Abfrage und Systemübergreifende eindeutige UUID)
- Property-Tag (allg. Reporteigenschaften)
- Parameter-Tag (Parameter und deren Eigenschaften)
- Field-Tag (Spaltennamen und deren Eigenschaften)
- Query-Tag (SQL-Statement)
- Display-Tag (Status, Schaltflächen, Menü, Untermenü usw.)
In der folgenden Abbildung ist dies noch einmal farblich dargestellt anhand unseres Beispiels der Artikelabfrage:
Folgend noch einige Erläuterungen dazu:
AReport-Tag
Zwischen den Tags <AReport> und </AReport> werden alle Reporteigenschaften, Parameter und Felder, sowie die SQL-Abfrage geschrieben. Im Grunde steht die gesamte XML-Struktur zwischen diesen Tags.
Attribut | Beschreibung |
---|---|
Name | Der Interne Name der Individuellen Abfrage = das Feld 'Bezeichnung' |
Label | Der Anzeigetext in Dialogen und im Menü = das Feld 'Beschreibung' |
UUID | Systemübergreifende eindeutige ID der Abfrage |
Tabelle 4: Reportattribute
Property-Tag (Allgemeine Reporteigenschaften)
Hier sind die allgemeinen Reporteigenschaften der Abfrage zu sehen wie die Spaltentrenner, Feldtrenner, Format, Exportname usw..
Attribut | Beschreibung |
---|---|
Name | Datentyp/Referenzname der Eigenschaft |
Value | Wert/Name der Eigenschaft |
Tabelle 5: Allgemeine Eigenschaftsattribute
Parameter-Tag (Parametereigenschaften)
Ein Parameter-Tag entspricht einem Eingabeparameter im Dialog zur Erzeugung von Reporten.
Attribut | Beschreibung |
---|---|
Name | Name wie er in der SQL-Abfrage erscheint |
Class | Datentyp des Parameters (bspw. Integer für Ganzzahlen) |
Description | Anzeigename des Parameters im Reporterzeugungsdialog |
DefaultValueExpression | Wert der Standardmäßig im Parameter angezeigt wird |
Tabelle 6: Parameterattribute
Neben Standard-Eingaben wie Text und Bool'sche Werte sind über das Hinzufügen von Eigenschaften auch folgende komplexere Eingabetypen möglich wie
- Picker
- Comboboxen
Beispiele hierzu mit Erklärungen finden Sie weiter unten genauso wie die wichtigsten Pickerklassen.
Diese sind auch auf unserer Webseite zu finden. Sollten Sie noch andere Pickerklassen benötigen, dürfen Sie uns gerne kontaktieren und in unserem Support nachfragen.
Zudem können die Eigenschaften auch dazu benutzt werden, das Erscheinungsbild der Parameter im Dialog zur Reporterzeugung zu gestalten.
Name | Gültige Werte | Beschreibung |
---|---|---|
columns | Ganzzahl | positive Breite des Eingabefeldes |
labelcolumns | Ganzzahl | positive Breite des Labels=Beschriftung |
newcolumn | "true" oder "false" | Hier entsteht eine neue Spalte |
fullcolumn | "true" oder "false" | Legt fest, ob die gesamte Fensterbreite genutzt wird |
weight | positive Gleitkommazahl | Gewichtung in horizontaler Ausrichtung |
sameline | "true" oder "false" | Legt fest, ob der Parameter in der selben Zeile, wie der Vorhergehende erscheint |
Tabelle 7: Parametereigenschaften die das Erscheinungsbild beeinflussen
Field-Tag (Feldeigenschaften/Spalteneigenschaften)
Field-Tags stellen die Spalten der resultierenden Tabelle dar. Hier wird außer dem Namen der Spalte auch der Datentyp, Format der Ausgabe und die Bezeichnung festgelegt.
Attribut | Beschreibung |
---|---|
Name | Spaltenname in der SQL-Abfrage |
Class | Das Datenformat der Spalte (bspw. String für Zeichenketten) |
Description | Der Spaltenname der im Dialog zur Reporterzeugung angezeigt wird |
Format | Die Formatierung der Spalte (s. Tabelle) |
Tabelle 8: Das Attribut Format hängt vom Datentypen des Fields ab.
Format | Zugerhöriger Typ | Beschreibung |
---|---|---|
String | java.lang.String | Zeichenkette, linksbündig |
Stringright | java.lang.String | Zeichenkette, rechtsbündig |
Digits0 | java.lang.Integer | Ganzzahl |
Digits1-7 | java.lang.Double | Numerischer Wert mit 1,..., 7 Nachkommastellen |
DigitsVar | java.lang.Double | Numerischer Wert mit variabler Stellenzahl zwischen 0 und maximal 10 Stellen |
Date | java.sql.Date oder java.sql.Timestamp | Datum im landestypischen Format |
Tabelle 9: Feldformate und zugehörige Typen
Bei den Feldeigenschaften kann z.B. auch eine Öffnungsfunktion oder auch eine Summation hinterlegt werden, dazu aber auch hier Beispiele weiter unten.
Query-Tag (SQL-Statement)
Die auszuführende SQL-Abfrage wird zwischen die Query-Tags geschrieben. Beachten Sie, dass es ebenso innerhalb der eckigen Klammern des ![CDATA['SQL-Statement']]stehen muss, wie es im Beispiel (Abbildung 'XML-Struktur') gezeigt wird.
DisplayConfig-Tag (Status, Schaltflächen, Menü, Untermenü usw.)
Hier finden Sie die Einstellungen, die alle unter dem Reiter 'Anzeige' angehakt und eingetragen sind.
Das sind unter anderem spezielle Zugriffsberechtigungen, Zuordnung an Abteilungen und Personen, Status der Abfrage, Abfragetyp, wird die Abfrage im Menü (Listen und Auswertungen) oder einem darin angelegten Untermenü angezeigt, in welchem Modul (M0 – M4, M0=AnSyS CRM, M1=AnSyS FACTURA, M2b=AnSyS FIBU, M3=AnSyS Katalog, M4=AnSyS Organisation) ist die Abfrage hinterlegt usw. - all dies kann hier vorgefunden bzw. auch eingestellt werden.
Reiter 'Anzeige'
In diesem Reiter können Sie festlegen, wer die individuellen Abfragen ausführen darf (Mitarbeiter, Abteilung und wer mit welcher Berechtigung) und wo diese in welchem Modul (AnSyS FACTURA, AnSyS CRM usw.) unter 'Listen und Auswertungen' dann zu finden sind.
Auch kann man bestimmen, ob Schaltflächen für eine Exportfunktion im Reporterzeugungsdialog angezeigt werden sollen. Zudem kann man hier Untermenüs anlegen, um den Überblick und Ordnung beizubehalten.
Im Prinzip ist das wie ein Ordner, dem die Abfragen zugeordnet werden. Um bei unserem o.g. Beispiel der individuellen Abfrage zu bleiben, könnte man hier ein Untermenü anlegen mit der Bezeichnung 'Artikelabfragen. Alle Abfragen die dann mit Artikeln zu tun haben, kommen dann in diesen 'Ordner'.
Bei mehreren individuellen Abfragen ist es möglich, mit dem Feld 'Priorität' die Reihenfolge der Abfragen mittels einer Ganzzahl z.B. '10' festzulegen. Je kleiner die Zahl desto weiter oben erscheint die Abfrage dann in der Auswahlliste.
Man kann den Status der Abfrage verwalten indem man die Abfrage 'Aktiviert' oder 'Deaktiviert'.
Bei einer individuellen Abfrage muss bei Typ immer 'Abfrage' hinterlegt sein. Nutzen Sie die Exportfunktion, muss der Typ 'Export Datenfelder' ausgewählt werden. Auf die anderen Typen wird hier nicht näher eingegangen.
Arbeiten Sie mit einem Webservice und möchten die Abfrage auch über einem Webservice aufrufen können, muss hier bei 'Webservice-Zugriff' das Häkchen gesetzt sein, sonst ist dieser spezielle Zugriff auf die Abfrage und auch deren Ausführung nicht möglich.
Folgend die Abbildung 'Einstellungen in ' Anzeige'', mit Hinweisen und kurzen Erklärungen dazu:
Abfragen mit Öffnungsfunktion
Wenn Sie beispielsweise – um bei unserer o.g. Beispielabfrage zu bleiben – alle aktiven Artikel abfragen, wäre es sicherlich auch sinnvoll, wenn Sie die betreffenden Artikel einfach und direkt aus dem Abfrageergebnis heraus öffnen könnten.
Dazu muss in dem SQL-Statement die 'id_parts' mit abgefragt werden und diese an erster Stelle als Feldnamen im Bereich 'Felder' positioniert sein. Allerdings sollte hier bei 'Label' kein Name eingetragen sein (bleibt i.d.R. leer, sonst erscheint die Artikel-ID in der Abfrage) und in der Spalte 'E...' muss eine Feldeigenschaft hinterlegt werden.
Wenn Sie nun auf den 'grauen Bubble' klicken in der Spalte 'E...', öffnet sich der Dialog für die Feldeigenschaften. Hier tragen Sie in das Feld unter der Spaltenüberschrift 'Name' das Wort 'BEAN' ein und unter der Spaltenüberschrift 'Wert' das Wort 'Parts' (die Bean-Klasse). Anschließend klicken Sie auf 'OK' und der Dialog schließt sich wieder, mit dem Ergebnis, dass der 'graue Bubble' nun grün geworden ist. Das signalisiert, wie oben bereits schon einmal erwähnt, das hier eine Eigenschaft hinterlegt ist.
Die folgende Abbildung verdeutlicht dies noch einmal:
In der folgenden Tabelle finden Sie die wichtigsten Bean-Klassen:
Name der Bean-Klasse | Bedeutung |
---|---|
Parts | Artikel |
Service | Leistungen |
Address | Adressen (Kunden, Lieferanten, Hersteller) |
Offer | Angebote |
Order | Aufträge |
Delivery | Lieferscheine |
Invoice | Ausgangsrechnungen |
Credit | Ausgangsgutschriften |
SupplierOrder | Lieferantenbestellungen |
SupplierDelivery | Wareneingänge |
SupplierInvoice | Eingangsrechnungen |
SupplierCredit | Eingangsgutschriften |
Tabelle 10: Bean-Klassen
Wenn Sie die Funktion nutzen wollen, werden Sie aber im Einzelfall weitere programminterne Informationen über die Benennung von Bean-Klassen benötigen, die wir Ihnen auf Nachfrage gerne bekannt geben.
Abfragen mit Datenpickern für die Parametereingaben
Für die Definition von Abfrageparametern kann auch auf Datenpicker zugegriffen werden, die Bestandteil des Codes von AnSyS.B4C sind und deren Verwendung aus der Anwendung von AnSyS.B4C bekannt sein sollte (z.B. Kundenauswahl im Auftrag oder Artikelauswahl in der Angebotsposition).
Die Verwendung von Datenpickern erleichtert die Parametereingabe insofern, dass den wenigsten Anwendern die ID's von Datensätzen bekannt sein dürften, beispielsweise die ID eines bestimmten Kunden oder eines Artikels, denn ID's von Datensätzen werden in AnSyS.B4C üblicherweise nicht angezeigt. Um bei unserer simplen Beispielabfrage zu bleiben, wo alle Artikel abgefragt werden, könnte man nun auch nur einen bestimmten Artikel abfragen wollen, um nur die Daten von diesen einzelnen Artikel zu sehen. Der Artikel soll dabei später durch einen Datenbankpicker ausgewählt werden können. Wir erweitern unsere bereits vorhandene Beispielabfrage entsprechend in der 'Artikelabfrage'. Zum einen wird die SQL-Abfrage ergänzt und zum anderen wird ein neuer Parameter angelegt. Auch hier klicken Sie auf den 'grauen Bubble' in der Spalte 'E...' im Bereich Parameter bei dem Parameter. In unserem Beispiel ist das der Parameter 'IDPARTS'. Man spricht auch von Variablen - wenn es um die Parameter geht - da es ja auch Variablen sind, die in das SQL-Statement eingesetzt werden. Danach öffnet sich der Dialog für die Parametereigenschaften. Hier tragen Sie in das Feld unter der Spaltenüberschrift 'Name' das Wort 'Picker' ein und unter der Spaltenüberschrift 'Wert' den Klassennamen des Pickers den wir jetzt benötigen, das Wort 'Parts'. Danach die Parametereigenschaften mit 'OK' speichern. Im folgenden Screenshot sehen Sie die Stellen rot umrandet, die wir neu hinzugefügt haben:
So kann z.B. der Picker im Reporterzeugungsdialog angezeigt werden, mit den Einstellungen die oben in den Parametereigenschaften hinterlegt wurden.
Hinweis: Sobald eine Variable (Parameter) des Typs „Picker“ verwendet wird, muss auch der Klassenname des zu verwendenden Pickers angegeben werden. Hier ist auf die richtige Schreibweise zu achten! Zudem muss hier immer der TYP 'Integer' beim Parameter eingetragen sein.
Im SQL-Statement müssen die Parameter in der Form '$P{PARAMETER}' (ohne Hochkommas), wie Sie in der Abbildung 19 sehen können, eingetragen werden.
Im Zuge der Weiterentwicklung von AnSyS.B4C erweitert sich auch die Auswahl der verfügbaren Picker ständig. Eine vollständige Liste der verfügbaren Picker kann deshalb an dieser Stelle nicht gegeben werden. Sollten Sie in der folgenden Auflistung der wichtigsten Picker den benötigten Picker vermissen, wenden Sie sich bitte an den AnSyS-Support. Die folgende Tabelle enthält die wichtigsten Picker.
Name der Picker-Klasse | Bedeutung |
---|---|
Address | Adresse |
Customer | Kunde |
Supplier | Lieferant |
Branch | Filiale |
Manufacturer | Hersteller |
Employee | Mitarbeiter |
CustomerGroup | Kundengruppe |
SupplierGroup | Lieferantengruppe |
Parts | Artikel |
Service | Leistungen |
Shipping | Versandkosten |
ProductCategory | Warengruppe |
ServiceCategory | Leistungsgruppe |
PaymentMode | Zahlungsart |
Tabelle 11: Picker-Klassen
Feld- und Parametereigenschaften
In unserem AnSyS.B4C gibt es Feld- und Parametereigenschaften die sehr praktische Funktionen aufweisen und zudem auch Einfluss auf die Abfrage nehmen können.
In dem nun folgenden Screenshot sehen Sie, wo diese Beiden Eigenschaften jeweils eingetragen werden. Desweiteren finden Sie in den Abschnitten 'Feldeigenschaften' und 'Parametereigenschaften' Erklärungen und Beispiele, wie das in der Praxis aussehen könnte.
Feldeigenschaften
Als Feldeigenschaften können aktuell eingesetzt werden:
- Öffnungsfunktion
- Mathematische Aggregatfunktionen wie:
Summation
Maximum
Minimum
Standardabweichung
Durchschnitt
Öffnungsfunktion
Allgemeine Erklärungen dazu finden Sie bereits unter Abfragen mit Öffnungsfunktion mit einem Beispiel für Artikel. Das Gleiche funktioniert auch mit allen Belegtypen wie Angebote, Aufträge, Lieferscheine usw. .
Nun gibt es die Möglichkeit, wenn wir als Beispiel eine Abfrage erstellen für Ausgangsrechnungen und Ausgangsgutschriften, die in einer Tabelle ausgegeben werden, das wir auch hier die Belege mit einem Doppelklick öffnen können, obwohl es sich um unterschiedliche Belegtypen handelt.
Hierzu muss nur die jeweilige Beleg-ID (wie folgend gezeigt) in der SQL-Abfrage immer mit dem Aliasnamen 'beantype' als Feldname ausgegeben werden. In unserem Beispiel würde das dann so aussehen:
Das ist die 'id_invcoice' der Ausgangsrechnungen die als 'beantype' ausgeben wird: CASE WHEN id_invoice<>0 THEN 'Invoice:' || id_invoice ELSE '' END AS beantype,
Das ist die 'id_credit' der Ausgangsgutschriften die als 'beantype' ausgeben wird: CASE WHEN id_credit<>0 THEN 'Credit:' || id_credit ELSE '' END AS beantype,
Wie eine neue Abfrage erzeugt wird, haben wir ja bereits weiter oben beschrieben und setzt natürlich die notwendigen SQL-Kenntnisse voraus, sowie Kenntnisse unserer Datenbankstruktur.
Sie nehmen nun Ihr SQL-Statement und kopieren es wie bereits beschrieben in den SQL-Bereich und lesen die Felder dann anschließend ein. Sie öffnen nun die Feldeigenschaften und tragen dort die folgenden Werte ein:
Unter der Spaltenüberschrift 'Name' tragen Sie das Wort 'BEAN' ein und unter der Spaltenüberschrift 'Wert' das Wort 'auto'.
Folgend sehen Sie noch einmal eine Abbildung, wo Sie unsere Beispielabfrage ohne Parameter mit den Feldeigenschaften einsehen können, wie wir es gerade beschrieben haben:
Mathematische Aggregatfunktionen
Dies sind folgende Funktionen wie die
Summation Maximum Minimum Standardabweichung Durchschnitt
die wir alle als Feldeigenschaft hinterlegen können. Um bei unserem Beispiel mit den Ausgangsrechnungen und Ausgangsgutschriften zu bleiben, haben wir dort bereits eine Summation als Feldeigenschaft hinterlegt bei dem Feld 'systemsumbrutto'.
Unter der Spaltenüberschrift 'Name' das Wort 'SUM' eintragen und unter der Spaltenüberschrift 'Wert' das Wort 'true'. Die Beträge werden in dieser Spalte nun aufsummiert und in der letzten Zeile der Abfrageausgabe wird das Ergebnis angezeigt. So bekommt man z.B. zusätzlich einen Gesamtüberblick, was die Umsätze betrifft.
Hier eine Abbildung dazu:
In der Tabellenausgabe bei der Reporterzeugung sieht das dann so aus:
Die Spalte, in der die Feldeigenschaft 'Summation' hinterlegt ist wird nun aufsummiert und das Ergebnis ist in der letzten Zeile zu sehen.
So wie in diesem Beispiel können Sie alle Aggregatfunktionen anwenden und entsprechend in den Abfragen einsetzen, wenn Sie dies möchten bzw. Daten auswerten lassen wollen.
Übersicht der mathematischen Aggregatfunktionen, die als Feldeigenschaft hinterlegt werden können:
Name | Bedeutung |
---|---|
SUM | Summation → alle Werte in der Spalte werden aufsummiert |
MAX | Maximum → der höchste Wert wird angezeigt |
MIN | Minimum → der niedrigste Wert wird angezeigt |
AVG | Durchschnitt → ein Durchschnitt aller Werte in der Spalte wird berechnet |
DEV | Standardabweichung → durchschnittliche Entfernung aller gemessenen Ausprägungen eines Merkmals vom Durchschnitt |
Tabelle 12: Mathematische Aggregatfunktionen
Parametereigenschaften
In der Praxis gibt es relativ wenige Fälle, in denen Abfragen so formuliert werden können, dass keine Eingabe von Parametern durch den Benutzer mehr erforderlich ist.
Wie Abfragen mit Datenpickern funktionieren, haben Sie bereits weiter oben in dieser Doku gezeigt bekommen. Hier zeigen wir Ihnen nun noch weitere Möglichkeiten in AnSyS.B4C, wie Sie mit Parametereigenschaften Abfragen gestalten können.
Folgend eine Übersicht, welche Parametereigenschaften möglich sind:
Name | Gültige Werte | Bedeutung |
---|---|---|
COLUMNS | Ganzzahl | Positive Breite des Eingabefeldes. |
LABELCOLUMNS | Ganzzahl | Positive Breite des Labels (Beschriftung). |
NEWCOLUMN | "true" oder "false" | Es entsteht eine neue Spalte im Reporterzeugungsdialog. |
FULLCOLUMN | "true" oder "false" | Legt fest, ob die gesamte Fensterbreite genutzt wird. |
WEIGHT | positive Gleitkommazahl | Gewichtung in horizontaler Ausrichtung. Kommawerte müssen „mit Punkt“ eingetragen werden! |
SAMELINE | "true" oder "false" | Legt fest, ob der Parameter in der selben Zeile, wie der Vorhergehende erscheinen soll. |
NULLVALUE | z.B.: 1900-01-01 oder 2100-12-31 | Für eine Datumsabfrage, mit von/bis kann das Datumsfeld im Reporterzeugungsdialog so auch leer bleiben. Es wird dann dieses Datum standardmäßig verwendet! |
COMBOBOX | {AnzeigeText1, Wert1} | Beispiel Belegstatus: Ist im Reporterzeugungsdialog dann auswählbar → Vorbereitet, Gedruckt..usw. |
PICKER | Pickerklasse | z.B: Parts |
Auswahl eines Artikels, Kunden etc., je nachdem welcher Picker verwendet wird |
Tabelle 13: Parametereigenschaften
Folgend nun einige Muster-Parameter auf der Grundlage unserer Beispielabfrage der 'Ausgangsrechnungen und Ausgangsgutschriften'. Dieses SQL-Statement haben wir etwas erweitert bezüglich der Definierung in der Where-Klausel und den damit verbundenen Variablen die hier eingesetzt werden, die ja die Parameter spiegeln, die man dann später im Reporterzeugungsdialog ansteuern und so eine entsprechende Auswahl=Filterung für die Abfrage vornehmen kann.
In unserem Beispiel finden Sie insgesamt fünf angelegte Parameter mit Eigenschaften:
- DATUM_VON
- DATUM_BIS
- IDADDRESS
- STATE
- SORT
Diese sehen Sie in unserer Abfrage im folgenden Screenshot in dem Bereich 'Parameter':
Wie Sie nun der Abbildung entnehmen können, finden sich alle Parameter auch als Variablen in dem SQL-Statement in der Where-Klausel wieder (SQL-Bereich).
Jeder Parameter ist also in einer Variable wieder zu finden und diese in die Abfrage integriert worden.
Wir werden Ihnen nun von jedem Parameter die Eigenschaften öffnen, damit Sie sehen können, wie diese in unserem Beispiel angelegt wurden.
Bis auf die Parametereigenschaften 'SAMELINE' und 'FULLCOLUMN' finden Sie alle Eigenschaften, wie sie oben in der Tabelle 13 stehen, in den folgenden Beispielparametern wieder. Hier bedarf es aus unserer Sicht keine weiteren Erklärungen, da dies in der Tabelle 13 bereits beschrieben und selbsterklärend ist.
Parameter: DATUM_VON
Bei Verwendung der Parametereigenschaft 'NULLVALUE' müssen Sie im Reporterzeugungsdialog kein Datum auswählen, wenn Sie das nicht möchten. Dann bringt Ihnen die Abfrage (normalerweise) alle Daten, da ja keine Datumseinschränkung vorgenommen wurde.
Der eingetragene Wert '1900-01-01' in der Parametereigenschaft wird quasi dann als Standardwert benutzt. Das heißt, das alle Daten ab den 01.01.1900 berücksichtigt werden, was in der Regel bedeutet, das bei den meisten Unternehmen alle Daten abgefragt werden die in der Datenbank vorliegen.
Mit den Parametereigenschaften 'COLUMNS' und 'LABELCOLUMNS' wird das Erscheinungsbild des Parameters beeinflusst und zwar die Breite des Auswahl-/Eingabefeldes und die Breite der individuellen Beschriftung im Reporterzeugungsdialog.
Parameter: DATUM_BIS
Hier verhält es sich genauso wie in dem Parameter 'DATUM_VON', nur mit dem kleinen Unterschied, das hier der eingetragene Standardwert das Datum in der Zukunft zeigt und bei einer nicht Auswahl im Reporterzeugungsdialog des Datums, bei diesem Parameter die Datenabfrage bis dorthin einschränkt - also bis zum 31.12.2100 – falls man hier überhaupt von einer Einschränkung sprechen kann. Somit kommen auch hier in der Regel wieder alle Daten ohne Einschränkung in dem Abfrageergebnis vor.
In Ihrem SQL Statement sollte das dann z.B. so aussehen, wenn Sie nach Datum abfragen: WHERE(registerdate BETWEEN $P{DATUM_VON} AND $P{DATUM_BIS})
Hinweis: Verwenden Sie den Parameter 'NULLVALUE' mit den Ihnen oben gezeigten eingetragenen Werten, werden in der Regel alle Daten abgefragt, wenn kein Datum ausgewählt wird im Reporterzeugungsdialog. Um bei unserem o.g. Beispiel zu bleiben, würden so alle Ausgangsrechnungen und Ausgangsgutschriften bei keiner Datumseinschränkung im Reporterzeugungsdialog abgefragt und im Abfrageergebnis erscheinen. Lassen Sie diese Parametereigenschaft ganz weg, muss auf jeden Fall immer ein Datum ausgewählt werden, um ein Ergebnis zu erhalten.
Parameter: IDADDRESS
Die Pickerverwendung in unserem Abfragetool haben wir Ihnen bereits in einem Beispiel weiter oben erklärt, mit einer Artikelauswahl, wo wir einen Artikelpicker in den Parametereigenschaften hinterlegt haben.
Hier sehen Sie jetzt noch ein anderes Beispiel für einen Kundenpicker. Bei Wert muss der richtige Klassennamen eingetragen sein und bei Verwendung von Datenpickern ist hier ganz besonders auf die Schreibweise des Klassennamens zu achten. Wird der Klassenname falsch geschrieben, funktioniert später der Picker im Reporterzeugungsdialog nicht.
Mit der Eigenschaft 'NEWCOLUMN' entsteht eine neue Spalte. Ab da werden die folgenden Parameter wieder untereinander aufgelistet.
Und das 'WEIGHT' legt fest, wie die Aufteilung erfolgen soll. Mit '0.5' erfolgt dies jeweils zur Hälfte. Man 'gewichtet' hier die Breite mit Kommazahlen. Insgesamt muss sich dann immer '1' ergeben, bei Verwendung von mehreren Parametern, wo das 'WEIGHT' als Eigenschaft hinterlegt ist. Kommawerte müssen mit Punkt eingetragen werden!
Im SQL Statement, sollte dann die Variable z.B. so aussehen: WHERE (id_address=$P{IDADDRESS} OR $P{IDADDRESS}=0)
Hier wird auch gleich noch ein kleiner Trick angewandt. Mit dem Teil 'OR $P{IDADDRESS}=0' wird erreicht, das man nicht unbedingt eine Auswahl im Reporterzeugungsdialog vornehmen muss, es werden eben dann alle Kunden abgefragt.
Hinweis: Unter Parameter bei 'Typ' muss 'Integer' hinterlegt sein.
Parameter: STATE
Bei diesem Parameter 'STATE' ist eine 'COMBOBOX' als Eigenschaft hinterlegt. In unserer Beispielabfrage mit den Ausgangsrechnungen und Ausgangsgutschriften kann man somit den Belegstatus abfragen, indem nach 'Vorbereitet', 'Gedruckt', 'Storniert' oder einfach nach 'Alle' Belege selektiert werden kann.
Die Beschriftung der Auswahlbox ist individuell definierbar und muss in der Form {AnzeigeText1, Wert1} eingetragen sein. Die Werte werden durch ein Komma getrennt, dann folgt der nächste Wert nach dem gleichen Muster. Bei unserem Beispiel ist somit bei 'Wert' eingetragen: {Vorbereitet,0},{Gedruckt,1},{Storniert,2},{Alle,-1}
Hinweis: Unter Parameter bei 'Typ' muss 'Integer' hinterlegt sein.
Der Status für diese Belege ist in der Datenbank abgespeichert mit 0=Vorbereitet,1=Gedruckt oder 2=Storniert. Mit -1 kann man sich – unabhängig vom Status – alle Belege ausgeben lassen.
In dem SQL-Statement kann das dann so aussehen: WHERE (state=$P{STATE} OR $P{STATE}=-1)
Im Reporterzeugungsdialog zeigt sich die Auswahlbox wie unten abgebildet:
Parameter: SORT
Oft möchte man seine Abfrageergebnisse in irgendeiner Art und Weise sortiert haben, hierzu gibt es bei AnSyS.B4C die Möglichkeit dies mit der 'Combobox' zu tun.
Die Feldnamen nach denen sortiert werden soll, gibt man mit 'Hochkommas' ein, ansonsten verhält es sich hier genauso wie bei einer 'normalen' Combobox.
Die Form der Eingabe ist dann wie folgt vorzunehmen: {AnzeigeText1, 'Feldname1'}. Auch hier werden mehrere Werte durch ein Komma wieder getrennt und dann folgt der nächste Wert. Mit 'ASC' oder 'DESC' hinter dem Feldnamen kann man noch bestimmen, ob auf- oder absteigend sortiert werden soll. . Hinweis: Unter Parameter bei 'Typ' muss 'Stringbuilder' ausgewählt sein!
Die Eingabe im SQL-Statement sollte dann so aussehen: ORDER BY $P{PARAMETER}
Im Reporterzeugungsdialog stellt sich die Auswahlbox für die Sortierfunktion dann so dar:
Mit einem Mausklick auf die Auswahlbox (Combobox) ist die Sortierung jetzt wählbar und somit nun in der Lage eine Sortierung vorzunehmen die man sich wünscht.
Der ganze Reporterzeugungsdialog mit den Einstellungen, Feldeigenschaften und Parametern, wie wir es Ihnen hier als Beispiel gezeigt haben, würde dann so aussehen:
Um es anschaulicher demonstrieren zu können, haben wir hier in unserer Beispielabfrage keinen Kunden ausgewählt, somit kommen alle Belege in dem ausgewählten Zeitraum, wo die Belege 'Vorbereitet' sind und nach dem Kundennamen aufsteigend sortiert in der Tabellenansicht nun zu sehen sind.
Rechtezuweisung
Jede neue individuelle Abfrage muss nach der Fertigstellung in der Rechtezuweisung für die jeweiligen Mitarbeiter/Abteilungen freigeschaltet werden. Gerade bei sensiblen Daten wie Adressen oder Umsatzzahlen von Kunden und Lieferanten, sollten solche Auswertungen nicht unbedingt Jedermann zur Verfügung stehen. In solche Daten sollten nur einem eingeschränkten Personenkreis oder Abteilungen Einblick gewährt werden, um einen Missbrauch der Daten zu verhindern.
Dazu wechseln Sie in das Modul 'AnSyS Administration'. Anschließend wählen Sie oben im Menü den Eintrag 'Verwaltung' und navigieren in der sich Ihnen anbietenden Auswahlliste auf die 'Rechtezuweisung...'. Nun öffnet sich der Dialog für die Rechtezuweisung, wo Sie die Zugriffsrechte von Personen und Abteilungen steuern können.
In der Baumstruktur auf der linken Seite klappen Sie gleich den ersten Eintrag 'Hauptmenü' auf, danach weiter mit 'AnSyS Factura' und dann noch 'Listen und Auswertungen'. Nun suchen Sie nach der Auswertung und markieren diesen. Auf der rechten Seite sehen Sie die Rechte die vorhanden sind. Diese Rechte sind bzw. können bei Mitarbeitern, Abteilungen etc.
hinterlegt werden. Nun wählt man das Recht, wo die Abfrage freigegeben werden soll und klickt auf dieses Recht solange, bis der 'rote Bubble' grün geworden ist. Somit ist die Abfrage für dieses Recht freigeschaltet. Jeder Mitarbeiter/Abteilung die dieses Recht nun besitzen, haben jetzt Zugriff auf diese Auswertung, sobald sie sich im Programm neu ab- und angemeldet haben.
Wir zeigen Ihnen dies mit unserer Beispielabfrage 'Ausgangsrechnung und Ausgangsgutschrift' und dem Recht 'Alle Rechte':
Exportfunktion
Es ist nicht nur möglich Artikeldaten in unser AnSyS.B4C zu importieren, sondern alles was Sie auch importieren können, können Sie auch wieder exportieren. So eine Exportfunktion ist natürlich sehr praktisch, da man hier Artikeldaten z.B. somit extern bearbeiten kann und hinterher werden diese einfach wieder importiert, nachdem diese aktualisiert wurden. Oder es werden Artikeldaten für einen Webshop bereitgestellt und der Webshop wird regelmäßig mit Artikeldaten aktualisiert über den zuvor stattgefundenen Artikelexport aus AnSyS.B4C.
Also Sie sehen schon, für so eine Exportfunktion gibt es heutzutage vielerlei Verwendungsmöglichkeiten in der Weiterverarbeitung eines modernen Unternehmens. AnSyS.B4C stellt so eine Exportfunktion standardmäßig zur Verfügung. Wie diese Exportfunktion in AnSyS.B4C funktioniert, erklären wir Ihnen in einem Beispiel, anhand eines Artikelgrunddaten-Exports.
Zuallererst muss natürlich wieder ein SQL-Statement formuliert und angelegt werden, wie Sie es auch bei einer ganz normalen individuellen Abfrage tun würden.
Allerdings benötigen Sie hier nur die eindeutige 'ID' des Artikels, die Sie sich ausgeben lassen, was im Prinzip erst mal sehr einfach klingt. Mit dieser eindeutigen 'ID' - in AnSyS.B4C ist das die 'id_parts' - kann der Artikel vom Programm identifiziert werden.
Etwas schwieriger wird es nur, wenn Sie verschiedene Filtermöglichkeiten (Parameter) haben möchten, nach denen die Abfrage im Reporterzeugungsdialog selektiert werden soll. Sie müssen Ihr SQL-Statement auf jeden Fall so gestalten, als würden Sie sich auch die Feldnamen ausgeben lassen wollen, was Sie bei der Erstellung des SQL-Statement vielleicht auch tun sollten, denn nur so können Sie auch überprüfen, ob die angelegten Parameter auch das gewünschte Ergebnis liefern. Anschließend nehmen Sie die Feldnamen alle wieder raus und lassen nur die 'ID' des Artikels stehen. Dies passiert ja alles noch in der SQL-Konsole in unserem AnSyS.B4C.
Wenn die Abfrage nun so weit angepasst ist, das genau die Ergebnisse kommen wie es sein soll, nehmen Sie das fertige SQL-Statement und kopieren dieses nun in den SQL-Bereich, wie es bereits in dieser Doku beschrieben wurde.
Exportfunktion: Reiter 'Abfrage'
Hier gibt es nun die erste Besonderheit, die abweichend ist von einer normalen individuellen Abfrage. Bei den allgemeinen Reporteigenschaften können Sie in das Feld 'Exportname' einen Exportnamen hinterlegen, wie Sie bereits schon gelesen haben. Beim speichern einer individuellen Abfrage werden Sie dann gefragt, wo gespeichert werden soll.
Bei einer Exportfunktion geben Sie nicht nur einen Exportnamen ein sondern auch noch die Dateiendung, so können Sie das Datei-Format festlegen für den Export. Dies ist eventuell wichtig für den späteren Verwendungszweck der Daten. Aber nicht nur das, sondern Sie können einen ganzen Pfad hinterlegen, wo der Export gespeichert werden soll. Drei Dateiformate stehen Ihnen derzeit zur Verfügung, in das exportiert werden kann.
Beispiel: Artikelgrunddaten.xls oder Artikelgrunddaten.xlsx oder Artikelgrunddaten.csv
In der folgenden Abbildung sehen Sie die Abfrage, wie Sie von uns auf dem ersten Reiter 'Abfrage' Beispielhaft angelegt wurde. Wie Sie dem Screenshot entnehmen können, gibt es keine Feldnamen im Bereich 'Felder' außer die 'id_parts' und bei dem Feld 'Exportname' ist ein ganzer Pfad eingetragen, wo die spätere Exportdatei gespeichert wird.
Zudem sind einige Parameter angelegt, die im Reporterzeugungsdialog für eine Selektion der Daten sorgen und natürlich darf das SQL-Statement selber nicht fehlen.
Hier sehen Sie im Ausschnitt noch den Dateinamen mit der Endung für das Datei-Format, wie es im Feld 'Exportname' hinterlegt ist:
Exportfunktion: Reiter 'Konfiguration'
Jetzt wechseln Sie auf den Reiter 'Konfiguration'. Dort werden nun all die Felder eingetragen die Sie exportieren möchten. Sie verwenden dazu die gleichen Feldnamen wie bei einem Artikeldaten-Import. Auf einige Dinge sollten man allerdings achten, damit der Export auch ordentlich durchgeführt werden kann.
In den ersten beiden Zeilen sollten die Einträge '[ExportFields]' und 'Configuration: propertyAsText=true' stehen. Zum einem teilt man dem Programm mit, das es sich um Exportfelder handelt und zum anderen geht es um die Artikeleigenschaften. Wenn Sie mit Artikeleigenschaften in unserem AnSyS.B4C arbeiten, haben manche Artikel eine Eigenschaft und andere wiederum nicht. Ist keine Eigenschaft eingetragen, würde in der Exporttabelle immer der Wert '0' erscheinen, mit diesem Eintrag bleibt das Feld einfach leer.
Die Attribute die exportiert werden sollen, müssen immer in der Form 'Attribut: Attributname' geschrieben sein.
Nach diesen ersten Eintrag können Sie die Felder in der Reihenfolge anbringen, wie Sie es sich vorstellen. Arbeiten Sie jedoch mit mehreren Sprachen in unserem AnSyS.B4C, sollten Sie hier eine gewisse Ordnung befolgen.
Zuerst erfassen Sie alle Felder und Attribute, wo es keine Mehrsprachigkeit/Übersetzung gibt, danach tragen Sie – getrennt mit 'Sprache: DE' - die Felder und Attribute ein, wo eine Mehrsprachigkeit/Übersetzung vorhanden ist - eben für die deutsche Sprache. Anschließend die Felder mit der nächsten Fremdsprache, immer getrennt mit z.B. der weiteren Fremdsprache Englisch 'Sprache: GB' usw..
Bei Feldnamen mit Mehrsprachigkeit gibt es auch eine Form einzuhalten. Hier kommt zuerst in Anführungszeichen der Feldname mit Doppelpunkt getrennt die Sprache die exportiert werden soll und danach nochmal der Feldname ohne Anführungszeichen. Das ganze sieht dann bei der Kurzbezeichnung des Artikels so aus: "Kurzbezeichnung:sprache=de"Kurzbezeichnung
In den folgenden Screenshots können Sie das noch besser nachvollziehen, was wir gerade erklärt haben.
In der Abbildung 'Felder und Attribute ohne Übersetzung' sehen Sie den Anfang der ersten Felder und Attribute, wo es keine Übersetzung dieser Felder und Attribute dafür gibt.
In der nächsten Abbildung sehen Sie die Felder und Attribute die eine Übersetzung aufweisen. Das sollte nach Sprachen sortiert sein, z.B. im ersten Block alle die Felder und Attribute die eine deutsche Übersetzung aufweisen, dann der nächste Block mit den gleichen Feldern und Attributen nur in die nächste Sprache – in unserem Beispiel in das Englische usw..
Haben Sie nun alle die Felder eingetragen die Sie exportieren möchten, wechseln Sie oben auf den Reiter 'Anzeige'
Exportfunktion: Reiter 'Anzeige'
Der Reiter 'Anzeige' wurde ja bereits schon erklärt für die individuellen Abfragen, mit dem Hinweis, das der Typ 'Export Datenfelder' später noch erklärt wird, was wir hiermit nun tun.
Um die Exportfunktion nutzen zu können, muss der Typ 'Export Datenfelder' eingestellt sein. Sobald dieser Typ ausgewählt ist, werden im unteren Bereich neue Zeilen eingeblendet.
Hier wählen Sie nun aus, um welche Daten es sich handelt für den Export. In unserem Beispiel sind das die Artikeldaten, darum sind hier auch die Artikel markiert. Würde es sich um einen Adressdatenexport handeln, müssten Sie hier logischerweise die 'Adressen' markieren.
Eine Auswahl für das 'Drucken' oder z.B. 'XLS-Export' ist hier nicht vorzunehmen, das wird nur bei den individuellen Abfragen angehakt, wenn es benötigt wird. Diese werden bei der Export-Funktion nicht markiert!
Die restlichen Einstellungen sind genauso vorzunehmen, wie wir es bereits unter 'III. Reiter 'Anzeige'' erklärt haben.
Ein Screenshot, der die Einstellungen bei dem Reiter 'Anzeige' noch einmal zeigt:
Im Anschluss nun alle vorgenommenen Einstellungen für den Artikel-Export 'Speichern'.
Im nächsten Abschnitt zeigen wir ihnen, wie der Export durchgeführt wird.
Durchführen eines Datenexports
Denken Sie auch hier an die Rechtezuweisung, nachdem Sie den vorbereiteten Artikelexport gespeichert haben, sonst kann es sein, das Sie den Export im Programm nicht sehen. Wie die Rechtezuweisung vorzunehmen ist, wurde bereits in dieser Doku in 'Rechtezuweisung' erörtert.
Sie wechseln in das Modul 'AnSyS FACTURA' und gehen oben im Menü auf die 'Listen und Auswertungen'. Ist die Rechtezuweisung richtig durchgeführt worden, sollten Sie in der Ihnen angeboten Auswahlliste im unteren Bereich den neu angelegten Eintrag, in unserem Beispiel 'Artikelgrunddaten' nun finden. Darauf klicken Sie nun.
Jetzt erscheint der Dialog 'Artikeldaten im Tabellen-Format exportieren'. In der ersten Zeile sehen Sie noch einmal wo die Ausgabe gespeichert wird. Darunter all die Parameter, die wir in unserem Beispiel-Export angelegt haben.
Screenshot, wie das in unserem Beispiel aussieht:
Sie nehmen nun Ihre Parameter-Einstellungen vor und klicken auf die Schaltfläche 'Ausführen'.
Der Dialog verändert sich nun, indem die hellen Felder grau werden. Zugleich erscheint ein Fortschrittsbalken, wo Sie beobachten können, wie weit der Export fortgeschritten ist.
Der Balken läuft von links nach rechts durch, so wie man es gewohnt ist bei ähnlichen Anzeigen.
Die nächste Abbildung zeigt Ihnen dies:
Es kann nun etwas Dauern bis der Export fertig ist, das hängt einfach von der Datenmenge ab, die Sie exportieren möchten.
Ist der Export fertig, bleibt der Balken unten bestehen und die ergrauten Felder sind wieder hell geworden.
Sie sehen das im nächsten Bild:
Nun können Sie in das Export-Verzeichnis navigieren und den Export dort finden und öffnen für eventuell weitere Bearbeitung.
Dies können Sie in dem nächsten Ausschnitt sehen, mit unserem Beispiel.
Am Ende sei noch gesagt, das der Export mit Adressdaten genauso durchzuführen ist, wie wir es Ihnen exemplarisch mit diesem Artikelgrunddatenexport demonstriert haben. Sie müssen die Abfrage nur entsprechend für die Adressen definieren und vorbereiten, genauso wie die Parameter. Somit können Sie auch einen umfangreichen Adressgrunddatenexport durchführen, wenn dies mal notwendig sein sollte.
Wir wünschen Ihnen nun viel Spaß beim erstellen von individuellen Abfragen und Exportieren Ihrer Daten,
Ihr AnSyS-Team