Mit dieser Funktion können Views angelegt und geändert werden. Dafür werden die Eigenschaften der Tabellen im Daten-Dictionary des Ordners beschrieben. Es wird die Möglichkeit geschaffen, Views auf Tabellen in verschiedenen Ordnern zu erstellen.

Mit der Freigabe dieser Beschreibung kann somit der View in der berücksichtigten Datenbank angelegt oder die Eigenschaften des Views geändert werden.

Der View steht im Anschluss daran lediglich im Lesezugriff zur Verfügung. Die Programmierung zu einem View entspricht der Programmierung zu einer Tabelle. Der View hat seine eigene [F]-Klasse. Für Views stehen folgende Anweisungen zur Verfügung:

  • (local) File, close (local) File, Filter, For ... Next, Read, Columns, Link

Auf Views kann über Crystal Report und mit dem Formeleditor zugegriffen werden.

Durch die Wiederherstellung oder Freigabe einer Tabelle werden die auf dieser Tabelle basierenden Views vernichtet. Bei der Wiederherstellung werden die Views und Trigger automatisch vom Supervisor erneut generiert. Wird die Freigabe einer Tabelle hingegen erzwungen, so muss die Freigabe der Views des aktuellen Ordners und der sonstigen sich auf diese Tabelle beziehenden Ordner aufgerufen werden.

Beispiel für View-Funktionalitäten:

  • Mit einem View kann das Öffnen einer in einem anderen Ordner befindlichen Tabelle umgangen werden. Dies ist beispielsweise bei historisierten Tabellen interessant. Views werden für alle nicht historisierten Tabellen angelegt; daher funktionieren die Auskunftsfunktionen und Berichte sowohl im Hauptordner als auch im historisierten Ordner.
  • Mit einem View können Berichte entwickelt werden, die auf die Daten in mehreren Ordnern zugreifen.
  • Mit einem View kann auf bisher nicht zugängliche SQL-Funktionalitäten zugegriffen werden: union, group by, SQL-Funktionen.

Vorbedingungen

SEEREFERTTO Siehe Dokumentation Umsetzung

Maskenverwaltung

Die Definition eines Views erfolgt über drei Register: ein Abfragedefinitionsregister das Register zur Definition der Felder und das Register zur Definition der Schlüssel.

Header

Felder

In diesem Register befinden sich die folgenden Felder :

Der Code der Ansicht muss aus 1 bis 10 Zeichen bestehen (Buchstaben oder Zahlen, das erste Zeichen muss ein Buchstabe sein). Es handelt sich dabei um einen eindeutigen Identifikator für alle Daten-Dictionary-Ansichten. Eine Ansicht kann nicht den gleichen Namen wie eine Dictionary-Tabelle haben, da der Supervisor bei der Freigabe die Dateien *.srf und *.fde erzeugt. Die für X3 reservierten Wörter sind nicht erlaubt.

  • Abkürzung (Feld ABRVUE)

Die Abkürzung der Ansicht muss aus 1 bis 3 Zeichen bestehen (Buchstaben oder Zahlen, das erste Zeichen muss ein Buchstabe sein). Dieser Identifikator kann nicht eindeutig sein für alle Abkürzungen im Daten-Dictionary. Die für Sage X3 reservierten Wörter sind nicht erlaubt.

  • Bezeichnung (Feld INTITSAI)

Erfassen Sie die Bezeichnung des betroffenen Datensatzes.

Diese Langbezeichnung wird als Titel in den Masken und Status verwendet.

  • Aktiv (Feld ENAFLG)

 

Schließen

 

Register Abfrage

Übersicht

In diesem Register wird die Abfrage geschrieben.

Die Abfrage muss mindestens in der Sprache der aktuellen Ordnerdatenbank geschrieben werden. Zu jedem gelieferten Standard-View wird zu jeder Datenbank ein Skript geliefert. Bei Freigabe des Views wird die Datei*.viw mit dem für die Datenbank des aktuellen Ordners geeigneten Skript angelegt; das Skript wird auf dem Datenserver im Verzeichnis FIL angelegt.

Sollen in der Abfrage einem Aktivitätscode unterworfene Felder sowie ein Ordnername angegeben werden, wird die Verwendung einer Formel empfohlen. Es ist vorzuziehen, den Ordner nicht in der Abfrage "hart zu codieren", da die Abfrage sonst nach der Kopie des Views in keinem anderen Ordner verwendet werden kann.

Beispiel: Von 1 bis 3 dimensionierter Aktivitätscode für das Feld LIEN und Formel im Ordner:

