Inhaltsverzeichnis

Tabellen

Aufgabe

Tabellen sind die logischen Entwurfsobjekte der Business Logic Layer und der Data Access Layer in CBA. Sie stellen logische Strukturen dar und können direkt oder per Object-Relation-Mapping den Tabellenstrukturen einer Datenquelle angepasst werden. Durch die programmtechnissche Realisierung der Business Logic in Form von Business Locig Units (BLUs) bzw. des Data Access in Form von Data Access Units (DAUs) werden einer Tabelle die Parameter und Methoden dieser Units vererbt. Damit repräsentiert eine Tabelle neben der Datenhaltung objektorientierte Strukturen in Form der Methoden der BLU bzw. DAU.


Anforderungen

Tabellen setzen im Rahmen des CBA-Frameworks folgende Anforderungen um:


Architektur

Tabellen haben eine zentrale Stellung im CBA-Framework. Sie werden durch DataTable-Objekte im ADO.NET-DataSet repräsentiert und implementieren folgende Funktionalitäten:


Konfiguration

Nachfolgend werden die wichtigsten Konfigurations-Informationen beschrieben:

Damit sind sowohl die Struktur der Tabelle als auch alle notwendigen Eigenschaften frei konfigurierbar.


Filter

CBA verwendet in verschiedenen Entwurfsobjekten Filter zur Einschränkung der ausgewählten Daten, z.B. in Tabellen, Oberflächen oder Datentypen. Außerdem können Filter in verschiedenen Funktionen verwendet werden. Filter können erfasst werden, indem eine spezielle Bedienoberfläche über das Icon Filter aufgerufen wird oder der Filter in der nachfolgend beschriebenen Syntax im Eingabefeld erfasst wird. Für Filter gilt eine einheitliche Syntax. In geschweifte Klammern {} eingeschlossene Ausdrücke können beliebig oft (0 … n-mal) vorkommen. In eckige Klammern eingeschlossene Ausdrücke können optional (0 oder 1-mal) vorkommen. Vordefinierte Sprachelement werden in Fettschrift dargestellt. Lexikalische Sprachelemente sind kursiv geschrieben und werden nachfolgend erläutert. Die semantische Bedeutung des Ausdruckes ist nach dem Kommentarzeichen "//" angegeben.

Filter Element Bedeutung
filter filter-element {& filter-element} Liste AND-verknüpfter Filter-Elemente
filter[~] ( element {| element} )Liste OR-verknüpfter Filter-Elemente,'~' bedeutet Negation (NOT)
filter-elementname operator value Prüfung eines Attributes auf einen Wert
filter-element filter Aufruf eines untergeordneten Filter-Konstruktes

Dabei haben die lexikalischen Begriffe folgende Bedeutung:

CBA unterstützt folgende Operatoren:

Operator Lexik Bedeutung
= = Attributwert ist gleich dem angegebenen Wert
< < Attributwert ist kleiner dem angegebenen Wert
> > Attributwert ist größer dem angegebenen Wert
<> <> Attributwert ist ungleich dem angegebenen Wert
Attributwert ist kleiner oder gleich dem angegebenen Wert
>= >= Attributwert ist größer oder gleich dem angegebenen Wert
UNIFY # Attributwert ist gleich Wert oder gleich Default-Wert
CONTAINS % Attributwert enthält mindestens ein in Wert enthaltenes Zeichen
LIKE § Eine Teilzeichenkette des Attributwertes entspricht dem angegebenen Wert. Als Platzhalter wreden die in SQL üblichen Platzhalter '%' für eine beliebige Zeichenkette und '_' für ein einzelnes Zeichen verwendet.
IN @ Attributwert ist ein Wert aus der Aufzählungsliste (durch Komma seperierte Wertelist oder SELECT-Anweisung)

Zu den definierten Filtern werden automatisch die notwendigen Bedingungen zur Realisierung der Mandantenfähigkeit, der Historisierung, der Datierung und Versionierung hinzugefügt.


Sortierung

CBA bietet in verschiedenen Entwurfsobjekten Möglichkeiten zum Sortieren von Datensätzen an. Sortier-Möglichkeiten bieten zudem verschiedene Funktionen an. Sortier-Anweisungen werden in der nachfolgend beschriebenen Syntax im Eingabefeld erfasst. Die Syntaxbeschreibung ist analog zu Filtern In geschweifte Klammern {} eingeschlossene Ausdrücke können beliebig oft (0 … n-mal) vorkommen. In eckige Klammern eingeschlossene Ausdrücke können optional (0 oder 1-mal) vorkommen. Alternativen werden durch das Trennzeichen '|' gekennzeichnet. Vordefinierte Sprachelement werden in Fettschrift dargestellt. Lexikalische Sprachelemente sind kursiv geschrieben und werden nachfolgend erläutert.

sortsort-element {, sort-element}Liste von Sortier-Elementen
sort-element [+|-]name optional vorzeichenbehafeter Attribute-Name
,'-' bedeutet absteigende Sortierung (DESC)
, sonst wird aufsteigend sortiert (ASC)

Dabei haben die lexikalischen Begriffe folgende Bedeutung: