, oder über Aufruf der Abfragefunktion und Datenaktualisierung)
Die Definition der Abfragen erfolgt über die Vorgabe einer Liste von Feldern aus Datenbanktabellen, wobei die Abfragen Datenbankfelder, Konstanten und Ausdrücke umfassen können. Joins zwischen Tabellen werden automatisch auf Basis des Dictionarys festgelegt. Sie können jedoch auch explizit im Register Erweitert... definiert werden.
Es wird auf zwei zusätzliche Werkzeuge hingewiesen: Ein Abfrageassistent ähnlich der Abfragemaschine, jedoch mit einem visuellen Editor versehen, und ein SQL-Assistent, welcher ähnliche Abfragemasken durchläuft, dabei jedoch darauf abzielt, SQL-Abfragen zu formulieren.
Siehe Dokumentation Umsetzung
Abfragen werden in mehreren Registern definiert, von denen lediglich das erste obligatorisch ist.
Übersicht
In der Kopfzeile werden Daten angezeigt, mit denen die Abfrage sowie einige allgemeine Parameter identifiziert werden können.
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
Blocknummer 1
| Dieser Code ermöglicht die Identifikation einer Abfrage. |
| Ermöglicht die Definition einer Bezeichnung für jeden Datensatz. |
| Dieser Titel dient als Bezeichnung für den Datensatz und wird in bestimmten Masken und Reports verwendet, wenn aus Platzgründen der Langtitel nicht angezeigt werden kann. |
Eigenschaften
| Aktivieren Sie dieses Kontrollkästchen, um den aktuellen Datensatz zu aktivieren. Die nicht ausgewählten Datensätze behalten ihren Inhalt und ihre Einstellungen, können jedoch in folgenden Fällen nicht durch Aufruf ihres Codes verwendet werden:
Über die Funktionsberechtigungen kann die Anlage eines aktiven Datensatzes untersagt werden. In diesem Fall ist das Kontrollkästchen standardmäßig deaktiviert. Es kann nur von einem berechtigten Benutzer oder über einen Unterschriftenworkflow geändert werden. |
|   |
| Dieser Indikator definiert die Darstellungsweise der Daten in der Maske. Hierzu gibt es folgende Möglichkeiten:
|
| Verwenden Sie dieses Feld für die Organisation der Beziehung zwischen Zeichen und Grafik, wenn die Darstellungsart der Daten beides erlaubt. Abhängig vom Kontext:
|
Schließen
Übersicht
In diesem Register werden die zu bearbeitenden Daten tabellenförmig definiert: die Datenbanktabellen, aus denen die Daten stammen, die auszugebenden Felder oder Ausdrücke, Summierungs- und Stoppkriterien.
Ausgehend von sämtlichen in dieser Tabelle definierten Daten formuliert die Abfragemaschine eine Abfrage auf Tabellen, die über Standard-Join-Bedingungen miteinander verbunden sind. Daher ist es bei einfachen Abfragen nicht notwendig, die folgenden Register zu füllen:
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
| Definiert die Tabelle, aus der das anzuzeigende Feld ausgegeben werden muss. Es ist möglich, Felder anzuzeigen, die mehreren Tabellen zugehören, wenn eine logische Verknüpfung zwischen den Tabellen besteht. Diese Verknüpfung kann automatisch von den im Daten-Dictionary beschriebenen Verknüpfungen festgelegt oder im folgenden Register definiert werden. | |
| Definiert den Namen des Feldes, das man ansehen will. Dieses Feld wird aus der vorherigen Tabelle ausgegeben. Ist das Feld nicht angegeben, gibt man einen Ausdruck in der entsprechenden Spalte an. Das Feld kann in der Form FELD(Index) geschrieben werden. Index ist eine Konstante von 0 bis N, wenn man ein Feld hat, das mehrmals vorkommt. Zum Beispiel beim Feld CHEF in der Tabelle AUTILIS; in der Feldertabelle kann man daher CHEF(2) schreiben. | |
| Ermöglicht die Definition des Spaltentitels, wie er bei der Ausführung der Abfrage angezeigt wird. Wird ein Tabellenfeld verwendet, wird standardmäßig dessen Titel (wie er im Dictionary gespeichert ist) vorgeschlagen. In einem mehrsprachigen Kontext wird dieser Titel bei der Ausführung in der Verbindungssprache des Benutzers angezeigt, die Dictionary-Texte werden in allen Verbindungssprachen verwaltet. Dies setzt voraus, dass man die Übersetzungen für einen geänderten Titel definieren kann, oder entsprechend eines berechneten Ausdrucks, für den keine Übersetzung definiert werden kann. In übersetzbaren Feldern wie diesem können Sie einen Titel in einer anderen Sprache als der aktuellen Verbindungssprache erfassen: Klicken Sie auf Online-Übersetzung über das Symbol Aktionen. | |
| Ermöglicht die Definition eines berechneten Ausdrucks, der bei der Ausführung der Abfrage angezeigt wird. Dieses Feld kann nur erfasst werden, wenn kein Feldname vorgegeben ist. Der Ausdruck kann alle Felder einer der Tabellen beinhalten, in der Abfrage, den Konstanten, den Funktionen, den globalen Variablen... Der Formeleditor ist zugänglich, um die Definition der Formel zu erleichtern. | |
| Die Datentypen ermöglichen die genaue Angabe, wie die Datenpräsentation erfolgen muss. Im Fall eines Feldes wird der dem Feld zugeordnete Typ standardmäßig vorgeschlagen (kann aber geändert werden). Im Fall eines Ausdrucks muss er angegeben werden (er kann ein generischer Typ sein wie eine Zeichenkette A, ein lokales Menü M, ein Shortinteger C, ein Datum D, eine Dezimale DCB, ein Langinteger L...). Im Fall einer Zeichenkette wird die maximale Länge im folgenden Feld Länge angegeben; bei einem lokalen Menü werden gleichzeitig sowohl die Anzeigelänge als auch die Nummer des verwendeten lokalen Menüs angegeben. Ist der verwendete Datentyp mit einem Objekt verknüpft, kann man in der Objektverwaltung bei der Anzeige verzweigen. | |
| Ermöglicht die Definition der Länge eines Feldes, wenn das Feld einen generischen Datentyp verwendet, dessen Länge nicht festgelegt ist. Dies gilt vor allem für die Typen A und DCB. Für die blob und clob muss die Länge erfasst werden, die die maximale Speicherlänge ist. Es gilt die folgende Codifizierung:
| |
| Definiert die Nummer des lokalen Menüs, das dem in der Zeile definierten Feld zugeordnet ist. Ist ein Feld vom Typ lokales Menü, ist es als numerischer Wert (von 1 bis 255) gespeichert, entsprechend dem Rang eines Titels in einer aufgerufenen Tabelle lokales Menü, die in der Nachrichtentabelle APLSTD gespeichert ist. Bei der Erfassung oder Anzeige sieht man je nach Auswahl auf der Benutzeroberfläche:
Dieser Erfassungstyp dient dazu, dass die Auswahlliste in der Verbindungssprache des Benutzers angezeigt wird. Jede Nummer eines lokalen Menüs bezeichnet die Liste der möglichen Titel. Beispiel: Das lokale Menü 1 entspricht der Auswahl Nein / Ja in dieser Reihenfolge. In diesem speziellen Fall kann die Benutzeroberfläche auch die auszuwählende Option sein. | |
| Drei Auswahlmöglichkeiten sind in diesem Bereich möglich:
| |
| Dieses Feld kann nur ausgefüllt werden, wenn das Feld numerisch ist. Ist es gleich Ja, wird eine Wertesumme für die verschiedenen von den Gruppierungskriterien abgeleiteten Umbruchsebenen angezeigt. | |
| Die von der Abfrage ausgegebenen Daten können nach einem oder mehreren Feldern sortiert werden. D.h. dargestellt in aufsteigender (für eine aufsteigende Sortierung) oder absteigender (für eine absteigende Sortierung) Reihenfolge der Feldwerte. Die Sortierreihenfolge ist die numerische Reihenfolge für die numerischen Felder, chronologisch für die Daten und die Codierungsreihenfolge für die Zeichen in den alphanumerischen Feldern (für alphabetische Codes gilt die lexikographische Reihenfolge). Werden mehrere Sortierkriterien angefragt, wird die Sortierung zunächst für das Feld ausgeführt, das als erstes in der Tabelle erscheint, und anschließend nach Wert des zweiten Kriteriums usw. | |
| Dieses Feld ermöglicht die Erstellung einer Umbruchebene.Wird dieses Feld mit Ja ausgefüllt, kann eine Neugruppierung der nachfolgenden Felder mit Umbruch auf das aktuelle Feld durchgeführt werden, und eventuelle Wertesummen werden auf Ebene der Neugruppierung angezeigt. Dieses Feld kann nur erfasst werden, wenn die aktuelle Position sortiert wurde (Aufsteigendoder Absteigend, nach Wahl). Definiert man zum Beispiel eine Liste mit Benutzern, die nach Profil sortiert wurden, ermöglicht ein Umbruch pro Profil die Neugruppierung aller mit einem Profil verknüpften Benutzer auf einer einzigen Position und zeigt die summierten Daten an, die mit der Neugruppierung verknüpft sind (z.B. deren Anzahl, wenn man ein Feld gleich 1 hat, das kumuliert wird). | |
| Entspricht der für die Informationsanzeige gewünschten Detailebene. Ebene 1 bedeutet, dass die Information auf der Aggregationsebene 1 (die höchste Ebene) und auf allen nachfolgenden Ebenen angezeigt wird. Ebene 2 bedeutet, dass die Information nicht auf Ebene 1, aber auf Ebene 2 und allen detaillierteren Ebenen angezeigt wird etc. Die höchste Ebene entspricht dem genauesten Anzeigedetail, welches dasjenige ist, das standardmäßig beim Aufrufen der Anzeige angezeigt wird. Diese Ebene wird standardmäßig 1 auf der ersten Zeile zugewiesen und jedes Mal, wenn eine Fehlmenge angefragt wird, auf dem nachfolgenden Feld inkrementiert wird (Gruppe=Ja) Sie kann geändert werden, wenn man einen Betrag auf einer anderen Aggregationsebene anzeigen will. Beispiel: Sortiert und gruppiert man die Informationen auf einem Code, wie dem Benutzercode, und möchte man den Benutzernamen in der folgenden Spalte anzeigen, ist es klar, dass dieser Name auf der gleichen Ebene angezeigt werden muss, wie der ihm entsprechende Code, und nicht nur auf den detaillierteren Ebenen. | |
|   | |
| Das Feld kann nur erfasst werden, wenn der ausgewählte Darstellungsmodus in der Kopfzeile nicht Zeichen ist. Es ermöglicht die Angabe, wie die Grafikdarstellung umgesetzt wird. Folgende Werte sind möglich:
| |
| Dieses Feld kann nur erfasst werden:
Es ermöglicht die Verwaltung der Grafikkombinationen, wenn der Grafiktyp, der in den Grafikparametern definiert ist, die Anzeige mehrerer unabhängiger Serien von unterschiedlichem Typ ermöglicht (in den anderen Fällen wird er nicht berücksichtigt). Die folgenden Kombinationen können verwendet werden:
Es gilt die folgende Regel:
| |
| Hier wird der Parameterwert in Form eines berechneten Ausdrucks erfasst, einschließlich der mit dem Startkontext verknüpften Variablen. Ist der Parameter ein Beginn-Ende-Bereich, werden zwei Werte erfasst. | |
|   |
Schließen
Übersicht
In diesem fakultativen Register können folgende Daten erfasst werden:
Join-Bedingungen sind in den folgenden beiden Fällen nützlich:
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
Blocknummer 1
| Geben Sie die maximale Anzahl an Zeilen an, die von der Abfrage zurückgegeben werden. Der Standardwert ist 0. Die Höchstanzahl ist 100. |
| Die Maximale Zeilenanzahl entspricht einem Abfrageparameter (maxrows), der die Suche anhält, sobald eine für die Bedingungen ausreichende Anzahl an Zeilen in der Datenbank gefunden wurde (diese Zeilen werden anschließend sortiert, die Datenbank garantiert aber nicht, dass die N gefundenen Zeilen nicht die N ersten in der Sortierreihenfolge sind. Es handelt sich um eine Optimierung, durch die es möglich ist, die Belastung für die Datenbank zu begrenzen. |
| Hier können die x ersten Spalten einer Tabelle bei einer horizontalen Seitennummerierung festgelegt werden. |
| Verwenden Sie dieses Feld, um die Suche nach der angegebenen Zeit (in Sekunden) anzuhalten. Dadurch kann z.B. eine zu lange Wartezeit bei der Parametrisierung einer neuen Abfrage vermieden werden. Hinweis: Im Gegensatz zur maximalen Zeilenanzahl wird diese Information nicht an die Datenbank übertragen. Die Höchstzeit kann daher nicht überschritten werden, wenn die Abfrage zu lange dauert. |
| Definiert den Code eines Reports, der der Funktion Datei / Liste ab der Anzeige der Abfragen zugeordnet wird. Ist er nicht angegeben, verwendet man den Report ALISTE, der eine Standardformatierung vorschlägt. Dieser generische Report kann dupliziert werden (dies ist nur erforderlich, um das Layout zu verändern), um Reports zu erstellen, die perfekt für die so definierte Abfrage angepasst sind. Der hier erfasste Reportcode kann einer Gruppe von Druckcodes über die entsprechende Funktion zugeordnet werden. |
Tabelle Auswahl
| Ermöglicht die Erfassung der Auswahlkriterien, die logische Ausdrücke sind, die auf Tabellenfeldern basieren und Konstanten, Funktionen und Operatoren einschließen können. Nur die Tabellenzeilen, die den Bedingungen genügen, werden ausgegeben. Der Formeleditor ermöglicht ein vereinfachtes Schreiben solcher Ausdrücke. |
Tabelle Links
| Verwenden Sie dieses Feld, um die Verknüpfungen zu definieren, die nicht im Dictionary definiert sind, oder die bevorzugt behandelt werden müssen. Die Verknüpfungsstruktur muss dem Schlüssel der zu verknüpfenden Datei entsprechen. Es muss so viele durch Semikolon getrennte Felder geben wie Schlüsselteile. Die genaue Syntax ist: [F:ABV1]CLE=Ausdruck1 ; Ausdruck2 ..., wenn :
Aus Sicht der Datenbank definiert diese Syntax Left Outer Joins. Hinweis: Eine zweite Syntax ermöglicht die Definition von Inner Joins (was für die Leistung von Bedeutung sein kann). Man fügt daher der Syntax eine Tilde (~) hinzu: [F:ABV1]CLE=Ausdruck1 ; Ausdruck2 ... |
Schließen
Übersicht
In diesem Register können die Zugriffsbedingungen auf die Abfrage und die ausgegebenen Daten definiert werden.
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
| Verwenden Sie dieses Feld zur Verwaltung der Anzeige einer Abfrage mit den folgenden Verhalten:
|
| Verwenden Sie dieses Feld, um eine Klassifizierung der verfügbaren Kriterien für die Abfrage zu erstellen. |
| Mit diesem Code kann der Zugriff auf den aktuellen Datensatz für bestimmte Benutzer verboten werden. Ist das Feld ausgefüllt, können nur die Benutzer den Datensatz anzeigen, die Leserechte für diesen Zugriffscode besitzen. Und nur die Benutzer, die über Schreibrechte verfügen, können ihn ändern. Das Ausführungsrecht prüft die Tatsache, dass man die gefragte Abfrage ausführen kann (indem man die Abfrage aktualisiert oder die Parameter ändert und indem man sie erneut ausführt). |
| Ermöglicht die Festlegung der Berechtigungsfilter, die bei der Erstellung der Abfrage angewendet werden. Diese Filter sind die Filter nach Standort, nach Rolle und nach Zugriffscode. Filtergrundsätze:
Dies setzt voraus, dass die Tabelle, auf die die Filter angewendet werden, Teil der erzeugten Abfrage sind. Darunter versteht man die Tabelle, in der sich die Felder Zugriffscode, Standortcode und ggf. das durch die dem Benutzer zugewiesene definierte Feld befinden. Es handelt sich dabei nicht zwingend um die Haupttabelle der Abfrage: eine Abfrage in den Dokumentenzeilen kann z.B. in Abhängigkeit der Berechtigungen gefiltert werden, die den mit der Kopfzeile des Dokuments verknüpften Tabellenfeldern zugewiesen sind. Achtung: Diese Filter werden nur während der Berechnung der Abfrage und auf keinen Fall bei der Anzeige angewendet. Das ist vor allem dann von Bedeutung, wenn die Abfrage z.B. geteilt wird, oder wenn die Filter nach Standort eines Benutzers zwischen dem Zeitpunkt, zu dem die Abfrage berechnet wurde, und dem Zeitpunkt, zu dem sie angezeigt wurde, geändert wurden. |
| Verwenden Sie dieses Feld zur Verknüpfung der Zugriffsrechte auf die Abfrage mit den Datenberechtigungen der Funktion. Es gilt das folgende Prinzip: bei Beginn der Abfrage wird geprüft, dass der Benutzer Berechtigungen für die verknüpfte Funktion hat (für mindestens einen Standort, wenn die Berechtigung für diese Funktion pro Standort vergeben wird). Diese Prüfung wird nur ausgeführt, wenn die Abfrage nicht geteilt wird. Wird die Abfrage geteilt, wird davon ausgegangen, dass die Berechtigungen der Person, die die Abfrage berechnet hat, angewendet werden, und auf alle übertragen werden, die Anzeigerechte haben. Dazu müssen die Berechtigungen der geteilten Abfragen mit Bedacht definiert werden, wenn sie sensible Daten betreffen. Dazu verwendet man den Zugriffscode aus diesem Bereich. |
Schließen
Übersicht
Dieses Register kann nur gefüllt werden, wenn es möglich ist, die Abfrage grafisch darzustellen. In diesem Fall wird in diesem Register die Art der grafischen Darstellung der Daten definiert.
Schließen
Felder
In diesem Register befinden sich die folgenden Felder :
Diagramm
| Dieses Feld wird verwendet, wenn man mehr als einen numerischen Wert in der Tabelle hat, der als Diagramm dargestellt werden soll. Dieses Feld kann zwei Werte anzeigen:
|
| Werden mehrere Serien in der Grafik dargestellt (sofern die Darstellung aller Serien gliech und nicht vom Typ ‚Flächen‘ ist), können Sie angeben, wie die Serienwerte gemäß den folgenden Werten kombiniert werden:
|
| Dieses Feld definiert die grafische Darstellung der dargestellten Daten (Balken, Zeilen, Flächen, Torten). Ein Bild, das zur Auswahl angezeigt wird, illustriert den gesetzten Darstellungstyp. Ist nur eine Werteserie verfügbar, wird die grafische Darstellung standardmäßig von diesem Parameter festgesetzt. Sind mehrere Werteserien verfügbar, können die Darstellungsweisen gemischt werden (z.B. eine Serie mit Balken, eine andere mit Zeilen). In diesem Fall hängt die Darstellung jeder Werteserie vom Feld Darstellung der Feldtabelle ab:
Ist die Seriendarstellung homogen (es existiert nur eine Serie in der Grafik), ist eine Auswahl für den Grafiktyp verfügbar, über den eine andere Darstellungsart ausgewählt werden kann. |
Blocknummer 3
| Bild, das die zuvor erfassten Informationen detailliert aufzeigt. |
Blocknummer 2
Blocknummer 4
Schließen
Im über diese Schaltfläche geöffneten Fenster befinden sich die folgenden Felder: : Blocknummer 1
Blocknummer 2
Schließen in einen anderen Ordner .Fehlermeldungen |
Start der aktuellen Abfrage. Die Abfrage wird per Aktualisierung einer Temp-Tabelle angestoßen und mit der Funktion Abfragen anzeigen fortgesetzt. In dieser Funktion wird eine Auskunft über die Bewegungen angezeigt. Darüber hinaus kann sukzessive über die verschiedenen definierten Stopplevels summiert werden. |
Mit dieser Funktion kann die Logik beim Durchlaufen der Tabellen definiert werden. Hierbei werden sowohl die erfassten Tabellen als auch die impliziten Dictionary-Links berücksichtigt. In einer Infobox werden der Name der Haupttabelle sowie die Beziehungsliste angezeigt, die für den Zugriff auf die in der Abfrage definierten Tabellen verwendet wird.
Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :
Die Abfragetabelle besitzt keine Zeile.
Die Abfrage ist zu komplex. Die Anzahl von Sortierkriterien ist auf 8 begrenzt, die Anzahl von Bereichen und Summen auf jeweils 10.
In einem Ausdruck wurde eine Berechnungsformel mit Feldern einer Tabelle vorgegeben, die nicht online ist.
Die Tabelle oder das Feld ist nicht im Dictionary enthalten
Ein Feld wurde mit einem Wert indiziert, der die Feldlänge überschreitet
Die Beziehungen zwischen den Tabellen konnten auf Basis des Dictionarys nicht aufgebaut werden. Dies hängt entweder mit einem Fehler in der Abfrage oder mit einer mangelhaften Vorgabe der Beziehungen im Register Erweitert... zusammen.