Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Datenquellen

Datenquellen bilden die Grundlage für Reports und Formulare.

...

Nach dem Speichern der Datenquelle stehen zusätzlich noch die Funktionen SQL und Vorschau zur Verfügung, die eine Voransicht des Abfrageergebnisses ermöglichen.

Parameterdefinition

In den Bedingungen der Spalten einer Abfrage können Parameter verwendet werden, deren Werte bei jeder Ausführung der Abfrage vom Benutzer bestimmt werden können. In der Bedingung einer Spalte wird ein Parameter in der Form

...

Wird ein Valuelistprovider angegeben, so erscheint dem Benutzer eine Auswahlliste in einem Dropdown, mit den vom VLP gelieferten Werten. Über den angezeigten Textwert kann ganz Normal per ’$parametername’ zugegriffen werden. Die ID des ausgewählten Wertes erhält man mittels ’$parameternameId’. Achtung, diese Funktion funktioniert erst ab 4.8.3 wieder!

Ab 4.19: Interne Parameter Typen: Text Liste, Integer Liste und SQL

Parameter diesen Typs werden dem Benutzer nicht zur Eingabe angeboten, sie dienen der internen Verwendung in Regeln.

...

Codeblock
languagejava
titleBeispiel Regel
List<Number> listOfInteger = new ArrayList<>();
listOfInteger.add(4711L); // Test with Long
List<String> listOfStrings = new ArrayList<>();
listOfStrings.add("4711");

Map<String, Object> params = new HashMap<>();
params.put("pListOfInteger", listOfInteger);
params.put("pListOfText", listOfStrings);
params.put("pSql", "T1.INTARTICLENUMBER > 4000");
 
DatasourceProvider.run(TestDS.class, params);
Besonderheit des SQL Typs

Parameter vom Typ SQL müssen einen VLP definieren, der die erlaubten SQL "Erweiterungen" zurückliefert (Whitelist). Der Nuclos Server wird einen Wert gegen diese Liste prüfen und bei einer Verletzung einen Fehler werfen. Zur Validierung der Datenquelle setzt Nuclos für solch einen Parameter einfach den Wert "false" ein. Ist das für die Verwendung ungünstig, kann über einen kleinen Trick ein eigener Validierungsausdruck hinterlegt werden: Geben Sie im Anzeigenamen den gewünschten Ausdruck ein. Da diese Art von Parametern einem Benutzer nicht zur Eingabe angeboten werden, kann ein beliebiger Ausdruck verwendet werden.

Beispiele für Bedingungen in Datenquellen

In der Bedingung zu einer Spalte können sowohl einfache Vergleiche, als auch Ausdrücke eingegeben werden, die an Oracle weitergereicht werden. Im Allgemeinen gilt, Zeichenketten die in einfachen Anführungszeichen stehen werden von Nuclos ausgewertet. Alle anderen Zeichenketten werden weitergereicht und von Oracle interpretiert.

...

Vergleich mit Wert aus anderer Spalte
=T2." basisschluessel"

Beispiele für Oracle Funktionen in der Spaltendefinition

In der Spaltendefinition besteht die Möglichkeit Oracle Ausdrücke und Aggregatfunktionen zu verwenden. Dort eingegebene Ausdrücke werden in den SELECT-Teil der erzeugten Abfrage übernommen.

...

Durchschnittliche Mietzeit eines Objektes in Wochen
AVG((T1."termin_entgeltpflicht_ende" - T1."termin_entgeltpflicht_beginn") / 7)

Beispiel für Oracle Datum is null Bedingung

Soll ein Datum auf Null geprüft werden, so muss in der Bedingung folgendes eingetragen werden:
"Tabelle"."Attribut" is null

SQL-Statement bearbeiten

Sollten bei komplexen Abfragen die Möglichkeiten der grafischen Modellierung von Datenquellen nicht ausreichen, gibt es die Möglichkeit, beliebige SELECT-Abfragen in Form von SQL-Statements manuell in einem Editor zu erfassen. Dazu steht im Datenquelleneditor der Reiter SQL zur Verfügung.

...

Aktiviert man diesen Reiter, wird zunächst die aus dem aktuellen Modell generierte Abfrage angezeigt. Über die Schaltfläche Statement bearbeiten wird die Abfrage veränderbar. Es besteht anschließend die Möglichkeit, eine geänderte Abfrage aus dem Modell wiederherzustellen. Hat sich der Benutzer entschlossen, die Abfrage manuell zu erstellen, ist das Modell zunächst gesperrt, bis die Schaltfläche Statement wieder herstellen betätigt wurde.

Syntax prüfen

Um festzustellen, ob eine modellierte Abfrage ausführbar ist, besteht die Möglichkeit, die Syntax des erzeugten SQL Statements zu prüfen. Ist die Abfrage korrekt, erscheint die Meldung:

...

Enthält die Abfrage Fehler, erscheint eine Dialogbox mit der Oracle Fehlermeldung:

Ergebnis Vorschau

Der Reiter Vorschau dient der Ansicht des Ergebnisses, das die Datenquelle liefert.

...

Zusätzlich besteht die Möglichkeit, das angezeigte Ergebnis der Abfrage ins Excel-, PDF- oder CSV- Format zu exportieren. Dabei werden immer die angezeigten Zeilen exportiert, die Abfrage wird nicht erneut ausgeführt.