Was ist eine Datenquelle?
Eine Datenquelle (DataSource) ist die zentrale Schnittstelle zwischen einem Datenobjekt (Entität) und der Benutzeroberfläche. Sie bestimmt:
- Welche Felder (Ausgabespalten) im Ergebnis enthalten sind
- Wie die Daten gefiltert werden — über Filterausdrücke und Parameter
- Welche Verknüpfungen (Joins) zu anderen Datenobjekten bestehen
- Ob Nachschlagewerte (Lookups) automatisch aufgelöst werden
Jedes Ansichtselement (Grid, Chart, Dashboard) und jeder Dialog bezieht seine Daten über eine Datenquelle. Ohne Datenquelle können Datenobjekte nicht in der Benutzeroberfläche angezeigt werden.
Sie möchten eine Datenquelle erstellen, die nur aktive Kunden anzeigt und nach der letzten Aktivität sortiert. Zusätzlich soll der zugeordnete Ansprechpartner über eine Verknüpfung eingeblendet werden. Diese Datenquelle wird später in einem Grid-Ansichtselement verwendet.
Schritt 1: Datenquelle anlegen
-
Subsystem öffnen
Navigieren Sie im Admin-Client zum gewünschten Subsystem. In der Baumstruktur sehen Sie die vorhandenen Datenobjekte und Datenquellen.
-
Neue Datenquelle erstellen
Klicken Sie auf „Neue Datenquelle“ in der Toolbar. Es öffnet sich die Detailseite der Datenquelle.
-
Name und Beschreibung vergeben
Geben Sie einen sprechenden Namen ein, z. B.
AktiveKunden. Die Beschreibung hilft Ihnen später, den Zweck der Datenquelle schnell zu erkennen.
Schritt 2: Datenobjekt zuordnen
Jede Datenquelle basiert auf genau einem Datenobjekt (Entität) oder auf einer anderen Datenquelle. Die Zuordnung bestimmt, welche Felder Ihnen zur Verfügung stehen.
| Basis | Beschreibung |
|---|---|
| Datenobjekt (Entität) | Direkte Abfrage der Datenbanktabelle. Sie haben Zugriff auf alle Felder des Datenobjekts. |
| Andere Datenquelle | Baut auf einer bestehenden Datenquelle auf. Nützlich, um Varianten zu erstellen (z. B. unterschiedliche Filter auf denselben Daten). |
In unserem Beispiel: Wählen Sie das Datenobjekt Kunde als Basis. Nach der Auswahl erscheint das Element-Diagramm, das die Struktur des Datenobjekts visualisiert.
Schritt 3: Ausgabespalten konfigurieren
Im Bereich „Ausgabespalten“ legen Sie fest, welche Felder im Ergebnis der Datenquelle enthalten sein sollen. Jede Ausgabespalte hat folgende Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
| Ursprungsfeld | Das Feld aus dem Datenobjekt, auf dem die Spalte basiert |
| Ausgabename | Technischer Name der Spalte im Ergebnis (kann vom Ursprungsfeld abweichen) |
| Titel | Anzeigename in der Benutzeroberfläche (z. B. Spaltenüberschrift im Grid) |
| Datentyp | Wird automatisch vom Ursprungsfeld übernommen, kann aber übersteuert werden |
| Anzeigeformat | Formatierung der Ausgabe (z. B. Datumsformat, Dezimalstellen) |
| Änderbar | Bestimmt, ob der Wert direkt im Grid bearbeitet werden kann |
In unserem Beispiel: Fügen Sie die Spalten Firmenname, Ort, Branche, IstAktiv und LetzteAktivitaet hinzu.
Schritt 4: Verknüpfungen (Joins) einrichten
Wenn Sie Daten aus verwandten Datenobjekten in Ihrer Datenquelle anzeigen möchten, verwenden Sie Verknüpfungen. Ein Join verbindet die Datenquelle mit einer weiteren Entität über gemeinsame Schlüsselfelder.
| Join-Typ | Beschreibung |
|---|---|
| Inner Join | Nur Datensätze, die in beiden Tabellen einen Treffer haben, werden angezeigt. |
| Outer Join | Alle Datensätze der Haupttabelle werden angezeigt, auch wenn kein passender Datensatz in der verknüpften Tabelle existiert. |
In unserem Beispiel: Erstellen Sie einen Outer Join zum Datenobjekt Ansprechpartner, um den zugeordneten Kontakt einzublenden. So sehen Sie den Ansprechpartner direkt in der Kundenliste — auch wenn einem Kunden noch kein Ansprechpartner zugeordnet ist.
Schritt 5: Filterausdruck setzen
Mit dem Filterausdruck schränken Sie die Ergebnismenge der Datenquelle ein. Der Filter bezieht sich auf die Felder der zugrunde liegenden Entität.
In unserem Beispiel: Tragen Sie den Filterausdruck ein, der nur aktive Kunden zurückliefert. Der Filterausdruck verwendet die Feldnamen des Datenobjekts.
Schritt 6: Parameter konfigurieren
Parameter machen Ihre Datenquelle dynamisch. Statt fester Filterwerte können Sie Platzhalter definieren, die zur Laufzeit vom Ansichtselement oder Dialog gefüllt werden.
Parameter werden sowohl auf Entitäts- als auch auf Datenquellen-Ebene definiert. Die Datenquelle erbt die Parameter der Entität und kann zusätzliche eigene Parameter hinzufügen.
@NurAktive mit Standardwert true ermöglicht es dem Anwender, über ein Ansichtselement zwischen aktiven und allen Datensätzen umzuschalten — ohne dass eine zweite Datenquelle nötig ist.
Erweiterte Funktionen
Lookup-Auflösung
Wenn die Option „Lookups auflösen“ aktiviert ist, werden Fremdschlüssel-Werte automatisch durch die Anzeigewerte der Nachschlagetabelle ersetzt. Statt einer ID sieht der Anwender dann z. B. den Branchennamen.
Union-Datenquellen
Eine Union-Datenquelle kombiniert die Ergebnisse mehrerer Datenquellen zu einer einzigen Ergebnismenge. Dies ist nützlich, wenn Sie Daten aus verschiedenen Entitäten in einer gemeinsamen Liste darstellen möchten. Die Spalten der Teildatenquellen werden über die Union-Feldzuordnung auf die Ergebnisspalten abgebildet.
Caching und In-Memory
| Option | Beschreibung |
|---|---|
| Gecacht | Daten werden nach der ersten Abfrage zwischengespeichert. Sinnvoll bei selten geänderten Stammdaten. |
| In-Memory | Die Datenquelle wird vollständig im Arbeitsspeicher gehalten. Eignet sich für kleine, häufig abgefragte Datenbestände. |
Vorschau und Testen
Im Bereich „Vorschau“ können Sie die Datenquelle direkt testen. Die Vorschau zeigt die Ergebnismenge mit allen konfigurierten Ausgabespalten, Filtern und Verknüpfungen.
| Name ▲ | Basis | Joins | Filter | Cache | Status |
|---|---|---|---|---|---|
| AktiveKunden | Kunde | Ansprechpartner (Outer) | IstAktiv = true | aus | aktiv |
| AlleKunden | Kunde | — | — | gecacht | aktiv |
| OffeneVorgaenge | Vorgang | Kunde (Inner) | Status ≠ "Erledigt" | aus | aktiv |
| Branchenliste | Branche | — | — | in-memory | aktiv |
| KundenUnion | Union (2×) | — | — | aus | in Prüfung |
Ergebnis unseres Beispiels
Nach der Konfiguration haben wir eine Datenquelle „AktiveKunden“, die:
- Auf dem Datenobjekt
Kundebasiert - Die Spalten Firmenname, Ort, Branche, IstAktiv und LetzteAktivitaet ausgibt
- Über einen Outer Join den zugeordneten
Ansprechpartnereinblendet - Per Filterausdruck nur aktive Kunden anzeigt
- Als Basis für ein Grid-Ansichtselement verwendet werden kann
Häufige Fragen
| Frage | Antwort |
|---|---|
| Kann ein Ansichtselement mehrere Datenquellen verwenden? | Nein. Jedes Ansichtselement ist genau einer Datenquelle zugeordnet. Für unterschiedliche Datenquellen benötigen Sie separate Ansichtselemente. |
| Was ist der Unterschied zwischen Filterausdruck und Benutzerfilter? | Der Filterausdruck wird vom Administrator fest hinterlegt und gilt immer. Der Benutzerfilter wird vom Anwender zur Laufzeit gesetzt und kommt zusätzlich zum Filterausdruck hinzu. |
| Kann ich eine Datenquelle auf einer anderen Datenquelle aufbauen? | Ja. Statt eines Datenobjekts können Sie eine bestehende Datenquelle als Basis wählen. So erstellen Sie Varianten mit unterschiedlichen Filtern oder Spalten, ohne die Basiskonfiguration zu duplizieren. |
| Was passiert, wenn ich eine Ausgabespalte entferne? | Die Spalte wird aus dem Ergebnis der Datenquelle entfernt. Ansichtselemente, die diese Spalte referenzieren, zeigen sie nicht mehr an. Prüfen Sie daher vorher, welche Ansichtselemente betroffen sind. |
| Wofür brauche ich dynamischen Code in einer Datenquelle? | Über dynamischen Code können Sie Werte berechnen, transformieren oder aus externen Quellen anreichern. Der Code wird pro Datensatz ausgeführt und kann ungebundene Spalten befüllen. |