Select CLENUM1_0, CLENUM2_0, LINK_0
%string$(find(func AFNC.ACTIV("ZZM"),2,3)<>0,", LINK_1")%
%string$(find(func AFNC.ACTIV("ZZM"),3)<>0,", LINK_2")%
From %nomap+"."%ZZMB

Die Feldhilfe enthält weitere Informationen über die Regeln beim Schreiben der Abfrage. 

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Eigenschaften

Der Aktivitätscode und das Modul geben an, ob die im Dictionary beschriebene Ansicht tatsächlich in der Datenbank des Ordners angelegt werden muss. Dies ist der Fall, wenn die folgenden zwei Bedingungen gleichzeitig erfüllt sind:

 Das Feld Aktivitätscode ist leer oder der (in der entsprechenden Ansicht definierte) Aktivitätscode ist aktiviert.

 Das Modul, dem die Ansicht zugeordnet wird, ist als im Ordner aktiv deklariert.

Eine Ansicht mit Aktivitätscode, der mit X, Y, oder Z beginnt, wird als spezifisch angesehen und ist in keinem Fall von einer Versionsänderung betroffen (diese Aktivitätscodes können auf Zeilenebene gesetzt werden).

  • Nicht gesicherter Zugriff (Feld SECURE)

Mit dieser Option kann der Zugriff auf die Datentabelle auf nur einen Besitzerordner der Tabelle und auf bestimmte berechtigte Ordner beschränkt werden. Dieser Hinweis gilt auch für die Ansicht. Wird dieses Feld geändert, muss die Tabelle neu validiert werden, um in der Datenbank berücksichtigt zu werden.

  • nicht gesichert: alle Ordner der Lösung können auf die Tabelle zugreifen, um Daten dieser Tabelle zu lesen oder zu schreiben. In diesem Fall:
    • Systemtabellen,
    • Dictionary-Tabellen,
    • bestimmte Supervisortabellen,
  • gesichert: der Zugriff auf diese Tabelle erfolgt entsprechend den Rechten des Aufrufordners. Ein Ordner kann:
    • keine Rechte besitzen,
    • Leserechte besitzen,
    • Lese- und Schreibrechte besitzen, Dies ist der Fall für die Funktionstabellen und die meisten Supervisortabellen.

Die Ordner mit Rechten sind:

  • der Ordner, in dem die Tabelle definiert ist (die Systemtabellen im Referenzordner der Lösung: bei Sage X3 heißt dieser Ordner X3),
  • die übergeordneten Ordner des Ordners,
  • ein Ordner mit Rechten (über die Funktion Ordnerverwaltung, Register "Verknüpfungen", Block "Lösungsordner").
  • die Ordner der anderen Lösungen, die Zugriff über Verknüpfungen besitzen (über die gleiche Funktion).

SEEINFODie Sicherheitspolitik für die Tabelle wird als Parameter angesehen. Diese Option wird daher nicht per Patch aktualisiert. Bei der Validierung der Tabelle muss diese Option ausgewählt sein. Dadurch wird die Erstellung einer Konfigurationsdatei (mit Erweiterung ".cfg") mit dem folgenden Code ausgelöst:

$SECURITY
{  "LEVEL0" }
End

Gibt es andere manuelle Vorschriften in der Konfigurationsdatei, werden diese berücksichtigt. Vorschriften können durch die Aktualisierung des Blocks "Konfigurationsdatei"im entsprechenden Register der Tabellenverwaltung hinzugefügt werden.

  • Modul (Feld MODULE)

Der Aktivitätscode und das Modul geben an, ob die im Dictionary beschriebene Ansicht tatsächlich in der Datenbank des Ordners angelegt werden muss. Dies ist der Fall, wenn die folgenden zwei Bedingungen gleichzeitig erfüllt sind:

 Das Feld Aktivitätscode ist leer oder der (in der entsprechenden Ansicht definierte) Aktivitätscode ist aktiviert.

 Das Modul, dem die Ansicht zugeordnet wird, ist als im Ordner aktiv deklariert.

Eine Ansicht mit Aktivitätscode, der mit X, Y, oder Z beginnt, wird als spezifisch angesehen und ist in keinem Fall von einer Versionsänderung betroffen (diese Aktivitätscodes können auf Zeilenebene gesetzt werden).

  • Validierungsgruppe (Feld GRUCFM)

 

Tabelle Verwendete Tabellen und Ansichten

  • Code (Feld OBCCOD)

 

 

