3.2 Datenquellen — Daten abfragen und bereitstellen

3.2 Datenquellen — Daten abfragen und bereitstellen

Definieren Sie, welche Daten aus Ihren Datenobjekten abgefragt werden und wie sie in Ansichtselementen, Berichten und Dialogen zur Verfügung stehen.

1

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.

Datenobjekt vs. Datenquelle Das Datenobjekt (Entität) definiert die Struktur Ihrer Daten — also welche Felder und Datentypen existieren. Die Datenquelle definiert, wie diese Daten abgefragt und bereitgestellt werden: welche Spalten sichtbar sind, welche Filter gelten und welche Verknüpfungen genutzt werden.
Unser Beispiel für diese Anleitung
Aktive Kunden mit offenen Vorgängen

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.

2

Schritt 1: Datenquelle anlegen

  1. Subsystem öffnen

    Navigieren Sie im Admin-Client zum gewünschten Subsystem. In der Baumstruktur sehen Sie die vorhandenen Datenobjekte und Datenquellen.

  2. Neue Datenquelle erstellen

    Klicken Sie auf „Neue Datenquelle“ in der Toolbar. Es öffnet sich die Detailseite der Datenquelle.

  3. 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.

3

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.

AdminClient → Datenquelle anlegen → Basis-Datenobjekt zuordnen
Grunddaten
Name
AktiveKunden
Beschreibung
Aktive Kunden mit offenen Vorgängen
Subsystem
CRM
Basis
Basistyp
Datenobjekt (Entität)
Datenobjekt
Kunde
Lookups auflösen
aktiv
Gecacht
aus
4

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.

Tipp: Ungebundene Spalten Neben Feldern aus dem Datenobjekt können Sie auch ungebundene Spalten hinzufügen. Diese haben kein Ursprungsfeld, sondern werden über dynamischen Code berechnet — z. B. für berechnete Kennzahlen oder zusammengesetzte Anzeigewerte.
5

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.

Felder aus Verknüpfungen Nach dem Anlegen einer Verknüpfung stehen die Felder des verknüpften Datenobjekts in der Ausgabespalten-Konfiguration zur Verfügung. In der Spalte „Verknüpfung“ sehen Sie, aus welchem Join das Feld stammt.
6

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.

Wichtig: Filterausdruck vs. Ausgabespalten Der Filterausdruck bezieht sich auf die Felder der Entität, nicht auf die Ausgabespalten der Datenquelle. Berechnete oder ungebundene Spalten können im Filterausdruck nicht verwendet werden.
7

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.

Typischer Anwendungsfall Ein Parameter @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.
8

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.
9

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.

AdminClient → Datenquellen-Übersicht (Subsystem CRM)
+ Neue Datenquelle Aktualisieren Vorschau Suche...
Name ▲BasisJoinsFilterCacheStatus
AktiveKundenKundeAnsprechpartner (Outer)IstAktiv = trueausaktiv
AlleKundenKundegecachtaktiv
OffeneVorgaengeVorgangKunde (Inner)Status ≠ "Erledigt"ausaktiv
BranchenlisteBranchein-memoryaktiv
KundenUnionUnion (2×)ausin Prüfung
10

Ergebnis unseres Beispiels

Nach der Konfiguration haben wir eine Datenquelle „AktiveKunden“, die:

  • Auf dem Datenobjekt Kunde basiert
  • Die Spalten Firmenname, Ort, Branche, IstAktiv und LetzteAktivitaet ausgibt
  • Über einen Outer Join den zugeordneten Ansprechpartner einblendet
  • Per Filterausdruck nur aktive Kunden anzeigt
  • Als Basis für ein Grid-Ansichtselement verwendet werden kann
11

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.