# Reiter „Allgemein“

Der Reiter beschreibt die Definition als Ganzes: woher ihre Daten kommen und wie die
Abfrage aussieht, die der TableServiceRouter daraus baut.

## Die Felder

| Feld | Eigenschaft | Bedeutung |
|---|---|---|
| **Name** | `nameApi` | Der öffentliche Name. Er steht in der Route `/<Art>/<Name>` und im Namen der Custom Property. Ein Umbenennen verschiebt die Property. Pflichtfeld |
| **Verbindung** | `connectionId` | Die DEXPRO-Datenbankverbindung aus der `dbConn.json`. Angeboten werden die gemeldeten Verbindungen; über *andere …* lässt sich eine eintragen, die (noch) nicht gemeldet wird. Pflichtfeld |
| **Tabelle** | `nameSQL` | Die SQL-Tabelle oder View hinter der Definition. Ist die Tabellenliste der Verbindung geladen, schlägt das Feld beim Tippen vor. Pflichtfeld |
| **Standardsortierung** | `orderBy` | Eine oder mehrere Zeilen aus Spalte und Richtung (*aufsteigend* / *absteigend*). Zur Wahl stehen die **deklarierten** Spalten der Definition. Die Sortierung gilt, solange der Client nicht selbst sortiert; eine Sortierung des Clients gewinnt pro Spalte |

## Erweitert

| Feld | Eigenschaft | Bedeutung |
|---|---|---|
| **Zusätzliche WHERE-Bedingung** | `whereRaw` | Wird an jede Abfrage dieser Definition angehängt, z. B. `Active=1`. **Wird nicht geprüft** – ein Syntaxfehler legt die Tabelle lahm |
| **nur unterschiedliche Zeilen** | `distinct` | Setzt `DISTINCT` in die Abfrage |
| **meta (JSON)** | `meta` | Wird unverändert an den Client durchgereicht – reine Anzeigehinweise |
| **Weitere Eigenschaften (JSON)** | – | Alles, wofür es hier kein Feld gibt. Es bleibt genau so erhalten, wie es in der Definition steht |

> Der Editor verliert nichts. Jede Eigenschaft, für die es kein eigenes Feld gibt –
> auch `cache` –, erscheint unter *Weitere Eigenschaften (JSON)* und wird unverändert
> zurückgeschrieben.

## Tabellenliste laden

Solange die Tabellen der Verbindung nicht gelesen sind, macht das Feld **Tabelle**
keine Vorschläge; der Hinweis am Feld sagt das. Die Liste holt der Editor beim
Verbindungswechsel sowie über die Knöpfe `Tabellen…` an den Stellen, an denen eine
Tabelle zu wählen ist. Views bleiben dabei nur dort draußen, wo sie nicht in Frage
kommen (z. B. beim Ändern einer Tabelle).

Meldet die Verbindung keine Tabellen oder lässt sich die Liste nicht lesen, sagt der
Editor das – der Name ist dann von Hand einzutragen.