Oracle

  • Feld TEX1

 

SQL-Server

  • Feld TEX2

 

Schließen

 

Register Felder

Übersicht

In diesem Register werden sämtliche Viewfelder in einer Drop-Down-Liste definiert. Die Beschreibung der Felder in der Abfrage und in diesem Register muss vollständig kompatibel sein (Anzahl, Reihenfolge und Feldtyp). Diese Prüfung wird bei Freigabe des Views durchgeführt. Diese Felder können im Tabellendictionary vorhanden sein. Dies ist jedoch nicht Pflicht.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle Felder

  • Felder (Feld FLDVUE)

In dieser Spalte wird der Name des Ansichtsfelds definiert, wie es in der Software definiert wird (auf ein Feld mit dem Namen NAMEFELD, das in der Abkürzungsansicht ABV definiert ist, kann über die Syntax [F:ABV]NAMEFELD zugegriffen werden).

Die Feldnamen von spezifisch angelegten Feldern müssen mit den Zeichen X_, Y_ oder Z_ beginnen.

Für ein dimensioniertes Feld (NAMEFELD_0, NAMEFELD_1, NAMEFELD_2…) wird nur ein Feld NAMEFELD definiert.

Hier muss der Feldtyp definiert werden. Die wichtigsten Typen:

A: Alphanumerisch
C : Shortinteger
L: Longinteger
DCB: Dezimal
D: Datum
M: Lokales Menü
MM: Lokales Menü mit Filter
ACB: clob
ABB: blob

Es gibt andere vordefinierte Typen. Sie beziehen sich im Allgemeinen auf eine Anhangtabelle (Währung, Bereich,...). Die Taste F12 ermöglicht die Ausgabe einer Liste.

Die Datentypen in Bezug auf die übersetzten Texte können hier nicht verwendet werden: AX1, AX2, AX3.

  • Menü (Feld NOLIB)

Definiert die Nummer des lokalen Menüs, das dem in der Zeile definierten Feld zugeordnet ist.

Ist ein Feld vom Typ lokales Menü, ist es als numerischer Wert (von 1 bis 255) gespeichert, entsprechend dem Rang eines Titels in einer aufgerufenen Tabelle lokales Menü, die in der Nachrichtentabelle APLSTD gespeichert ist.

Bei der Erfassung oder Anzeige sieht man je nach Auswahl auf der Benutzeroberfläche:

  • entweder einen Titel, der in der Drop-Down-Liste ausgewählt werden kann, die auch combo box genannt wird,
  • oder eine Liste mit Auswahl-Buttons.

Dieser Erfassungstyp dient dazu, dass die Auswahlliste in der Verbindungssprache des Benutzers angezeigt wird.

Jede Nummer eines lokalen Menüs bezeichnet die Liste der möglichen Titel. Beispiel: Das lokale Menü 1 entspricht der Auswahl Nein / Ja in dieser Reihenfolge. In diesem speziellen Fall kann die Benutzeroberfläche auch die auszuwählende Option sein.

  • Länge (Feld LNG)

Ermöglicht die Definition der Länge eines Feldes, wenn das Feld einen generischen Datentyp verwendet, dessen Länge nicht festgelegt ist. Dies gilt vor allem für die Typen A und DCB.

Für die blob und clob muss die Länge erfasst werden, die die maximale Speicherlänge ist. Es gilt die folgende Codifizierung:

Länge

Speichergröße

Maximale Anzahl von Zeichen

 0

 1020

 510

 1

 2044

 1022

 2

 4092

 2046

 3

 8188

 4094

 n

 1024*(2^n) - 4

 512*(2^n) - 2

Ein Aktivitätscode ermöglicht folgende Aktionen:

  • Optionalsetzung eines Dictionary-Elements, wenn der dem Aktivitätscode zugeordnete Wert Null ist.
  • Signatur spezifischer Elemente, falls deren Code mit X, Y oder Z beginnt.
  • Vorgabe einer Höchstanzahl von Zeilen, falls der Aktivitätscode sich auf Elemente einer Tabelle bezieht.

Wenn der Aktivitätscode deaktiviert ist:

  • kann das markierte Element nicht verwendet werden,
  • wird der zugehörige Code nicht generiert oder aktiviert.
  • Einh. (Feld DIME)

Bereichsdimension in der Ansicht. Die Dimension kann auch vom Aktivitätscode betroffen sein.

  • Bezeichnung (Feld FLDINTSAI)

Erfassen Sie die Bezeichnung des betroffenen Datensatzes.

