Domänen

Im Kontext von Datenstrukturen legt eine Domäne fest, welchen Inhalt ein Datenelement haben kann. Diese Vorgabe kann von der TAA zur Laufzeit überprüft werden, andere Inhalte werden als fehlerhaft erkannt.

Domäne bearbeiten

Eine Domäne kann mittels einer eigenen Syntax definiert werden, oder die Werte können als Bedingungsnamen in einer Schlüsseltabelle angegeben werden.

Syntax für Domänendefinitionen

Eine Domäne kann als ein oder mehrere Bereiche) angegeben werden, oder als spezifische Werte.

Folgende Angaben werden erkannt (Groß/Kleinschreibung spielt keine Rolle):

Bereich: Eine Bereichsdefinition wird mit dem Wort „Intervall:“ eingeleitet. Danach folgen Anfangs- und Endwert, getrennt durch einen Unterstrich. Anfangs- und Endwerte können offen (( bzw. ) oder geschlossen [ bzw. ] angegeben werden; Default ist geschlossen. zulässige Werte: Eine Liste von zulässigen Werten wird mit dem Wort „Liste“ eingeleitet. Danach folgen die Werte getrennt durch Komma und min. 1 Leerzeichen. nicht zulässige Werte: Eine Liste von nicht zulässigen Werten wird mit dem Wort „Negativliste“ eingeleitet. Danach folgen die Werte getrennt durch Komma. aktuelles Datum: Das aktuelle Tagesdatum wird als Current angeben. Nur in Datumsfeldern möglich, nicht bei Timestamp oder Uhrzeit. Platzhalter:

  • '*' für beliebig viele alphanumerische Zeichen
  • '?' für genau ein alphanumerisches Zeichen.
  • '#' genau eine Ziffer (kann in alphanumerischen und numerischen Wertebereichen verwendet werden)
  • '.' in nummerischen Angaben: Dezimalzeichen.

Regeln:

  • Jede Zeile kann eine Angabe enthalten.
  • Bereiche und Werte können in einer Domäne kombiniert werden.
  • Alphanumerische Werteangaben, die aus mehr als einem Buchstaben bestehen, müssen in Hochkommata eingeschlossen werden. Ebenso ein einzelnes Sonderzeichen.
  • Alphanumerische Werteangaben, die aus mehr als einem Buchstaben bestehen, müssen in Hochkommata eingeschlossen werden. Ebenso ein einzelnes Sonderzeichen. Strings werden linksbündig ausgerichtet und mit Leerzeichen aufgefüllt. Beispiel: Der Vergleich 'ABC' mit dem 5-Stelligen 'FELDA' wird in den Vergleich 'ABC ' umgesetzt.
  • Platzhalter (*, ?, # - siehe unten), Backslash (\) sowie das Hochkomma (') können nicht bei Werteangaben verwendet werden.
  • Geschlossene Intervalle können entweder mit [1_2] oder 1_2 angegeben werden. Offene Intervalle und gemischt-offen-geschlossene müssen jedoch mit Klammern angegeben werden. Z. B. ist die Angabe (1_2 unzulässig.
  • Alphanumerische Intervalle sind nur für EIN ZEICHEN zulässig, wobei Anfangs-und Endwert von derselben Kategorie sein müssen, entweder Großbuchstaben, oder Kleinbuchstaben, Ziffern. Beispiel: A_Z, 1_9, t_z. Nicht erlaubt: A_z, r_1, Ba_uZg u.ä.
  • Text, der mit "//" eingeleitet wird, gilt als Kommentar.

Beispiele:

Intervall: 1_9999999    // Bereich von 1 bis 999999
 
Intervall: -999.99_+999.9  //Bereich von -999,99 bis +999,99
 
Intervall: 1900-01-01_2099-12-30   // 1.1.1900  bis 30.12.2099
Intervall: [0001-01-01_9999-12-31] // 1.1.0001  bis 31.12.9999 = alles
Intervall: [2000-01-01_CURRENT]    // 1.1.2000 bis heute
Intervall: [CURRENT_9999-12-31]    // heute bis 31.12.9999
     
LISTE: U, D, I, ' '
LISTE: N, A, L 
  
INTERVALL: 1_10   
NEGATIVLISTE: 6, 2
INTERVALL: [A_Z]
NEGATIVLISTE: 'X','Y' 

Bedingungsnamen

Alternativ zur Angabe von Werten und Wertebereichen können für eine Domäne Bedingungsnamen 1) definiert werden. Diese können in DataStrEdge nur angezeigt werden (Schaltfläche 88er Werte). Die Erfassung erfolgt in TablEdge.

Es gibt zwei Möglichkeiten zur Definition von Bedingungsnamen:

  • In TablEdge an der Domäne selbst. Hierfür ist es notwendig, dass die Domäne mindestens einem Datenelement als Basis zugeordnet ist, da sonst das Format der möglichen Werte nicht abgeleitet werden kann.
  • Aus einer D-Relation mit Schlüsseltabelle. Hierfür muss in Rochade die Verknüpfung mit einer D-Relation mit Schüsseltabelle hergestellt werden. Die Bedingungsnamen werden dann aus dem Inhalt der Schüsseltabelle abgeleitet.
1)
sog. Cobol 88er-Stufen
datastredge:ddmn · Zuletzt geändert: 22.07.2025 11:42

Copyright © 1992-2025 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum