globe with meridians Sprache: Deutsch · English

open book Report und Formular

Datenquellen als Grundlage von Reports und Formularen – Parameter, intid, Wildcards und SQL-Editor.

REFERENZ ANWENDUNGSENTWICKLER STAND: JUL 2026 GILT FUER NUCLOS 4.2026.X

Auf dieser Seite

Datenquelle = Grundlage jedes Reports/Formulars

Datenquellen bilden die Grundlage für Reports und Formulare. Eine Datenquelle legt fest, welche Businessobjekte betrachtet werden; über Bedingungen und Verknüpfungen schränkst du die Daten ein oder ergänzt Attribute. Parameter machen eine gespeicherte Datenquelle wiederverwendbar.

Menüaufruf: Konfiguration → Datenquellen → Report und Formular

Aufbau der Pflegemaske

Die Maske gliedert sich in fünf Bereiche:

BereichInhalt
KopfName und Beschreibung der Datenquelle.
TabellenauswahlSystemobjekte (Stamm-/Bewegungsdaten), dynamische Objekte (BO-Tabellen) und gespeicherte Abfragen (als Unterabfragen).
Tabellenansichtper Drag&Drop gezogene Businessobjekte.
ParameterdefinitionName, Datentyp und Eingabeaufforderung je Parameter. Für Formulare ist mindestens intid Pflicht.
Spaltenansichtsichtbare Spalten (Alias = späterer Feldname), Sortierung und Bedingungen. Nach dem Speichern: SQL und Vorschau.

Parameterdefinition der Datenquelle.

Der besondere Parameter intid

Datenquellen für Formulare müssen den Parameter intid für die Spalte intid des zu druckenden BO definieren. Nuclos füllt ihn beim Drucken automatisch – ohne Benutzerdialog. Ein Valuelist Provider liefert eine Auswahlliste; der Textwert per '$name', die ID per '$nameId'.

intid-Parameter im Formular.

Text-Parameter & Wildcards

BedingungWirkung
='$param'keine Wildcards; „=“-Vergleich; erlaubt Suche nach % und _.
WIE '$param'Wildcards erlaubt; LIKE-Bedingung.
='$param%'immer LIKE mit angehängter Wildcard; leerer Wert = alle Datensätze.

Interne Parametertypen

Text-Liste, Integer-Liste, SQL werden dem Benutzer nicht angeboten, sondern intern in Regeln genutzt. SQL-Parameter benötigen einen VLP als Whitelist der erlaubten Ausdrücke.

SELECT 
	T1.INTID "<primaryKey>",
	T1.INTARTICLENUMBER "articleNumber",
	T1.STRNAME "name"
FROM 
	V594_ARTICLE T1
WHERE
	$pSql
	  OR
	T1.INTARTICLENUMBER in $pListOfInteger
	  OR
	T1.STRNAME in $pListOfText
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);

Bedingungen & SQL

In Spaltenbedingungen sind Vergleichsoperatoren (= > < >= <= != WIE), Bereiche (zwischen 'a' und 'b'), Klammern und Spaltenvergleiche möglich. Parameter beginnen immer mit $. Reicht die grafische Modellierung nicht, aktivierst du den Reiter SQL und bearbeitest das SELECT-Statement direkt; danach lässt sich per Syntax prüfen und Vorschau testen (inkl. Export nach Excel/PDF/CSV).

SQL-Statement bearbeiten.

Ergebnis-Vorschau.

Verwandte Seiten

open book Reporting Reports


Reports erstellen.

Öffnen →

memo Reporting Formulare


Formulare erstellen.

Öffnen →

file cabinet Datenquellen


Datenquellen allgemein.

Öffnen →

  • Keine Stichwörter