Diese Langbezeichnung wird als Titel in den Masken und Status verwendet.

  • Optionen (Feld OPTION)

Die Optionen sind als Zeichen ausgedrückt. Wenn mehrere Optionen benötigt werden, können diese Zeichen miteinander verkettet werden. Die Optionen können in einem Auswahlfenster gewählt werden. Eine detaillierte Beschreibung aller möglichen Optionen ist verfügbar.

Schließen

 

Symbol Aktionen

Zusatz

 

Schließen

 

Register Schlüssel

Übersicht

In diesem Register können sämtliche für ein "order by" auf den View verfügbaren Schlüssel definiert werden. Achtung, für den View wird kein Index angelegt.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Tabelle Schlüssel

  • Nr. (Feld NUMLIG)

 

  • Schlüsselcode (Feld CODCLE)

Dieses Feld entspricht dem Namen, unter dem der Schlüssel in der Reihenfolge Order By bekannt ist. Eine Norm wird in allen Anwendungsansichten verwendet: sie besteht daraus, die Schlüssel mit der Ansichtsabkürzung zu benennen, gefolgt von der 0 für den ersten Schlüssel, der 1 für den zweiten Schlüssel etc. Spezifisch muss der Code mit einem der drei folgenden Buchstaben beginnen: X,Y oder Z.

  • Schlüsselbeschreibung (Feld DESCLE)

Hier wird die Liste der Felder erfasst, die den Index zusammensetzen. Bei mehreren Feldern durch ein '+' getrennt.
Einem absteigend sortierten Feld wird ein "-" vorangestellt.
Das erste Feld, aus dem ein Index besteht, hat kein Vorzeichen und ist in jedem Fall aufsteigend.

  • Homonym (Feld KEYDUP)

Dieses Feld wird standardmäßig auf Ja gesetzt. Es kann auch auf Nein gesetzt werden. In diesem Fall warnt eine Meldung davor, dass es keine doppelten Schlüssel in dieser Ansicht geben darf. Ist dies der Fall, gibt es keinen Fehler mehr, aber eine einfache Schleife For würde die Homonyme nicht entdecken.

Das Feld sollte daher auf Ja bleiben, außer in speziellen Fällen, in denen die Option Nein die Unterstützung der Anweisungen "Read Next/Prev" in den Ansichten ermöglicht.

Ein Aktivitätscode ermöglicht folgende Aktionen:

  • Optionalsetzung eines Dictionary-Elements, wenn der dem Aktivitätscode zugeordnete Wert Null ist.
  • Signatur spezifischer Elemente, falls deren Code mit X, Y oder Z beginnt.
  • Vorgabe einer Höchstanzahl von Zeilen, falls der Aktivitätscode sich auf Elemente einer Tabelle bezieht.

Wenn der Aktivitätscode deaktiviert ist:

  • kann das markierte Element nicht verwendet werden,
  • wird der zugehörige Code nicht generiert oder aktiviert.

Konfigurationsdatei

  • Feld FICCFG

In diesem Block kann man einen Text erfassen, der die technische Konfiguration der Ansicht in der Datenbank beschreibt. Dieser Text ist in einer Datei "Ansichtsname.cfg" im Verzeichnis FIL der Anwendung gespeichert. Diese Datei wird über die Anweisung "valfil" verwendet. Für mehr Informationen wird der zugeordnete technische Anhang angezeigt.

Schließen

 

Spezielle Buttons

Der View wird in der Datenbank aus dem Dictionary mit der Anweisung "creative view" angelegt oder aktualisiert. Die Abfragesyntax wird systematisch in Bezug auf die Datenbank des Ordners geprüft.

Im FIL-Verzeichnis werden folgende Dateien angelegt:

  • *.srf :  enthält die Feldliste. Um die Views von den Tabellen unterscheiden zu können, wird in der 3. Zeile das Kennzeichen "#V" gesetzt.
  • *.fde: generiert mit valfil -n
  • *.viw: enthält die Beschreibung der Abfrage mit dem der Datenbank des Ordners entsprechenden Skript.
  • *.cfg: Konfigurationsdatei. Diese wird generiert, wenn das zugeordnete Clob erfasst wird oder der Zugriff abgesichert ist.

Im über diese Schaltfläche geöffneten Fenster befinden sich die folgenden Felder: :

Blocknummer 1

  • Feld OBJET

 

  • Feld CLES

 

Blocknummer 2

  • Von Ordner (Feld DOSORG)

Geben Sie den Ordner an, aus dem der Datensatz kopiert werden soll. Die möglichen Syntaxen sind im entsprechenden Anhang beschrieben.

  • Alle Ordner (Feld TOUDOS)

Mit dieser Option kann der Datensatz in alle im Dictionary definierten Ordner kopiert werden (Tabelle ADOSSIER der aktuellen Lösung).

  • Nach Ordner (Feld DOSDES)

Geben Sie den Ordner an, in den der Datensatz kopiert werden soll. Die möglichen Syntaxen sind im entsprechenden Anhang beschrieben.

Schließen

Kopie der Viewstruktur in einen anderen Ordner. Achtung, es wird nur die Beschreibung des Views im Dictionary übernommen: Der View wird nicht im Zielordner angelegt (damit der View angelegt wird, muss diese Beschreibung freigegeben werden).

Menüleiste

Option /srf-Quelle

Damit kann die Datei *.srf, die der aktuellen Tabelle in der laufenden Anwendung entspricht, angezeigt werden.
Diese Option ist besonders interessant, wenn ein Benutzer mit einem Server arbeitet, auf dem er keine Rechte für das FIL-Verzeichnis hat.

Option /viw-Quelle

Damit kann die Datei *.viw, die die Quelle des Views in der laufenden Anwendung enthält, angezeigt werden.
Diese Option ist besonders interessant, wenn ein Benutzer mit einem Server arbeitet, auf dem er keine Rechte für das FIL-Verzeichnis hat.

Fehlermeldungen

Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :

Es existiert bereits eine Tabelle mit diesem Namen

Es kann kein View angelegt werden, dessen Name bereits für eine Tabelle verwendet wird. Die Namen müssen über eine Tabellen und Views eindeutig sein, da das System die Dateien *.srf und *.fde erstellt.

Datei zu groß

Die Größe ist auf die Konfigurationsdatei begrenzt.

Datentyp nicht verwaltet

Es kann kein View mit einem Feld vom Typ AXX (übersetzbarer Text) angelegt werden.

Länge nicht korrekt

Die Länge ist in Abhängigkeit des internen Feldtyps nicht korrekt.

  • Bezeichnung: Länge muss <= 30 sein
  • Short Integer: Länge muss <=4 sein
  • Long Integer: Länge muss <=8 sein
  • Decimal: ganzzahliger Anteil + Nachkommastellen <= 32
  • Alphanumerisch: Länge muss <= 250 sein
  • Blob, Clob:  Länge muss <= 20 sein


Option nicht zulässig

Der Benutzer hat versucht, eine nicht vorhandene Option zu erfassen.

Die Option ist nicht mit dem Format x (Datentyp y) kompatibel.

Wenn zu einem gegebenen alphanumerischen Datentyp ein Format vorgegeben wird, dürfen die Optionen A und # nicht verwendet werden.

Abkürzung bereits vorhanden...

Hinweis beim Versuch, eine Abkürzung für einen View zu erfassen, die bereits für eine Ansicht oder eine Tabelle vorhanden ist. Es wird empfohlen, eindeutige Abkürzungen zu verwenden.

Hinweise:

Views werden in der Datenbank des Ordners angelegt, in dem die Datenbank zum Freigabezeitpunkt installiert ist. Sämtliche in solchen Views (mit der Syntax %Formel%) verwendeten X3-Funktionen werden bei Freigabe des Views ausgewertet und als Konstanten an die Datenbank übergeben.

Bei Anlage und Freigabe von Ordnern wird der Freigabevorgang im X3-Ordner angestoßen. Dieser ist nicht derselbe, in dem der View installiert ist. Daher sind folgende Vorkehrungen notwendig:

  • Sofern nicht absolute Sicherheit darüber besteht, dass die fragliche Funktion in sämtlichen Ordnern (auch im X3-Ordner) zur Verfügung steht und überall denselben Wert zurückgibt, sollten in den Berechnungsformeln für die anschließend bei der Anlage des Views verwendeten Konstanten keine Funktionen verwendet werden (Syntax func).
  • Es ist vorzuziehen, die Tabellen und Views ohne Angabe des Ordners zu deklarieren (insbesondere ist die Verwendung von nomap und adxmother zu vermeiden, deren Definition von Ordner zu Ordner unterschiedlich sein kann).

SEEWARNING Können diese Vorkehrungen nicht getroffen werden, so müssen diejenigen Views, die nach der Ordnerfreigabe im Ordner Probleme bereiten, auf jeden Fall noch einmal erneut manuell freigegeben werden.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung